Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond::ParseNodeVisitor Class Referenceabstract

An abstract interface that implements the Visitor pattern over all concrete types that derive from ParseNode. More...

#include <bond/compiler/parsenodevisitor.h>

Inheritance diagram for Bond::ParseNodeVisitor:
Bond::ParseNodeTraverser Bond::ParseNodeVisitorAdapter Bond::ParseNodeCounter Bond::CastVisitor< T >

Public Member Functions

virtual ~ParseNodeVisitor ()
 
virtual void Visit (TranslationUnit *translationUnit)=0
 
virtual void Visit (const TranslationUnit *translationUnit)=0
 
virtual void Visit (IncludeDirective *includeDirective)=0
 
virtual void Visit (const IncludeDirective *includeDirective)=0
 
virtual void Visit (NamespaceDefinition *namespaceDefinition)=0
 
virtual void Visit (const NamespaceDefinition *namespaceDefinition)=0
 
virtual void Visit (NativeBlock *nativeBlock)=0
 
virtual void Visit (const NativeBlock *nativeBlock)=0
 
virtual void Visit (EnumDeclaration *enumDeclaration)=0
 
virtual void Visit (const EnumDeclaration *enumDeclaration)=0
 
virtual void Visit (Enumerator *enumerator)=0
 
virtual void Visit (const Enumerator *enumerator)=0
 
virtual void Visit (StructDeclaration *structDeclaration)=0
 
virtual void Visit (const StructDeclaration *structDeclaration)=0
 
virtual void Visit (FunctionDefinition *functionDefinition)=0
 
virtual void Visit (const FunctionDefinition *functionDefinition)=0
 
virtual void Visit (FunctionPrototype *functionPrototype)=0
 
virtual void Visit (const FunctionPrototype *functionPrototype)=0
 
virtual void Visit (Parameter *parameter)=0
 
virtual void Visit (const Parameter *parameter)=0
 
virtual void Visit (TypeDescriptor *typeDescriptor)=0
 
virtual void Visit (const TypeDescriptor *typeDescriptor)=0
 
virtual void Visit (TypeSpecifier *typeSpecifier)=0
 
virtual void Visit (const TypeSpecifier *typeSpecifier)=0
 
virtual void Visit (NamedInitializer *namedInitializer)=0
 
virtual void Visit (const NamedInitializer *namedInitializer)=0
 
virtual void Visit (Initializer *initializer)=0
 
virtual void Visit (const Initializer *initializer)=0
 
virtual void Visit (QualifiedIdentifier *identifier)=0
 
virtual void Visit (const QualifiedIdentifier *identifier)=0
 
virtual void Visit (CompoundStatement *compoundStatement)=0
 
virtual void Visit (const CompoundStatement *compoundStatement)=0
 
virtual void Visit (IfStatement *ifStatement)=0
 
virtual void Visit (const IfStatement *ifStatement)=0
 
virtual void Visit (SwitchStatement *switchStatement)=0
 
virtual void Visit (const SwitchStatement *switchStatement)=0
 
virtual void Visit (SwitchSection *switchSection)=0
 
virtual void Visit (const SwitchSection *switchSection)=0
 
virtual void Visit (SwitchLabel *switchLabel)=0
 
virtual void Visit (const SwitchLabel *switchLabel)=0
 
virtual void Visit (WhileStatement *whileStatement)=0
 
virtual void Visit (const WhileStatement *whileStatement)=0
 
virtual void Visit (ForStatement *forStatement)=0
 
virtual void Visit (const ForStatement *forStatement)=0
 
virtual void Visit (JumpStatement *jumpStatement)=0
 
virtual void Visit (const JumpStatement *jumpStatement)=0
 
virtual void Visit (DeclarativeStatement *declarativeStatement)=0
 
virtual void Visit (const DeclarativeStatement *declarativeStatement)=0
 
virtual void Visit (ExpressionStatement *expressionStatement)=0
 
virtual void Visit (const ExpressionStatement *expressionStatement)=0
 
virtual void Visit (ConditionalExpression *conditionalExpression)=0
 
virtual void Visit (const ConditionalExpression *conditionalExpression)=0
 
virtual void Visit (BinaryExpression *binaryExpression)=0
 
virtual void Visit (const BinaryExpression *binaryExpression)=0
 
virtual void Visit (UnaryExpression *unaryExpression)=0
 
virtual void Visit (const UnaryExpression *unaryExpression)=0
 
virtual void Visit (PostfixExpression *postfixExpression)=0
 
virtual void Visit (const PostfixExpression *postfixExpression)=0
 
virtual void Visit (MemberExpression *memberExpression)=0
 
virtual void Visit (const MemberExpression *memberExpression)=0
 
virtual void Visit (ArraySubscriptExpression *arraySubscriptExpression)=0
 
virtual void Visit (const ArraySubscriptExpression *arraySubscriptExpression)=0
 
virtual void Visit (FunctionCallExpression *functionCallExpression)=0
 
virtual void Visit (const FunctionCallExpression *functionCallExpression)=0
 
virtual void Visit (CastExpression *castExpression)=0
 
virtual void Visit (const CastExpression *castExpression)=0
 
virtual void Visit (PropertyofExpression *propertyofExpression)=0
 
virtual void Visit (const PropertyofExpression *propertyofExpression)=0
 
virtual void Visit (ConstantLiteralExpression *constantExpression)=0
 
virtual void Visit (const ConstantLiteralExpression *constantExpression)=0
 
virtual void Visit (IdentifierExpression *identifierExpression)=0
 
virtual void Visit (const IdentifierExpression *identifierExpression)=0
 
virtual void Visit (ThisExpression *thisExpression)=0
 
virtual void Visit (const ThisExpression *thisExpression)=0
 
virtual void Visit (EmptyExpression *emptyExpression)=0
 
virtual void Visit (const EmptyExpression *emptyExpression)=0
 

Detailed Description

An abstract interface that implements the Visitor pattern over all concrete types that derive from ParseNode.

Any of the ParseNodeVisitor::Visit methods can be called directly if the concrete type of the ParseNode is known at compile time. If the node's concrete type is not known, its ParseNode::Accept method can be called with the visitor passed in as an argument, which will in turn call the appropriate Visit method.

See also
ParseNode, ParseNodeVisitorAdapter, ParseNodeTraverser

Constructor & Destructor Documentation

◆ ~ParseNodeVisitor()

virtual Bond::ParseNodeVisitor::~ParseNodeVisitor ( )
inlinevirtual

Member Function Documentation

◆ Visit() [1/76]

virtual void Bond::ParseNodeVisitor::Visit ( ArraySubscriptExpression arraySubscriptExpression)
pure virtual

◆ Visit() [2/76]

virtual void Bond::ParseNodeVisitor::Visit ( BinaryExpression binaryExpression)
pure virtual

◆ Visit() [3/76]

virtual void Bond::ParseNodeVisitor::Visit ( CastExpression castExpression)
pure virtual

◆ Visit() [4/76]

virtual void Bond::ParseNodeVisitor::Visit ( CompoundStatement compoundStatement)
pure virtual

◆ Visit() [5/76]

virtual void Bond::ParseNodeVisitor::Visit ( ConditionalExpression conditionalExpression)
pure virtual

◆ Visit() [6/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ArraySubscriptExpression arraySubscriptExpression)
pure virtual

◆ Visit() [7/76]

virtual void Bond::ParseNodeVisitor::Visit ( const BinaryExpression binaryExpression)
pure virtual

◆ Visit() [8/76]

virtual void Bond::ParseNodeVisitor::Visit ( const CastExpression castExpression)
pure virtual

◆ Visit() [9/76]

virtual void Bond::ParseNodeVisitor::Visit ( const CompoundStatement compoundStatement)
pure virtual

◆ Visit() [10/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ConditionalExpression conditionalExpression)
pure virtual

◆ Visit() [11/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ConstantLiteralExpression constantExpression)
pure virtual

◆ Visit() [12/76]

virtual void Bond::ParseNodeVisitor::Visit ( const DeclarativeStatement declarativeStatement)
pure virtual

◆ Visit() [13/76]

virtual void Bond::ParseNodeVisitor::Visit ( const EmptyExpression emptyExpression)
pure virtual

◆ Visit() [14/76]

virtual void Bond::ParseNodeVisitor::Visit ( const EnumDeclaration enumDeclaration)
pure virtual

◆ Visit() [15/76]

virtual void Bond::ParseNodeVisitor::Visit ( const Enumerator enumerator)
pure virtual

◆ Visit() [16/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ExpressionStatement expressionStatement)
pure virtual

◆ Visit() [17/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ForStatement forStatement)
pure virtual

◆ Visit() [18/76]

virtual void Bond::ParseNodeVisitor::Visit ( const FunctionCallExpression functionCallExpression)
pure virtual

◆ Visit() [19/76]

virtual void Bond::ParseNodeVisitor::Visit ( const FunctionDefinition functionDefinition)
pure virtual

◆ Visit() [20/76]

virtual void Bond::ParseNodeVisitor::Visit ( const FunctionPrototype functionPrototype)
pure virtual

◆ Visit() [21/76]

virtual void Bond::ParseNodeVisitor::Visit ( const IdentifierExpression identifierExpression)
pure virtual

◆ Visit() [22/76]

virtual void Bond::ParseNodeVisitor::Visit ( const IfStatement ifStatement)
pure virtual

◆ Visit() [23/76]

virtual void Bond::ParseNodeVisitor::Visit ( const IncludeDirective includeDirective)
pure virtual

◆ Visit() [24/76]

virtual void Bond::ParseNodeVisitor::Visit ( const Initializer initializer)
pure virtual

◆ Visit() [25/76]

virtual void Bond::ParseNodeVisitor::Visit ( const JumpStatement jumpStatement)
pure virtual

◆ Visit() [26/76]

virtual void Bond::ParseNodeVisitor::Visit ( const MemberExpression memberExpression)
pure virtual

◆ Visit() [27/76]

virtual void Bond::ParseNodeVisitor::Visit ( const NamedInitializer namedInitializer)
pure virtual

◆ Visit() [28/76]

virtual void Bond::ParseNodeVisitor::Visit ( const NamespaceDefinition namespaceDefinition)
pure virtual

◆ Visit() [29/76]

virtual void Bond::ParseNodeVisitor::Visit ( const NativeBlock nativeBlock)
pure virtual

◆ Visit() [30/76]

virtual void Bond::ParseNodeVisitor::Visit ( const Parameter parameter)
pure virtual

◆ Visit() [31/76]

virtual void Bond::ParseNodeVisitor::Visit ( const PostfixExpression postfixExpression)
pure virtual

◆ Visit() [32/76]

virtual void Bond::ParseNodeVisitor::Visit ( const PropertyofExpression propertyofExpression)
pure virtual

◆ Visit() [33/76]

virtual void Bond::ParseNodeVisitor::Visit ( const QualifiedIdentifier identifier)
pure virtual

◆ Visit() [34/76]

virtual void Bond::ParseNodeVisitor::Visit ( const StructDeclaration structDeclaration)
pure virtual

◆ Visit() [35/76]

virtual void Bond::ParseNodeVisitor::Visit ( const SwitchLabel switchLabel)
pure virtual

◆ Visit() [36/76]

virtual void Bond::ParseNodeVisitor::Visit ( const SwitchSection switchSection)
pure virtual

◆ Visit() [37/76]

virtual void Bond::ParseNodeVisitor::Visit ( const SwitchStatement switchStatement)
pure virtual

◆ Visit() [38/76]

virtual void Bond::ParseNodeVisitor::Visit ( const ThisExpression thisExpression)
pure virtual

◆ Visit() [39/76]

virtual void Bond::ParseNodeVisitor::Visit ( const TranslationUnit translationUnit)
pure virtual

◆ Visit() [40/76]

virtual void Bond::ParseNodeVisitor::Visit ( const TypeDescriptor typeDescriptor)
pure virtual

◆ Visit() [41/76]

virtual void Bond::ParseNodeVisitor::Visit ( const TypeSpecifier typeSpecifier)
pure virtual

◆ Visit() [42/76]

virtual void Bond::ParseNodeVisitor::Visit ( const UnaryExpression unaryExpression)
pure virtual

◆ Visit() [43/76]

virtual void Bond::ParseNodeVisitor::Visit ( const WhileStatement whileStatement)
pure virtual

◆ Visit() [44/76]

virtual void Bond::ParseNodeVisitor::Visit ( ConstantLiteralExpression constantExpression)
pure virtual

◆ Visit() [45/76]

virtual void Bond::ParseNodeVisitor::Visit ( DeclarativeStatement declarativeStatement)
pure virtual

◆ Visit() [46/76]

virtual void Bond::ParseNodeVisitor::Visit ( EmptyExpression emptyExpression)
pure virtual

◆ Visit() [47/76]

virtual void Bond::ParseNodeVisitor::Visit ( EnumDeclaration enumDeclaration)
pure virtual

◆ Visit() [48/76]

virtual void Bond::ParseNodeVisitor::Visit ( Enumerator enumerator)
pure virtual

◆ Visit() [49/76]

virtual void Bond::ParseNodeVisitor::Visit ( ExpressionStatement expressionStatement)
pure virtual

◆ Visit() [50/76]

virtual void Bond::ParseNodeVisitor::Visit ( ForStatement forStatement)
pure virtual

◆ Visit() [51/76]

virtual void Bond::ParseNodeVisitor::Visit ( FunctionCallExpression functionCallExpression)
pure virtual

◆ Visit() [52/76]

virtual void Bond::ParseNodeVisitor::Visit ( FunctionDefinition functionDefinition)
pure virtual

◆ Visit() [53/76]

virtual void Bond::ParseNodeVisitor::Visit ( FunctionPrototype functionPrototype)
pure virtual

◆ Visit() [54/76]

virtual void Bond::ParseNodeVisitor::Visit ( IdentifierExpression identifierExpression)
pure virtual

◆ Visit() [55/76]

virtual void Bond::ParseNodeVisitor::Visit ( IfStatement ifStatement)
pure virtual

◆ Visit() [56/76]

virtual void Bond::ParseNodeVisitor::Visit ( IncludeDirective includeDirective)
pure virtual

◆ Visit() [57/76]

virtual void Bond::ParseNodeVisitor::Visit ( Initializer initializer)
pure virtual

◆ Visit() [58/76]

virtual void Bond::ParseNodeVisitor::Visit ( JumpStatement jumpStatement)
pure virtual

◆ Visit() [59/76]

virtual void Bond::ParseNodeVisitor::Visit ( MemberExpression memberExpression)
pure virtual

◆ Visit() [60/76]

virtual void Bond::ParseNodeVisitor::Visit ( NamedInitializer namedInitializer)
pure virtual

◆ Visit() [61/76]

virtual void Bond::ParseNodeVisitor::Visit ( NamespaceDefinition namespaceDefinition)
pure virtual

◆ Visit() [62/76]

virtual void Bond::ParseNodeVisitor::Visit ( NativeBlock nativeBlock)
pure virtual

◆ Visit() [63/76]

virtual void Bond::ParseNodeVisitor::Visit ( Parameter parameter)
pure virtual

◆ Visit() [64/76]

virtual void Bond::ParseNodeVisitor::Visit ( PostfixExpression postfixExpression)
pure virtual

◆ Visit() [65/76]

virtual void Bond::ParseNodeVisitor::Visit ( PropertyofExpression propertyofExpression)
pure virtual

◆ Visit() [66/76]

virtual void Bond::ParseNodeVisitor::Visit ( QualifiedIdentifier identifier)
pure virtual

◆ Visit() [67/76]

virtual void Bond::ParseNodeVisitor::Visit ( StructDeclaration structDeclaration)
pure virtual

◆ Visit() [68/76]

virtual void Bond::ParseNodeVisitor::Visit ( SwitchLabel switchLabel)
pure virtual

◆ Visit() [69/76]

virtual void Bond::ParseNodeVisitor::Visit ( SwitchSection switchSection)
pure virtual

◆ Visit() [70/76]

virtual void Bond::ParseNodeVisitor::Visit ( SwitchStatement switchStatement)
pure virtual

◆ Visit() [71/76]

virtual void Bond::ParseNodeVisitor::Visit ( ThisExpression thisExpression)
pure virtual

◆ Visit() [72/76]

virtual void Bond::ParseNodeVisitor::Visit ( TranslationUnit translationUnit)
pure virtual

◆ Visit() [73/76]

virtual void Bond::ParseNodeVisitor::Visit ( TypeDescriptor typeDescriptor)
pure virtual

◆ Visit() [74/76]

virtual void Bond::ParseNodeVisitor::Visit ( TypeSpecifier typeSpecifier)
pure virtual

◆ Visit() [75/76]

virtual void Bond::ParseNodeVisitor::Visit ( UnaryExpression unaryExpression)
pure virtual

◆ Visit() [76/76]

virtual void Bond::ParseNodeVisitor::Visit ( WhileStatement whileStatement)
pure virtual

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