/************************************************************************** ** ** This file is part of Qt Creator ** ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). ** ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** No Commercial Usage ** ** This file contains pre-release code and may not be distributed. ** You may use this file in accordance with the terms and conditions ** contained in the Technology Preview License Agreement accompanying ** this package. ** ** GNU Lesser General Public License Usage ** ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional ** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** If you have questions regarding the use of this file, please contact ** Nokia at qt-info@nokia.com. ** **************************************************************************/ // // W A R N I N G // ------------- // // This file is automatically generated. // Changes will be lost. // #ifndef CPLUSPLUS_AST_PATTERN_BUILDER_H #define CPLUSPLUS_AST_PATTERN_BUILDER_H #include "CPlusPlusForwardDeclarations.h" #include "AST.h" #include "MemoryPool.h" namespace CPlusPlus { class CPLUSPLUS_EXPORT ASTPatternBuilder { MemoryPool pool; public: ASTPatternBuilder() {} void reset() { pool.reset(); } ObjCSelectorArgumentAST *ObjCSelectorArgument() { ObjCSelectorArgumentAST *__ast = new (&pool) ObjCSelectorArgumentAST; return __ast; } ObjCSelectorAST *ObjCSelector(ObjCSelectorArgumentListAST *selector_argument_list = 0) { ObjCSelectorAST *__ast = new (&pool) ObjCSelectorAST; __ast->selector_argument_list = selector_argument_list; return __ast; } SimpleSpecifierAST *SimpleSpecifier() { SimpleSpecifierAST *__ast = new (&pool) SimpleSpecifierAST; return __ast; } AttributeSpecifierAST *AttributeSpecifier(AttributeListAST *attribute_list = 0) { AttributeSpecifierAST *__ast = new (&pool) AttributeSpecifierAST; __ast->attribute_list = attribute_list; return __ast; } AttributeAST *Attribute(ExpressionListAST *expression_list = 0) { AttributeAST *__ast = new (&pool) AttributeAST; __ast->expression_list = expression_list; return __ast; } TypeofSpecifierAST *TypeofSpecifier(ExpressionAST *expression = 0) { TypeofSpecifierAST *__ast = new (&pool) TypeofSpecifierAST; __ast->expression = expression; return __ast; } DeclaratorAST *Declarator(SpecifierListAST *attribute_list = 0, PtrOperatorListAST *ptr_operator_list = 0, CoreDeclaratorAST *core_declarator = 0, PostfixDeclaratorListAST *postfix_declarator_list = 0, SpecifierListAST *post_attribute_list = 0, ExpressionAST *initializer = 0) { DeclaratorAST *__ast = new (&pool) DeclaratorAST; __ast->attribute_list = attribute_list; __ast->ptr_operator_list = ptr_operator_list; __ast->core_declarator = core_declarator; __ast->postfix_declarator_list = postfix_declarator_list; __ast->post_attribute_list = post_attribute_list; __ast->initializer = initializer; return __ast; } SimpleDeclarationAST *SimpleDeclaration(SpecifierListAST *decl_specifier_list = 0, DeclaratorListAST *declarator_list = 0) { SimpleDeclarationAST *__ast = new (&pool) SimpleDeclarationAST; __ast->decl_specifier_list = decl_specifier_list; __ast->declarator_list = declarator_list; return __ast; } EmptyDeclarationAST *EmptyDeclaration() { EmptyDeclarationAST *__ast = new (&pool) EmptyDeclarationAST; return __ast; } AccessDeclarationAST *AccessDeclaration() { AccessDeclarationAST *__ast = new (&pool) AccessDeclarationAST; return __ast; } QtObjectTagAST *QtObjectTag() { QtObjectTagAST *__ast = new (&pool) QtObjectTagAST; return __ast; } QtPrivateSlotAST *QtPrivateSlot(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0) { QtPrivateSlotAST *__ast = new (&pool) QtPrivateSlotAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; return __ast; } QtPropertyDeclarationItemAST *QtPropertyDeclarationItem(ExpressionAST *expression = 0) { QtPropertyDeclarationItemAST *__ast = new (&pool) QtPropertyDeclarationItemAST; __ast->expression = expression; return __ast; } QtPropertyDeclarationAST *QtPropertyDeclaration(ExpressionAST *expression = 0, ExpressionAST *type_id = 0, NameAST *property_name = 0, QtPropertyDeclarationItemListAST *property_declaration_item_list = 0) { QtPropertyDeclarationAST *__ast = new (&pool) QtPropertyDeclarationAST; __ast->expression = expression; __ast->type_id = type_id; __ast->property_name = property_name; __ast->property_declaration_item_list = property_declaration_item_list; return __ast; } QtEnumDeclarationAST *QtEnumDeclaration(NameListAST *enumerator_list = 0) { QtEnumDeclarationAST *__ast = new (&pool) QtEnumDeclarationAST; __ast->enumerator_list = enumerator_list; return __ast; } QtFlagsDeclarationAST *QtFlagsDeclaration(NameListAST *flag_enums_list = 0) { QtFlagsDeclarationAST *__ast = new (&pool) QtFlagsDeclarationAST; __ast->flag_enums_list = flag_enums_list; return __ast; } QtInterfaceNameAST *QtInterfaceName(NameAST *interface_name = 0, NameListAST *constraint_list = 0) { QtInterfaceNameAST *__ast = new (&pool) QtInterfaceNameAST; __ast->interface_name = interface_name; __ast->constraint_list = constraint_list; return __ast; } QtInterfacesDeclarationAST *QtInterfacesDeclaration(QtInterfaceNameListAST *interface_name_list = 0) { QtInterfacesDeclarationAST *__ast = new (&pool) QtInterfacesDeclarationAST; __ast->interface_name_list = interface_name_list; return __ast; } AsmDefinitionAST *AsmDefinition() { AsmDefinitionAST *__ast = new (&pool) AsmDefinitionAST; return __ast; } BaseSpecifierAST *BaseSpecifier(NameAST *name = 0) { BaseSpecifierAST *__ast = new (&pool) BaseSpecifierAST; __ast->name = name; return __ast; } IdExpressionAST *IdExpression(NameAST *name = 0) { IdExpressionAST *__ast = new (&pool) IdExpressionAST; __ast->name = name; return __ast; } CompoundExpressionAST *CompoundExpression(CompoundStatementAST *statement = 0) { CompoundExpressionAST *__ast = new (&pool) CompoundExpressionAST; __ast->statement = statement; return __ast; } CompoundLiteralAST *CompoundLiteral(ExpressionAST *type_id = 0, ExpressionAST *initializer = 0) { CompoundLiteralAST *__ast = new (&pool) CompoundLiteralAST; __ast->type_id = type_id; __ast->initializer = initializer; return __ast; } QtMethodAST *QtMethod(DeclaratorAST *declarator = 0) { QtMethodAST *__ast = new (&pool) QtMethodAST; __ast->declarator = declarator; return __ast; } QtMemberDeclarationAST *QtMemberDeclaration(ExpressionAST *type_id = 0) { QtMemberDeclarationAST *__ast = new (&pool) QtMemberDeclarationAST; __ast->type_id = type_id; return __ast; } BinaryExpressionAST *BinaryExpression(ExpressionAST *left_expression = 0, ExpressionAST *right_expression = 0) { BinaryExpressionAST *__ast = new (&pool) BinaryExpressionAST; __ast->left_expression = left_expression; __ast->right_expression = right_expression; return __ast; } CastExpressionAST *CastExpression(ExpressionAST *type_id = 0, ExpressionAST *expression = 0) { CastExpressionAST *__ast = new (&pool) CastExpressionAST; __ast->type_id = type_id; __ast->expression = expression; return __ast; } ClassSpecifierAST *ClassSpecifier(SpecifierListAST *attribute_list = 0, NameAST *name = 0, BaseSpecifierListAST *base_clause_list = 0, DeclarationListAST *member_specifier_list = 0) { ClassSpecifierAST *__ast = new (&pool) ClassSpecifierAST; __ast->attribute_list = attribute_list; __ast->name = name; __ast->base_clause_list = base_clause_list; __ast->member_specifier_list = member_specifier_list; return __ast; } CaseStatementAST *CaseStatement(ExpressionAST *expression = 0, StatementAST *statement = 0) { CaseStatementAST *__ast = new (&pool) CaseStatementAST; __ast->expression = expression; __ast->statement = statement; return __ast; } CompoundStatementAST *CompoundStatement(StatementListAST *statement_list = 0) { CompoundStatementAST *__ast = new (&pool) CompoundStatementAST; __ast->statement_list = statement_list; return __ast; } ConditionAST *Condition(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0) { ConditionAST *__ast = new (&pool) ConditionAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; return __ast; } ConditionalExpressionAST *ConditionalExpression(ExpressionAST *condition = 0, ExpressionAST *left_expression = 0, ExpressionAST *right_expression = 0) { ConditionalExpressionAST *__ast = new (&pool) ConditionalExpressionAST; __ast->condition = condition; __ast->left_expression = left_expression; __ast->right_expression = right_expression; return __ast; } CppCastExpressionAST *CppCastExpression(ExpressionAST *type_id = 0, ExpressionAST *expression = 0) { CppCastExpressionAST *__ast = new (&pool) CppCastExpressionAST; __ast->type_id = type_id; __ast->expression = expression; return __ast; } CtorInitializerAST *CtorInitializer(MemInitializerListAST *member_initializer_list = 0) { CtorInitializerAST *__ast = new (&pool) CtorInitializerAST; __ast->member_initializer_list = member_initializer_list; return __ast; } DeclarationStatementAST *DeclarationStatement(DeclarationAST *declaration = 0) { DeclarationStatementAST *__ast = new (&pool) DeclarationStatementAST; __ast->declaration = declaration; return __ast; } DeclaratorIdAST *DeclaratorId(NameAST *name = 0) { DeclaratorIdAST *__ast = new (&pool) DeclaratorIdAST; __ast->name = name; return __ast; } NestedDeclaratorAST *NestedDeclarator(DeclaratorAST *declarator = 0) { NestedDeclaratorAST *__ast = new (&pool) NestedDeclaratorAST; __ast->declarator = declarator; return __ast; } FunctionDeclaratorAST *FunctionDeclarator(ParameterDeclarationClauseAST *parameter_declaration_clause = 0, SpecifierListAST *cv_qualifier_list = 0, ExceptionSpecificationAST *exception_specification = 0, TrailingReturnTypeAST *trailing_return_type = 0, ExpressionAST *as_cpp_initializer = 0) { FunctionDeclaratorAST *__ast = new (&pool) FunctionDeclaratorAST; __ast->parameter_declaration_clause = parameter_declaration_clause; __ast->cv_qualifier_list = cv_qualifier_list; __ast->exception_specification = exception_specification; __ast->trailing_return_type = trailing_return_type; __ast->as_cpp_initializer = as_cpp_initializer; return __ast; } ArrayDeclaratorAST *ArrayDeclarator(ExpressionAST *expression = 0) { ArrayDeclaratorAST *__ast = new (&pool) ArrayDeclaratorAST; __ast->expression = expression; return __ast; } DeleteExpressionAST *DeleteExpression(ExpressionAST *expression = 0) { DeleteExpressionAST *__ast = new (&pool) DeleteExpressionAST; __ast->expression = expression; return __ast; } DoStatementAST *DoStatement(StatementAST *statement = 0, ExpressionAST *expression = 0) { DoStatementAST *__ast = new (&pool) DoStatementAST; __ast->statement = statement; __ast->expression = expression; return __ast; } NamedTypeSpecifierAST *NamedTypeSpecifier(NameAST *name = 0) { NamedTypeSpecifierAST *__ast = new (&pool) NamedTypeSpecifierAST; __ast->name = name; return __ast; } ElaboratedTypeSpecifierAST *ElaboratedTypeSpecifier(SpecifierListAST *attribute_list = 0, NameAST *name = 0) { ElaboratedTypeSpecifierAST *__ast = new (&pool) ElaboratedTypeSpecifierAST; __ast->attribute_list = attribute_list; __ast->name = name; return __ast; } EnumSpecifierAST *EnumSpecifier(NameAST *name = 0, EnumeratorListAST *enumerator_list = 0) { EnumSpecifierAST *__ast = new (&pool) EnumSpecifierAST; __ast->name = name; __ast->enumerator_list = enumerator_list; return __ast; } EnumeratorAST *Enumerator(ExpressionAST *expression = 0) { EnumeratorAST *__ast = new (&pool) EnumeratorAST; __ast->expression = expression; return __ast; } ExceptionDeclarationAST *ExceptionDeclaration(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0) { ExceptionDeclarationAST *__ast = new (&pool) ExceptionDeclarationAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; return __ast; } ExceptionSpecificationAST *ExceptionSpecification(ExpressionListAST *type_id_list = 0) { ExceptionSpecificationAST *__ast = new (&pool) ExceptionSpecificationAST; __ast->type_id_list = type_id_list; return __ast; } ExpressionOrDeclarationStatementAST *ExpressionOrDeclarationStatement(ExpressionStatementAST *expression = 0, DeclarationStatementAST *declaration = 0) { ExpressionOrDeclarationStatementAST *__ast = new (&pool) ExpressionOrDeclarationStatementAST; __ast->expression = expression; __ast->declaration = declaration; return __ast; } ExpressionStatementAST *ExpressionStatement(ExpressionAST *expression = 0) { ExpressionStatementAST *__ast = new (&pool) ExpressionStatementAST; __ast->expression = expression; return __ast; } FunctionDefinitionAST *FunctionDefinition(SpecifierListAST *decl_specifier_list = 0, DeclaratorAST *declarator = 0, CtorInitializerAST *ctor_initializer = 0, StatementAST *function_body = 0) { FunctionDefinitionAST *__ast = new (&pool) FunctionDefinitionAST; __ast->decl_specifier_list = decl_specifier_list; __ast->declarator = declarator; __ast->ctor_initializer = ctor_initializer; __ast->function_body = function_body; return __ast; } ForeachStatementAST *ForeachStatement(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0, ExpressionAST *initializer = 0, ExpressionAST *expression = 0, StatementAST *statement = 0) { ForeachStatementAST *__ast = new (&pool) ForeachStatementAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; __ast->initializer = initializer; __ast->expression = expression; __ast->statement = statement; return __ast; } ForStatementAST *ForStatement(StatementAST *initializer = 0, ExpressionAST *condition = 0, ExpressionAST *expression = 0, StatementAST *statement = 0) { ForStatementAST *__ast = new (&pool) ForStatementAST; __ast->initializer = initializer; __ast->condition = condition; __ast->expression = expression; __ast->statement = statement; return __ast; } IfStatementAST *IfStatement(ExpressionAST *condition = 0, StatementAST *statement = 0, StatementAST *else_statement = 0) { IfStatementAST *__ast = new (&pool) IfStatementAST; __ast->condition = condition; __ast->statement = statement; __ast->else_statement = else_statement; return __ast; } ArrayInitializerAST *ArrayInitializer(ExpressionListAST *expression_list = 0) { ArrayInitializerAST *__ast = new (&pool) ArrayInitializerAST; __ast->expression_list = expression_list; return __ast; } LabeledStatementAST *LabeledStatement(StatementAST *statement = 0) { LabeledStatementAST *__ast = new (&pool) LabeledStatementAST; __ast->statement = statement; return __ast; } LinkageBodyAST *LinkageBody(DeclarationListAST *declaration_list = 0) { LinkageBodyAST *__ast = new (&pool) LinkageBodyAST; __ast->declaration_list = declaration_list; return __ast; } LinkageSpecificationAST *LinkageSpecification(DeclarationAST *declaration = 0) { LinkageSpecificationAST *__ast = new (&pool) LinkageSpecificationAST; __ast->declaration = declaration; return __ast; } MemInitializerAST *MemInitializer(NameAST *name = 0, ExpressionListAST *expression_list = 0) { MemInitializerAST *__ast = new (&pool) MemInitializerAST; __ast->name = name; __ast->expression_list = expression_list; return __ast; } NestedNameSpecifierAST *NestedNameSpecifier(NameAST *class_or_namespace_name = 0) { NestedNameSpecifierAST *__ast = new (&pool) NestedNameSpecifierAST; __ast->class_or_namespace_name = class_or_namespace_name; return __ast; } QualifiedNameAST *QualifiedName(NestedNameSpecifierListAST *nested_name_specifier_list = 0, NameAST *unqualified_name = 0) { QualifiedNameAST *__ast = new (&pool) QualifiedNameAST; __ast->nested_name_specifier_list = nested_name_specifier_list; __ast->unqualified_name = unqualified_name; return __ast; } OperatorFunctionIdAST *OperatorFunctionId(OperatorAST *op = 0) { OperatorFunctionIdAST *__ast = new (&pool) OperatorFunctionIdAST; __ast->op = op; return __ast; } ConversionFunctionIdAST *ConversionFunctionId(SpecifierListAST *type_specifier_list = 0, PtrOperatorListAST *ptr_operator_list = 0) { ConversionFunctionIdAST *__ast = new (&pool) ConversionFunctionIdAST; __ast->type_specifier_list = type_specifier_list; __ast->ptr_operator_list = ptr_operator_list; return __ast; } SimpleNameAST *SimpleName() { SimpleNameAST *__ast = new (&pool) SimpleNameAST; return __ast; } DestructorNameAST *DestructorName() { DestructorNameAST *__ast = new (&pool) DestructorNameAST; return __ast; } TemplateIdAST *TemplateId(ExpressionListAST *template_argument_list = 0) { TemplateIdAST *__ast = new (&pool) TemplateIdAST; __ast->template_argument_list = template_argument_list; return __ast; } NamespaceAST *Namespace(SpecifierListAST *attribute_list = 0, DeclarationAST *linkage_body = 0) { NamespaceAST *__ast = new (&pool) NamespaceAST; __ast->attribute_list = attribute_list; __ast->linkage_body = linkage_body; return __ast; } NamespaceAliasDefinitionAST *NamespaceAliasDefinition(NameAST *name = 0) { NamespaceAliasDefinitionAST *__ast = new (&pool) NamespaceAliasDefinitionAST; __ast->name = name; return __ast; } NewPlacementAST *NewPlacement(ExpressionListAST *expression_list = 0) { NewPlacementAST *__ast = new (&pool) NewPlacementAST; __ast->expression_list = expression_list; return __ast; } NewArrayDeclaratorAST *NewArrayDeclarator(ExpressionAST *expression = 0) { NewArrayDeclaratorAST *__ast = new (&pool) NewArrayDeclaratorAST; __ast->expression = expression; return __ast; } NewExpressionAST *NewExpression(NewPlacementAST *new_placement = 0, ExpressionAST *type_id = 0, NewTypeIdAST *new_type_id = 0, NewInitializerAST *new_initializer = 0) { NewExpressionAST *__ast = new (&pool) NewExpressionAST; __ast->new_placement = new_placement; __ast->type_id = type_id; __ast->new_type_id = new_type_id; __ast->new_initializer = new_initializer; return __ast; } NewInitializerAST *NewInitializer(ExpressionAST *expression = 0) { NewInitializerAST *__ast = new (&pool) NewInitializerAST; __ast->expression = expression; return __ast; } NewTypeIdAST *NewTypeId(SpecifierListAST *type_specifier_list = 0, PtrOperatorListAST *ptr_operator_list = 0, NewArrayDeclaratorListAST *new_array_declarator_list = 0) { NewTypeIdAST *__ast = new (&pool) NewTypeIdAST; __ast->type_specifier_list = type_specifier_list; __ast->ptr_operator_list = ptr_operator_list; __ast->new_array_declarator_list = new_array_declarator_list; return __ast; } OperatorAST *Operator() { OperatorAST *__ast = new (&pool) OperatorAST; return __ast; } ParameterDeclarationAST *ParameterDeclaration(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0, ExpressionAST *expression = 0) { ParameterDeclarationAST *__ast = new (&pool) ParameterDeclarationAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; __ast->expression = expression; return __ast; } ParameterDeclarationClauseAST *ParameterDeclarationClause(ParameterDeclarationListAST *parameter_declaration_list = 0) { ParameterDeclarationClauseAST *__ast = new (&pool) ParameterDeclarationClauseAST; __ast->parameter_declaration_list = parameter_declaration_list; return __ast; } CallAST *Call(ExpressionAST *base_expression = 0, ExpressionListAST *expression_list = 0) { CallAST *__ast = new (&pool) CallAST; __ast->base_expression = base_expression; __ast->expression_list = expression_list; return __ast; } ArrayAccessAST *ArrayAccess(ExpressionAST *base_expression = 0, ExpressionAST *expression = 0) { ArrayAccessAST *__ast = new (&pool) ArrayAccessAST; __ast->base_expression = base_expression; __ast->expression = expression; return __ast; } PostIncrDecrAST *PostIncrDecr(ExpressionAST *base_expression = 0) { PostIncrDecrAST *__ast = new (&pool) PostIncrDecrAST; __ast->base_expression = base_expression; return __ast; } MemberAccessAST *MemberAccess(ExpressionAST *base_expression = 0, NameAST *member_name = 0) { MemberAccessAST *__ast = new (&pool) MemberAccessAST; __ast->base_expression = base_expression; __ast->member_name = member_name; return __ast; } TypeidExpressionAST *TypeidExpression(ExpressionAST *expression = 0) { TypeidExpressionAST *__ast = new (&pool) TypeidExpressionAST; __ast->expression = expression; return __ast; } TypenameCallExpressionAST *TypenameCallExpression(NameAST *name = 0, ExpressionListAST *expression_list = 0) { TypenameCallExpressionAST *__ast = new (&pool) TypenameCallExpressionAST; __ast->name = name; __ast->expression_list = expression_list; return __ast; } TypeConstructorCallAST *TypeConstructorCall(SpecifierListAST *type_specifier_list = 0, ExpressionListAST *expression_list = 0) { TypeConstructorCallAST *__ast = new (&pool) TypeConstructorCallAST; __ast->type_specifier_list = type_specifier_list; __ast->expression_list = expression_list; return __ast; } PointerToMemberAST *PointerToMember(NestedNameSpecifierListAST *nested_name_specifier_list = 0, SpecifierListAST *cv_qualifier_list = 0) { PointerToMemberAST *__ast = new (&pool) PointerToMemberAST; __ast->nested_name_specifier_list = nested_name_specifier_list; __ast->cv_qualifier_list = cv_qualifier_list; return __ast; } PointerAST *Pointer(SpecifierListAST *cv_qualifier_list = 0) { PointerAST *__ast = new (&pool) PointerAST; __ast->cv_qualifier_list = cv_qualifier_list; return __ast; } ReferenceAST *Reference() { ReferenceAST *__ast = new (&pool) ReferenceAST; return __ast; } BreakStatementAST *BreakStatement() { BreakStatementAST *__ast = new (&pool) BreakStatementAST; return __ast; } ContinueStatementAST *ContinueStatement() { ContinueStatementAST *__ast = new (&pool) ContinueStatementAST; return __ast; } GotoStatementAST *GotoStatement() { GotoStatementAST *__ast = new (&pool) GotoStatementAST; return __ast; } ReturnStatementAST *ReturnStatement(ExpressionAST *expression = 0) { ReturnStatementAST *__ast = new (&pool) ReturnStatementAST; __ast->expression = expression; return __ast; } SizeofExpressionAST *SizeofExpression(ExpressionAST *expression = 0) { SizeofExpressionAST *__ast = new (&pool) SizeofExpressionAST; __ast->expression = expression; return __ast; } NumericLiteralAST *NumericLiteral() { NumericLiteralAST *__ast = new (&pool) NumericLiteralAST; return __ast; } BoolLiteralAST *BoolLiteral() { BoolLiteralAST *__ast = new (&pool) BoolLiteralAST; return __ast; } ThisExpressionAST *ThisExpression() { ThisExpressionAST *__ast = new (&pool) ThisExpressionAST; return __ast; } NestedExpressionAST *NestedExpression(ExpressionAST *expression = 0) { NestedExpressionAST *__ast = new (&pool) NestedExpressionAST; __ast->expression = expression; return __ast; } StringLiteralAST *StringLiteral(StringLiteralAST *next = 0) { StringLiteralAST *__ast = new (&pool) StringLiteralAST; __ast->next = next; return __ast; } SwitchStatementAST *SwitchStatement(ExpressionAST *condition = 0, StatementAST *statement = 0) { SwitchStatementAST *__ast = new (&pool) SwitchStatementAST; __ast->condition = condition; __ast->statement = statement; return __ast; } TemplateDeclarationAST *TemplateDeclaration(DeclarationListAST *template_parameter_list = 0, DeclarationAST *declaration = 0) { TemplateDeclarationAST *__ast = new (&pool) TemplateDeclarationAST; __ast->template_parameter_list = template_parameter_list; __ast->declaration = declaration; return __ast; } ThrowExpressionAST *ThrowExpression(ExpressionAST *expression = 0) { ThrowExpressionAST *__ast = new (&pool) ThrowExpressionAST; __ast->expression = expression; return __ast; } TranslationUnitAST *TranslationUnit(DeclarationListAST *declaration_list = 0) { TranslationUnitAST *__ast = new (&pool) TranslationUnitAST; __ast->declaration_list = declaration_list; return __ast; } TryBlockStatementAST *TryBlockStatement(StatementAST *statement = 0, CatchClauseListAST *catch_clause_list = 0) { TryBlockStatementAST *__ast = new (&pool) TryBlockStatementAST; __ast->statement = statement; __ast->catch_clause_list = catch_clause_list; return __ast; } CatchClauseAST *CatchClause(ExceptionDeclarationAST *exception_declaration = 0, StatementAST *statement = 0) { CatchClauseAST *__ast = new (&pool) CatchClauseAST; __ast->exception_declaration = exception_declaration; __ast->statement = statement; return __ast; } TypeIdAST *TypeId(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0) { TypeIdAST *__ast = new (&pool) TypeIdAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; return __ast; } TypenameTypeParameterAST *TypenameTypeParameter(NameAST *name = 0, ExpressionAST *type_id = 0) { TypenameTypeParameterAST *__ast = new (&pool) TypenameTypeParameterAST; __ast->name = name; __ast->type_id = type_id; return __ast; } TemplateTypeParameterAST *TemplateTypeParameter(DeclarationListAST *template_parameter_list = 0, NameAST *name = 0, ExpressionAST *type_id = 0) { TemplateTypeParameterAST *__ast = new (&pool) TemplateTypeParameterAST; __ast->template_parameter_list = template_parameter_list; __ast->name = name; __ast->type_id = type_id; return __ast; } UnaryExpressionAST *UnaryExpression(ExpressionAST *expression = 0) { UnaryExpressionAST *__ast = new (&pool) UnaryExpressionAST; __ast->expression = expression; return __ast; } UsingAST *Using(NameAST *name = 0) { UsingAST *__ast = new (&pool) UsingAST; __ast->name = name; return __ast; } UsingDirectiveAST *UsingDirective(NameAST *name = 0) { UsingDirectiveAST *__ast = new (&pool) UsingDirectiveAST; __ast->name = name; return __ast; } WhileStatementAST *WhileStatement(ExpressionAST *condition = 0, StatementAST *statement = 0) { WhileStatementAST *__ast = new (&pool) WhileStatementAST; __ast->condition = condition; __ast->statement = statement; return __ast; } ObjCClassForwardDeclarationAST *ObjCClassForwardDeclaration(SpecifierListAST *attribute_list = 0, NameListAST *identifier_list = 0) { ObjCClassForwardDeclarationAST *__ast = new (&pool) ObjCClassForwardDeclarationAST; __ast->attribute_list = attribute_list; __ast->identifier_list = identifier_list; return __ast; } ObjCClassDeclarationAST *ObjCClassDeclaration(SpecifierListAST *attribute_list = 0, NameAST *class_name = 0, NameAST *category_name = 0, NameAST *superclass = 0, ObjCProtocolRefsAST *protocol_refs = 0, ObjCInstanceVariablesDeclarationAST *inst_vars_decl = 0, DeclarationListAST *member_declaration_list = 0) { ObjCClassDeclarationAST *__ast = new (&pool) ObjCClassDeclarationAST; __ast->attribute_list = attribute_list; __ast->class_name = class_name; __ast->category_name = category_name; __ast->superclass = superclass; __ast->protocol_refs = protocol_refs; __ast->inst_vars_decl = inst_vars_decl; __ast->member_declaration_list = member_declaration_list; return __ast; } ObjCProtocolForwardDeclarationAST *ObjCProtocolForwardDeclaration(SpecifierListAST *attribute_list = 0, NameListAST *identifier_list = 0) { ObjCProtocolForwardDeclarationAST *__ast = new (&pool) ObjCProtocolForwardDeclarationAST; __ast->attribute_list = attribute_list; __ast->identifier_list = identifier_list; return __ast; } ObjCProtocolDeclarationAST *ObjCProtocolDeclaration(SpecifierListAST *attribute_list = 0, NameAST *name = 0, ObjCProtocolRefsAST *protocol_refs = 0, DeclarationListAST *member_declaration_list = 0) { ObjCProtocolDeclarationAST *__ast = new (&pool) ObjCProtocolDeclarationAST; __ast->attribute_list = attribute_list; __ast->name = name; __ast->protocol_refs = protocol_refs; __ast->member_declaration_list = member_declaration_list; return __ast; } ObjCProtocolRefsAST *ObjCProtocolRefs(NameListAST *identifier_list = 0) { ObjCProtocolRefsAST *__ast = new (&pool) ObjCProtocolRefsAST; __ast->identifier_list = identifier_list; return __ast; } ObjCMessageArgumentAST *ObjCMessageArgument(ExpressionAST *parameter_value_expression = 0) { ObjCMessageArgumentAST *__ast = new (&pool) ObjCMessageArgumentAST; __ast->parameter_value_expression = parameter_value_expression; return __ast; } ObjCMessageExpressionAST *ObjCMessageExpression(ExpressionAST *receiver_expression = 0, ObjCSelectorAST *selector = 0, ObjCMessageArgumentListAST *argument_list = 0) { ObjCMessageExpressionAST *__ast = new (&pool) ObjCMessageExpressionAST; __ast->receiver_expression = receiver_expression; __ast->selector = selector; __ast->argument_list = argument_list; return __ast; } ObjCProtocolExpressionAST *ObjCProtocolExpression() { ObjCProtocolExpressionAST *__ast = new (&pool) ObjCProtocolExpressionAST; return __ast; } ObjCTypeNameAST *ObjCTypeName(ExpressionAST *type_id = 0) { ObjCTypeNameAST *__ast = new (&pool) ObjCTypeNameAST; __ast->type_id = type_id; return __ast; } ObjCEncodeExpressionAST *ObjCEncodeExpression(ObjCTypeNameAST *type_name = 0) { ObjCEncodeExpressionAST *__ast = new (&pool) ObjCEncodeExpressionAST; __ast->type_name = type_name; return __ast; } ObjCSelectorExpressionAST *ObjCSelectorExpression(ObjCSelectorAST *selector = 0) { ObjCSelectorExpressionAST *__ast = new (&pool) ObjCSelectorExpressionAST; __ast->selector = selector; return __ast; } ObjCInstanceVariablesDeclarationAST *ObjCInstanceVariablesDeclaration(DeclarationListAST *instance_variable_list = 0) { ObjCInstanceVariablesDeclarationAST *__ast = new (&pool) ObjCInstanceVariablesDeclarationAST; __ast->instance_variable_list = instance_variable_list; return __ast; } ObjCVisibilityDeclarationAST *ObjCVisibilityDeclaration() { ObjCVisibilityDeclarationAST *__ast = new (&pool) ObjCVisibilityDeclarationAST; return __ast; } ObjCPropertyAttributeAST *ObjCPropertyAttribute(ObjCSelectorAST *method_selector = 0) { ObjCPropertyAttributeAST *__ast = new (&pool) ObjCPropertyAttributeAST; __ast->method_selector = method_selector; return __ast; } ObjCPropertyDeclarationAST *ObjCPropertyDeclaration(SpecifierListAST *attribute_list = 0, ObjCPropertyAttributeListAST *property_attribute_list = 0, DeclarationAST *simple_declaration = 0) { ObjCPropertyDeclarationAST *__ast = new (&pool) ObjCPropertyDeclarationAST; __ast->attribute_list = attribute_list; __ast->property_attribute_list = property_attribute_list; __ast->simple_declaration = simple_declaration; return __ast; } ObjCMessageArgumentDeclarationAST *ObjCMessageArgumentDeclaration(ObjCTypeNameAST *type_name = 0, SpecifierListAST *attribute_list = 0, NameAST *param_name = 0) { ObjCMessageArgumentDeclarationAST *__ast = new (&pool) ObjCMessageArgumentDeclarationAST; __ast->type_name = type_name; __ast->attribute_list = attribute_list; __ast->param_name = param_name; return __ast; } ObjCMethodPrototypeAST *ObjCMethodPrototype(ObjCTypeNameAST *type_name = 0, ObjCSelectorAST *selector = 0, ObjCMessageArgumentDeclarationListAST *argument_list = 0, SpecifierListAST *attribute_list = 0) { ObjCMethodPrototypeAST *__ast = new (&pool) ObjCMethodPrototypeAST; __ast->type_name = type_name; __ast->selector = selector; __ast->argument_list = argument_list; __ast->attribute_list = attribute_list; return __ast; } ObjCMethodDeclarationAST *ObjCMethodDeclaration(ObjCMethodPrototypeAST *method_prototype = 0, StatementAST *function_body = 0) { ObjCMethodDeclarationAST *__ast = new (&pool) ObjCMethodDeclarationAST; __ast->method_prototype = method_prototype; __ast->function_body = function_body; return __ast; } ObjCSynthesizedPropertyAST *ObjCSynthesizedProperty() { ObjCSynthesizedPropertyAST *__ast = new (&pool) ObjCSynthesizedPropertyAST; return __ast; } ObjCSynthesizedPropertiesDeclarationAST *ObjCSynthesizedPropertiesDeclaration(ObjCSynthesizedPropertyListAST *property_identifier_list = 0) { ObjCSynthesizedPropertiesDeclarationAST *__ast = new (&pool) ObjCSynthesizedPropertiesDeclarationAST; __ast->property_identifier_list = property_identifier_list; return __ast; } ObjCDynamicPropertiesDeclarationAST *ObjCDynamicPropertiesDeclaration(NameListAST *property_identifier_list = 0) { ObjCDynamicPropertiesDeclarationAST *__ast = new (&pool) ObjCDynamicPropertiesDeclarationAST; __ast->property_identifier_list = property_identifier_list; return __ast; } ObjCFastEnumerationAST *ObjCFastEnumeration(SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0, ExpressionAST *initializer = 0, ExpressionAST *fast_enumeratable_expression = 0, StatementAST *statement = 0) { ObjCFastEnumerationAST *__ast = new (&pool) ObjCFastEnumerationAST; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; __ast->initializer = initializer; __ast->fast_enumeratable_expression = fast_enumeratable_expression; __ast->statement = statement; return __ast; } ObjCSynchronizedStatementAST *ObjCSynchronizedStatement(ExpressionAST *synchronized_object = 0, StatementAST *statement = 0) { ObjCSynchronizedStatementAST *__ast = new (&pool) ObjCSynchronizedStatementAST; __ast->synchronized_object = synchronized_object; __ast->statement = statement; return __ast; } LambdaExpressionAST *LambdaExpression(LambdaIntroducerAST *lambda_introducer = 0, LambdaDeclaratorAST *lambda_declarator = 0, StatementAST *statement = 0) { LambdaExpressionAST *__ast = new (&pool) LambdaExpressionAST; __ast->lambda_introducer = lambda_introducer; __ast->lambda_declarator = lambda_declarator; __ast->statement = statement; return __ast; } LambdaIntroducerAST *LambdaIntroducer(LambdaCaptureAST *lambda_capture = 0) { LambdaIntroducerAST *__ast = new (&pool) LambdaIntroducerAST; __ast->lambda_capture = lambda_capture; return __ast; } LambdaCaptureAST *LambdaCapture(CaptureListAST *capture_list = 0) { LambdaCaptureAST *__ast = new (&pool) LambdaCaptureAST; __ast->capture_list = capture_list; return __ast; } CaptureAST *Capture() { CaptureAST *__ast = new (&pool) CaptureAST; return __ast; } LambdaDeclaratorAST *LambdaDeclarator(ParameterDeclarationClauseAST *parameter_declaration_clause = 0, SpecifierListAST *attributes = 0, ExceptionSpecificationAST *exception_specification = 0, TrailingReturnTypeAST *trailing_return_type = 0) { LambdaDeclaratorAST *__ast = new (&pool) LambdaDeclaratorAST; __ast->parameter_declaration_clause = parameter_declaration_clause; __ast->attributes = attributes; __ast->exception_specification = exception_specification; __ast->trailing_return_type = trailing_return_type; return __ast; } TrailingReturnTypeAST *TrailingReturnType(SpecifierListAST *attributes = 0, SpecifierListAST *type_specifier_list = 0, DeclaratorAST *declarator = 0) { TrailingReturnTypeAST *__ast = new (&pool) TrailingReturnTypeAST; __ast->attributes = attributes; __ast->type_specifier_list = type_specifier_list; __ast->declarator = declarator; return __ast; } BracedInitializerAST *BracedInitializer(ExpressionListAST *expression_list = 0) { BracedInitializerAST *__ast = new (&pool) BracedInitializerAST; __ast->expression_list = expression_list; return __ast; } CatchClauseListAST *CatchClauseList(CatchClauseAST *value, CatchClauseListAST *next = 0) { CatchClauseListAST *__list = new (&pool) CatchClauseListAST; __list->next = next; __list->value = value; return __list; } PostfixDeclaratorListAST *PostfixDeclaratorList(PostfixDeclaratorAST *value, PostfixDeclaratorListAST *next = 0) { PostfixDeclaratorListAST *__list = new (&pool) PostfixDeclaratorListAST; __list->next = next; __list->value = value; return __list; } ExpressionListAST *ExpressionList(ExpressionAST *value, ExpressionListAST *next = 0) { ExpressionListAST *__list = new (&pool) ExpressionListAST; __list->next = next; __list->value = value; return __list; } QtPropertyDeclarationItemListAST *QtPropertyDeclarationItemList(QtPropertyDeclarationItemAST *value, QtPropertyDeclarationItemListAST *next = 0) { QtPropertyDeclarationItemListAST *__list = new (&pool) QtPropertyDeclarationItemListAST; __list->next = next; __list->value = value; return __list; } DeclarationListAST *DeclarationList(DeclarationAST *value, DeclarationListAST *next = 0) { DeclarationListAST *__list = new (&pool) DeclarationListAST; __list->next = next; __list->value = value; return __list; } ObjCMessageArgumentDeclarationListAST *ObjCMessageArgumentDeclarationList(ObjCMessageArgumentDeclarationAST *value, ObjCMessageArgumentDeclarationListAST *next = 0) { ObjCMessageArgumentDeclarationListAST *__list = new (&pool) ObjCMessageArgumentDeclarationListAST; __list->next = next; __list->value = value; return __list; } EnumeratorListAST *EnumeratorList(EnumeratorAST *value, EnumeratorListAST *next = 0) { EnumeratorListAST *__list = new (&pool) EnumeratorListAST; __list->next = next; __list->value = value; return __list; } NameListAST *NameList(NameAST *value, NameListAST *next = 0) { NameListAST *__list = new (&pool) NameListAST; __list->next = next; __list->value = value; return __list; } AttributeListAST *AttributeList(AttributeAST *value, AttributeListAST *next = 0) { AttributeListAST *__list = new (&pool) AttributeListAST; __list->next = next; __list->value = value; return __list; } ObjCSelectorArgumentListAST *ObjCSelectorArgumentList(ObjCSelectorArgumentAST *value, ObjCSelectorArgumentListAST *next = 0) { ObjCSelectorArgumentListAST *__list = new (&pool) ObjCSelectorArgumentListAST; __list->next = next; __list->value = value; return __list; } NestedNameSpecifierListAST *NestedNameSpecifierList(NestedNameSpecifierAST *value, NestedNameSpecifierListAST *next = 0) { NestedNameSpecifierListAST *__list = new (&pool) NestedNameSpecifierListAST; __list->next = next; __list->value = value; return __list; } BaseSpecifierListAST *BaseSpecifierList(BaseSpecifierAST *value, BaseSpecifierListAST *next = 0) { BaseSpecifierListAST *__list = new (&pool) BaseSpecifierListAST; __list->next = next; __list->value = value; return __list; } ObjCPropertyAttributeListAST *ObjCPropertyAttributeList(ObjCPropertyAttributeAST *value, ObjCPropertyAttributeListAST *next = 0) { ObjCPropertyAttributeListAST *__list = new (&pool) ObjCPropertyAttributeListAST; __list->next = next; __list->value = value; return __list; } MemInitializerListAST *MemInitializerList(MemInitializerAST *value, MemInitializerListAST *next = 0) { MemInitializerListAST *__list = new (&pool) MemInitializerListAST; __list->next = next; __list->value = value; return __list; } StatementListAST *StatementList(StatementAST *value, StatementListAST *next = 0) { StatementListAST *__list = new (&pool) StatementListAST; __list->next = next; __list->value = value; return __list; } ParameterDeclarationListAST *ParameterDeclarationList(ParameterDeclarationAST *value, ParameterDeclarationListAST *next = 0) { ParameterDeclarationListAST *__list = new (&pool) ParameterDeclarationListAST; __list->next = next; __list->value = value; return __list; } ObjCMessageArgumentListAST *ObjCMessageArgumentList(ObjCMessageArgumentAST *value, ObjCMessageArgumentListAST *next = 0) { ObjCMessageArgumentListAST *__list = new (&pool) ObjCMessageArgumentListAST; __list->next = next; __list->value = value; return __list; } NewArrayDeclaratorListAST *NewArrayDeclaratorList(NewArrayDeclaratorAST *value, NewArrayDeclaratorListAST *next = 0) { NewArrayDeclaratorListAST *__list = new (&pool) NewArrayDeclaratorListAST; __list->next = next; __list->value = value; return __list; } SpecifierListAST *SpecifierList(SpecifierAST *value, SpecifierListAST *next = 0) { SpecifierListAST *__list = new (&pool) SpecifierListAST; __list->next = next; __list->value = value; return __list; } ObjCSynthesizedPropertyListAST *ObjCSynthesizedPropertyList(ObjCSynthesizedPropertyAST *value, ObjCSynthesizedPropertyListAST *next = 0) { ObjCSynthesizedPropertyListAST *__list = new (&pool) ObjCSynthesizedPropertyListAST; __list->next = next; __list->value = value; return __list; } DeclaratorListAST *DeclaratorList(DeclaratorAST *value, DeclaratorListAST *next = 0) { DeclaratorListAST *__list = new (&pool) DeclaratorListAST; __list->next = next; __list->value = value; return __list; } QtInterfaceNameListAST *QtInterfaceNameList(QtInterfaceNameAST *value, QtInterfaceNameListAST *next = 0) { QtInterfaceNameListAST *__list = new (&pool) QtInterfaceNameListAST; __list->next = next; __list->value = value; return __list; } PtrOperatorListAST *PtrOperatorList(PtrOperatorAST *value, PtrOperatorListAST *next = 0) { PtrOperatorListAST *__list = new (&pool) PtrOperatorListAST; __list->next = next; __list->value = value; return __list; } CaptureListAST *CaptureList(CaptureAST *value, CaptureListAST *next = 0) { CaptureListAST *__list = new (&pool) CaptureListAST; __list->next = next; __list->value = value; return __list; } }; } // namespace CPlusPlus #endif // CPLUSPLUS_AST_PATTERN_BUILDER_H