top | up | prev | next

StatementBinder Class

Definition at line 14 of StatementBinder.hpp

Constructors

StatementBinder(SymbolTable& symbolTable_, const std::unordered_map<SourceFileNode*, BoundSourceFile*>& sourceFileMap_)

Member Functions

void Visit(CaseStatementNode& caseStatementNode) override
void Visit(ClassNode& classNode) override
void Visit(CompoundStatementNode& compoundStatementNode) override
void Visit(DeclarationSequenceNode& declarationSequenceNode) override
void Visit(DeclarationStatementNode& declarationStatementNode) override
void Visit(DefaultStatementNode& defaultStatementNode) override
void Visit(DoStatementNode& doStatementNode) override
void Visit(ExpressionStatementNode& expressionStatementNode) override
void Visit(ForStatementNode& forStatementNode) override
void Visit(FunctionNode& functionNode) override
void Visit(HandlerNode& handlerNode) override
void Visit(HandlerSequenceNode& handlerSequenceNode) override
void Visit(IfStatementNode& ifStatementNode) override
void Visit(LabeledStatementNode& labeledStatementNode) override
void Visit(LinkageSpecificationNode& linkageSpecificationNode) override
void Visit(MemberAccessDeclarationNode& memberAccessDeclarationNode) override
void Visit(MemberDeclarationNode& memberDeclarationNode) override
void Visit(NamespaceNode& namespaceNode) override
void Visit(RangeForStatementNode& rangeForStatementNode) override
void Visit(ReturnStatementNode& returnStatementNode) override
void Visit(SimpleDeclarationNode& simpleDeclarationNode) override
void Visit(SourceFileNode& sourceFileNode) override
void Visit(SourceFileSequenceNode& sourceFileSequenceNode) override
void Visit(SpecialMemberFunctionNode& specialMemberFunctionNode) override
void Visit(StatementSequenceNode& statementSequenceNode) override
void Visit(SwitchStatementNode& switchStatementNode) override
void Visit(TemplateDeclarationNode& templateDeclarationNode) override
void Visit(TryStatementNode& tryStatementNode) override
void Visit(WhileStatementNode& whileStatementNode) override

Member Variables

ContainerScope* containerScope
FunctionSymbol* currentFunction
BoundSourceFile* currentSourceFile
const std::unordered_map<SourceFileNode*, BoundSourceFile*>& sourceFileMap
SymbolTable& symbolTable

Constructor Details

StatementBinder Constructor

sngcpp::binder::StatementBinder::StatementBinder(SymbolTable& symbolTable_, const std::unordered_map<SourceFileNode *, BoundSourceFile *>& sourceFileMap_)

Definition at line 12 of StatementBinder.cpp
Declaration at line 17 of StatementBinder.hpp


Member Function Details

Visit Member Function

void sngcpp::binder::StatementBinder::Visit(CaseStatementNode & caseStatementNode) override

Definition at line 215 of StatementBinder.cpp
Declaration at line 35 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::CaseStatementNode::CaseExpr , sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(ClassNode & classNode) override

Definition at line 90 of StatementBinder.cpp
Declaration at line 27 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::ClassNode::Declarations , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(CompoundStatementNode & compoundStatementNode) override

Definition at line 168 of StatementBinder.cpp
Declaration at line 30 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(DeclarationSequenceNode & declarationSequenceNode) override

Definition at line 74 of StatementBinder.cpp
Declaration at line 24 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::BinaryNode::Left , sngcpp::ast::BinaryNode::Right , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(DeclarationStatementNode & declarationStatementNode) override

Definition at line 302 of StatementBinder.cpp
Declaration at line 43 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(DefaultStatementNode & defaultStatementNode) override

Definition at line 221 of StatementBinder.cpp
Declaration at line 36 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(DoStatementNode & doStatementNode) override

Definition at line 240 of StatementBinder.cpp
Declaration at line 39 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::DoStatementNode::Condition , sngcpp::ast::DoStatementNode::Statement , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(ExpressionStatementNode & expressionStatementNode) override

Definition at line 226 of StatementBinder.cpp
Declaration at line 37 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(ForStatementNode & forStatementNode) override

Definition at line 265 of StatementBinder.cpp
Declaration at line 41 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::ForStatementNode::ActionS , sngcpp::ast::ForStatementNode::Condition , sngcpp::ast::ForStatementNode::InitS , sngcpp::ast::ForStatementNode::LoopExpr , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(FunctionNode & functionNode) override

Definition at line 110 of StatementBinder.cpp
Declaration at line 28 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::FunctionNode::Body


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(HandlerNode & handlerNode) override

Definition at line 313 of StatementBinder.cpp
Declaration at line 45 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::HandlerNode::CatchBlock , sngcpp::ast::HandlerNode::ExceptionDeclaration


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(HandlerSequenceNode & handlerSequenceNode) override

Definition at line 319 of StatementBinder.cpp
Declaration at line 46 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::BinaryNode::Left , sngcpp::ast::BinaryNode::Right , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(IfStatementNode & ifStatementNode) override

Definition at line 199 of StatementBinder.cpp
Declaration at line 33 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::IfStatementNode::Condition , sngcpp::ast::IfStatementNode::ElseS , sngcpp::ast::IfStatementNode::ThenS , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(LabeledStatementNode & labeledStatementNode) override

Definition at line 194 of StatementBinder.cpp
Declaration at line 32 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(LinkageSpecificationNode & linkageSpecificationNode) override

Definition at line 80 of StatementBinder.cpp
Declaration at line 25 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::LinkageSpecificationNode::Declarations , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(MemberAccessDeclarationNode & memberAccessDeclarationNode) override

Definition at line 56 of StatementBinder.cpp
Declaration at line 22 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::MemberAccessDeclarationNode::Declaration , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(MemberDeclarationNode & memberDeclarationNode) override

Definition at line 61 of StatementBinder.cpp
Declaration at line 23 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::MemberDeclarationNode::Declarator , sngcpp::ast::MemberDeclarationNode::Initializer , sngcpp::ast::MemberDeclarationNode::TypeExpr


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(NamespaceNode & namespaceNode) override

Definition at line 48 of StatementBinder.cpp
Declaration at line 21 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(RangeForStatementNode & rangeForStatementNode) override

Definition at line 246 of StatementBinder.cpp
Declaration at line 40 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::RangeForStatementNode::ForRangeDeclaration , sngcpp::ast::RangeForStatementNode::ForRangeInitializer , sngcpp::ast::RangeForStatementNode::Statement


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(ReturnStatementNode & returnStatementNode) override

Definition at line 294 of StatementBinder.cpp
Declaration at line 42 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::ReturnStatementNode::ReturnExpr


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(SimpleDeclarationNode & simpleDeclarationNode) override

Definition at line 42 of StatementBinder.cpp
Declaration at line 20 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::SimpleDeclarationNode::Declarator , sngcpp::ast::SimpleDeclarationNode::TypeExpr


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(SourceFileNode & sourceFileNode) override

Definition at line 17 of StatementBinder.cpp
Declaration at line 18 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::NamespaceNode::Accept , sngcpp::ast::SourceFileNode::GlobalNs , sngcpp::ast::SourceFileNode::SourceFilePath


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(SourceFileSequenceNode & sourceFileSequenceNode) override

Definition at line 36 of StatementBinder.cpp
Declaration at line 19 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::BinaryNode::Left , sngcpp::ast::BinaryNode::Right , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(SpecialMemberFunctionNode & specialMemberFunctionNode) override

Definition at line 139 of StatementBinder.cpp
Declaration at line 29 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::SpecialMemberFunctionNode::CtorInitializer , sngcpp::ast::SpecialMemberFunctionNode::FunctionBody


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(StatementSequenceNode & statementSequenceNode) override

Definition at line 188 of StatementBinder.cpp
Declaration at line 31 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::BinaryNode::Left , sngcpp::ast::BinaryNode::Right , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(SwitchStatementNode & switchStatementNode) override

Definition at line 209 of StatementBinder.cpp
Declaration at line 34 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::SwitchStatementNode::Condition , sngcpp::ast::SwitchStatementNode::Statement


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(TemplateDeclarationNode & templateDeclarationNode) override

Definition at line 85 of StatementBinder.cpp
Declaration at line 26 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::TemplateDeclarationNode::Declaration


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(TryStatementNode & tryStatementNode) override

Definition at line 307 of StatementBinder.cpp
Declaration at line 44 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::Node::Accept , sngcpp::ast::TryStatementNode::Handlers , sngcpp::ast::TryStatementNode::TryBlock


Visit Member Function

void sngcpp::binder::StatementBinder::Visit(WhileStatementNode & whileStatementNode) override

Definition at line 234 of StatementBinder.cpp
Declaration at line 38 of StatementBinder.hpp

Base class overridden functions: sngcpp::ast::Visitor::Visit

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::WhileStatementNode::Condition , sngcpp::ast::WhileStatementNode::Statement


top | up | prev | next