|
Bond 0.9
C++ Bond Runtime Library API Documentation
|
A concrete implementation of ParseNodeVisitor that, in addition to visiting a ParseNode, does a depth-first traversal of its children and visits them too. More...
#include <bond/compiler/parsenodetraverser.h>
Public Member Functions | |
| virtual | ~ParseNodeTraverser () |
| Destroys a ParseNodeTraverser object. | |
| virtual void | Traverse (ParseNode *parseNode) |
| Checks if the given ParseNode is not null and calls its Accept method with this as the argument. | |
| virtual void | Traverse (const ParseNode *parseNode) |
| Checks if the given ParseNode is not null and calls its Accept method with this as the argument. | |
| virtual void | TraverseList (ListParseNode *listNode) |
| Iterates over the given list of ListParseNodes and calls the Accept method of each one with this as the argument. | |
| virtual void | TraverseList (const ListParseNode *listNode) |
| Iterates over the given list of ListParseNodes and calls the Accept method of each one with this as the argument. | |
| virtual void | Visit (TranslationUnit *translationUnit) override |
| Visits a TranslationUnit. | |
| virtual void | Visit (const TranslationUnit *translationUnit) override |
| Visits a const TranslationUnit. | |
| virtual void | Visit (IncludeDirective *includeDirective) override |
| Visits an IncludeDirective. | |
| virtual void | Visit (const IncludeDirective *includeDirective) override |
| Visits a const IncludeDirective. | |
| virtual void | Visit (NamespaceDefinition *namespaceDefinition) override |
| Visits a NamespaceDefinition. | |
| virtual void | Visit (const NamespaceDefinition *namespaceDefinition) override |
| Visits a const NamespaceDefinition. | |
| virtual void | Visit (NativeBlock *nativeBlock) override |
| Visits a NativeBlock. | |
| virtual void | Visit (const NativeBlock *nativeBlock) override |
| Visits a const NativeBlock. | |
| virtual void | Visit (EnumDeclaration *enumDeclaration) override |
| Visits an EnumDeclaration. | |
| virtual void | Visit (const EnumDeclaration *enumDeclaration) override |
| Visits a const EnumDeclaration. | |
| virtual void | Visit (Enumerator *enumerator) override |
| Visits an Enumerator. | |
| virtual void | Visit (const Enumerator *enumerator) override |
| Visits a const Enumerator. | |
| virtual void | Visit (StructDeclaration *structDeclaration) override |
| Visits a StructDeclaration. | |
| virtual void | Visit (const StructDeclaration *structDeclaration) override |
| Visits a const StructDeclaration. | |
| virtual void | Visit (FunctionDefinition *functionDefinition) override |
| Visits a FunctionDefinition. | |
| virtual void | Visit (const FunctionDefinition *functionDefinition) override |
| Visits a const FunctionDefinition. | |
| virtual void | Visit (FunctionPrototype *functionPrototype) override |
| Visits a FunctionPrototype. | |
| virtual void | Visit (const FunctionPrototype *functionPrototype) override |
| Visits a const FunctionPrototype. | |
| virtual void | Visit (Parameter *parameter) override |
| Visits a Parameter. | |
| virtual void | Visit (const Parameter *parameter) override |
| Visits a const Parameter. | |
| virtual void | Visit (TypeDescriptor *typeDescriptor) override |
| Visits a TypeDescriptor. | |
| virtual void | Visit (const TypeDescriptor *typeDescriptor) override |
| Visits a const TypeDescriptor. | |
| virtual void | Visit (TypeSpecifier *typeSpecifier) override |
| Visits a TypeSpecifier. | |
| virtual void | Visit (const TypeSpecifier *typeSpecifier) override |
| Visits a const TypeSpecifier. | |
| virtual void | Visit (NamedInitializer *namedInitializer) override |
| Visits a NamedInitializer. | |
| virtual void | Visit (const NamedInitializer *namedInitializer) override |
| Visits a const NamedInitializer. | |
| virtual void | Visit (Initializer *initializer) override |
| Visits an Initializer. | |
| virtual void | Visit (const Initializer *initializer) override |
| Visits a const Initializer. | |
| virtual void | Visit (QualifiedIdentifier *identifier) override |
| Visits a QualifiedIdentifier. | |
| virtual void | Visit (const QualifiedIdentifier *identifier) override |
| Visits a const QualifiedIdentifier. | |
| virtual void | Visit (CompoundStatement *compoundStatement) override |
| Visits a CompoundStatement. | |
| virtual void | Visit (const CompoundStatement *compoundStatement) override |
| Visits a const CompoundStatement. | |
| virtual void | Visit (IfStatement *ifStatement) override |
| Visits an IfStatement. | |
| virtual void | Visit (const IfStatement *ifStatement) override |
| Visits a const IfStatement. | |
| virtual void | Visit (SwitchStatement *switchStatement) override |
| Visits a SwitchStatement. | |
| virtual void | Visit (const SwitchStatement *switchStatement) override |
| Visits a const SwitchStatement. | |
| virtual void | Visit (SwitchSection *switchSection) override |
| Visits a SwitchSection. | |
| virtual void | Visit (const SwitchSection *switchSection) override |
| Visits a const SwitchSection. | |
| virtual void | Visit (SwitchLabel *switchLabel) override |
| Visits a SwitchLabel. | |
| virtual void | Visit (const SwitchLabel *switchLabel) override |
| Visits a const SwitchLabel. | |
| virtual void | Visit (WhileStatement *whileStatement) override |
| Visits a WhileStatement. | |
| virtual void | Visit (const WhileStatement *whileStatement) override |
| Visits a const WhileStatement. | |
| virtual void | Visit (ForStatement *forStatement) override |
| Visits a ForStatement. | |
| virtual void | Visit (const ForStatement *forStatement) override |
| Visits a const ForStatement. | |
| virtual void | Visit (JumpStatement *jumpStatement) override |
| Visits a JumpStatement. | |
| virtual void | Visit (const JumpStatement *jumpStatement) override |
| Visits a const JumpStatement. | |
| virtual void | Visit (DeclarativeStatement *declarativeStatement) override |
| Visits a DeclarativeStatement. | |
| virtual void | Visit (const DeclarativeStatement *declarativeStatement) override |
| Visits a const DeclarativeStatement. | |
| virtual void | Visit (UsingDeclaration *usingDeclaration) override |
| Visits a UsingDeclaration. | |
| virtual void | Visit (const UsingDeclaration *usingDeclaration) override |
| Visits a const UsingDeclaration. | |
| virtual void | Visit (UsingDirective *usingDirective) override |
| Visits a UsingDirective. | |
| virtual void | Visit (const UsingDirective *usingDirective) override |
| Visits a const UsingDirective. | |
| virtual void | Visit (ExpressionStatement *expressionStatement) override |
| Visits an ExpressionStatement. | |
| virtual void | Visit (const ExpressionStatement *expressionStatement) override |
| Visits a const ExpressionStatement. | |
| virtual void | Visit (ConditionalExpression *conditionalExpression) override |
| Visits a ConditionalExpression. | |
| virtual void | Visit (const ConditionalExpression *conditionalExpression) override |
| Visits a const ConditionalExpression. | |
| virtual void | Visit (BinaryExpression *binaryExpression) override |
| Visits a BinaryExpression. | |
| virtual void | Visit (const BinaryExpression *binaryExpression) override |
| Visits a const BinaryExpression. | |
| virtual void | Visit (UnaryExpression *unaryExpression) override |
| Visits a UnaryExpression. | |
| virtual void | Visit (const UnaryExpression *unaryExpression) override |
| Visits a const UnaryExpression. | |
| virtual void | Visit (PostfixExpression *postfixExpression) override |
| Visits a PostfixExpression. | |
| virtual void | Visit (const PostfixExpression *postfixExpression) override |
| Visits a const PostfixExpression. | |
| virtual void | Visit (MemberExpression *memberExpression) override |
| Visits a MemberExpression. | |
| virtual void | Visit (const MemberExpression *memberExpression) override |
| Visits a const MemberExpression. | |
| virtual void | Visit (ArraySubscriptExpression *arraySubscriptExpression) override |
| Visits an ArraySubscriptExpression. | |
| virtual void | Visit (const ArraySubscriptExpression *arraySubscriptExpression) override |
| Visits a const ArraySubscriptExpression. | |
| virtual void | Visit (FunctionCallExpression *functionCallExpression) override |
| Visits a FunctionCallExpression. | |
| virtual void | Visit (const FunctionCallExpression *functionCallExpression) override |
| Visits a const FunctionCallExpression. | |
| virtual void | Visit (CastExpression *castExpression) override |
| Visits a CastExpression. | |
| virtual void | Visit (const CastExpression *castExpression) override |
| Visits a const CastExpression. | |
| virtual void | Visit (PropertyofExpression *propertyofExpression) override |
| Visits a PropertyofExpression. | |
| virtual void | Visit (const PropertyofExpression *propertyofExpression) override |
| Visits a const PropertyofExpression. | |
| virtual void | Visit (ConstantLiteralExpression *constantExpression) override |
| Visits a ConstantLiteralExpression. | |
| virtual void | Visit (const ConstantLiteralExpression *constantExpression) override |
| Visits a const ConstantLiteralExpression. | |
| virtual void | Visit (IdentifierExpression *identifierExpression) override |
| Visits an IdentifierExpression. | |
| virtual void | Visit (const IdentifierExpression *identifierExpression) override |
| Visits a const IdentifierExpression. | |
| virtual void | Visit (ThisExpression *thisExpression) override |
| Visits a ThisExpression. | |
| virtual void | Visit (const ThisExpression *thisExpression) override |
| Visits a const ThisExpression. | |
| virtual void | Visit (EmptyExpression *emptyExpression) override |
| Visits an EmptyExpression. | |
| virtual void | Visit (const EmptyExpression *emptyExpression) override |
| Visits a const EmptyExpression. | |
| Public Member Functions inherited from Bond::ParseNodeVisitor | |
| virtual | ~ParseNodeVisitor () |
| Destroys a ParseNodeVisitor object. | |
A concrete implementation of ParseNodeVisitor that, in addition to visiting a ParseNode, does a depth-first traversal of its children and visits them too.
Since the traversal of a ParseNode's children is invoked from the Visit methods, if any of them are overridden, traversal of the node's children will not occur unless an overridden method calls the corresponding ParseNodeTraverser::Visit method. Traversal can be pre or post-order depending on whether the ParseNodeTraverser::Visit method is called at the beginning or end of the body of an overridden Visit method. For more complex traversal orders (e.g. in-order), traversal of the children may need to be reimplemented in the overridden Visit method instead of calling the base method.
|
inlinevirtual |
Destroys a ParseNodeTraverser object.
|
virtual |
Checks if the given ParseNode is not null and calls its Accept method with this as the argument.
| parseNode | The node whose Accept method is called. |
|
virtual |
Checks if the given ParseNode is not null and calls its Accept method with this as the argument.
| parseNode | The node whose Accept method is called. |
|
virtual |
Iterates over the given list of ListParseNodes and calls the Accept method of each one with this as the argument.
| listNode | The first node of the list, or null. |
|
virtual |
Iterates over the given list of ListParseNodes and calls the Accept method of each one with this as the argument.
| listNode | The first node of the list, or null. |
|
overridevirtual |
Visits an ArraySubscriptExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a BinaryExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a CastExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a CompoundStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a ConditionalExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const ArraySubscriptExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const BinaryExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const CastExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const CompoundStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const ConditionalExpression.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a const ConstantLiteralExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const DeclarativeStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a const EmptyExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const EnumDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const Enumerator.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const ExpressionStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const ForStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const FunctionCallExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const FunctionDefinition.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const FunctionPrototype.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const IdentifierExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const IfStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a const IncludeDirective.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const Initializer.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const JumpStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const MemberExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const NamedInitializer.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const NamespaceDefinition.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const NativeBlock.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const Parameter.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const PostfixExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const PropertyofExpression.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a const QualifiedIdentifier.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const StructDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const SwitchLabel.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const SwitchSection.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const SwitchStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a const ThisExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const TranslationUnit.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const TypeDescriptor.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const TypeSpecifier.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const UnaryExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const UsingDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const UsingDirective.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a const WhileStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a ConstantLiteralExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a DeclarativeStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits an EmptyExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an EnumDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an Enumerator.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an ExpressionStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a ForStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a FunctionCallExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a FunctionDefinition.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a FunctionPrototype.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an IdentifierExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an IfStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits an IncludeDirective.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits an Initializer.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a JumpStatement.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a MemberExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a NamedInitializer.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a NamespaceDefinition.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a NativeBlock.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a Parameter.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a PostfixExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a PropertyofExpression.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a QualifiedIdentifier.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a StructDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a SwitchLabel.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a SwitchSection.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a SwitchStatement.
Implements Bond::ParseNodeVisitor.
|
inlineoverridevirtual |
Visits a ThisExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a TranslationUnit.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a TypeDescriptor.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a TypeSpecifier.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a UnaryExpression.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a UsingDeclaration.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a UsingDirective.
Implements Bond::ParseNodeVisitor.
|
overridevirtual |
Visits a WhileStatement.
Implements Bond::ParseNodeVisitor.