top | up | prev | next

SymbolCreator Class

Definition at line 20 of SymbolCreator.hpp

Constructors

SymbolCreator(SymbolCreator&&) delete
SymbolCreator(SymbolTable& symbolTable_, const std::u32string& projectName_)
SymbolCreator(const SymbolCreator&) delete

Member Functions

void SetCpp2CmMode()
void Visit(AdditiveExpressionNode& additiveExpressionNode) override
void Visit(AndExpressionNode& andExpressionNode) override
void Visit(ArrayDeclaratorNode& arrayDeclaratorNode) override
void Visit(AssignmentExpressionNode& assignmentExpressionNode) override
void Visit(AssignmentInitializerNode& assignmentInitializerNode) override
void Visit(BracedInitializerListNode& bracedInitializerListNode) override
void Visit(CaptureSequenceNode& captureSequenceNode) override
void Visit(CaseStatementNode& caseStatementNode) override
void Visit(CastExpressionNode& castExpressionNode) override
void Visit(ClassNode& classNode) override
void Visit(CommaExpressionNode& commaExpressionNode) override
void Visit(CompoundStatementNode& compoundStatementNode) override
void Visit(ConditionalExpressionNode& conditionalExpressionNode) override
void Visit(ConversionFunctionIdNode& conversionFunctionIdNode) override
void Visit(DeclarationSequenceNode& declarationSequenceNode) override
void Visit(DeclarationStatementNode& declarationStatementNode) override
void Visit(DefaultStatementNode& defaultStatementNode) override
void Visit(DeleteExpressionNode& deleteExpressionNode) override
void Visit(DoStatementNode& doStatementNode) override
void Visit(DotNode& dotNode) override
void Visit(DtorIdNode& dDtorIdNode) override
void Visit(EnumTypeNode& enumTypeNode) override
void Visit(EnumeratorNode& enumeratorNode) override
void Visit(EnumeratorSequenceNode& enumeratorSequenceNode) override
void Visit(EqualityExpressionNode& equalityExpressionNode) override
void Visit(ExclusiveOrExpressionNode& exclusiveOrExpressionNode) override
void Visit(ExpressionInitializerNode& expressionInitializerNode) override
void Visit(ExpressionListInitializerNode& expressionListInitializerNode) override
void Visit(ExpressionSequenceNode& expressionSequenceNode) override
void Visit(ExpressionStatementNode& expressionStatementNode) override
void Visit(ForStatementNode& forStatementNode) override
void Visit(FunctionDeclaratorNode& functionDeclaratorNode) override
void Visit(FunctionNode& functionNode) override
void Visit(FunctionPtrIdNode& functionPtrIdNode) override
void Visit(HandlerNode& handlerNode) override
void Visit(HandlerSequenceNode& handlerSequenceNode) override
void Visit(IdDeclaratorNode& idDeclaratorNode) override
void Visit(IdentifierCaptureNode& identifierCaptureNode) override
void Visit(IdentifierNode& identifierNode) override
void Visit(IfStatementNode& ifStatementNode) override
void Visit(InclusiveOrExpressionNode& inclusiveOrExpressionNode) override
void Visit(InitDeclaratorNode& initDeclaratorNode) override
void Visit(InvokeExpressionNode& invokeExpressionNode) override
void Visit(LabeledStatementNode& labeledStatementNode) override
void Visit(LambdaExpressionNode& lambdaExpressionNode) override
void Visit(LinkageSpecificationNode& linkageSpecificationNode) override
void Visit(LogicalAndExpressionNode& logicalAndExpressionNode) override
void Visit(LogicalOrExpressionNode& logicalOrExpressionNode) override
void Visit(MemberAccessDeclarationNode& memberAccessDeclarationNode)
void Visit(MemberDeclarationNode& memberDeclarationNode) override
void Visit(MemberFunctionPtrIdNode& memberFunctionPtrIdNode) override
void Visit(MultiplicativeExpressionNode& multiplicativeExpressionNode) override
void Visit(NamespaceNode& namespaceNode) override
void Visit(NestedIdNode& nestedIdNode) override
void Visit(NewExpressionNode& newExpressionNode) override
void Visit(OperatorFunctionIdNode& operatorFunctionIdNode) override
void Visit(PMExpressionNode& pmExpressionNode) override
void Visit(ParameterNode& parameterNode) override
void Visit(ParameterSequenceNode& parameterSequenceNode) override
void Visit(RangeForStatementNode& rangeForStatementNode) override
void Visit(RelationalExpressionNode& relationalExpressionNode) override
void Visit(ReturnStatementNode& returnStatementNode) override
void Visit(ShiftExpressionNode& shiftExpressionNode) 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(SubscriptExpressionNode& subscriptExpressionNode) override
void Visit(SwitchStatementNode& switchStatementNode) override
void Visit(TemplateArgumentNode& templateArgumentNode) override
void Visit(TemplateDeclarationNode& templateDeclarationNode) override
void Visit(TemplateIdNode& templateIdNode) override
void Visit(TemplateParameterSequenceNode& templateParameterSequenceNode) override
void Visit(ThrowExpressionNode& throwExpressionNode) override
void Visit(TryStatementNode& tryStatementNode) override
void Visit(TypeParameterNode& typeParameterNode) override
void Visit(TypedefNode& typedefNode) override
void Visit(UnaryExpressionNode& unaryExpressionNode) override
void Visit(WhileStatementNode& whileStatementNode) override
SymbolCreator& operator=(SymbolCreator&&) delete
SymbolCreator& operator=(const SymbolCreator&) delete

Member Variables

bool cpp2cmMode
bool functionBodyFollowsOrIsPureDeletedOrDefault
std::u32string groupName
std::vector<std::pair<std::u32string, int>> nameSequence
int nameSequenceCount
bool processingTemplateArguments
std::u32string projectName
bool skip
Specifier specifiers
SymbolTable& symbolTable
std::vector<std::unique_ptr<TypeSymbol>> templateParameters
bool wasArrayDeclaration
bool wasFunctionDeclaration

Constructor Details

SymbolCreator Constructor

sngcpp::symbols::SymbolCreator::SymbolCreator(SymbolCreator &&) delete

Definition at line 25 of SymbolCreator.hpp


SymbolCreator Constructor

sngcpp::symbols::SymbolCreator::SymbolCreator(SymbolTable & symbolTable_, const std::u32string& projectName_)

Definition at line 18 of SymbolCreator.cpp :
 18 :
 19 symbolTable(symbolTable_)projectName(projectName_)functionBodyFollowsOrIsPureDeletedOrDefault(false)nameSequenceCount(0)wasFunctionDeclaration(false)wasArrayDeclaration(false)
 20 specifiers(Specifier::none)skip(false)processingTemplateArguments(false)cpp2cmMode(false)
 21 {
 22 }


Declaration at line 23 of SymbolCreator.hpp


SymbolCreator Constructor

sngcpp::symbols::SymbolCreator::SymbolCreator(const SymbolCreator &) delete

Definition at line 24 of SymbolCreator.hpp


Member Function Details

SetCpp2CmMode Member Function

void sngcpp::symbols::SymbolCreator::SetCpp2CmMode()

Definition at line 108 of SymbolCreator.hpp :
108 { cpp2cmMode = true; }


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(AdditiveExpressionNode & additiveExpressionNode) override

Definition at line 634 of SymbolCreator.cpp :
635 {
636     additiveExpressionNode.Left()->Accept(*this);
637     additiveExpressionNode.Right()->Accept(*this);
638 }


Declaration at line 90 of SymbolCreator.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::symbols::SymbolCreator::Visit(AndExpressionNode & andExpressionNode) override

Definition at line 610 of SymbolCreator.cpp :
611 {
612     andExpressionNode.Left()->Accept(*this);
613     andExpressionNode.Right()->Accept(*this);
614 }


Declaration at line 86 of SymbolCreator.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::symbols::SymbolCreator::Visit(ArrayDeclaratorNode & arrayDeclaratorNode) override

Definition at line 150 of SymbolCreator.cpp :
151 {
152     wasArrayDeclaration = true;
153 }


Declaration at line 40 of SymbolCreator.hpp

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(AssignmentExpressionNode & assignmentExpressionNode) override

Definition at line 565 of SymbolCreator.cpp :
566 {
567     assignmentExpressionNode.Left()->Accept(*this);
568     assignmentExpressionNode.Right()->Accept(*this);
569 }


Declaration at line 79 of SymbolCreator.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::symbols::SymbolCreator::Visit(AssignmentInitializerNode & assignmentInitializerNode) override

Definition at line 704 of SymbolCreator.cpp :
705 {
706     assignmentInitializerNode.Child()->Accept(*this);
707 }


Declaration at line 101 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(BracedInitializerListNode & bracedInitializerListNode) override

Definition at line 719 of SymbolCreator.cpp :
720 {
721     bracedInitializerListNode.Child()->Accept(*this);
722 }


Declaration at line 104 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(CaptureSequenceNode & captureSequenceNode) override

Definition at line 745 of SymbolCreator.cpp :
746 {
747     captureSequenceNode.Left()->Accept(*this);
748     captureSequenceNode.Right()->Accept(*this);
749 }


Declaration at line 106 of SymbolCreator.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::symbols::SymbolCreator::Visit(CaseStatementNode & caseStatementNode) override

Definition at line 447 of SymbolCreator.cpp :
448 {
449     caseStatementNode.Child()->Accept(*this);
450 }


Declaration at line 64 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(CastExpressionNode & castExpressionNode) override

Definition at line 652 of SymbolCreator.cpp :
653 {
654     castExpressionNode.TypeExpr()->Accept(*this);
655     castExpressionNode.Expr()->Accept(*this);
656 }


Declaration at line 93 of SymbolCreator.hpp

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

Calls: sngcpp::ast::CastExpressionNode::Expr , sngcpp::ast::CastExpressionNode::TypeExpr , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ClassNode & classNode) override

Definition at line 91 of SymbolCreator.cpp
Declaration at line 37 of SymbolCreator.hpp

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

Calls: sngcpp::ast::ClassNode::ClassName , sngcpp::ast::ClassNode::Declarations , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginClass , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndClass , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(CommaExpressionNode & commaExpressionNode) override

Definition at line 559 of SymbolCreator.cpp :
560 {
561     commaExpressionNode.Left()->Accept(*this);
562     commaExpressionNode.Right()->Accept(*this);
563 }


Declaration at line 78 of SymbolCreator.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::symbols::SymbolCreator::Visit(CompoundStatementNode & compoundStatementNode) override

Definition at line 406 of SymbolCreator.cpp :
407 {
408     symbolTable.BeginDeclarationBlock(&compoundStatementNode);
409     if (compoundStatementNode.Child())
410     {
411         compoundStatementNode.Child()->Accept(*this);
412     }
413     symbolTable.EndDeclarationBlock();
414 }


Declaration at line 59 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ConditionalExpressionNode & conditionalExpressionNode) override

Definition at line 571 of SymbolCreator.cpp :
572 {
573     conditionalExpressionNode.Condition()->Accept(*this);
574     conditionalExpressionNode.ThenExpr()->Accept(*this);
575     conditionalExpressionNode.ElseExpr()->Accept(*this);
576 }


Declaration at line 80 of SymbolCreator.hpp

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

Calls: sngcpp::ast::ConditionalExpressionNode::Condition , sngcpp::ast::ConditionalExpressionNode::ElseExpr , sngcpp::ast::ConditionalExpressionNode::ThenExpr , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ConversionFunctionIdNode & conversionFunctionIdNode) override

Definition at line 229 of SymbolCreator.cpp :
230 {
231     nameSequence.push_back(std::make_pair(U"operator_conv"0));
232     groupName = U"operator_conv";
233 }


Declaration at line 48 of SymbolCreator.hpp

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DeclarationSequenceNode & declarationSequenceNode) override

Definition at line 45 of SymbolCreator.cpp :
 46 {
 47     declarationSequenceNode.Left()->Accept(*this);
 48     declarationSequenceNode.Right()->Accept(*this);
 49 }


Declaration at line 31 of SymbolCreator.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::symbols::SymbolCreator::Visit(DeclarationStatementNode & declarationStatementNode) override

Definition at line 422 of SymbolCreator.cpp :
423 {
424     declarationStatementNode.Child()->Accept(*this);
425 }


Declaration at line 61 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DefaultStatementNode & defaultStatementNode) override

Definition at line 452 of SymbolCreator.cpp :
453 {
454     defaultStatementNode.Child()->Accept(*this);
455 }


Declaration at line 65 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DeleteExpressionNode & deleteExpressionNode) override

Definition at line 676 of SymbolCreator.cpp :
677 {
678     deleteExpressionNode.Child()->Accept(*this);
679 }


Declaration at line 96 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DoStatementNode & doStatementNode) override

Definition at line 465 of SymbolCreator.cpp :
466 {
467     doStatementNode.Statement()->Accept(*this);
468 }


Declaration at line 67 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DotNode & dotNode) override

Definition at line 687 of SymbolCreator.cpp :
688 {
689     nameSequence.clear();
690     dotNode.Child()->Accept(*this);
691     nameSequence.clear();
692     dotNode.Id()->Accept(*this);
693 }


Declaration at line 98 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(DtorIdNode & dDtorIdNode) override

Definition at line 248 of SymbolCreator.cpp :
249 {
250     nameSequence.push_back(std::make_pair(U"~" + dDtorIdNode.Identifier()0));
251     groupName = U"destructor";
252 }


Declaration at line 50 of SymbolCreator.hpp

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

Calls: sngcpp::ast::IdentifierNode::Identifier


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(EnumTypeNode & enumTypeNode) override

Definition at line 155 of SymbolCreator.cpp
Declaration at line 41 of SymbolCreator.hpp

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

Calls: sngcpp::ast::EnumTypeNode::EnumName , sngcpp::ast::EnumTypeNode::Enumerators , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginEnumType , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndEnumType , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(EnumeratorNode & enumeratorNode) override

Definition at line 169 of SymbolCreator.cpp :
170 {
171     symbolTable.AddEnumerator(&enumeratorNodeenumeratorNode.Enumerator()enumeratorNode.ValueStr());
172 }


Declaration at line 42 of SymbolCreator.hpp

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

Calls: sngcpp::ast::EnumeratorNode::Enumerator , sngcpp::ast::EnumeratorNode::ValueStr , sngcpp::symbols::SymbolTable::AddEnumerator


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(EnumeratorSequenceNode & enumeratorSequenceNode) override

Definition at line 174 of SymbolCreator.cpp :
175 {
176     enumeratorSequenceNode.Left()->Accept(*this);
177     enumeratorSequenceNode.Right()->Accept(*this);
178 }


Declaration at line 43 of SymbolCreator.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::symbols::SymbolCreator::Visit(EqualityExpressionNode & equalityExpressionNode) override

Definition at line 616 of SymbolCreator.cpp :
617 {
618     equalityExpressionNode.Left()->Accept(*this);
619     equalityExpressionNode.Right()->Accept(*this);
620 }


Declaration at line 87 of SymbolCreator.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::symbols::SymbolCreator::Visit(ExclusiveOrExpressionNode & exclusiveOrExpressionNode) override

Definition at line 604 of SymbolCreator.cpp :
605 {
606     exclusiveOrExpressionNode.Left()->Accept(*this);
607     exclusiveOrExpressionNode.Right()->Accept(*this);
608 }


Declaration at line 85 of SymbolCreator.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::symbols::SymbolCreator::Visit(ExpressionInitializerNode & expressionInitializerNode) override

Definition at line 714 of SymbolCreator.cpp :
715 {
716     expressionInitializerNode.Child()->Accept(*this);
717 }


Declaration at line 103 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ExpressionListInitializerNode & expressionListInitializerNode) override

Definition at line 709 of SymbolCreator.cpp :
710 {
711     expressionListInitializerNode.Child()->Accept(*this);
712 }


Declaration at line 102 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ExpressionSequenceNode & expressionSequenceNode) override

Definition at line 724 of SymbolCreator.cpp :
725 {
726     expressionSequenceNode.Left()->Accept(*this);
727     expressionSequenceNode.Right()->Accept(*this);
728 }


Declaration at line 99 of SymbolCreator.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::symbols::SymbolCreator::Visit(ExpressionStatementNode & expressionStatementNode) override

Definition at line 550 of SymbolCreator.cpp :
551 {
552     nameSequence.clear();
553     if (expressionStatementNode.Child())
554     {
555         expressionStatementNode.Child()->Accept(*this);
556     }
557 }


Declaration at line 77 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ForStatementNode & forStatementNode) override

Definition at line 478 of SymbolCreator.cpp
Declaration at line 69 of SymbolCreator.hpp

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

Calls: sngcpp::ast::ForStatementNode::ActionS , sngcpp::ast::ForStatementNode::Condition , sngcpp::ast::ForStatementNode::InitS , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(FunctionDeclaratorNode & functionDeclaratorNode) override

Definition at line 296 of SymbolCreator.cpp
Declaration at line 53 of SymbolCreator.hpp

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

Calls: sngcpp::ast::FunctionDeclaratorNode::CVSpecifiers , sngcpp::ast::FunctionDeclaratorNode::Declarator , sngcpp::ast::FunctionDeclaratorNode::Parameters , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginFunction , sngcpp::symbols::SymbolTable::BeginFunctionDeclaration , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndFunctionDeclaration , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(FunctionNode & functionNode) override

Definition at line 347 of SymbolCreator.cpp
Declaration at line 56 of SymbolCreator.hpp

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

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::FunctionNode::Body , sngcpp::ast::FunctionNode::Declarator , sngcpp::ast::FunctionNode::Specifiers , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(FunctionPtrIdNode & functionPtrIdNode) override

Definition at line 337 of SymbolCreator.cpp :
338 {
339     skip = true;
340 }


Declaration at line 54 of SymbolCreator.hpp

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(HandlerNode & handlerNode) override

Definition at line 507 of SymbolCreator.cpp :
508 {
509     symbolTable.BeginDeclarationBlock(&handlerNode);
510     handlerNode.ExceptionDeclaration()->Accept(*this);
511     handlerNode.CatchBlock()->Accept(*this);
512     symbolTable.EndDeclarationBlock();
513 }


Declaration at line 72 of SymbolCreator.hpp

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

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::HandlerNode::CatchBlock , sngcpp::ast::HandlerNode::ExceptionDeclaration , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(HandlerSequenceNode & handlerSequenceNode) override

Definition at line 515 of SymbolCreator.cpp :
516 {
517     handlerSequenceNode.Left()->Accept(*this);
518     handlerSequenceNode.Right()->Accept(*this);
519 }


Declaration at line 73 of SymbolCreator.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::symbols::SymbolCreator::Visit(IdDeclaratorNode & idDeclaratorNode) override

Definition at line 521 of SymbolCreator.cpp :
522 {
523     nameSequence.clear();
524     idDeclaratorNode.IdNode()->Accept(*this);
525 }


Declaration at line 74 of SymbolCreator.hpp

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

Calls: sngcpp::ast::IdDeclaratorNode::IdNode , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(IdentifierCaptureNode & identifierCaptureNode) override

Definition at line 751 of SymbolCreator.cpp :
752 {
753     identifierCaptureNode.Child()->Accept(*this);
754 }


Declaration at line 107 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(IdentifierNode & identifierNode) override

Definition at line 180 of SymbolCreator.cpp
Declaration at line 44 of SymbolCreator.hpp

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

Calls: sngcpp::ast::IdentifierNode::Identifier , sngcpp::symbols::Symbol::Name


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(IfStatementNode & ifStatementNode) override

Definition at line 427 of SymbolCreator.cpp :
428 {
429     symbolTable.BeginDeclarationBlock(&ifStatementNode);
430     ifStatementNode.Condition()->Accept(*this);
431     ifStatementNode.ThenS()->Accept(*this);
432     if (ifStatementNode.ElseS())
433     {
434         ifStatementNode.ElseS()->Accept(*this);
435     }
436     symbolTable.EndDeclarationBlock();
437 }


Declaration at line 62 of SymbolCreator.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 , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(InclusiveOrExpressionNode & inclusiveOrExpressionNode) override

Definition at line 598 of SymbolCreator.cpp :
599 {
600     inclusiveOrExpressionNode.Left()->Accept(*this);
601     inclusiveOrExpressionNode.Right()->Accept(*this);
602 }


Declaration at line 84 of SymbolCreator.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::symbols::SymbolCreator::Visit(InitDeclaratorNode & initDeclaratorNode) override

Definition at line 291 of SymbolCreator.cpp :
292 {
293     initDeclaratorNode.Declarator()->Accept(*this);
294 }


Declaration at line 52 of SymbolCreator.hpp

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

Calls: sngcpp::ast::InitDeclaratorNode::Declarator , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(InvokeExpressionNode & invokeExpressionNode) override

Definition at line 695 of SymbolCreator.cpp :
696 {
697     invokeExpressionNode.Child()->Accept(*this);
698     if (invokeExpressionNode.Arguments())
699     {
700         invokeExpressionNode.Arguments()->Accept(*this);
701     }
702 }


Declaration at line 100 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(LabeledStatementNode & labeledStatementNode) override

Definition at line 401 of SymbolCreator.cpp :
402 {
403     labeledStatementNode.Child()->Accept(*this);
404 }


Declaration at line 58 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(LambdaExpressionNode & lambdaExpressionNode) override

Definition at line 730 of SymbolCreator.cpp
Declaration at line 105 of SymbolCreator.hpp

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

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::LambdaExpressionNode::Body , sngcpp::ast::LambdaExpressionNode::Captures , sngcpp::ast::LambdaExpressionNode::Parameters , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::BeginLambdaExpression , sngcpp::symbols::SymbolTable::EndLambdaExpression


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(LinkageSpecificationNode & linkageSpecificationNode) override

Definition at line 51 of SymbolCreator.cpp :
 52 {
 53     linkageSpecificationNode.Declarations()->Accept(*this);
 54 }


Declaration at line 32 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(LogicalAndExpressionNode & logicalAndExpressionNode) override

Definition at line 592 of SymbolCreator.cpp :
593 {
594     logicalAndExpressionNode.Left()->Accept(*this);
595     logicalAndExpressionNode.Right()->Accept(*this);
596 }


Declaration at line 83 of SymbolCreator.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::symbols::SymbolCreator::Visit(LogicalOrExpressionNode & logicalOrExpressionNode) override

Definition at line 586 of SymbolCreator.cpp :
587 {
588     logicalOrExpressionNode.Left()->Accept(*this);
589     logicalOrExpressionNode.Right()->Accept(*this);
590 }


Declaration at line 82 of SymbolCreator.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::symbols::SymbolCreator::Visit(MemberAccessDeclarationNode & memberAccessDeclarationNode)

Definition at line 106 of SymbolCreator.cpp :
107 {
108     if (memberAccessDeclarationNode.Declaration())
109     {
110         memberAccessDeclarationNode.Declaration()->Accept(*this);
111     }
112 }


Declaration at line 38 of SymbolCreator.hpp

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(MemberDeclarationNode & memberDeclarationNode) override

Definition at line 114 of SymbolCreator.cpp
Declaration at line 39 of SymbolCreator.hpp

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

Calls: sngcpp::ast::MemberDeclarationNode::Declarator , sngcpp::ast::MemberDeclarationNode::Specifiers , sngcpp::ast::Node::Accept , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(MemberFunctionPtrIdNode & memberFunctionPtrIdNode) override

Definition at line 342 of SymbolCreator.cpp :
343 {
344     skip = true;
345 }


Declaration at line 55 of SymbolCreator.hpp

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(MultiplicativeExpressionNode & multiplicativeExpressionNode) override

Definition at line 640 of SymbolCreator.cpp :
641 {
642     multiplicativeExpressionNode.Left()->Accept(*this);
643     multiplicativeExpressionNode.Right()->Accept(*this);
644 }


Declaration at line 91 of SymbolCreator.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::symbols::SymbolCreator::Visit(NamespaceNode & namespaceNode) override

Definition at line 35 of SymbolCreator.cpp :
 36 {
 37     symbolTable.BeginNamespace(namespaceNode.NamespaceName()projectName);
 38     if (namespaceNode.Child())
 39     {
 40         namespaceNode.Child()->Accept(*this);
 41     }
 42     symbolTable.EndNamespace();
 43 }


Declaration at line 30 of SymbolCreator.hpp

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

Calls: sngcpp::ast::NamespaceNode::NamespaceName , sngcpp::ast::Node::Accept , sngcpp::ast::UnaryNode::Child , sngcpp::symbols::SymbolTable::BeginNamespace , sngcpp::symbols::SymbolTable::EndNamespace


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(NestedIdNode & nestedIdNode) override

Definition at line 235 of SymbolCreator.cpp
Declaration at line 49 of SymbolCreator.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::symbols::SymbolCreator::Visit(NewExpressionNode & newExpressionNode) override

Definition at line 663 of SymbolCreator.cpp
Declaration at line 95 of SymbolCreator.hpp

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

Calls: sngcpp::ast::NewExpressionNode::Initializer , sngcpp::ast::NewExpressionNode::Placement , sngcpp::ast::NewExpressionNode::TypeExpr , sngcpp::ast::Node::Accept


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(OperatorFunctionIdNode & operatorFunctionIdNode) override

Definition at line 223 of SymbolCreator.cpp :
224 {
225     nameSequence.push_back(std::make_pair(operatorFunctionIdNode.Str()0));
226     groupName = operatorFunctionIdNode.GroupName();
227 }


Declaration at line 47 of SymbolCreator.hpp

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

Calls: sngcpp::ast::OperatorFunctionIdNode::GroupName , sngcpp::ast::OperatorFunctionIdNode::Str


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(PMExpressionNode & pmExpressionNode) override

Definition at line 646 of SymbolCreator.cpp :
647 {
648     pmExpressionNode.Left()->Accept(*this);
649     pmExpressionNode.Right()->Accept(*this);
650 }


Declaration at line 92 of SymbolCreator.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::symbols::SymbolCreator::Visit(ParameterNode & parameterNode) override

Definition at line 527 of SymbolCreator.cpp
Declaration at line 75 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::ParameterNode::Declarator , sngcpp::symbols::SymbolTable::AddParameter , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ParameterSequenceNode & parameterSequenceNode) override

Definition at line 544 of SymbolCreator.cpp :
545 {
546     parameterSequenceNode.Left()->Accept(*this);
547     parameterSequenceNode.Right()->Accept(*this);
548 }


Declaration at line 76 of SymbolCreator.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::symbols::SymbolCreator::Visit(RangeForStatementNode & rangeForStatementNode) override

Definition at line 470 of SymbolCreator.cpp :
471 {
472     symbolTable.BeginDeclarationBlock(&rangeForStatementNode);
473     rangeForStatementNode.ForRangeDeclaration()->Accept(*this);
474     rangeForStatementNode.Statement()->Accept(*this);
475     symbolTable.EndDeclarationBlock();
476 }


Declaration at line 68 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::RangeForStatementNode::ForRangeDeclaration , sngcpp::ast::RangeForStatementNode::Statement , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(RelationalExpressionNode & relationalExpressionNode) override

Definition at line 622 of SymbolCreator.cpp :
623 {
624     relationalExpressionNode.Left()->Accept(*this);
625     relationalExpressionNode.Right()->Accept(*this);
626 }


Declaration at line 88 of SymbolCreator.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::symbols::SymbolCreator::Visit(ReturnStatementNode & returnStatementNode) override

Definition at line 493 of SymbolCreator.cpp :
494 {
495     if (returnStatementNode.ReturnExpr())
496     {
497         returnStatementNode.ReturnExpr()->Accept(*this);
498     }
499 }


Declaration at line 70 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::ReturnStatementNode::ReturnExpr


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(ShiftExpressionNode & shiftExpressionNode) override

Definition at line 628 of SymbolCreator.cpp :
629 {
630     shiftExpressionNode.Left()->Accept(*this);
631     shiftExpressionNode.Right()->Accept(*this);
632 }


Declaration at line 89 of SymbolCreator.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::symbols::SymbolCreator::Visit(SimpleDeclarationNode & simpleDeclarationNode) override

Definition at line 254 of SymbolCreator.cpp
Declaration at line 51 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::SimpleDeclarationNode::Declarator , sngcpp::symbols::SymbolTable::AddVariable , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(SourceFileNode & sourceFileNode) override

Definition at line 24 of SymbolCreator.cpp :
 25 {
 26     sourceFileNode.GlobalNs()->Accept(*this);
 27 }


Declaration at line 28 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(SourceFileSequenceNode & sourceFileSequenceNode) override

Definition at line 29 of SymbolCreator.cpp :
 30 {
 31     sourceFileSequenceNode.Left()->Accept(*this);
 32     sourceFileSequenceNode.Right()->Accept(*this);
 33 }


Declaration at line 29 of SymbolCreator.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::symbols::SymbolCreator::Visit(SpecialMemberFunctionNode & specialMemberFunctionNode) override

Definition at line 374 of SymbolCreator.cpp
Declaration at line 57 of SymbolCreator.hpp

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

Calls: sngcpp::ast::CompoundStatementNode::Accept , sngcpp::ast::Node::Accept , sngcpp::ast::SpecialMemberFunctionNode::Declarator , sngcpp::ast::SpecialMemberFunctionNode::FunctionBody , sngcpp::ast::SpecialMemberFunctionNode::Specifiers , sngcpp::symbols::SymbolTable::EndFunction , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(StatementSequenceNode & statementSequenceNode) override

Definition at line 416 of SymbolCreator.cpp :
417 {
418     statementSequenceNode.Left()->Accept(*this);
419     statementSequenceNode.Right()->Accept(*this);
420 }


Declaration at line 60 of SymbolCreator.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::symbols::SymbolCreator::Visit(SubscriptExpressionNode & subscriptExpressionNode) override

Definition at line 681 of SymbolCreator.cpp :
682 {
683     subscriptExpressionNode.Child()->Accept(*this);
684     subscriptExpressionNode.Index()->Accept(*this);
685 }


Declaration at line 97 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(SwitchStatementNode & switchStatementNode) override

Definition at line 439 of SymbolCreator.cpp :
440 {
441     symbolTable.BeginDeclarationBlock(&switchStatementNode);
442     switchStatementNode.Condition()->Accept(*this);
443     switchStatementNode.Statement()->Accept(*this);
444     symbolTable.EndDeclarationBlock();
445 }


Declaration at line 63 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::SwitchStatementNode::Condition , sngcpp::ast::SwitchStatementNode::Statement , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TemplateArgumentNode & templateArgumentNode) override

Definition at line 218 of SymbolCreator.cpp :
219 {
220     templateArgumentNode.Arg()->Accept(*this);
221 }


Declaration at line 46 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::TemplateArgumentNode::Arg


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TemplateDeclarationNode & templateDeclarationNode) override

Definition at line 81 of SymbolCreator.cpp :
 82 {
 83     templateParameters.clear();
 84     if (templateDeclarationNode.TemplateParameters())
 85     {
 86         templateDeclarationNode.TemplateParameters()->Accept(*this);
 87     }
 88     templateDeclarationNode.Declaration()->Accept(*this);
 89 }


Declaration at line 36 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TemplateIdNode & templateIdNode) override

Definition at line 202 of SymbolCreator.cpp
Declaration at line 45 of SymbolCreator.hpp

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

Calls: sngcpp::ast::IdentifierNode::Identifier , sngcpp::ast::Node::Accept , sngcpp::ast::TemplateIdNode::Arity , sngcpp::ast::TemplateIdNode::Id , sngcpp::ast::TemplateIdNode::TemplateArguments


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TemplateParameterSequenceNode & templateParameterSequenceNode) override

Definition at line 75 of SymbolCreator.cpp :
 76 {
 77     templateParameterSequenceNode.Left()->Accept(*this);
 78     templateParameterSequenceNode.Right()->Accept(*this);
 79 }


Declaration at line 35 of SymbolCreator.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::symbols::SymbolCreator::Visit(ThrowExpressionNode & throwExpressionNode) override

Definition at line 578 of SymbolCreator.cpp :
579 {
580     if (throwExpressionNode.Child())
581     {
582         throwExpressionNode.Child()->Accept(*this);
583     }
584 }


Declaration at line 81 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TryStatementNode & tryStatementNode) override

Definition at line 501 of SymbolCreator.cpp :
502 {
503     tryStatementNode.TryBlock()->Accept(*this);
504     tryStatementNode.Handlers()->Accept(*this);
505 }


Declaration at line 71 of SymbolCreator.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::symbols::SymbolCreator::Visit(TypeParameterNode & typeParameterNode) override

Definition at line 68 of SymbolCreator.cpp :
 69 {
 70     std::unique_ptr<TemplateParameterSymbol> templateParameterSymbol(new TemplateParameterSymbol(typeParameterNode.GetSpan()typeParameterNode.Id()));
 71     templateParameterSymbol->SetAccess(Specifier::public_);
 72     templateParameters.push_back(std::move(templateParameterSymbol));
 73 }


Declaration at line 34 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::GetSpan , sngcpp::ast::TypeParameterNode::Id


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(TypedefNode & typedefNode) override

Definition at line 56 of SymbolCreator.cpp :
 57 {
 58     nameSequence.clear();
 59     typedefNode.Declarator()->Accept(*this);
 60     if (!nameSequence.empty())
 61     {
 62         int n = symbolTable.BeginNameSequence(nameSequence);
 63         symbolTable.AddTypedef(&typedefNodenameSequence.back().firstprojectName);
 64         symbolTable.EndNameSequence(n);
 65     }
 66 }


Declaration at line 33 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::TypedefNode::Declarator , sngcpp::symbols::SymbolTable::AddTypedef , sngcpp::symbols::SymbolTable::BeginNameSequence , sngcpp::symbols::SymbolTable::EndNameSequence


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(UnaryExpressionNode & unaryExpressionNode) override

Definition at line 658 of SymbolCreator.cpp :
659 {
660     unaryExpressionNode.Child()->Accept(*this);
661 }


Declaration at line 94 of SymbolCreator.hpp

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

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


Visit Member Function

void sngcpp::symbols::SymbolCreator::Visit(WhileStatementNode & whileStatementNode) override

Definition at line 457 of SymbolCreator.cpp :
458 {
459     symbolTable.BeginDeclarationBlock(&whileStatementNode);
460     whileStatementNode.Condition()->Accept(*this);
461     whileStatementNode.Statement()->Accept(*this);
462     symbolTable.EndDeclarationBlock();
463 }


Declaration at line 66 of SymbolCreator.hpp

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

Calls: sngcpp::ast::Node::Accept , sngcpp::ast::WhileStatementNode::Condition , sngcpp::ast::WhileStatementNode::Statement , sngcpp::symbols::SymbolTable::BeginDeclarationBlock , sngcpp::symbols::SymbolTable::EndDeclarationBlock


operator= Member Function

SymbolCreator & sngcpp::symbols::SymbolCreator::operator=(SymbolCreator &&) delete

Definition at line 27 of SymbolCreator.hpp


operator= Member Function

SymbolCreator & sngcpp::symbols::SymbolCreator::operator=(const SymbolCreator &) delete

Definition at line 26 of SymbolCreator.hpp


top | up | prev | next