Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond::CastVisitor< T > Class Template Reference

#include <bond/compiler/parsenodeutil.h>

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

Public Member Functions

 CastVisitor ()
virtual void Visit (T *node) override
T * GetNode ()
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
Public Member Functions inherited from Bond::ParseNodeVisitorAdapter
virtual ~ParseNodeVisitorAdapter ()
Public Member Functions inherited from Bond::ParseNodeVisitor
virtual ~ParseNodeVisitor ()

Constructor & Destructor Documentation

◆ CastVisitor()

template<typename T>
Bond::CastVisitor< T >::CastVisitor ( )
inline

Member Function Documentation

◆ GetNode()

template<typename T>
T * Bond::CastVisitor< T >::GetNode ( )
inline

◆ Visit() [1/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ArraySubscriptExpression * arraySubscriptExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [2/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( BinaryExpression * binaryExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [3/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( CastExpression * castExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [4/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( CompoundStatement * compoundStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [5/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ConditionalExpression * conditionalExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [6/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ArraySubscriptExpression * arraySubscriptExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [7/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const BinaryExpression * binaryExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [8/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const CastExpression * castExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [9/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const CompoundStatement * compoundStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [10/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ConditionalExpression * conditionalExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [11/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ConstantLiteralExpression * constantExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [12/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const DeclarativeStatement * declarativeStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [13/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const EmptyExpression * emptyExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [14/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const EnumDeclaration * enumDeclaration)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [15/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const Enumerator * enumerator)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [16/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ExpressionStatement * expressionStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [17/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ForStatement * forStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [18/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const FunctionCallExpression * functionCallExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [19/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const FunctionDefinition * functionDefinition)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [20/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const FunctionPrototype * functionPrototype)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [21/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const IdentifierExpression * identifierExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [22/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const IfStatement * ifStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [23/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const IncludeDirective * includeDirective)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [24/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const Initializer * initializer)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [25/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const JumpStatement * jumpStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [26/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const MemberExpression * memberExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [27/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const NamedInitializer * namedInitializer)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [28/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const NamespaceDefinition * namespaceDefinition)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [29/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const NativeBlock * nativeBlock)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [30/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const Parameter * parameter)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [31/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const PostfixExpression * postfixExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [32/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const PropertyofExpression * propertyofExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [33/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const QualifiedIdentifier * identifier)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [34/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const StructDeclaration * structDeclaration)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [35/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const SwitchLabel * switchLabel)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [36/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const SwitchSection * switchSection)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [37/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const SwitchStatement * switchStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [38/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const ThisExpression * thisExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [39/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const TranslationUnit * translationUnit)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [40/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const TypeDescriptor * typeDescriptor)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [41/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const TypeSpecifier * typeSpecifier)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [42/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const UnaryExpression * unaryExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [43/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( const WhileStatement * whileStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [44/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ConstantLiteralExpression * constantExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [45/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( DeclarativeStatement * declarativeStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [46/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( EmptyExpression * emptyExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [47/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( EnumDeclaration * enumDeclaration)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [48/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( Enumerator * enumerator)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [49/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ExpressionStatement * expressionStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [50/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ForStatement * forStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [51/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( FunctionCallExpression * functionCallExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [52/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( FunctionDefinition * functionDefinition)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [53/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( FunctionPrototype * functionPrototype)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [54/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( IdentifierExpression * identifierExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [55/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( IfStatement * ifStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [56/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( IncludeDirective * includeDirective)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [57/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( Initializer * initializer)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [58/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( JumpStatement * jumpStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [59/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( MemberExpression * memberExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [60/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( NamedInitializer * namedInitializer)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [61/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( NamespaceDefinition * namespaceDefinition)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [62/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( NativeBlock * nativeBlock)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [63/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( Parameter * parameter)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [64/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( PostfixExpression * postfixExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [65/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( PropertyofExpression * propertyofExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [66/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( QualifiedIdentifier * identifier)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [67/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( StructDeclaration * structDeclaration)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [68/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( SwitchLabel * switchLabel)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [69/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( SwitchSection * switchSection)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [70/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( SwitchStatement * switchStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [71/77]

template<typename T>
virtual void Bond::CastVisitor< T >::Visit ( T * node)
inlineoverridevirtual

◆ Visit() [72/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( ThisExpression * thisExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [73/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( TranslationUnit * translationUnit)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [74/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( TypeDescriptor * typeDescriptor)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [75/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( TypeSpecifier * typeSpecifier)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [76/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( UnaryExpression * unaryExpression)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.

◆ Visit() [77/77]

template<typename T>
virtual void Bond::ParseNodeVisitor::Visit ( WhileStatement * whileStatement)
virtual

Reimplemented from Bond::ParseNodeVisitorAdapter.


The documentation for this class was generated from the following file:
  • include/bond/compiler/parsenodeutil.h