forked from qt-creator/qt-creator
C++: Update and improve ASTPatternBuilder.
* Updated for new AST nodes. * Now also includes helpers for building Lists. Reviewed-by: Erik Verbruggen
This commit is contained in:
@@ -30,6 +30,15 @@
|
||||
** 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
|
||||
|
||||
@@ -45,25 +54,39 @@ class CPLUSPLUS_EXPORT ASTPatternBuilder
|
||||
|
||||
public:
|
||||
ASTPatternBuilder() {}
|
||||
~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()
|
||||
AttributeSpecifierAST *AttributeSpecifier(AttributeListAST *attribute_list = 0)
|
||||
{
|
||||
AttributeSpecifierAST *__ast = new (&pool) AttributeSpecifierAST;
|
||||
__ast->attribute_list = attribute_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
AttributeAST *Attribute()
|
||||
AttributeAST *Attribute(ExpressionListAST *expression_list = 0)
|
||||
{
|
||||
AttributeAST *__ast = new (&pool) AttributeAST;
|
||||
__ast->expression_list = expression_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -74,17 +97,23 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
DeclaratorAST *Declarator(CoreDeclaratorAST *core_declarator = 0, ExpressionAST *initializer = 0)
|
||||
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()
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -100,6 +129,66 @@ public:
|
||||
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;
|
||||
@@ -113,6 +202,20 @@ public:
|
||||
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;
|
||||
@@ -128,6 +231,13 @@ public:
|
||||
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;
|
||||
@@ -144,10 +254,13 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ClassSpecifierAST *ClassSpecifier(NameAST *name = 0)
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -159,15 +272,17 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
CompoundStatementAST *CompoundStatement()
|
||||
CompoundStatementAST *CompoundStatement(StatementListAST *statement_list = 0)
|
||||
{
|
||||
CompoundStatementAST *__ast = new (&pool) CompoundStatementAST;
|
||||
__ast->statement_list = statement_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ConditionAST *Condition(DeclaratorAST *declarator = 0)
|
||||
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;
|
||||
}
|
||||
@@ -189,9 +304,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
CtorInitializerAST *CtorInitializer()
|
||||
CtorInitializerAST *CtorInitializer(MemInitializerListAST *member_initializer_list = 0)
|
||||
{
|
||||
CtorInitializerAST *__ast = new (&pool) CtorInitializerAST;
|
||||
__ast->member_initializer_list = member_initializer_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -216,11 +332,13 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
FunctionDeclaratorAST *FunctionDeclarator(ParameterDeclarationClauseAST *parameters = 0, ExceptionSpecificationAST *exception_specification = 0, ExpressionAST *as_cpp_initializer = 0)
|
||||
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 = parameters;
|
||||
__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;
|
||||
}
|
||||
@@ -254,17 +372,19 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ElaboratedTypeSpecifierAST *ElaboratedTypeSpecifier(NameAST *name = 0)
|
||||
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)
|
||||
EnumSpecifierAST *EnumSpecifier(NameAST *name = 0, EnumeratorListAST *enumerator_list = 0)
|
||||
{
|
||||
EnumSpecifierAST *__ast = new (&pool) EnumSpecifierAST;
|
||||
__ast->name = name;
|
||||
__ast->enumerator_list = enumerator_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -275,16 +395,18 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ExceptionDeclarationAST *ExceptionDeclaration(DeclaratorAST *declarator = 0)
|
||||
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()
|
||||
ExceptionSpecificationAST *ExceptionSpecification(ExpressionListAST *type_id_list = 0)
|
||||
{
|
||||
ExceptionSpecificationAST *__ast = new (&pool) ExceptionSpecificationAST;
|
||||
__ast->type_id_list = type_id_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -303,18 +425,20 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
FunctionDefinitionAST *FunctionDefinition(DeclaratorAST *declarator = 0, CtorInitializerAST *ctor_initializer = 0, StatementAST *function_body = 0)
|
||||
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(DeclaratorAST *declarator = 0, ExpressionAST *initializer = 0, ExpressionAST *expression = 0, StatementAST *statement = 0)
|
||||
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;
|
||||
@@ -341,9 +465,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ArrayInitializerAST *ArrayInitializer()
|
||||
ArrayInitializerAST *ArrayInitializer(ExpressionListAST *expression_list = 0)
|
||||
{
|
||||
ArrayInitializerAST *__ast = new (&pool) ArrayInitializerAST;
|
||||
__ast->expression_list = expression_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -354,9 +479,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
LinkageBodyAST *LinkageBody()
|
||||
LinkageBodyAST *LinkageBody(DeclarationListAST *declaration_list = 0)
|
||||
{
|
||||
LinkageBodyAST *__ast = new (&pool) LinkageBodyAST;
|
||||
__ast->declaration_list = declaration_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -367,10 +493,11 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
MemInitializerAST *MemInitializer(NameAST *name = 0)
|
||||
MemInitializerAST *MemInitializer(NameAST *name = 0, ExpressionListAST *expression_list = 0)
|
||||
{
|
||||
MemInitializerAST *__ast = new (&pool) MemInitializerAST;
|
||||
__ast->name = name;
|
||||
__ast->expression_list = expression_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -381,9 +508,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
QualifiedNameAST *QualifiedName(NameAST *unqualified_name = 0)
|
||||
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;
|
||||
}
|
||||
@@ -395,9 +523,11 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ConversionFunctionIdAST *ConversionFunctionId()
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -413,15 +543,17 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TemplateIdAST *TemplateId()
|
||||
TemplateIdAST *TemplateId(ExpressionListAST *template_argument_list = 0)
|
||||
{
|
||||
TemplateIdAST *__ast = new (&pool) TemplateIdAST;
|
||||
__ast->template_argument_list = template_argument_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
NamespaceAST *Namespace(DeclarationAST *linkage_body = 0)
|
||||
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;
|
||||
}
|
||||
@@ -433,9 +565,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
NewPlacementAST *NewPlacement()
|
||||
NewPlacementAST *NewPlacement(ExpressionListAST *expression_list = 0)
|
||||
{
|
||||
NewPlacementAST *__ast = new (&pool) NewPlacementAST;
|
||||
__ast->expression_list = expression_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -463,9 +596,12 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
NewTypeIdAST *NewTypeId()
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -475,42 +611,49 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ParameterDeclarationAST *ParameterDeclaration(DeclaratorAST *declarator = 0, ExpressionAST *expression = 0)
|
||||
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()
|
||||
ParameterDeclarationClauseAST *ParameterDeclarationClause(ParameterDeclarationListAST *parameter_declaration_list = 0)
|
||||
{
|
||||
ParameterDeclarationClauseAST *__ast = new (&pool) ParameterDeclarationClauseAST;
|
||||
__ast->parameter_declaration_list = parameter_declaration_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
CallAST *Call()
|
||||
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 *expression = 0)
|
||||
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()
|
||||
PostIncrDecrAST *PostIncrDecr(ExpressionAST *base_expression = 0)
|
||||
{
|
||||
PostIncrDecrAST *__ast = new (&pool) PostIncrDecrAST;
|
||||
__ast->base_expression = base_expression;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
MemberAccessAST *MemberAccess(NameAST *member_name = 0)
|
||||
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;
|
||||
}
|
||||
@@ -522,28 +665,34 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TypenameCallExpressionAST *TypenameCallExpression(NameAST *name = 0)
|
||||
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()
|
||||
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()
|
||||
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()
|
||||
PointerAST *Pointer(SpecifierListAST *cv_qualifier_list = 0)
|
||||
{
|
||||
PointerAST *__ast = new (&pool) PointerAST;
|
||||
__ast->cv_qualifier_list = cv_qualifier_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -625,9 +774,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TemplateDeclarationAST *TemplateDeclaration(DeclarationAST *declaration = 0)
|
||||
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;
|
||||
}
|
||||
@@ -639,16 +789,18 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TranslationUnitAST *TranslationUnit()
|
||||
TranslationUnitAST *TranslationUnit(DeclarationListAST *declaration_list = 0)
|
||||
{
|
||||
TranslationUnitAST *__ast = new (&pool) TranslationUnitAST;
|
||||
__ast->declaration_list = declaration_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TryBlockStatementAST *TryBlockStatement(StatementAST *statement = 0)
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -660,9 +812,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TypeIdAST *TypeId(DeclaratorAST *declarator = 0)
|
||||
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;
|
||||
}
|
||||
@@ -675,9 +828,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
TemplateTypeParameterAST *TemplateTypeParameter(NameAST *name = 0, ExpressionAST *type_id = 0)
|
||||
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;
|
||||
@@ -712,40 +866,49 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCClassForwardDeclarationAST *ObjCClassForwardDeclaration()
|
||||
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(NameAST *class_name = 0, NameAST *category_name = 0, NameAST *superclass = 0, ObjCProtocolRefsAST *protocol_refs = 0, ObjCInstanceVariablesDeclarationAST *inst_vars_decl = 0)
|
||||
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()
|
||||
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(NameAST *name = 0, ObjCProtocolRefsAST *protocol_refs = 0)
|
||||
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()
|
||||
ObjCProtocolRefsAST *ObjCProtocolRefs(NameListAST *identifier_list = 0)
|
||||
{
|
||||
ObjCProtocolRefsAST *__ast = new (&pool) ObjCProtocolRefsAST;
|
||||
__ast->identifier_list = identifier_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -756,11 +919,12 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCMessageExpressionAST *ObjCMessageExpression(ExpressionAST *receiver_expression = 0, ObjCSelectorAST *selector = 0)
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -784,12 +948,6 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCSelectorArgumentAST *ObjCSelectorArgument()
|
||||
{
|
||||
ObjCSelectorArgumentAST *__ast = new (&pool) ObjCSelectorArgumentAST;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCSelectorExpressionAST *ObjCSelectorExpression(ObjCSelectorAST *selector = 0)
|
||||
{
|
||||
ObjCSelectorExpressionAST *__ast = new (&pool) ObjCSelectorExpressionAST;
|
||||
@@ -797,9 +955,10 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCInstanceVariablesDeclarationAST *ObjCInstanceVariablesDeclaration()
|
||||
ObjCInstanceVariablesDeclarationAST *ObjCInstanceVariablesDeclaration(DeclarationListAST *instance_variable_list = 0)
|
||||
{
|
||||
ObjCInstanceVariablesDeclarationAST *__ast = new (&pool) ObjCInstanceVariablesDeclarationAST;
|
||||
__ast->instance_variable_list = instance_variable_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
@@ -816,25 +975,31 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCPropertyDeclarationAST *ObjCPropertyDeclaration(DeclarationAST *simple_declaration = 0)
|
||||
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)
|
||||
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)
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -852,21 +1017,24 @@ public:
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCSynthesizedPropertiesDeclarationAST *ObjCSynthesizedPropertiesDeclaration()
|
||||
ObjCSynthesizedPropertiesDeclarationAST *ObjCSynthesizedPropertiesDeclaration(ObjCSynthesizedPropertyListAST *property_identifier_list = 0)
|
||||
{
|
||||
ObjCSynthesizedPropertiesDeclarationAST *__ast = new (&pool) ObjCSynthesizedPropertiesDeclarationAST;
|
||||
__ast->property_identifier_list = property_identifier_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCDynamicPropertiesDeclarationAST *ObjCDynamicPropertiesDeclaration()
|
||||
ObjCDynamicPropertiesDeclarationAST *ObjCDynamicPropertiesDeclaration(NameListAST *property_identifier_list = 0)
|
||||
{
|
||||
ObjCDynamicPropertiesDeclarationAST *__ast = new (&pool) ObjCDynamicPropertiesDeclarationAST;
|
||||
__ast->property_identifier_list = property_identifier_list;
|
||||
return __ast;
|
||||
}
|
||||
|
||||
ObjCFastEnumerationAST *ObjCFastEnumeration(DeclaratorAST *declarator = 0, ExpressionAST *initializer = 0, ExpressionAST *fast_enumeratable_expression = 0, StatementAST *statement = 0)
|
||||
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;
|
||||
@@ -882,6 +1050,253 @@ public:
|
||||
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;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
} // end of namespace CPlusPlus
|
||||
|
||||
@@ -1447,10 +1447,11 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
|
||||
<< "public:" << endl
|
||||
<< " ASTPatternBuilder() {}" << endl
|
||||
<< endl
|
||||
<< " void reset() { pool.reset(); };" << endl
|
||||
<< " void reset() { pool.reset(); }" << endl
|
||||
<< endl;
|
||||
|
||||
Control *control = AST_h_document->control();
|
||||
QSet<QString> listClasses;
|
||||
|
||||
foreach (ClassSpecifierAST *classNode, astNodes.deriveds) {
|
||||
Class *klass = classNode->symbol;
|
||||
@@ -1490,8 +1491,8 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
|
||||
|
||||
const QString tyName = oo(ptrTy->elementType());
|
||||
if (tyName.endsWith("ListAST"))
|
||||
continue;
|
||||
else if (tyName.endsWith("AST")) {
|
||||
listClasses.insert(tyName);
|
||||
if (tyName.endsWith("AST")) {
|
||||
if (! first)
|
||||
out << ", ";
|
||||
|
||||
@@ -1521,6 +1522,21 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
|
||||
<< endl;
|
||||
}
|
||||
|
||||
foreach (const QString &className, listClasses) {
|
||||
const QString methodName = className.left(className.length() - 3);
|
||||
const QString elementName = className.left(className.length() - 7) + QLatin1String("AST");
|
||||
out
|
||||
<< " " << className << " *" << methodName << "("
|
||||
<< elementName << " *value, " << className << " *next = 0)" << endl
|
||||
<< " {" << endl
|
||||
<< " " << className << " *__list = new (&pool) " << className << ";" << endl
|
||||
<< " __list->next = next;" << endl
|
||||
<< " __list->value = value;" << endl
|
||||
<< " return __list;" << endl
|
||||
<< " }" << endl
|
||||
<< endl;
|
||||
}
|
||||
|
||||
out
|
||||
<< "};" << endl
|
||||
<< endl
|
||||
@@ -1557,5 +1573,5 @@ int main(int argc, char *argv[])
|
||||
astDerivedClasses.sort();
|
||||
generateASTFwd_h(snapshot, cplusplusDir, astDerivedClasses);
|
||||
|
||||
//generateASTPatternBuilder_h(cplusplusDir);
|
||||
generateASTPatternBuilder_h(cplusplusDir);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user