Mana
mana::GlobalSemanticAnalyzer Class Referencefinal

#include <GlobalSemanticAnalyzer.h>

Inheritance diagram for mana::GlobalSemanticAnalyzer:
mana::SemanticAnalyzer mana::Noncopyable

Public Member Functions

 GlobalSemanticAnalyzer (const std::shared_ptr< SymbolFactory > &symbolFactory, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory)
 
 ~GlobalSemanticAnalyzer () override=default
 
void Resolve (std::shared_ptr< SyntaxNode > node)
 
- Public Member Functions inherited from mana::SemanticAnalyzer
 SemanticAnalyzer (const std::shared_ptr< SymbolFactory > &symbolFactory, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory)
 
virtual ~SemanticAnalyzer ()=default
 
void SetCurrentFileInformation (const std::shared_ptr< SyntaxNode > &node)
 
bool SearchSymbolFromName (const std::shared_ptr< SyntaxNode > &node)
 
void ResolveTypeDescription (const std::shared_ptr< SyntaxNode > &node)
 
std::shared_ptr< TypeDescriptorResolveVariableSize (const std::shared_ptr< SyntaxNode > &node)
 
void ResolveDeclarator (const std::shared_ptr< SyntaxNode > &node, const bool isStaticVariable)
 
void ResolveVariableDescription (const std::shared_ptr< SyntaxNode > &node, const Symbol::MemoryTypeId memoryTypeId, const bool isStaticVariable)
 
void ResolveTypeFromChildNode (const std::shared_ptr< SyntaxNode > &node) const
 

Additional Inherited Members

- Protected Member Functions inherited from mana::SemanticAnalyzer
std::shared_ptr< SymbolLookup (const std::string_view name) const
 
const std::shared_ptr< SymbolFactory > & GetSymbolFactory ()
 
const std::shared_ptr< TypeDescriptorFactory > & GetTypeDescriptorFactory ()
 

Constructor & Destructor Documentation

◆ GlobalSemanticAnalyzer()

mana::GlobalSemanticAnalyzer::GlobalSemanticAnalyzer ( const std::shared_ptr< SymbolFactory > &  symbolFactory,
const std::shared_ptr< TypeDescriptorFactory > &  typeDescriptorFactory 
)

◆ ~GlobalSemanticAnalyzer()

mana::GlobalSemanticAnalyzer::~GlobalSemanticAnalyzer ( )
overridedefault

Member Function Documentation

◆ Resolve()

void mana::GlobalSemanticAnalyzer::Resolve ( std::shared_ptr< SyntaxNode node)

Registers symbol information while traversing nodes (but does not evaluate to intermediate languages)


The documentation for this class was generated from the following files: