Bond 0.9
C++ Bond Runtime Library API Documentation
|
An abstract interface that implements the Visitor pattern over all concrete types that derive from ParseNode. More...
#include <bond/compiler/parsenodevisitor.h>
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 |
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.
|
inlinevirtual |
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.
|
pure virtual |
Implemented in Bond::ParseNodeTraverser, Bond::ParseNodeVisitorAdapter, and Bond::CastVisitor< T >.