diff options
Diffstat (limited to 'src/shared/cplusplus/AST.cpp')
-rw-r--r-- | src/shared/cplusplus/AST.cpp | 423 |
1 files changed, 103 insertions, 320 deletions
diff --git a/src/shared/cplusplus/AST.cpp b/src/shared/cplusplus/AST.cpp index d0ac090099..9ec75bc15a 100644 --- a/src/shared/cplusplus/AST.cpp +++ b/src/shared/cplusplus/AST.cpp @@ -66,324 +66,6 @@ AST::AST() AST::~AST() { assert(0); } -AccessDeclarationAST *AST::asAccessDeclaration() -{ return dynamic_cast<AccessDeclarationAST *>(this); } - -ArrayAccessAST *AST::asArrayAccess() -{ return dynamic_cast<ArrayAccessAST *>(this); } - -ArrayDeclaratorAST *AST::asArrayDeclarator() -{ return dynamic_cast<ArrayDeclaratorAST *>(this); } - -ArrayInitializerAST *AST::asArrayInitializer() -{ return dynamic_cast<ArrayInitializerAST *>(this); } - -AsmDefinitionAST *AST::asAsmDefinition() -{ return dynamic_cast<AsmDefinitionAST *>(this); } - -AttributeAST *AST::asAttribute() -{ return dynamic_cast<AttributeAST *>(this); } - -AttributeSpecifierAST *AST::asAttributeSpecifier() -{ return dynamic_cast<AttributeSpecifierAST *>(this); } - -BaseSpecifierAST *AST::asBaseSpecifier() -{ return dynamic_cast<BaseSpecifierAST *>(this); } - -QtMethodAST *AST::asQtMethod() -{ return dynamic_cast<QtMethodAST *>(this); } - -BinaryExpressionAST *AST::asBinaryExpression() -{ return dynamic_cast<BinaryExpressionAST *>(this); } - -BoolLiteralAST *AST::asBoolLiteral() -{ return dynamic_cast<BoolLiteralAST *>(this); } - -BreakStatementAST *AST::asBreakStatement() -{ return dynamic_cast<BreakStatementAST *>(this); } - -CallAST *AST::asCall() -{ return dynamic_cast<CallAST *>(this); } - -CaseStatementAST *AST::asCaseStatement() -{ return dynamic_cast<CaseStatementAST *>(this); } - -CastExpressionAST *AST::asCastExpression() -{ return dynamic_cast<CastExpressionAST *>(this); } - -CatchClauseAST *AST::asCatchClause() -{ return dynamic_cast<CatchClauseAST *>(this); } - -ClassSpecifierAST *AST::asClassSpecifier() -{ return dynamic_cast<ClassSpecifierAST *>(this); } - -CompoundLiteralAST *AST::asCompoundLiteral() -{ return dynamic_cast<CompoundLiteralAST *>(this); } - -CompoundStatementAST *AST::asCompoundStatement() -{ return dynamic_cast<CompoundStatementAST *>(this); } - -ConditionAST *AST::asCondition() -{ return dynamic_cast<ConditionAST *>(this); } - -ConditionalExpressionAST *AST::asConditionalExpression() -{ return dynamic_cast<ConditionalExpressionAST *>(this); } - -ContinueStatementAST *AST::asContinueStatement() -{ return dynamic_cast<ContinueStatementAST *>(this); } - -ConversionFunctionIdAST *AST::asConversionFunctionId() -{ return dynamic_cast<ConversionFunctionIdAST *>(this); } - -CoreDeclaratorAST *AST::asCoreDeclarator() -{ return dynamic_cast<CoreDeclaratorAST *>(this); } - -CppCastExpressionAST *AST::asCppCastExpression() -{ return dynamic_cast<CppCastExpressionAST *>(this); } - -CtorInitializerAST *AST::asCtorInitializer() -{ return dynamic_cast<CtorInitializerAST *>(this); } - -DeclarationAST *AST::asDeclaration() -{ return dynamic_cast<DeclarationAST *>(this); } - -DeclarationStatementAST *AST::asDeclarationStatement() -{ return dynamic_cast<DeclarationStatementAST *>(this); } - -DeclaratorAST *AST::asDeclarator() -{ return dynamic_cast<DeclaratorAST *>(this); } - -DeclaratorIdAST *AST::asDeclaratorId() -{ return dynamic_cast<DeclaratorIdAST *>(this); } - -DeclaratorListAST *AST::asDeclaratorList() -{ return dynamic_cast<DeclaratorListAST *>(this); } - -DeleteExpressionAST *AST::asDeleteExpression() -{ return dynamic_cast<DeleteExpressionAST *>(this); } - -DestructorNameAST *AST::asDestructorName() -{ return dynamic_cast<DestructorNameAST *>(this); } - -DoStatementAST *AST::asDoStatement() -{ return dynamic_cast<DoStatementAST *>(this); } - -ElaboratedTypeSpecifierAST *AST::asElaboratedTypeSpecifier() -{ return dynamic_cast<ElaboratedTypeSpecifierAST *>(this); } - -EmptyDeclarationAST *AST::asEmptyDeclaration() -{ return dynamic_cast<EmptyDeclarationAST *>(this); } - -EnumSpecifierAST *AST::asEnumSpecifier() -{ return dynamic_cast<EnumSpecifierAST *>(this); } - -EnumeratorAST *AST::asEnumerator() -{ return dynamic_cast<EnumeratorAST *>(this); } - -ExceptionDeclarationAST *AST::asExceptionDeclaration() -{ return dynamic_cast<ExceptionDeclarationAST *>(this); } - -ExceptionSpecificationAST *AST::asExceptionSpecification() -{ return dynamic_cast<ExceptionSpecificationAST *>(this); } - -ExpressionAST *AST::asExpression() -{ return dynamic_cast<ExpressionAST *>(this); } - -ExpressionListAST *AST::asExpressionList() -{ return dynamic_cast<ExpressionListAST *>(this); } - -ExpressionOrDeclarationStatementAST *AST::asExpressionOrDeclarationStatement() -{ return dynamic_cast<ExpressionOrDeclarationStatementAST *>(this); } - -ExpressionStatementAST *AST::asExpressionStatement() -{ return dynamic_cast<ExpressionStatementAST *>(this); } - -ForStatementAST *AST::asForStatement() -{ return dynamic_cast<ForStatementAST *>(this); } - -FunctionDeclaratorAST *AST::asFunctionDeclarator() -{ return dynamic_cast<FunctionDeclaratorAST *>(this); } - -FunctionDefinitionAST *AST::asFunctionDefinition() -{ return dynamic_cast<FunctionDefinitionAST *>(this); } - -GotoStatementAST *AST::asGotoStatement() -{ return dynamic_cast<GotoStatementAST *>(this); } - -IfStatementAST *AST::asIfStatement() -{ return dynamic_cast<IfStatementAST *>(this); } - -LabeledStatementAST *AST::asLabeledStatement() -{ return dynamic_cast<LabeledStatementAST *>(this); } - -LinkageBodyAST *AST::asLinkageBody() -{ return dynamic_cast<LinkageBodyAST *>(this); } - -LinkageSpecificationAST *AST::asLinkageSpecification() -{ return dynamic_cast<LinkageSpecificationAST *>(this); } - -MemInitializerAST *AST::asMemInitializer() -{ return dynamic_cast<MemInitializerAST *>(this); } - -MemberAccessAST *AST::asMemberAccess() -{ return dynamic_cast<MemberAccessAST *>(this); } - -NameAST *AST::asName() -{ return dynamic_cast<NameAST *>(this); } - -NamedTypeSpecifierAST *AST::asNamedTypeSpecifier() -{ return dynamic_cast<NamedTypeSpecifierAST *>(this); } - -NamespaceAST *AST::asNamespace() -{ return dynamic_cast<NamespaceAST *>(this); } - -NamespaceAliasDefinitionAST *AST::asNamespaceAliasDefinition() -{ return dynamic_cast<NamespaceAliasDefinitionAST *>(this); } - -NestedDeclaratorAST *AST::asNestedDeclarator() -{ return dynamic_cast<NestedDeclaratorAST *>(this); } - -NestedExpressionAST *AST::asNestedExpression() -{ return dynamic_cast<NestedExpressionAST *>(this); } - -NestedNameSpecifierAST *AST::asNestedNameSpecifier() -{ return dynamic_cast<NestedNameSpecifierAST *>(this); } - -NewDeclaratorAST *AST::asNewDeclarator() -{ return dynamic_cast<NewDeclaratorAST *>(this); } - -NewExpressionAST *AST::asNewExpression() -{ return dynamic_cast<NewExpressionAST *>(this); } - -NewInitializerAST *AST::asNewInitializer() -{ return dynamic_cast<NewInitializerAST *>(this); } - -NewTypeIdAST *AST::asNewTypeId() -{ return dynamic_cast<NewTypeIdAST *>(this); } - -NumericLiteralAST *AST::asNumericLiteral() -{ return dynamic_cast<NumericLiteralAST *>(this); } - -OperatorAST *AST::asOperator() -{ return dynamic_cast<OperatorAST *>(this); } - -OperatorFunctionIdAST *AST::asOperatorFunctionId() -{ return dynamic_cast<OperatorFunctionIdAST *>(this); } - -ParameterDeclarationAST *AST::asParameterDeclaration() -{ return dynamic_cast<ParameterDeclarationAST *>(this); } - -ParameterDeclarationClauseAST *AST::asParameterDeclarationClause() -{ return dynamic_cast<ParameterDeclarationClauseAST *>(this); } - -PointerAST *AST::asPointer() -{ return dynamic_cast<PointerAST *>(this); } - -PointerToMemberAST *AST::asPointerToMember() -{ return dynamic_cast<PointerToMemberAST *>(this); } - -PostIncrDecrAST *AST::asPostIncrDecr() -{ return dynamic_cast<PostIncrDecrAST *>(this); } - -PostfixAST *AST::asPostfix() -{ return dynamic_cast<PostfixAST *>(this); } - -PostfixDeclaratorAST *AST::asPostfixDeclarator() -{ return dynamic_cast<PostfixDeclaratorAST *>(this); } - -PostfixExpressionAST *AST::asPostfixExpression() -{ return dynamic_cast<PostfixExpressionAST *>(this); } - -PtrOperatorAST *AST::asPtrOperator() -{ return dynamic_cast<PtrOperatorAST *>(this); } - -QualifiedNameAST *AST::asQualifiedName() -{ return dynamic_cast<QualifiedNameAST *>(this); } - -ReferenceAST *AST::asReference() -{ return dynamic_cast<ReferenceAST *>(this); } - -ReturnStatementAST *AST::asReturnStatement() -{ return dynamic_cast<ReturnStatementAST *>(this); } - -SimpleDeclarationAST *AST::asSimpleDeclaration() -{ return dynamic_cast<SimpleDeclarationAST *>(this); } - -SimpleNameAST *AST::asSimpleName() -{ return dynamic_cast<SimpleNameAST *>(this); } - -SimpleSpecifierAST *AST::asSimpleSpecifier() -{ return dynamic_cast<SimpleSpecifierAST *>(this); } - -SizeofExpressionAST *AST::asSizeofExpression() -{ return dynamic_cast<SizeofExpressionAST *>(this); } - -SpecifierAST *AST::asSpecifier() -{ return dynamic_cast<SpecifierAST *>(this); } - -StatementAST *AST::asStatement() -{ return dynamic_cast<StatementAST *>(this); } - -StringLiteralAST *AST::asStringLiteral() -{ return dynamic_cast<StringLiteralAST *>(this); } - -SwitchStatementAST *AST::asSwitchStatement() -{ return dynamic_cast<SwitchStatementAST *>(this); } - -TemplateArgumentListAST *AST::asTemplateArgumentList() -{ return dynamic_cast<TemplateArgumentListAST *>(this); } - -TemplateDeclarationAST *AST::asTemplateDeclaration() -{ return dynamic_cast<TemplateDeclarationAST *>(this); } - -TemplateIdAST *AST::asTemplateId() -{ return dynamic_cast<TemplateIdAST *>(this); } - -TemplateTypeParameterAST *AST::asTemplateTypeParameter() -{ return dynamic_cast<TemplateTypeParameterAST *>(this); } - -ThisExpressionAST *AST::asThisExpression() -{ return dynamic_cast<ThisExpressionAST *>(this); } - -ThrowExpressionAST *AST::asThrowExpression() -{ return dynamic_cast<ThrowExpressionAST *>(this); } - -TranslationUnitAST *AST::asTranslationUnit() -{ return dynamic_cast<TranslationUnitAST *>(this); } - -TryBlockStatementAST *AST::asTryBlockStatement() -{ return dynamic_cast<TryBlockStatementAST *>(this); } - -TypeConstructorCallAST *AST::asTypeConstructorCall() -{ return dynamic_cast<TypeConstructorCallAST *>(this); } - -TypeIdAST *AST::asTypeId() -{ return dynamic_cast<TypeIdAST *>(this); } - -TypeidExpressionAST *AST::asTypeidExpression() -{ return dynamic_cast<TypeidExpressionAST *>(this); } - -TypenameCallExpressionAST *AST::asTypenameCallExpression() -{ return dynamic_cast<TypenameCallExpressionAST *>(this); } - -TypenameTypeParameterAST *AST::asTypenameTypeParameter() -{ return dynamic_cast<TypenameTypeParameterAST *>(this); } - -TypeofSpecifierAST *AST::asTypeofSpecifier() -{ return dynamic_cast<TypeofSpecifierAST *>(this); } - -UnaryExpressionAST *AST::asUnaryExpression() -{ return dynamic_cast<UnaryExpressionAST *>(this); } - -UsingAST *AST::asUsing() -{ return dynamic_cast<UsingAST *>(this); } - -UsingDirectiveAST *AST::asUsingDirective() -{ return dynamic_cast<UsingDirectiveAST *>(this); } - -WhileStatementAST *AST::asWhileStatement() -{ return dynamic_cast<WhileStatementAST *>(this); } - void AST::accept(ASTVisitor *visitor) { if (visitor->preVisit(this)) @@ -430,6 +112,7 @@ void AttributeSpecifierAST::accept0(ASTVisitor *visitor) for (AttributeAST *attr = attributes; attr; attr = attr->next) accept(attr, visitor); } + visitor->endVisit(this); } unsigned AttributeAST::firstToken() const @@ -478,6 +161,7 @@ void AttributeAST::accept0(ASTVisitor *visitor) for (ExpressionListAST *it = expression_list; it; it = it->next) accept(it->expression, visitor); } + visitor->endVisit(this); } AccessDeclarationAST *AccessDeclarationAST::clone(MemoryPool *pool) const @@ -493,6 +177,7 @@ void AccessDeclarationAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned AccessDeclarationAST::firstToken() const @@ -524,6 +209,7 @@ void ArrayAccessAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned ArrayAccessAST::firstToken() const @@ -555,6 +241,7 @@ void ArrayDeclaratorAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(this->expression, visitor); } + visitor->endVisit(this); } unsigned ArrayDeclaratorAST::firstToken() const @@ -587,6 +274,7 @@ void ArrayInitializerAST::accept0(ASTVisitor *visitor) for (ExpressionListAST *expr = expression_list; expr; expr = expr->next) accept(expr->expression, visitor); } + visitor->endVisit(this); } unsigned ArrayInitializerAST::firstToken() const @@ -623,6 +311,7 @@ void AsmDefinitionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { // ### accept the asm operand list. } + visitor->endVisit(this); } unsigned AsmDefinitionAST::firstToken() const @@ -660,6 +349,7 @@ void BaseSpecifierAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned BaseSpecifierAST::firstToken() const @@ -713,6 +403,7 @@ void QtMethodAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(declarator, visitor); } + visitor->endVisit(this); } BinaryExpressionAST *BinaryExpressionAST::clone(MemoryPool *pool) const @@ -732,6 +423,7 @@ void BinaryExpressionAST::accept0(ASTVisitor *visitor) accept(left_expression, visitor); accept(right_expression, visitor); } + visitor->endVisit(this); } unsigned BinaryExpressionAST::firstToken() const @@ -759,6 +451,7 @@ void BoolLiteralAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned BoolLiteralAST::firstToken() const @@ -789,6 +482,7 @@ void CompoundLiteralAST::accept0(ASTVisitor *visitor) accept(type_id, visitor); accept(initializer, visitor); } + visitor->endVisit(this); } unsigned CompoundLiteralAST::firstToken() const @@ -819,6 +513,7 @@ void BreakStatementAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned BreakStatementAST::firstToken() const @@ -850,6 +545,7 @@ void CallAST::accept0(ASTVisitor *visitor) expr; expr = expr->next) accept(expr->expression, visitor); } + visitor->endVisit(this); } unsigned CallAST::firstToken() const @@ -884,6 +580,7 @@ void CaseStatementAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned CaseStatementAST::firstToken() const @@ -918,6 +615,7 @@ void CastExpressionAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned CastExpressionAST::firstToken() const @@ -957,6 +655,7 @@ void CatchClauseAST::accept0(ASTVisitor *visitor) accept(exception_declaration, visitor); accept(statement, visitor); } + visitor->endVisit(this); } unsigned CatchClauseAST::firstToken() const @@ -1009,6 +708,7 @@ void ClassSpecifierAST::accept0(ASTVisitor *visitor) for (DeclarationAST *decl = member_specifiers; decl; decl = decl->next) accept(decl, visitor); } + visitor->endVisit(this); } unsigned ClassSpecifierAST::firstToken() const @@ -1064,6 +764,7 @@ void CompoundStatementAST::accept0(ASTVisitor *visitor) for (StatementAST *stmt = statements; stmt; stmt = stmt->next) accept(stmt, visitor); } + visitor->endVisit(this); } unsigned CompoundStatementAST::firstToken() const @@ -1101,6 +802,7 @@ void ConditionAST::accept0(ASTVisitor *visitor) accept(spec, visitor); accept(declarator, visitor); } + visitor->endVisit(this); } unsigned ConditionAST::firstToken() const @@ -1146,6 +848,7 @@ void ConditionalExpressionAST::accept0(ASTVisitor *visitor) accept(left_expression, visitor); accept(right_expression, visitor); } + visitor->endVisit(this); } unsigned ConditionalExpressionAST::firstToken() const @@ -1181,6 +884,7 @@ void ContinueStatementAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned ContinueStatementAST::firstToken() const @@ -1215,6 +919,7 @@ void ConversionFunctionIdAST::accept0(ASTVisitor *visitor) ptr_op = static_cast<PtrOperatorAST *>(ptr_op->next)) accept(ptr_op, visitor); } + visitor->endVisit(this); } unsigned ConversionFunctionIdAST::firstToken() const @@ -1258,6 +963,7 @@ void CppCastExpressionAST::accept0(ASTVisitor *visitor) accept(type_id, visitor); accept(expression, visitor); } + visitor->endVisit(this); } unsigned CppCastExpressionAST::firstToken() const @@ -1298,6 +1004,7 @@ void CtorInitializerAST::accept0(ASTVisitor *visitor) mem_init; mem_init = mem_init->next) accept(mem_init, visitor); } + visitor->endVisit(this); } unsigned CtorInitializerAST::firstToken() const @@ -1343,6 +1050,7 @@ void DeclaratorAST::accept0(ASTVisitor *visitor) accept(attributes, visitor); accept(initializer, visitor); } + visitor->endVisit(this); } unsigned DeclaratorAST::firstToken() const @@ -1401,6 +1109,7 @@ void DeclarationStatementAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(declaration, visitor); } + visitor->endVisit(this); } unsigned DeclarationStatementAST::firstToken() const @@ -1426,6 +1135,7 @@ void DeclaratorIdAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned DeclaratorIdAST::firstToken() const @@ -1454,6 +1164,7 @@ void DeclaratorListAST::accept0(ASTVisitor *visitor) for (DeclaratorListAST *it = this; it; it = it->next) accept(it->declarator, visitor); } + visitor->endVisit(this); } unsigned DeclaratorListAST::firstToken() const @@ -1487,6 +1198,7 @@ void DeleteExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned DeleteExpressionAST::firstToken() const @@ -1521,6 +1233,7 @@ void DestructorNameAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned DestructorNameAST::firstToken() const @@ -1556,6 +1269,7 @@ void DoStatementAST::accept0(ASTVisitor *visitor) accept(statement, visitor); accept(expression, visitor); } + visitor->endVisit(this); } unsigned DoStatementAST::firstToken() const @@ -1594,6 +1308,7 @@ void ElaboratedTypeSpecifierAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned ElaboratedTypeSpecifierAST::firstToken() const @@ -1619,6 +1334,7 @@ void EmptyDeclarationAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned EmptyDeclarationAST::firstToken() const @@ -1652,6 +1368,7 @@ void EnumSpecifierAST::accept0(ASTVisitor *visitor) enumerator = enumerator->next) accept(enumerator, visitor); } + visitor->endVisit(this); } unsigned EnumSpecifierAST::firstToken() const @@ -1694,6 +1411,7 @@ void EnumeratorAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned EnumeratorAST::firstToken() const @@ -1728,6 +1446,7 @@ void ExceptionDeclarationAST::accept0(ASTVisitor *visitor) accept(spec, visitor); accept(declarator, visitor); } + visitor->endVisit(this); } unsigned ExceptionDeclarationAST::firstToken() const @@ -1771,6 +1490,7 @@ void ExceptionSpecificationAST::accept0(ASTVisitor *visitor) type_id = type_id->next) accept(type_id->expression, visitor); } + visitor->endVisit(this); } unsigned ExceptionSpecificationAST::firstToken() const @@ -1808,9 +1528,12 @@ ExpressionListAST *ExpressionListAST::clone(MemoryPool *pool) const void ExpressionListAST::accept0(ASTVisitor *visitor) { - for (const ExpressionListAST *it = this; it; it = it->next) { - accept(it->expression, visitor); + if (visitor->visit(this)) { + for (const ExpressionListAST *it = this; it; it = it->next) { + accept(it->expression, visitor); + } } + visitor->endVisit(this); } unsigned ExpressionListAST::firstToken() const @@ -1843,6 +1566,7 @@ void ExpressionOrDeclarationStatementAST::accept0(ASTVisitor *visitor) accept(declaration, visitor); accept(expression, visitor); } + visitor->endVisit(this); } unsigned ExpressionOrDeclarationStatementAST::firstToken() const @@ -1869,6 +1593,7 @@ void ExpressionStatementAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned ExpressionStatementAST::firstToken() const @@ -1914,6 +1639,7 @@ void ForStatementAST::accept0(ASTVisitor *visitor) accept(expression, visitor); accept(statement, visitor); } + visitor->endVisit(this); } unsigned ForStatementAST::firstToken() const @@ -1959,6 +1685,7 @@ void FunctionDeclaratorAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned FunctionDeclaratorAST::firstToken() const @@ -2008,6 +1735,7 @@ void FunctionDefinitionAST::accept0(ASTVisitor *visitor) accept(ctor_initializer, visitor); accept(function_body, visitor); } + visitor->endVisit(this); } unsigned FunctionDefinitionAST::firstToken() const @@ -2052,6 +1780,7 @@ void GotoStatementAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned GotoStatementAST::firstToken() const @@ -2093,6 +1822,7 @@ void IfStatementAST::accept0(ASTVisitor *visitor) accept(statement, visitor); accept(else_statement, visitor); } + visitor->endVisit(this); } unsigned IfStatementAST::firstToken() const @@ -2132,6 +1862,7 @@ void LabeledStatementAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(statement, visitor); } + visitor->endVisit(this); } unsigned LabeledStatementAST::firstToken() const @@ -2165,6 +1896,7 @@ void LinkageBodyAST::accept0(ASTVisitor *visitor) decl = decl->next) accept(decl, visitor); } + visitor->endVisit(this); } unsigned LinkageBodyAST::firstToken() const @@ -2200,6 +1932,7 @@ void LinkageSpecificationAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(declaration, visitor); } + visitor->endVisit(this); } unsigned LinkageSpecificationAST::firstToken() const @@ -2235,6 +1968,7 @@ void MemInitializerAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned MemInitializerAST::firstToken() const @@ -2268,6 +2002,7 @@ void MemberAccessAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(member_name, visitor); } + visitor->endVisit(this); } unsigned MemberAccessAST::firstToken() const @@ -2297,6 +2032,7 @@ void NamedTypeSpecifierAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned NamedTypeSpecifierAST::firstToken() const @@ -2329,6 +2065,7 @@ void NamespaceAST::accept0(ASTVisitor *visitor) } accept(linkage_body, visitor); } + visitor->endVisit(this); } unsigned NamespaceAST::firstToken() const @@ -2369,6 +2106,7 @@ void NamespaceAliasDefinitionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned NamespaceAliasDefinitionAST::firstToken() const @@ -2404,6 +2142,7 @@ void NestedDeclaratorAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(declarator, visitor); } + visitor->endVisit(this); } unsigned NestedDeclaratorAST::firstToken() const @@ -2435,6 +2174,7 @@ void NestedExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned NestedExpressionAST::firstToken() const @@ -2468,6 +2208,7 @@ void NestedNameSpecifierAST::accept0(ASTVisitor *visitor) accept(class_or_namespace_name, visitor); accept(next, visitor); // ### I'm not 100% sure about this. } + visitor->endVisit(this); } unsigned NestedNameSpecifierAST::firstToken() const @@ -2502,6 +2243,7 @@ void NewDeclaratorAST::accept0(ASTVisitor *visitor) accept(declarator, visitor); } + visitor->endVisit(this); } unsigned NewDeclaratorAST::firstToken() const @@ -2546,6 +2288,7 @@ void NewExpressionAST::accept0(ASTVisitor *visitor) accept(new_type_id, visitor); accept(new_initializer, visitor); } + visitor->endVisit(this); } unsigned NewExpressionAST::firstToken() const @@ -2588,6 +2331,7 @@ void NewInitializerAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned NewInitializerAST::firstToken() const @@ -2634,6 +2378,7 @@ void NewTypeIdAST::accept0(ASTVisitor *visitor) accept(new_initializer, visitor); accept(new_declarator, visitor); } + visitor->endVisit(this); } unsigned NewTypeIdAST::firstToken() const @@ -2667,6 +2412,7 @@ void NumericLiteralAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned NumericLiteralAST::firstToken() const @@ -2692,6 +2438,7 @@ void OperatorAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned OperatorAST::firstToken() const @@ -2722,6 +2469,7 @@ void OperatorFunctionIdAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(op, visitor); } + visitor->endVisit(this); } unsigned OperatorFunctionIdAST::firstToken() const @@ -2757,6 +2505,7 @@ void ParameterDeclarationAST::accept0(ASTVisitor *visitor) accept(declarator, visitor); accept(expression, visitor); } + visitor->endVisit(this); } unsigned ParameterDeclarationAST::firstToken() const @@ -2796,6 +2545,7 @@ void ParameterDeclarationClauseAST::accept0(ASTVisitor *visitor) param = param->next) accept(param, visitor); } + visitor->endVisit(this); } unsigned ParameterDeclarationClauseAST::firstToken() const @@ -2828,6 +2578,7 @@ void PointerAST::accept0(ASTVisitor *visitor) spec = spec->next) accept(spec, visitor); } + visitor->endVisit(this); } unsigned PointerAST::firstToken() const @@ -2864,6 +2615,7 @@ void PointerToMemberAST::accept0(ASTVisitor *visitor) spec = spec->next) accept(spec, visitor); } + visitor->endVisit(this); } unsigned PointerToMemberAST::firstToken() const @@ -2907,6 +2659,7 @@ void PostIncrDecrAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned PostIncrDecrAST::firstToken() const @@ -2936,6 +2689,7 @@ void PostfixExpressionAST::accept0(ASTVisitor *visitor) for (PostfixAST *fx = postfix_expressions; fx; fx = fx->next) accept(fx, visitor); } + visitor->endVisit(this); } unsigned PostfixExpressionAST::firstToken() const @@ -2969,6 +2723,7 @@ void QualifiedNameAST::accept0(ASTVisitor *visitor) accept(nested_name_specifier, visitor); accept(unqualified_name, visitor); } + visitor->endVisit(this); } unsigned QualifiedNameAST::firstToken() const @@ -3007,6 +2762,7 @@ void ReferenceAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned ReferenceAST::firstToken() const @@ -3034,6 +2790,7 @@ void ReturnStatementAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned ReturnStatementAST::firstToken() const @@ -3069,6 +2826,7 @@ void SimpleDeclarationAST::accept0(ASTVisitor *visitor) accept(spec, visitor); accept(declarators, visitor); } + visitor->endVisit(this); } unsigned SimpleDeclarationAST::firstToken() const @@ -3109,6 +2867,7 @@ void SimpleNameAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned SimpleNameAST::firstToken() const @@ -3125,6 +2884,7 @@ void SimpleSpecifierAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } SimpleSpecifierAST *SimpleSpecifierAST::clone(MemoryPool *pool) const @@ -3162,6 +2922,7 @@ void TypeofSpecifierAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned TypeofSpecifierAST::firstToken() const @@ -3190,6 +2951,7 @@ void SizeofExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned SizeofExpressionAST::firstToken() const @@ -3218,6 +2980,7 @@ void StringLiteralAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(next, visitor); } + visitor->endVisit(this); } unsigned StringLiteralAST::firstToken() const @@ -3251,6 +3014,7 @@ void SwitchStatementAST::accept0(ASTVisitor *visitor) accept(condition, visitor); accept(statement, visitor); } + visitor->endVisit(this); } unsigned SwitchStatementAST::firstToken() const @@ -3287,6 +3051,7 @@ void TemplateArgumentListAST::accept0(ASTVisitor *visitor) accept(template_argument, visitor); accept(next, visitor); } + visitor->endVisit(this); } unsigned TemplateArgumentListAST::firstToken() const @@ -3325,6 +3090,7 @@ void TemplateDeclarationAST::accept0(ASTVisitor *visitor) accept(param, visitor); accept(declaration, visitor); } + visitor->endVisit(this); } unsigned TemplateDeclarationAST::firstToken() const @@ -3374,6 +3140,7 @@ void TemplateIdAST::accept0(ASTVisitor *visitor) accept(it, visitor); } } + visitor->endVisit(this); } unsigned TemplateIdAST::firstToken() const @@ -3418,6 +3185,7 @@ void TemplateTypeParameterAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned TemplateTypeParameterAST::firstToken() const @@ -3460,6 +3228,7 @@ void ThisExpressionAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned ThisExpressionAST::firstToken() const @@ -3486,6 +3255,7 @@ void ThrowExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned ThrowExpressionAST::firstToken() const @@ -3515,6 +3285,7 @@ void TranslationUnitAST::accept0(ASTVisitor *visitor) decl = decl->next) accept(decl, visitor); } + visitor->endVisit(this); } unsigned TranslationUnitAST::firstToken() const @@ -3548,6 +3319,7 @@ void TryBlockStatementAST::accept0(ASTVisitor *visitor) accept(statement, visitor); accept(catch_clause_seq, visitor); } + visitor->endVisit(this); } unsigned TryBlockStatementAST::firstToken() const @@ -3589,6 +3361,7 @@ void TypeConstructorCallAST::accept0(ASTVisitor *visitor) expr = expr->next) accept(expr->expression, visitor); } + visitor->endVisit(this); } unsigned TypeConstructorCallAST::firstToken() const @@ -3625,6 +3398,7 @@ void TypeIdAST::accept0(ASTVisitor *visitor) accept(spec, visitor); accept(declarator, visitor); } + visitor->endVisit(this); } unsigned TypeIdAST::firstToken() const @@ -3661,6 +3435,7 @@ void TypeidExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned TypeidExpressionAST::firstToken() const @@ -3701,6 +3476,7 @@ void TypenameCallExpressionAST::accept0(ASTVisitor *visitor) expr = expr->next) accept(expr->expression, visitor); } + visitor->endVisit(this); } unsigned TypenameCallExpressionAST::firstToken() const @@ -3744,6 +3520,7 @@ void TypenameTypeParameterAST::accept0(ASTVisitor *visitor) accept(name, visitor); accept(type_id, visitor); } + visitor->endVisit(this); } unsigned TypenameTypeParameterAST::firstToken() const @@ -3776,6 +3553,7 @@ void UnaryExpressionAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(expression, visitor); } + visitor->endVisit(this); } unsigned UnaryExpressionAST::firstToken() const @@ -3806,6 +3584,7 @@ void UsingAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned UsingAST::firstToken() const @@ -3840,6 +3619,7 @@ void UsingDirectiveAST::accept0(ASTVisitor *visitor) if (visitor->visit(this)) { accept(name, visitor); } + visitor->endVisit(this); } unsigned UsingDirectiveAST::firstToken() const @@ -3877,6 +3657,7 @@ void WhileStatementAST::accept0(ASTVisitor *visitor) accept(condition, visitor); accept(statement, visitor); } + visitor->endVisit(this); } unsigned WhileStatementAST::firstToken() const @@ -3927,6 +3708,7 @@ void IdentifierListAST::accept0(ASTVisitor *visitor) { if (visitor->visit(this)) { } + visitor->endVisit(this); } unsigned ObjCClassDeclarationAST::firstToken() const @@ -3973,6 +3755,7 @@ void ObjCClassDeclarationAST::accept0(ASTVisitor *visitor) accept(it, visitor); } } + visitor->endVisit(this); } |