123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #pragma once
- #include "BfAst.h"
- NS_BF_BEGIN
- class BfElementVisitor : public BfStructuralVisitor
- {
- public:
- BfElementVisitor();
- virtual void Visit(BfAstNode* bfAstNode) {}
- virtual void Visit(BfErrorNode* bfErrorNode);
- virtual void Visit(BfScopeNode* scopeNode);
- virtual void Visit(BfNewNode* newNode);
- virtual void Visit(BfLabeledBlock* labeledBlock);
- virtual void Visit(BfExpression* expr);
- virtual void Visit(BfExpressionStatement* exprStmt);
- virtual void Visit(BfNamedExpression* namedExpr);
- virtual void Visit(BfAttributedExpression* attribExpr);
- virtual void Visit(BfStatement* stmt);
- virtual void Visit(BfAttributedStatement* attribStmt);
- virtual void Visit(BfLabelableStatement* labelableStmt);
- virtual void Visit(BfTypedValueExpression* typedValueExpr);
- virtual void Visit(BfCommentNode* commentNode);
- virtual void Visit(BfPreprocesorIgnoredSectionNode* preprocesorIgnoredSection);
- virtual void Visit(BfPreprocessorNode* preprocessorNode);
- virtual void Visit(BfPreprocessorDefinedExpression* definedExpr);
- virtual void Visit(BfAttributeDirective* attributeDirective);
- virtual void Visit(BfGenericParamsDeclaration* genericParams);
- virtual void Visit(BfGenericOperatorConstraint* genericConstraints);
- virtual void Visit(BfGenericConstraintsDeclaration* genericConstraints);
- virtual void Visit(BfGenericArgumentsNode* genericArgumentsNode);
- virtual void Visit(BfCtorExplicitNode* genericArgumentsNode);
- virtual void Visit(BfEmptyStatement* emptyStmt);
- virtual void Visit(BfTokenNode* tokenNode);
- virtual void Visit(BfTokenPairNode* tokenPairNode);
- virtual void Visit(BfUsingSpecifierNode* usingSpecifier);
- virtual void Visit(BfLiteralExpression* literalExpr);
- virtual void Visit(BfStringInterpolationExpression* stringInterpolationExpression);
- virtual void Visit(BfIdentifierNode* identifierNode);
- virtual void Visit(BfAttributedIdentifierNode* attrIdentifierNode);
- virtual void Visit(BfQualifiedNameNode* nameNode);
- virtual void Visit(BfThisExpression* thisExpr);
- virtual void Visit(BfBaseExpression* baseExpr);
- virtual void Visit(BfMixinExpression* thisExpr);
- virtual void Visit(BfSizedArrayCreateExpression* createExpr);
- virtual void Visit(BfInitializerExpression* initExpr);
- virtual void Visit(BfCollectionInitializerExpression* collectionInitExpr);
- virtual void Visit(BfTypeReference* typeRef);
- virtual void Visit(BfInlineTypeReference* typeRef);
- virtual void Visit(BfNamedTypeReference* typeRef);
- virtual void Visit(BfQualifiedTypeReference* qualifiedType);
- virtual void Visit(BfDotTypeReference* typeRef);
- virtual void Visit(BfVarTypeReference* typeRef);
- virtual void Visit(BfVarRefTypeReference* typeRef);
- virtual void Visit(BfLetTypeReference* typeRef);
- virtual void Visit(BfConstTypeRef* typeRef);
- virtual void Visit(BfConstExprTypeRef* typeRef);
- virtual void Visit(BfRefTypeRef* typeRef);
- virtual void Visit(BfModifiedTypeRef* typeRef);
- virtual void Visit(BfArrayTypeRef* typeRef);
- virtual void Visit(BfGenericInstanceTypeRef* typeRef);
- virtual void Visit(BfTupleTypeRef* typeRef);
- virtual void Visit(BfTagTypeRef* typeRef);
- virtual void Visit(BfExprModTypeRef* typeRef);
- virtual void Visit(BfDelegateTypeRef* typeRef);
- virtual void Visit(BfPointerTypeRef* typeRef);
- virtual void Visit(BfNullableTypeRef* typeRef);
- virtual void Visit(BfVariableDeclaration* varDecl);
- virtual void Visit(BfLocalMethodDeclaration* methodDecl);
- virtual void Visit(BfParameterDeclaration* paramDecl);
- virtual void Visit(BfTypeAttrExpression* typeAttrExpr);
- virtual void Visit(BfOffsetOfExpression* offsetOfExpr);
- virtual void Visit(BfNameOfExpression* nameOfExpr);
- virtual void Visit(BfDefaultExpression* defaultExpr);
- virtual void Visit(BfIsConstExpression* isConstExpr);
- virtual void Visit(BfUninitializedExpression* uninitializedExpr);
- virtual void Visit(BfCheckTypeExpression* checkTypeExpr);
- virtual void Visit(BfDynamicCastExpression* dynCastExpr);
- virtual void Visit(BfCastExpression* castExpr);
- virtual void Visit(BfDelegateBindExpression* delegateBindExpr);
- virtual void Visit(BfLambdaBindExpression* lambdaBindExpr);
- virtual void Visit(BfObjectCreateExpression* objCreateExpr);
- virtual void Visit(BfBoxExpression* boxExpr);
- virtual void Visit(BfScopedInvocationTarget* scopedTarget);
- virtual void Visit(BfInvocationExpression* invocationExpr);
- virtual void Visit(BfDeferStatement* deferStmt);
- virtual void Visit(BfEnumCaseBindExpression* caseBindExpr);
- virtual void Visit(BfCaseExpression* caseExpr);
- virtual void Visit(BfSwitchCase* switchCase);
- virtual void Visit(BfWhenExpression* whenExpr);
- virtual void Visit(BfSwitchStatement* switchStmt);
- virtual void Visit(BfTryStatement* tryStmt);
- virtual void Visit(BfCatchStatement* catchStmt);
- virtual void Visit(BfFinallyStatement* finallyStmt);
- virtual void Visit(BfCheckedStatement* checkedStmt);
- virtual void Visit(BfUncheckedStatement* uncheckedStmt);
- virtual void Visit(BfIfStatement* ifStmt);
- virtual void Visit(BfThrowStatement* throwStmt);
- virtual void Visit(BfDeleteStatement* deleteStmt);
- virtual void Visit(BfReturnStatement* returnStmt);
- virtual void Visit(BfYieldStatement* returnStmt);
- virtual void Visit(BfBreakStatement* breakStmt);
- virtual void Visit(BfContinueStatement* continueStmt);
- virtual void Visit(BfFallthroughStatement* fallthroughStmt);
- virtual void Visit(BfUsingStatement* whileStmt);
- virtual void Visit(BfDoStatement* whileStmt);
- virtual void Visit(BfRepeatStatement* repeatStmt);
- virtual void Visit(BfWhileStatement* whileStmt);
- virtual void Visit(BfForStatement* forStmt);
- virtual void Visit(BfForEachStatement* forEachStmt);
- virtual void Visit(BfConditionalExpression* condExpr);
- virtual void Visit(BfAssignmentExpression* assignExpr);
- virtual void Visit(BfParenthesizedExpression* parenExpr);
- virtual void Visit(BfTupleExpression* parenExpr);
- virtual void Visit(BfMemberReferenceExpression* memberRefExpr);
- virtual void Visit(BfIndexerExpression* indexerExpr);
- virtual void Visit(BfUnaryOperatorExpression* binOpExpr);
- virtual void Visit(BfBinaryOperatorExpression* binOpExpr);
- virtual void Visit(BfConstructorDeclaration* ctorDeclaration);
- virtual void Visit(BfAutoConstructorDeclaration* ctorDeclaration);
- virtual void Visit(BfDestructorDeclaration* dtorDeclaration);
- virtual void Visit(BfMethodDeclaration* methodDeclaration);
- virtual void Visit(BfOperatorDeclaration* operatorDeclaration);
- virtual void Visit(BfPropertyMethodDeclaration* propertyDeclaration);
- virtual void Visit(BfPropertyBodyExpression* propertyBodyExpression);
- virtual void Visit(BfPropertyDeclaration* propertyDeclaration);
- virtual void Visit(BfIndexerDeclaration* indexerDeclaration);
- virtual void Visit(BfFieldDeclaration* fieldDeclaration);
- virtual void Visit(BfEnumCaseDeclaration* enumCaseDeclaration);
- virtual void Visit(BfFieldDtorDeclaration* fieldDtorDeclaration);
- virtual void Visit(BfTypeDeclaration* typeDeclaration);
- virtual void Visit(BfTypeAliasDeclaration* typeDeclaration);
- virtual void Visit(BfUsingDirective* usingDirective);
- virtual void Visit(BfUsingModDirective* usingDirective);
- virtual void Visit(BfNamespaceDeclaration* namespaceDeclaration);
- virtual void Visit(BfBlock* block);
- virtual void Visit(BfRootNode* rootNode);
- virtual void Visit(BfInlineAsmStatement* asmStmt);
- virtual void Visit(BfInlineAsmInstruction* asmInst);
- };
- NS_BF_END
|