summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/AST.cpp
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2009-02-09 17:11:23 +0100
committerhjk <qtc-committer@nokia.com>2009-02-09 17:11:23 +0100
commitce22a96041ed7a61b09ea9596f415d30d67e68f1 (patch)
tree3469ec74c2bd7b928354fda9abdb9fe3d33639d8 /src/shared/cplusplus/AST.cpp
parent65638f7cc2c60b9ae8ece542f5e262268ef22577 (diff)
parent17d047ced8966bb377a0937a35ab299f86e654a6 (diff)
downloadqt-creator-ce22a96041ed7a61b09ea9596f415d30d67e68f1.tar.gz
Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
Diffstat (limited to 'src/shared/cplusplus/AST.cpp')
-rw-r--r--src/shared/cplusplus/AST.cpp423
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);
}