9 #include "../runner/common/Setup.h"
20 const std::shared_ptr<SymbolFactory>& symbolFactory,
21 const std::shared_ptr<TypeDescriptorFactory>& typeDescriptorFactory);
44 std::shared_ptr<TypeDescriptor>
ResolveVariableSize(
const std::shared_ptr<SyntaxNode>& node);
52 void ResolveDeclarator(
const std::shared_ptr<SyntaxNode>& node,
const bool isStaticVariable);
70 [[nodiscard]] std::shared_ptr<Symbol>
Lookup(
const std::string_view name)
const;
76 std::shared_ptr<SymbolFactory> mSymbolFactory;
77 std::shared_ptr<TypeDescriptorFactory> mTypeDescriptorFactory;
Definition: SemanticAnalyzer.h:17
void ResolveTypeFromChildNode(const std::shared_ptr< SyntaxNode > &node) const
Definition: SemanticAnalyzer.cpp:147
void SetCurrentFileInformation(const std::shared_ptr< SyntaxNode > &node)
Definition: SemanticAnalyzer.cpp:22
const std::shared_ptr< SymbolFactory > & GetSymbolFactory()
Definition: SemanticAnalyzer.cpp:180
void ResolveTypeDescription(const std::shared_ptr< SyntaxNode > &node)
Definition: SemanticAnalyzer.cpp:52
void ResolveDeclarator(const std::shared_ptr< SyntaxNode > &node, const bool isStaticVariable)
Definition: SemanticAnalyzer.cpp:71
std::shared_ptr< Symbol > Lookup(const std::string_view name) const
Definition: SemanticAnalyzer.cpp:175
SemanticAnalyzer(const std::shared_ptr< SymbolFactory > &symbolFactory, const std::shared_ptr< TypeDescriptorFactory > &typeDescriptorFactory)
Definition: SemanticAnalyzer.cpp:14
const std::shared_ptr< TypeDescriptorFactory > & GetTypeDescriptorFactory()
Definition: SemanticAnalyzer.cpp:185
bool SearchSymbolFromName(const std::shared_ptr< SyntaxNode > &node)
Definition: SemanticAnalyzer.cpp:29
void ResolveVariableDescription(const std::shared_ptr< SyntaxNode > &node, const Symbol::MemoryTypeId memoryTypeId, const bool isStaticVariable)
Definition: SemanticAnalyzer.cpp:134
std::shared_ptr< TypeDescriptor > ResolveVariableSize(const std::shared_ptr< SyntaxNode > &node)
Definition: SemanticAnalyzer.cpp:91
virtual ~SemanticAnalyzer()=default
MemoryTypeId
Definition: Symbol.h:62
Definition: CodeBuffer.cpp:12
Definition: Noncopyable.h:18