| Mana
    | 
#include <SymbolFactory.h>
 
  
| Public Member Functions | |
| bool | IsValid (std::shared_ptr< Symbol > symbolEntry) | 
| SymbolFactory (const std::shared_ptr< CodeBuffer > &codeBuffer, const std::shared_ptr< DataBuffer > &dataBuffer, const std::shared_ptr< StringPool > &stringPool, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory) | |
| ~SymbolFactory ()=default | |
| std::shared_ptr< Symbol > | CreateConstInt (const std::string_view name, const int32_t value) | 
| std::shared_ptr< Symbol > | CreateConstFloat (const std::string_view name, const float value) | 
| std::shared_ptr< Symbol > | CreateConstString (const std::string_view name, const std::string_view text) | 
| std::shared_ptr< Symbol > | CreateVariable (const std::string_view name, const std::shared_ptr< TypeDescriptor > &type, const bool staticVariable, const bool isBlockOpened, const bool isFunctionOpened) | 
| std::shared_ptr< Symbol > | CreateLabel (const std::string_view name) | 
| std::shared_ptr< Symbol > | CreateFunction (const std::string_view name, const bool isActorOrStructOpened) | 
| std::shared_ptr< Symbol > | CreateType (const std::string_view name, const std::shared_ptr< TypeDescriptor > &type) | 
| void | Destroy (const std::string_view name) | 
| bool | Each (std::function< bool(const std::shared_ptr< Symbol > &)> function) | 
| bool | Each (std::function< bool(const std::shared_ptr< const Symbol > &)> function) const | 
| std::shared_ptr< Symbol > | Lookup (const std::string_view name) const | 
| void | Define (const std::string_view name, std::shared_ptr< Symbol > symbolEntry) | 
| void | Define (std::shared_ptr< Symbol > symbolEntry) | 
| void | Undefine (const std::string_view name) | 
| void | Undefine (std::shared_ptr< Symbol > symbolEntry) | 
| void | OpenBlock (const int32_t address) | 
| int32_t | CloseBlock () | 
| size_t | GetBlockDepth () const | 
| void | EachBlock (std::function< void(const std::shared_ptr< Symbol > &)> function) | 
| void | ExtendModule (const std::shared_ptr< Symbol > &symbol) | 
| void | RegisterToBlock (const std::shared_ptr< Symbol > &symbolEntry) | 
| void | RegisterToBlock (const std::shared_ptr< TypeDescriptor > &typeDescriptor) | 
| std::shared_ptr< Symbol > | GetLastSymbolEntryInBlock () const | 
| std::shared_ptr< TypeDescriptor > | GetLastTypeDescriptorInBlock () const | 
| int32_t | OpenBlock (const bool resetMaxFrameMemoryAddress) | 
| bool | IsOpenBlock () const | 
| void | OpenFunction (const std::shared_ptr< SyntaxNode > &node, const bool is_action) | 
| void | OpenFunction2 (const std::shared_ptr< const Symbol > &function) const | 
| void | CloseFunction (const std::shared_ptr< SyntaxNode > &node, const bool is_action) | 
| bool | IsFunctionOpened () const | 
| void | BeginNativeFunction () | 
| void | CloseNativeFunction (const std::shared_ptr< Symbol > &function, const std::shared_ptr< TypeDescriptor > &type) | 
| void | BeginRegistrationStructure () | 
| void | CommitRegistrationStructure (const std::string_view name) | 
| void | OpenStructure (const std::string_view name) | 
| void | CloseStructure () | 
| void | BeginRegistrationActor (const std::shared_ptr< Symbol > &symbolEntry) | 
| void | CommitRegistrationActor (const std::string_view name, const std::string_view parent, const std::shared_ptr< TypeDescriptor > &type, const bool phantom) | 
| bool | IsActorOrStructerOpened () const | 
| void | OpenActor (const std::string_view name) | 
| void | CloseActor () | 
| size_t | GetNumberOfActors () const | 
| void | BeginRegistrationModule (const std::shared_ptr< Symbol > &symbolEntry) | 
| void | CommitRegistrationModule (const std::string_view name) | 
| void | OpenModule (const std::shared_ptr< Symbol > &symbolEntry) | 
| void | CloseModule (const std::string_view name) | 
| bool | IsModuleOpened () const | 
| void | ExtendModule (const std::string_view name) | 
| std::shared_ptr< TypeDescriptor > | GetCurrentBlockTypeDescriptor () const | 
| void | AddRequest (const std::shared_ptr< CodeGenerator > &codeGenerator, const IntermediateLanguage opcode, const std::shared_ptr< SyntaxNode > &level, const std::shared_ptr< SyntaxNode > &actor, const std::string_view action) const | 
| void | AddJoin (const std::shared_ptr< CodeGenerator > &codeGenerator, const std::shared_ptr< SyntaxNode > &level, const std::shared_ptr< SyntaxNode > &actor) const | 
| void | AllocateMemory (const std::shared_ptr< Symbol > &symbolEntry, std::shared_ptr< TypeDescriptor > type, Symbol::MemoryTypeId) | 
| int32_t | GetStaticMemoryAddress () const | 
| void | SetStaticMemoryAddress (const int32_t size) | 
| int32_t | GetGlobalMemoryAddress () const | 
| void | SetGlobalMemoryAddress (const int32_t size) | 
| void | CheckUndefine () | 
| bool | GenerateActorInformation (OutputStream &stream) const | 
| void | symbol_open_actor_register_member (const std::shared_ptr< Symbol > &symbol) | 
| void | symbol_open_actor_register_member (const std::shared_ptr< TypeDescriptor > &typeDescriptor) | 
| address_t | GetReturnAddressList () const | 
| void | SetReturnAddressList (const address_t returnAddressList) | 
| void | Dump (std::ofstream &output) const | 
| void | DumpFunctionNameFromAddress (std::ofstream &output, const int32_t address) const | 
| void | PrintHeader () | 
| void | PrintFooter (const std::string_view, const std::shared_ptr< TypeDescriptor > &type) | 
| void | PrintEntry (const std::shared_ptr< Symbol > &symbolEntry, const std::shared_ptr< TypeDescriptor > &type) | 
| void | PrintDummyGlobalVariable (size_t size) | 
| mana::SymbolFactory::SymbolFactory | ( | const std::shared_ptr< CodeBuffer > & | codeBuffer, | 
| const std::shared_ptr< DataBuffer > & | dataBuffer, | ||
| const std::shared_ptr< StringPool > & | stringPool, | ||
| const std::shared_ptr< TypeDescriptorFactory > & | typeDescriptorFactory | ||
| ) | 
| 
 | default | 
| void mana::SymbolFactory::AddJoin | ( | const std::shared_ptr< CodeGenerator > & | codeGenerator, | 
| const std::shared_ptr< SyntaxNode > & | level, | ||
| const std::shared_ptr< SyntaxNode > & | actor | ||
| ) | const | 
| void mana::SymbolFactory::AddRequest | ( | const std::shared_ptr< CodeGenerator > & | codeGenerator, | 
| const IntermediateLanguage | opcode, | ||
| const std::shared_ptr< SyntaxNode > & | level, | ||
| const std::shared_ptr< SyntaxNode > & | actor, | ||
| const std::string_view | action | ||
| ) | const | 
| void mana::SymbolFactory::AllocateMemory | ( | const std::shared_ptr< Symbol > & | symbolEntry, | 
| std::shared_ptr< TypeDescriptor > | type, | ||
| Symbol::MemoryTypeId | parameter | ||
| ) | 
| void mana::SymbolFactory::BeginNativeFunction | ( | ) | 
| void mana::SymbolFactory::BeginRegistrationActor | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) | 
| void mana::SymbolFactory::BeginRegistrationModule | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) | 
| void mana::SymbolFactory::BeginRegistrationStructure | ( | ) | 
| void mana::SymbolFactory::CheckUndefine | ( | ) | 
| void mana::SymbolFactory::CloseActor | ( | ) | 
| int32_t mana::SymbolFactory::CloseBlock | ( | ) | 
| void mana::SymbolFactory::CloseFunction | ( | const std::shared_ptr< SyntaxNode > & | node, | 
| const bool | is_action | ||
| ) | 
| void mana::SymbolFactory::CloseModule | ( | const std::string_view | name | ) | 
| void mana::SymbolFactory::CloseNativeFunction | ( | const std::shared_ptr< Symbol > & | function, | 
| const std::shared_ptr< TypeDescriptor > & | type | ||
| ) | 
| void mana::SymbolFactory::CloseStructure | ( | ) | 
| void mana::SymbolFactory::CommitRegistrationActor | ( | const std::string_view | name, | 
| const std::string_view | parent, | ||
| const std::shared_ptr< TypeDescriptor > & | type, | ||
| const bool | phantom | ||
| ) | 
| void mana::SymbolFactory::CommitRegistrationModule | ( | const std::string_view | name | ) | 
| void mana::SymbolFactory::CommitRegistrationStructure | ( | const std::string_view | name | ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstFloat | ( | const std::string_view | name, | 
| const float | value | ||
| ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstInt | ( | const std::string_view | name, | 
| const int32_t | value | ||
| ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateConstString | ( | const std::string_view | name, | 
| const std::string_view | text | ||
| ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateFunction | ( | const std::string_view | name, | 
| const bool | isActorOrStructOpened | ||
| ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateLabel | ( | const std::string_view | name | ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateType | ( | const std::string_view | name, | 
| const std::shared_ptr< TypeDescriptor > & | type | ||
| ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::CreateVariable | ( | const std::string_view | name, | 
| const std::shared_ptr< TypeDescriptor > & | type, | ||
| const bool | staticVariable, | ||
| const bool | isBlockOpened, | ||
| const bool | isFunctionOpened | ||
| ) | 
| void mana::SymbolFactory::Define | ( | const std::string_view | name, | 
| std::shared_ptr< Symbol > | symbolEntry | ||
| ) | 
| void mana::SymbolFactory::Define | ( | std::shared_ptr< Symbol > | symbolEntry | ) | 
| void mana::SymbolFactory::Destroy | ( | const std::string_view | name | ) | 
| void mana::SymbolFactory::Dump | ( | std::ofstream & | output | ) | const | 
| void mana::SymbolFactory::DumpFunctionNameFromAddress | ( | std::ofstream & | output, | 
| const int32_t | address | ||
| ) | const | 
| 
 | inline | 
| 
 | inline | 
| void mana::SymbolFactory::EachBlock | ( | std::function< void(const std::shared_ptr< Symbol > &)> | function | ) | 
| void mana::SymbolFactory::ExtendModule | ( | const std::shared_ptr< Symbol > & | symbol | ) | 
| void mana::SymbolFactory::ExtendModule | ( | const std::string_view | name | ) | 
| bool mana::SymbolFactory::GenerateActorInformation | ( | OutputStream & | stream | ) | const | 
| size_t mana::SymbolFactory::GetBlockDepth | ( | ) | const | 
| 
 | inline | 
| int32_t mana::SymbolFactory::GetGlobalMemoryAddress | ( | ) | const | 
| std::shared_ptr< Symbol > mana::SymbolFactory::GetLastSymbolEntryInBlock | ( | ) | const | 
| std::shared_ptr< TypeDescriptor > mana::SymbolFactory::GetLastTypeDescriptorInBlock | ( | ) | const | 
| size_t mana::SymbolFactory::GetNumberOfActors | ( | ) | const | 
| 
 | inline | 
| int32_t mana::SymbolFactory::GetStaticMemoryAddress | ( | ) | const | 
| bool mana::SymbolFactory::IsActorOrStructerOpened | ( | ) | const | 
| 
 | inline | 
| 
 | inline | 
| bool mana::SymbolFactory::IsOpenBlock | ( | ) | const | 
| bool mana::SymbolFactory::IsValid | ( | std::shared_ptr< Symbol > | symbolEntry | ) | 
| std::shared_ptr< Symbol > mana::SymbolFactory::Lookup | ( | const std::string_view | name | ) | const | 
| void mana::SymbolFactory::OpenActor | ( | const std::string_view | name | ) | 
| int32_t mana::SymbolFactory::OpenBlock | ( | const bool | resetMaxFrameMemoryAddress | ) | 
| void mana::SymbolFactory::OpenBlock | ( | const int32_t | address | ) | 
| void mana::SymbolFactory::OpenFunction | ( | const std::shared_ptr< SyntaxNode > & | node, | 
| const bool | is_action | ||
| ) | 
| void mana::SymbolFactory::OpenFunction2 | ( | const std::shared_ptr< const Symbol > & | function | ) | const | 
| void mana::SymbolFactory::OpenModule | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) | 
| void mana::SymbolFactory::OpenStructure | ( | const std::string_view | name | ) | 
| void mana::SymbolFactory::PrintDummyGlobalVariable | ( | size_t | size | ) | 
| void mana::SymbolFactory::PrintEntry | ( | const std::shared_ptr< Symbol > & | symbolEntry, | 
| const std::shared_ptr< TypeDescriptor > & | type | ||
| ) | 
| void mana::SymbolFactory::PrintFooter | ( | const std::string_view | name, | 
| const std::shared_ptr< TypeDescriptor > & | type | ||
| ) | 
| void mana::SymbolFactory::PrintHeader | ( | ) | 
| void mana::SymbolFactory::RegisterToBlock | ( | const std::shared_ptr< Symbol > & | symbolEntry | ) | 
| void mana::SymbolFactory::RegisterToBlock | ( | const std::shared_ptr< TypeDescriptor > & | typeDescriptor | ) | 
| void mana::SymbolFactory::SetGlobalMemoryAddress | ( | const int32_t | size | ) | 
| 
 | inline | 
| void mana::SymbolFactory::SetStaticMemoryAddress | ( | const int32_t | size | ) | 
| void mana::SymbolFactory::symbol_open_actor_register_member | ( | const std::shared_ptr< Symbol > & | symbol | ) | 
| void mana::SymbolFactory::symbol_open_actor_register_member | ( | const std::shared_ptr< TypeDescriptor > & | typeDescriptor | ) | 
| void mana::SymbolFactory::Undefine | ( | const std::string_view | name | ) | 
| void mana::SymbolFactory::Undefine | ( | std::shared_ptr< Symbol > | symbolEntry | ) |