diff --git a/src/shared/cplusplus/AST.h b/src/shared/cplusplus/AST.h index 1ea7defec0f4ff32a5cd5ed7a1eab6663f64870e..5d26bf1e54ac06deb91bcb9dc515527d8815da42 100644 --- a/src/shared/cplusplus/AST.h +++ b/src/shared/cplusplus/AST.h @@ -231,9 +231,6 @@ public: virtual UsingAST *asUsing() { return 0; } virtual UsingDirectiveAST *asUsingDirective() { return 0; } virtual WhileStatementAST *asWhileStatement() { return 0; } - - virtual AST *clone(MemoryPool *pool) const = 0; - protected: virtual void accept0(ASTVisitor *visitor) = 0; }; @@ -245,8 +242,6 @@ public: public: virtual SpecifierAST *asSpecifier() { return this; } - - virtual SpecifierAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT SimpleSpecifierAST: public SpecifierAST @@ -260,8 +255,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual SimpleSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -282,8 +275,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual AttributeSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -305,8 +296,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual AttributeAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -325,8 +314,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypeofSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -336,7 +323,6 @@ class CPLUSPLUS_EXPORT StatementAST: public AST public: virtual StatementAST *asStatement() { return this; } - virtual StatementAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT ExpressionAST: public AST @@ -344,7 +330,6 @@ class CPLUSPLUS_EXPORT ExpressionAST: public AST public: virtual ExpressionAST *asExpression() { return this; } - virtual ExpressionAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT DeclarationAST: public AST @@ -352,7 +337,6 @@ class CPLUSPLUS_EXPORT DeclarationAST: public AST public: virtual DeclarationAST *asDeclaration() { return this; } - virtual DeclarationAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT DeclarationListAST: public AST @@ -367,8 +351,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeclarationListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -378,7 +360,6 @@ class CPLUSPLUS_EXPORT CoreDeclaratorAST: public AST public: virtual CoreDeclaratorAST *asCoreDeclarator() { return this; } - virtual CoreDeclaratorAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT PostfixDeclaratorAST: public AST @@ -389,7 +370,6 @@ public: public: virtual PostfixDeclaratorAST *asPostfixDeclarator() { return this; } - virtual PostfixDeclaratorAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT DeclaratorAST: public AST @@ -409,8 +389,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeclaratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -428,8 +406,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ExpressionListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -451,8 +427,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual SimpleDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -468,8 +442,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual EmptyDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -487,8 +459,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual AccessDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -510,8 +480,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual AsmDefinitionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -534,8 +502,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual BaseSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -554,8 +520,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CompoundLiteralAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -574,8 +538,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual QtMethodAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -593,8 +555,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual BinaryExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -613,8 +573,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CastExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -640,8 +598,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ClassSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -660,8 +616,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CaseStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -678,8 +632,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual StatementListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -700,8 +652,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CompoundStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -718,8 +668,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ConditionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -739,8 +687,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ConditionalExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -762,8 +708,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CppCastExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -780,8 +724,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CtorInitializerAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -797,8 +739,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeclarationStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -814,8 +754,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeclaratorIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -833,8 +771,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NestedDeclaratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -858,8 +794,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual FunctionDeclaratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -877,8 +811,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ArrayDeclaratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -896,8 +828,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeclaratorListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -917,8 +847,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DeleteExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -940,8 +868,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DoStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -957,8 +883,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NamedTypeSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -975,8 +899,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ElaboratedTypeSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -996,8 +918,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual EnumSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1017,8 +937,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual EnumeratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1036,8 +954,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ExceptionDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1057,8 +973,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ExceptionSpecificationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1075,8 +989,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ExpressionOrDeclarationStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1093,8 +1005,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ExpressionStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1117,8 +1027,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual FunctionDefinitionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1147,8 +1055,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ForeachStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1174,8 +1080,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ForStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1200,8 +1104,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual IfStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1219,8 +1121,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ArrayInitializerAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1238,8 +1138,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual LabeledStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1256,8 +1154,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual LinkageBodyAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1275,8 +1171,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual LinkageSpecificationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1297,8 +1191,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual MemInitializerAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1311,7 +1203,6 @@ public: // annotations public: virtual NameAST *asName() { return this; } - virtual NameAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT NestedNameSpecifierAST: public AST @@ -1327,8 +1218,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NestedNameSpecifierAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1346,8 +1235,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual QualifiedNameAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1364,8 +1251,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual OperatorFunctionIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1383,8 +1268,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ConversionFunctionIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1400,8 +1283,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual SimpleNameAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1418,8 +1299,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual DestructorNameAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1438,8 +1317,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TemplateIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1461,8 +1338,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NamespaceAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1482,8 +1357,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NamespaceAliasDefinitionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1501,8 +1374,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NewPlacementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1521,8 +1392,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NewArrayDeclaratorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1548,8 +1417,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NewExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1567,8 +1434,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NewInitializerAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1586,8 +1451,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NewTypeIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1605,8 +1468,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual OperatorAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1628,8 +1489,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ParameterDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1646,8 +1505,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ParameterDeclarationClauseAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1660,7 +1517,6 @@ public: public: virtual PostfixAST *asPostfix() { return this; } - virtual PostfixAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT CallAST: public PostfixAST @@ -1676,8 +1532,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CallAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1695,8 +1549,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ArrayAccessAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1712,8 +1564,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual PostIncrDecrAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1731,8 +1581,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual MemberAccessAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1751,8 +1599,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypeidExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1772,8 +1618,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypenameCallExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1792,8 +1636,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypeConstructorCallAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1810,8 +1652,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual PostfixExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1824,7 +1664,6 @@ public: public: virtual PtrOperatorAST *asPtrOperator() { return this; } - virtual PtrOperatorAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT PointerToMemberAST: public PtrOperatorAST @@ -1841,8 +1680,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual PointerToMemberAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1859,8 +1696,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual PointerAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1876,8 +1711,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ReferenceAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1894,8 +1727,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual BreakStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1912,8 +1743,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ContinueStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1931,8 +1760,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual GotoStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1950,8 +1777,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ReturnStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1970,8 +1795,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual SizeofExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -1987,8 +1810,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NumericLiteralAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2004,8 +1825,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual BoolLiteralAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2021,8 +1840,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ThisExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2040,8 +1857,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual NestedExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2058,8 +1873,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual StringLiteralAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2082,8 +1895,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual SwitchStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2101,8 +1912,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TemplateArgumentListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2123,8 +1932,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TemplateDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2141,8 +1948,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ThrowExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2158,8 +1963,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TranslationUnitAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2177,8 +1980,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TryBlockStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2202,8 +2003,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual CatchClauseAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2220,8 +2019,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypeIdAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2243,8 +2040,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TypenameTypeParameterAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2270,8 +2065,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual TemplateTypeParameterAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2288,8 +2081,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual UnaryExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2311,8 +2102,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual UsingAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2334,8 +2123,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual UsingDirectiveAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2358,8 +2145,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual WhileStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2379,8 +2164,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual IdentifierListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2402,8 +2185,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCClassForwardDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2434,8 +2215,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCClassDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2457,8 +2236,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolForwardDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2482,8 +2259,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2501,8 +2276,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolRefsAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2518,8 +2291,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMessageArgumentAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2536,8 +2307,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMessageArgumentListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2557,8 +2326,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMessageExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2577,8 +2344,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCProtocolExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2597,8 +2362,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCTypeNameAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2615,8 +2378,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCEncodeExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2629,7 +2390,6 @@ public: // annotation public: virtual ObjCSelectorAST *asObjCSelector() { return this; } - virtual ObjCSelectorAST *clone(MemoryPool *pool) const = 0; }; class CPLUSPLUS_EXPORT ObjCSelectorWithoutArgumentsAST: public ObjCSelectorAST @@ -2643,8 +2403,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSelectorWithoutArgumentsAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2661,8 +2419,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSelectorArgumentAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2679,8 +2435,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSelectorArgumentListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2696,8 +2450,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSelectorWithArgumentsAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2716,8 +2468,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSelectorExpressionAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2735,8 +2485,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCInstanceVariablesDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2752,8 +2500,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCVisibilityDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2771,8 +2517,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCPropertyAttributeAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2790,8 +2534,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCPropertyAttributeListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2812,8 +2554,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCPropertyDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2834,8 +2574,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMessageArgumentDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2852,8 +2590,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMessageArgumentDeclarationListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2877,8 +2613,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMethodPrototypeAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2896,8 +2630,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCMethodDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2915,8 +2647,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSynthesizedPropertyAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2934,8 +2664,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSynthesizedPropertyListAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2953,8 +2681,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSynthesizedPropertiesDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -2972,8 +2698,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCDynamicPropertiesDeclarationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -3004,8 +2728,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCFastEnumerationAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; @@ -3025,8 +2747,6 @@ public: virtual unsigned firstToken() const; virtual unsigned lastToken() const; - virtual ObjCSynchronizedStatementAST *clone(MemoryPool *pool) const; - protected: virtual void accept0(ASTVisitor *visitor); }; diff --git a/src/shared/cplusplus/ASTClone.cpp b/src/shared/cplusplus/ASTClone.cpp deleted file mode 100644 index 3c17829292ac5b2df169591399b214546a635130..0000000000000000000000000000000000000000 --- a/src/shared/cplusplus/ASTClone.cpp +++ /dev/null @@ -1,1563 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** Commercial Usage -** -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** 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. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://qt.nokia.com/contact. -** -**************************************************************************/ - -#include "AST.h" -#include "ASTVisitor.h" - -using namespace CPlusPlus; - -SimpleSpecifierAST *SimpleSpecifierAST::clone(MemoryPool *pool) const -{ - SimpleSpecifierAST *ast = new (pool) SimpleSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy SimpleSpecifierAST - ast->specifier_token = specifier_token; - return ast; -} - -AttributeSpecifierAST *AttributeSpecifierAST::clone(MemoryPool *pool) const -{ - AttributeSpecifierAST *ast = new (pool) AttributeSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy AttributeSpecifierAST - ast->attribute_token = attribute_token; - ast->first_lparen_token = first_lparen_token; - ast->second_lparen_token = second_lparen_token; - if (attributes) ast->attributes = attributes->clone(pool); - ast->first_rparen_token = first_rparen_token; - ast->second_rparen_token = second_rparen_token; - return ast; -} - -AttributeAST *AttributeAST::clone(MemoryPool *pool) const -{ - AttributeAST *ast = new (pool) AttributeAST; - // copy AttributeAST - ast->identifier_token = identifier_token; - ast->lparen_token = lparen_token; - ast->tag_token = tag_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rparen_token = rparen_token; - if (next) ast->next = next->clone(pool); - ast->comma_token = comma_token; - return ast; -} - -TypeofSpecifierAST *TypeofSpecifierAST::clone(MemoryPool *pool) const -{ - TypeofSpecifierAST *ast = new (pool) TypeofSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy TypeofSpecifierAST - ast->typeof_token = typeof_token; - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -DeclarationListAST *DeclarationListAST::clone(MemoryPool *pool) const -{ - DeclarationListAST *ast = new (pool) DeclarationListAST; - // copy DeclarationListAST - if (declaration) ast->declaration = declaration->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -DeclaratorAST *DeclaratorAST::clone(MemoryPool *pool) const -{ - DeclaratorAST *ast = new (pool) DeclaratorAST; - // copy DeclaratorAST - if (attributes) ast->attributes = attributes->clone(pool); - if (ptr_operators) ast->ptr_operators = ptr_operators->clone(pool); - if (core_declarator) ast->core_declarator = core_declarator->clone(pool); - if (postfix_declarators) ast->postfix_declarators = postfix_declarators->clone(pool); - if (post_attributes) ast->post_attributes = post_attributes->clone(pool); - ast->equals_token = equals_token; - if (initializer) ast->initializer = initializer->clone(pool); - return ast; -} - -ExpressionListAST *ExpressionListAST::clone(MemoryPool *pool) const -{ - ExpressionListAST *ast = new (pool) ExpressionListAST; - // copy ExpressionListAST - ast->comma_token = comma_token; - if (expression) ast->expression = expression->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -SimpleDeclarationAST *SimpleDeclarationAST::clone(MemoryPool *pool) const -{ - SimpleDeclarationAST *ast = new (pool) SimpleDeclarationAST; - // copy DeclarationAST - // copy SimpleDeclarationAST - ast->qt_invokable_token = qt_invokable_token; - if (decl_specifier_seq) ast->decl_specifier_seq = decl_specifier_seq->clone(pool); - if (declarators) ast->declarators = declarators->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -EmptyDeclarationAST *EmptyDeclarationAST::clone(MemoryPool *pool) const -{ - EmptyDeclarationAST *ast = new (pool) EmptyDeclarationAST; - // copy DeclarationAST - // copy EmptyDeclarationAST - ast->semicolon_token = semicolon_token; - return ast; -} - -AccessDeclarationAST *AccessDeclarationAST::clone(MemoryPool *pool) const -{ - AccessDeclarationAST *ast = new (pool) AccessDeclarationAST; - // copy DeclarationAST - // copy AccessDeclarationAST - ast->access_specifier_token = access_specifier_token; - ast->slots_token = slots_token; - ast->colon_token = colon_token; - return ast; -} - -AsmDefinitionAST *AsmDefinitionAST::clone(MemoryPool *pool) const -{ - AsmDefinitionAST *ast = new (pool) AsmDefinitionAST; - // copy DeclarationAST - // copy AsmDefinitionAST - ast->asm_token = asm_token; - ast->volatile_token = volatile_token; - ast->lparen_token = lparen_token; - ast->rparen_token = rparen_token; - ast->semicolon_token = semicolon_token; - return ast; -} - -BaseSpecifierAST *BaseSpecifierAST::clone(MemoryPool *pool) const -{ - BaseSpecifierAST *ast = new (pool) BaseSpecifierAST; - // copy BaseSpecifierAST - ast->comma_token = comma_token; - ast->virtual_token = virtual_token; - ast->access_specifier_token = access_specifier_token; - if (name) ast->name = name->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -CompoundLiteralAST *CompoundLiteralAST::clone(MemoryPool *pool) const -{ - CompoundLiteralAST *ast = new (pool) CompoundLiteralAST; - // copy ExpressionAST - // copy CompoundLiteralAST - ast->lparen_token = lparen_token; - if (type_id) ast->type_id = type_id->clone(pool); - ast->rparen_token = rparen_token; - if (initializer) ast->initializer = initializer->clone(pool); - return ast; -} - -QtMethodAST *QtMethodAST::clone(MemoryPool *pool) const -{ - QtMethodAST *ast = new (pool) QtMethodAST; - // copy ExpressionAST - // copy QtMethodAST - ast->method_token = method_token; - ast->lparen_token = lparen_token; - if (declarator) ast->declarator = declarator->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -BinaryExpressionAST *BinaryExpressionAST::clone(MemoryPool *pool) const -{ - BinaryExpressionAST *ast = new (pool) BinaryExpressionAST; - // copy ExpressionAST - // copy BinaryExpressionAST - if (left_expression) ast->left_expression = left_expression->clone(pool); - ast->binary_op_token = binary_op_token; - if (right_expression) ast->right_expression = right_expression->clone(pool); - return ast; -} - -CastExpressionAST *CastExpressionAST::clone(MemoryPool *pool) const -{ - CastExpressionAST *ast = new (pool) CastExpressionAST; - // copy ExpressionAST - // copy CastExpressionAST - ast->lparen_token = lparen_token; - if (type_id) ast->type_id = type_id->clone(pool); - ast->rparen_token = rparen_token; - if (expression) ast->expression = expression->clone(pool); - return ast; -} - -ClassSpecifierAST *ClassSpecifierAST::clone(MemoryPool *pool) const -{ - ClassSpecifierAST *ast = new (pool) ClassSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy ClassSpecifierAST - ast->classkey_token = classkey_token; - if (attributes) ast->attributes = attributes->clone(pool); - if (name) ast->name = name->clone(pool); - ast->colon_token = colon_token; - if (base_clause) ast->base_clause = base_clause->clone(pool); - ast->lbrace_token = lbrace_token; - if (member_specifiers) ast->member_specifiers = member_specifiers->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -CaseStatementAST *CaseStatementAST::clone(MemoryPool *pool) const -{ - CaseStatementAST *ast = new (pool) CaseStatementAST; - // copy StatementAST - // copy CaseStatementAST - ast->case_token = case_token; - if (expression) ast->expression = expression->clone(pool); - ast->colon_token = colon_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -StatementListAST *StatementListAST::clone(MemoryPool *pool) const -{ - StatementListAST *ast = new (pool) StatementListAST; - // copy StatementListAST - if (statement) ast->statement = statement->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -CompoundStatementAST *CompoundStatementAST::clone(MemoryPool *pool) const -{ - CompoundStatementAST *ast = new (pool) CompoundStatementAST; - // copy StatementAST - // copy CompoundStatementAST - ast->lbrace_token = lbrace_token; - if (statements) ast->statements = statements->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -ConditionAST *ConditionAST::clone(MemoryPool *pool) const -{ - ConditionAST *ast = new (pool) ConditionAST; - // copy ExpressionAST - // copy ConditionAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - return ast; -} - -ConditionalExpressionAST *ConditionalExpressionAST::clone(MemoryPool *pool) const -{ - ConditionalExpressionAST *ast = new (pool) ConditionalExpressionAST; - // copy ExpressionAST - // copy ConditionalExpressionAST - if (condition) ast->condition = condition->clone(pool); - ast->question_token = question_token; - if (left_expression) ast->left_expression = left_expression->clone(pool); - ast->colon_token = colon_token; - if (right_expression) ast->right_expression = right_expression->clone(pool); - return ast; -} - -CppCastExpressionAST *CppCastExpressionAST::clone(MemoryPool *pool) const -{ - CppCastExpressionAST *ast = new (pool) CppCastExpressionAST; - // copy ExpressionAST - // copy CppCastExpressionAST - ast->cast_token = cast_token; - ast->less_token = less_token; - if (type_id) ast->type_id = type_id->clone(pool); - ast->greater_token = greater_token; - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -CtorInitializerAST *CtorInitializerAST::clone(MemoryPool *pool) const -{ - CtorInitializerAST *ast = new (pool) CtorInitializerAST; - // copy CtorInitializerAST - ast->colon_token = colon_token; - if (member_initializers) ast->member_initializers = member_initializers->clone(pool); - return ast; -} - -DeclarationStatementAST *DeclarationStatementAST::clone(MemoryPool *pool) const -{ - DeclarationStatementAST *ast = new (pool) DeclarationStatementAST; - // copy StatementAST - // copy DeclarationStatementAST - if (declaration) ast->declaration = declaration->clone(pool); - return ast; -} - -DeclaratorIdAST *DeclaratorIdAST::clone(MemoryPool *pool) const -{ - DeclaratorIdAST *ast = new (pool) DeclaratorIdAST; - // copy CoreDeclaratorAST - // copy DeclaratorIdAST - if (name) ast->name = name->clone(pool); - return ast; -} - -NestedDeclaratorAST *NestedDeclaratorAST::clone(MemoryPool *pool) const -{ - NestedDeclaratorAST *ast = new (pool) NestedDeclaratorAST; - // copy CoreDeclaratorAST - // copy NestedDeclaratorAST - ast->lparen_token = lparen_token; - if (declarator) ast->declarator = declarator->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -FunctionDeclaratorAST *FunctionDeclaratorAST::clone(MemoryPool *pool) const -{ - FunctionDeclaratorAST *ast = new (pool) FunctionDeclaratorAST; - // copy PostfixDeclaratorAST - if (next) ast->next = next->clone(pool); - // copy FunctionDeclaratorAST - ast->lparen_token = lparen_token; - if (parameters) ast->parameters = parameters->clone(pool); - ast->rparen_token = rparen_token; - if (cv_qualifier_seq) ast->cv_qualifier_seq = cv_qualifier_seq->clone(pool); - if (exception_specification) ast->exception_specification = exception_specification->clone(pool); - if (as_cpp_initializer) ast->as_cpp_initializer = as_cpp_initializer->clone(pool); - return ast; -} - -ArrayDeclaratorAST *ArrayDeclaratorAST::clone(MemoryPool *pool) const -{ - ArrayDeclaratorAST *ast = new (pool) ArrayDeclaratorAST; - // copy PostfixDeclaratorAST - if (next) ast->next = next->clone(pool); - // copy ArrayDeclaratorAST - ast->lbracket_token = lbracket_token; - if (expression) ast->expression = expression->clone(pool); - ast->rbracket_token = rbracket_token; - return ast; -} - -DeclaratorListAST *DeclaratorListAST::clone(MemoryPool *pool) const -{ - DeclaratorListAST *ast = new (pool) DeclaratorListAST; - // copy DeclaratorListAST - ast->comma_token = comma_token; - if (declarator) ast->declarator = declarator->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -DeleteExpressionAST *DeleteExpressionAST::clone(MemoryPool *pool) const -{ - DeleteExpressionAST *ast = new (pool) DeleteExpressionAST; - // copy ExpressionAST - // copy DeleteExpressionAST - ast->scope_token = scope_token; - ast->delete_token = delete_token; - ast->lbracket_token = lbracket_token; - ast->rbracket_token = rbracket_token; - if (expression) ast->expression = expression->clone(pool); - return ast; -} - -DoStatementAST *DoStatementAST::clone(MemoryPool *pool) const -{ - DoStatementAST *ast = new (pool) DoStatementAST; - // copy StatementAST - // copy DoStatementAST - ast->do_token = do_token; - if (statement) ast->statement = statement->clone(pool); - ast->while_token = while_token; - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - ast->semicolon_token = semicolon_token; - return ast; -} - -NamedTypeSpecifierAST *NamedTypeSpecifierAST::clone(MemoryPool *pool) const -{ - NamedTypeSpecifierAST *ast = new (pool) NamedTypeSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy NamedTypeSpecifierAST - if (name) ast->name = name->clone(pool); - return ast; -} - -ElaboratedTypeSpecifierAST *ElaboratedTypeSpecifierAST::clone(MemoryPool *pool) const -{ - ElaboratedTypeSpecifierAST *ast = new (pool) ElaboratedTypeSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy ElaboratedTypeSpecifierAST - ast->classkey_token = classkey_token; - if (name) ast->name = name->clone(pool); - return ast; -} - -EnumSpecifierAST *EnumSpecifierAST::clone(MemoryPool *pool) const -{ - EnumSpecifierAST *ast = new (pool) EnumSpecifierAST; - // copy SpecifierAST - if (next) ast->next = next->clone(pool); - // copy EnumSpecifierAST - ast->enum_token = enum_token; - if (name) ast->name = name->clone(pool); - ast->lbrace_token = lbrace_token; - if (enumerators) ast->enumerators = enumerators->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -EnumeratorAST *EnumeratorAST::clone(MemoryPool *pool) const -{ - EnumeratorAST *ast = new (pool) EnumeratorAST; - // copy EnumeratorAST - ast->comma_token = comma_token; - ast->identifier_token = identifier_token; - ast->equal_token = equal_token; - if (expression) ast->expression = expression->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -ExceptionDeclarationAST *ExceptionDeclarationAST::clone(MemoryPool *pool) const -{ - ExceptionDeclarationAST *ast = new (pool) ExceptionDeclarationAST; - // copy DeclarationAST - // copy ExceptionDeclarationAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - ast->dot_dot_dot_token = dot_dot_dot_token; - return ast; -} - -ExceptionSpecificationAST *ExceptionSpecificationAST::clone(MemoryPool *pool) const -{ - ExceptionSpecificationAST *ast = new (pool) ExceptionSpecificationAST; - // copy ExceptionSpecificationAST - ast->throw_token = throw_token; - ast->lparen_token = lparen_token; - ast->dot_dot_dot_token = dot_dot_dot_token; - if (type_ids) ast->type_ids = type_ids->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -ExpressionOrDeclarationStatementAST *ExpressionOrDeclarationStatementAST::clone(MemoryPool *pool) const -{ - ExpressionOrDeclarationStatementAST *ast = new (pool) ExpressionOrDeclarationStatementAST; - // copy StatementAST - // copy ExpressionOrDeclarationStatementAST - if (expression) ast->expression = expression->clone(pool); - if (declaration) ast->declaration = declaration->clone(pool); - return ast; -} - -ExpressionStatementAST *ExpressionStatementAST::clone(MemoryPool *pool) const -{ - ExpressionStatementAST *ast = new (pool) ExpressionStatementAST; - // copy StatementAST - // copy ExpressionStatementAST - if (expression) ast->expression = expression->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -FunctionDefinitionAST *FunctionDefinitionAST::clone(MemoryPool *pool) const -{ - FunctionDefinitionAST *ast = new (pool) FunctionDefinitionAST; - // copy DeclarationAST - // copy FunctionDefinitionAST - ast->qt_invokable_token = qt_invokable_token; - if (decl_specifier_seq) ast->decl_specifier_seq = decl_specifier_seq->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - if (ctor_initializer) ast->ctor_initializer = ctor_initializer->clone(pool); - if (function_body) ast->function_body = function_body->clone(pool); - return ast; -} - -ForeachStatementAST *ForeachStatementAST::clone(MemoryPool *pool) const -{ - ForeachStatementAST *ast = new (pool) ForeachStatementAST; - // copy StatementAST - // copy ForeachStatementAST - ast->foreach_token = foreach_token; - ast->lparen_token = lparen_token; - if (type_specifiers) ast->type_specifiers = type_specifiers->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - if (initializer) ast->initializer = initializer->clone(pool); - ast->comma_token = comma_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -ForStatementAST *ForStatementAST::clone(MemoryPool *pool) const -{ - ForStatementAST *ast = new (pool) ForStatementAST; - // copy StatementAST - // copy ForStatementAST - ast->for_token = for_token; - ast->lparen_token = lparen_token; - if (initializer) ast->initializer = initializer->clone(pool); - if (condition) ast->condition = condition->clone(pool); - ast->semicolon_token = semicolon_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -IfStatementAST *IfStatementAST::clone(MemoryPool *pool) const -{ - IfStatementAST *ast = new (pool) IfStatementAST; - // copy StatementAST - // copy IfStatementAST - ast->if_token = if_token; - ast->lparen_token = lparen_token; - if (condition) ast->condition = condition->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - ast->else_token = else_token; - if (else_statement) ast->else_statement = else_statement->clone(pool); - return ast; -} - -ArrayInitializerAST *ArrayInitializerAST::clone(MemoryPool *pool) const -{ - ArrayInitializerAST *ast = new (pool) ArrayInitializerAST; - // copy ExpressionAST - // copy ArrayInitializerAST - ast->lbrace_token = lbrace_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -LabeledStatementAST *LabeledStatementAST::clone(MemoryPool *pool) const -{ - LabeledStatementAST *ast = new (pool) LabeledStatementAST; - // copy StatementAST - // copy LabeledStatementAST - ast->label_token = label_token; - ast->colon_token = colon_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -LinkageBodyAST *LinkageBodyAST::clone(MemoryPool *pool) const -{ - LinkageBodyAST *ast = new (pool) LinkageBodyAST; - // copy DeclarationAST - // copy LinkageBodyAST - ast->lbrace_token = lbrace_token; - if (declarations) ast->declarations = declarations->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -LinkageSpecificationAST *LinkageSpecificationAST::clone(MemoryPool *pool) const -{ - LinkageSpecificationAST *ast = new (pool) LinkageSpecificationAST; - // copy DeclarationAST - // copy LinkageSpecificationAST - ast->extern_token = extern_token; - ast->extern_type_token = extern_type_token; - if (declaration) ast->declaration = declaration->clone(pool); - return ast; -} - -MemInitializerAST *MemInitializerAST::clone(MemoryPool *pool) const -{ - MemInitializerAST *ast = new (pool) MemInitializerAST; - // copy MemInitializerAST - ast->comma_token = comma_token; - if (name) ast->name = name->clone(pool); - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -NestedNameSpecifierAST *NestedNameSpecifierAST::clone(MemoryPool *pool) const -{ - NestedNameSpecifierAST *ast = new (pool) NestedNameSpecifierAST; - // copy NestedNameSpecifierAST - if (class_or_namespace_name) ast->class_or_namespace_name = class_or_namespace_name->clone(pool); - ast->scope_token = scope_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -QualifiedNameAST *QualifiedNameAST::clone(MemoryPool *pool) const -{ - QualifiedNameAST *ast = new (pool) QualifiedNameAST; - // copy ExpressionAST - // copy NameAST - // copy QualifiedNameAST - ast->global_scope_token = global_scope_token; - if (nested_name_specifier) ast->nested_name_specifier = nested_name_specifier->clone(pool); - if (unqualified_name) ast->unqualified_name = unqualified_name->clone(pool); - return ast; -} - -OperatorFunctionIdAST *OperatorFunctionIdAST::clone(MemoryPool *pool) const -{ - OperatorFunctionIdAST *ast = new (pool) OperatorFunctionIdAST; - // copy ExpressionAST - // copy NameAST - // copy OperatorFunctionIdAST - ast->operator_token = operator_token; - if (op) ast->op = op->clone(pool); - return ast; -} - -ConversionFunctionIdAST *ConversionFunctionIdAST::clone(MemoryPool *pool) const -{ - ConversionFunctionIdAST *ast = new (pool) ConversionFunctionIdAST; - // copy ExpressionAST - // copy NameAST - // copy ConversionFunctionIdAST - ast->operator_token = operator_token; - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (ptr_operators) ast->ptr_operators = ptr_operators->clone(pool); - return ast; -} - -SimpleNameAST *SimpleNameAST::clone(MemoryPool *pool) const -{ - SimpleNameAST *ast = new (pool) SimpleNameAST; - // copy ExpressionAST - // copy NameAST - // copy SimpleNameAST - ast->identifier_token = identifier_token; - return ast; -} - -DestructorNameAST *DestructorNameAST::clone(MemoryPool *pool) const -{ - DestructorNameAST *ast = new (pool) DestructorNameAST; - // copy ExpressionAST - // copy NameAST - // copy DestructorNameAST - ast->tilde_token = tilde_token; - ast->identifier_token = identifier_token; - return ast; -} - -TemplateIdAST *TemplateIdAST::clone(MemoryPool *pool) const -{ - TemplateIdAST *ast = new (pool) TemplateIdAST; - // copy ExpressionAST - // copy NameAST - // copy TemplateIdAST - ast->identifier_token = identifier_token; - ast->less_token = less_token; - if (template_arguments) ast->template_arguments = template_arguments->clone(pool); - ast->greater_token = greater_token; - return ast; -} - -NamespaceAST *NamespaceAST::clone(MemoryPool *pool) const -{ - NamespaceAST *ast = new (pool) NamespaceAST; - // copy DeclarationAST - // copy NamespaceAST - ast->namespace_token = namespace_token; - ast->identifier_token = identifier_token; - if (attributes) ast->attributes = attributes->clone(pool); - if (linkage_body) ast->linkage_body = linkage_body->clone(pool); - return ast; -} - -NamespaceAliasDefinitionAST *NamespaceAliasDefinitionAST::clone(MemoryPool *pool) const -{ - NamespaceAliasDefinitionAST *ast = new (pool) NamespaceAliasDefinitionAST; - // copy DeclarationAST - // copy NamespaceAliasDefinitionAST - ast->namespace_token = namespace_token; - ast->namespace_name_token = namespace_name_token; - ast->equal_token = equal_token; - if (name) ast->name = name->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -NewPlacementAST *NewPlacementAST::clone(MemoryPool *pool) const -{ - NewPlacementAST *ast = new (pool) NewPlacementAST; - // copy NewPlacementAST - ast->lparen_token = lparen_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -NewArrayDeclaratorAST *NewArrayDeclaratorAST::clone(MemoryPool *pool) const -{ - NewArrayDeclaratorAST *ast = new (pool) NewArrayDeclaratorAST; - // copy NewArrayDeclaratorAST - ast->lbracket_token = lbracket_token; - if (expression) ast->expression = expression->clone(pool); - ast->rbracket_token = rbracket_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -NewExpressionAST *NewExpressionAST::clone(MemoryPool *pool) const -{ - NewExpressionAST *ast = new (pool) NewExpressionAST; - // copy ExpressionAST - // copy NewExpressionAST - ast->scope_token = scope_token; - ast->new_token = new_token; - if (new_placement) ast->new_placement = new_placement->clone(pool); - ast->lparen_token = lparen_token; - if (type_id) ast->type_id = type_id->clone(pool); - ast->rparen_token = rparen_token; - if (new_type_id) ast->new_type_id = new_type_id->clone(pool); - if (new_initializer) ast->new_initializer = new_initializer->clone(pool); - return ast; -} - -NewInitializerAST *NewInitializerAST::clone(MemoryPool *pool) const -{ - NewInitializerAST *ast = new (pool) NewInitializerAST; - // copy NewInitializerAST - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -NewTypeIdAST *NewTypeIdAST::clone(MemoryPool *pool) const -{ - NewTypeIdAST *ast = new (pool) NewTypeIdAST; - // copy NewTypeIdAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (ptr_operators) ast->ptr_operators = ptr_operators->clone(pool); - if (new_array_declarators) ast->new_array_declarators = new_array_declarators->clone(pool); - return ast; -} - -OperatorAST *OperatorAST::clone(MemoryPool *pool) const -{ - OperatorAST *ast = new (pool) OperatorAST; - // copy OperatorAST - ast->op_token = op_token; - ast->open_token = open_token; - ast->close_token = close_token; - return ast; -} - -ParameterDeclarationAST *ParameterDeclarationAST::clone(MemoryPool *pool) const -{ - ParameterDeclarationAST *ast = new (pool) ParameterDeclarationAST; - // copy DeclarationAST - // copy ParameterDeclarationAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - ast->equal_token = equal_token; - if (expression) ast->expression = expression->clone(pool); - return ast; -} - -ParameterDeclarationClauseAST *ParameterDeclarationClauseAST::clone(MemoryPool *pool) const -{ - ParameterDeclarationClauseAST *ast = new (pool) ParameterDeclarationClauseAST; - // copy ParameterDeclarationClauseAST - if (parameter_declarations) ast->parameter_declarations = parameter_declarations->clone(pool); - ast->dot_dot_dot_token = dot_dot_dot_token; - return ast; -} - -CallAST *CallAST::clone(MemoryPool *pool) const -{ - CallAST *ast = new (pool) CallAST; - // copy PostfixAST - if (next) ast->next = next->clone(pool); - // copy CallAST - ast->lparen_token = lparen_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -ArrayAccessAST *ArrayAccessAST::clone(MemoryPool *pool) const -{ - ArrayAccessAST *ast = new (pool) ArrayAccessAST; - // copy PostfixAST - if (next) ast->next = next->clone(pool); - // copy ArrayAccessAST - ast->lbracket_token = lbracket_token; - if (expression) ast->expression = expression->clone(pool); - ast->rbracket_token = rbracket_token; - return ast; -} - -PostIncrDecrAST *PostIncrDecrAST::clone(MemoryPool *pool) const -{ - PostIncrDecrAST *ast = new (pool) PostIncrDecrAST; - // copy PostfixAST - if (next) ast->next = next->clone(pool); - // copy PostIncrDecrAST - ast->incr_decr_token = incr_decr_token; - return ast; -} - -MemberAccessAST *MemberAccessAST::clone(MemoryPool *pool) const -{ - MemberAccessAST *ast = new (pool) MemberAccessAST; - // copy PostfixAST - if (next) ast->next = next->clone(pool); - // copy MemberAccessAST - ast->access_token = access_token; - ast->template_token = template_token; - if (member_name) ast->member_name = member_name->clone(pool); - return ast; -} - -TypeidExpressionAST *TypeidExpressionAST::clone(MemoryPool *pool) const -{ - TypeidExpressionAST *ast = new (pool) TypeidExpressionAST; - // copy ExpressionAST - // copy TypeidExpressionAST - ast->typeid_token = typeid_token; - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -TypenameCallExpressionAST *TypenameCallExpressionAST::clone(MemoryPool *pool) const -{ - TypenameCallExpressionAST *ast = new (pool) TypenameCallExpressionAST; - // copy ExpressionAST - // copy TypenameCallExpressionAST - ast->typename_token = typename_token; - if (name) ast->name = name->clone(pool); - ast->lparen_token = lparen_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -TypeConstructorCallAST *TypeConstructorCallAST::clone(MemoryPool *pool) const -{ - TypeConstructorCallAST *ast = new (pool) TypeConstructorCallAST; - // copy ExpressionAST - // copy TypeConstructorCallAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - ast->lparen_token = lparen_token; - if (expression_list) ast->expression_list = expression_list->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -PostfixExpressionAST *PostfixExpressionAST::clone(MemoryPool *pool) const -{ - PostfixExpressionAST *ast = new (pool) PostfixExpressionAST; - // copy ExpressionAST - // copy PostfixExpressionAST - if (base_expression) ast->base_expression = base_expression->clone(pool); - if (postfix_expressions) ast->postfix_expressions = postfix_expressions->clone(pool); - return ast; -} - -PointerToMemberAST *PointerToMemberAST::clone(MemoryPool *pool) const -{ - PointerToMemberAST *ast = new (pool) PointerToMemberAST; - // copy PtrOperatorAST - if (next) ast->next = next->clone(pool); - // copy PointerToMemberAST - ast->global_scope_token = global_scope_token; - if (nested_name_specifier) ast->nested_name_specifier = nested_name_specifier->clone(pool); - ast->star_token = star_token; - if (cv_qualifier_seq) ast->cv_qualifier_seq = cv_qualifier_seq->clone(pool); - return ast; -} - -PointerAST *PointerAST::clone(MemoryPool *pool) const -{ - PointerAST *ast = new (pool) PointerAST; - // copy PtrOperatorAST - if (next) ast->next = next->clone(pool); - // copy PointerAST - ast->star_token = star_token; - if (cv_qualifier_seq) ast->cv_qualifier_seq = cv_qualifier_seq->clone(pool); - return ast; -} - -ReferenceAST *ReferenceAST::clone(MemoryPool *pool) const -{ - ReferenceAST *ast = new (pool) ReferenceAST; - // copy PtrOperatorAST - if (next) ast->next = next->clone(pool); - // copy ReferenceAST - ast->amp_token = amp_token; - return ast; -} - -BreakStatementAST *BreakStatementAST::clone(MemoryPool *pool) const -{ - BreakStatementAST *ast = new (pool) BreakStatementAST; - // copy StatementAST - // copy BreakStatementAST - ast->break_token = break_token; - ast->semicolon_token = semicolon_token; - return ast; -} - -ContinueStatementAST *ContinueStatementAST::clone(MemoryPool *pool) const -{ - ContinueStatementAST *ast = new (pool) ContinueStatementAST; - // copy StatementAST - // copy ContinueStatementAST - ast->continue_token = continue_token; - ast->semicolon_token = semicolon_token; - return ast; -} - -GotoStatementAST *GotoStatementAST::clone(MemoryPool *pool) const -{ - GotoStatementAST *ast = new (pool) GotoStatementAST; - // copy StatementAST - // copy GotoStatementAST - ast->goto_token = goto_token; - ast->identifier_token = identifier_token; - ast->semicolon_token = semicolon_token; - return ast; -} - -ReturnStatementAST *ReturnStatementAST::clone(MemoryPool *pool) const -{ - ReturnStatementAST *ast = new (pool) ReturnStatementAST; - // copy StatementAST - // copy ReturnStatementAST - ast->return_token = return_token; - if (expression) ast->expression = expression->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -SizeofExpressionAST *SizeofExpressionAST::clone(MemoryPool *pool) const -{ - SizeofExpressionAST *ast = new (pool) SizeofExpressionAST; - // copy ExpressionAST - // copy SizeofExpressionAST - ast->sizeof_token = sizeof_token; - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -NumericLiteralAST *NumericLiteralAST::clone(MemoryPool *pool) const -{ - NumericLiteralAST *ast = new (pool) NumericLiteralAST; - // copy ExpressionAST - // copy NumericLiteralAST - ast->literal_token = literal_token; - return ast; -} - -BoolLiteralAST *BoolLiteralAST::clone(MemoryPool *pool) const -{ - BoolLiteralAST *ast = new (pool) BoolLiteralAST; - // copy ExpressionAST - // copy BoolLiteralAST - ast->literal_token = literal_token; - return ast; -} - -ThisExpressionAST *ThisExpressionAST::clone(MemoryPool *pool) const -{ - ThisExpressionAST *ast = new (pool) ThisExpressionAST; - // copy ExpressionAST - // copy ThisExpressionAST - ast->this_token = this_token; - return ast; -} - -NestedExpressionAST *NestedExpressionAST::clone(MemoryPool *pool) const -{ - NestedExpressionAST *ast = new (pool) NestedExpressionAST; - // copy ExpressionAST - // copy NestedExpressionAST - ast->lparen_token = lparen_token; - if (expression) ast->expression = expression->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -StringLiteralAST *StringLiteralAST::clone(MemoryPool *pool) const -{ - StringLiteralAST *ast = new (pool) StringLiteralAST; - // copy ExpressionAST - // copy StringLiteralAST - ast->literal_token = literal_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -SwitchStatementAST *SwitchStatementAST::clone(MemoryPool *pool) const -{ - SwitchStatementAST *ast = new (pool) SwitchStatementAST; - // copy StatementAST - // copy SwitchStatementAST - ast->switch_token = switch_token; - ast->lparen_token = lparen_token; - if (condition) ast->condition = condition->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -TemplateArgumentListAST *TemplateArgumentListAST::clone(MemoryPool *pool) const -{ - TemplateArgumentListAST *ast = new (pool) TemplateArgumentListAST; - // copy TemplateArgumentListAST - ast->comma_token = comma_token; - if (template_argument) ast->template_argument = template_argument->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -TemplateDeclarationAST *TemplateDeclarationAST::clone(MemoryPool *pool) const -{ - TemplateDeclarationAST *ast = new (pool) TemplateDeclarationAST; - // copy DeclarationAST - // copy TemplateDeclarationAST - ast->export_token = export_token; - ast->template_token = template_token; - ast->less_token = less_token; - if (template_parameters) ast->template_parameters = template_parameters->clone(pool); - ast->greater_token = greater_token; - if (declaration) ast->declaration = declaration->clone(pool); - return ast; -} - -ThrowExpressionAST *ThrowExpressionAST::clone(MemoryPool *pool) const -{ - ThrowExpressionAST *ast = new (pool) ThrowExpressionAST; - // copy ExpressionAST - // copy ThrowExpressionAST - ast->throw_token = throw_token; - if (expression) ast->expression = expression->clone(pool); - return ast; -} - -TranslationUnitAST *TranslationUnitAST::clone(MemoryPool *pool) const -{ - TranslationUnitAST *ast = new (pool) TranslationUnitAST; - // copy TranslationUnitAST - if (declarations) ast->declarations = declarations->clone(pool); - return ast; -} - -TryBlockStatementAST *TryBlockStatementAST::clone(MemoryPool *pool) const -{ - TryBlockStatementAST *ast = new (pool) TryBlockStatementAST; - // copy StatementAST - // copy TryBlockStatementAST - ast->try_token = try_token; - if (statement) ast->statement = statement->clone(pool); - if (catch_clause_seq) ast->catch_clause_seq = catch_clause_seq->clone(pool); - return ast; -} - -CatchClauseAST *CatchClauseAST::clone(MemoryPool *pool) const -{ - CatchClauseAST *ast = new (pool) CatchClauseAST; - // copy StatementAST - // copy CatchClauseAST - ast->catch_token = catch_token; - ast->lparen_token = lparen_token; - if (exception_declaration) ast->exception_declaration = exception_declaration->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -TypeIdAST *TypeIdAST::clone(MemoryPool *pool) const -{ - TypeIdAST *ast = new (pool) TypeIdAST; - // copy ExpressionAST - // copy TypeIdAST - if (type_specifier) ast->type_specifier = type_specifier->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - return ast; -} - -TypenameTypeParameterAST *TypenameTypeParameterAST::clone(MemoryPool *pool) const -{ - TypenameTypeParameterAST *ast = new (pool) TypenameTypeParameterAST; - // copy DeclarationAST - // copy TypenameTypeParameterAST - ast->classkey_token = classkey_token; - if (name) ast->name = name->clone(pool); - ast->equal_token = equal_token; - if (type_id) ast->type_id = type_id->clone(pool); - return ast; -} - -TemplateTypeParameterAST *TemplateTypeParameterAST::clone(MemoryPool *pool) const -{ - TemplateTypeParameterAST *ast = new (pool) TemplateTypeParameterAST; - // copy DeclarationAST - // copy TemplateTypeParameterAST - ast->template_token = template_token; - ast->less_token = less_token; - if (template_parameters) ast->template_parameters = template_parameters->clone(pool); - ast->greater_token = greater_token; - ast->class_token = class_token; - if (name) ast->name = name->clone(pool); - ast->equal_token = equal_token; - if (type_id) ast->type_id = type_id->clone(pool); - return ast; -} - -UnaryExpressionAST *UnaryExpressionAST::clone(MemoryPool *pool) const -{ - UnaryExpressionAST *ast = new (pool) UnaryExpressionAST; - // copy ExpressionAST - // copy UnaryExpressionAST - ast->unary_op_token = unary_op_token; - if (expression) ast->expression = expression->clone(pool); - return ast; -} - -UsingAST *UsingAST::clone(MemoryPool *pool) const -{ - UsingAST *ast = new (pool) UsingAST; - // copy DeclarationAST - // copy UsingAST - ast->using_token = using_token; - ast->typename_token = typename_token; - if (name) ast->name = name->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -UsingDirectiveAST *UsingDirectiveAST::clone(MemoryPool *pool) const -{ - UsingDirectiveAST *ast = new (pool) UsingDirectiveAST; - // copy DeclarationAST - // copy UsingDirectiveAST - ast->using_token = using_token; - ast->namespace_token = namespace_token; - if (name) ast->name = name->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -WhileStatementAST *WhileStatementAST::clone(MemoryPool *pool) const -{ - WhileStatementAST *ast = new (pool) WhileStatementAST; - // copy StatementAST - // copy WhileStatementAST - ast->while_token = while_token; - ast->lparen_token = lparen_token; - if (condition) ast->condition = condition->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} - -IdentifierListAST *IdentifierListAST::clone(MemoryPool *pool) const -{ - IdentifierListAST *ast = new (pool) IdentifierListAST; - // copy IdentifierListAST - if (name) ast->name = name->clone(pool); - ast->comma_token = comma_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCClassForwardDeclarationAST *ObjCClassForwardDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCClassForwardDeclarationAST *ast = new (pool) ObjCClassForwardDeclarationAST; - // copy DeclarationAST - // copy ObjCClassForwardDeclarationAST - if (attributes) ast->attributes = attributes->clone(pool); - ast->class_token = class_token; - if (identifier_list) ast->identifier_list = identifier_list->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -ObjCClassDeclarationAST *ObjCClassDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCClassDeclarationAST *ast = new (pool) ObjCClassDeclarationAST; - // copy DeclarationAST - // copy ObjCClassDeclarationAST - if (attributes) ast->attributes = attributes->clone(pool); - ast->interface_token = interface_token; - ast->implementation_token = implementation_token; - if (class_name) ast->class_name = class_name->clone(pool); - ast->lparen_token = lparen_token; - if (category_name) ast->category_name = category_name->clone(pool); - ast->rparen_token = rparen_token; - ast->colon_token = colon_token; - if (superclass) ast->superclass = superclass->clone(pool); - if (protocol_refs) ast->protocol_refs = protocol_refs->clone(pool); - if (inst_vars_decl) ast->inst_vars_decl = inst_vars_decl->clone(pool); - if (member_declarations) ast->member_declarations = member_declarations->clone(pool); - ast->end_token = end_token; - return ast; -} - -ObjCProtocolForwardDeclarationAST *ObjCProtocolForwardDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCProtocolForwardDeclarationAST *ast = new (pool) ObjCProtocolForwardDeclarationAST; - // copy DeclarationAST - // copy ObjCProtocolForwardDeclarationAST - if (attributes) ast->attributes = attributes->clone(pool); - ast->protocol_token = protocol_token; - if (identifier_list) ast->identifier_list = identifier_list->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -ObjCProtocolDeclarationAST *ObjCProtocolDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCProtocolDeclarationAST *ast = new (pool) ObjCProtocolDeclarationAST; - // copy DeclarationAST - // copy ObjCProtocolDeclarationAST - if (attributes) ast->attributes = attributes->clone(pool); - ast->protocol_token = protocol_token; - if (name) ast->name = name->clone(pool); - if (protocol_refs) ast->protocol_refs = protocol_refs->clone(pool); - if (member_declarations) ast->member_declarations = member_declarations->clone(pool); - ast->end_token = end_token; - return ast; -} - -ObjCProtocolRefsAST *ObjCProtocolRefsAST::clone(MemoryPool *pool) const -{ - ObjCProtocolRefsAST *ast = new (pool) ObjCProtocolRefsAST; - // copy ObjCProtocolRefsAST - ast->less_token = less_token; - if (identifier_list) ast->identifier_list = identifier_list->clone(pool); - ast->greater_token = greater_token; - return ast; -} - -ObjCMessageArgumentAST *ObjCMessageArgumentAST::clone(MemoryPool *pool) const -{ - ObjCMessageArgumentAST *ast = new (pool) ObjCMessageArgumentAST; - // copy ObjCMessageArgumentAST - if (parameter_value_expression) ast->parameter_value_expression = parameter_value_expression->clone(pool); - return ast; -} - -ObjCMessageArgumentListAST *ObjCMessageArgumentListAST::clone(MemoryPool *pool) const -{ - ObjCMessageArgumentListAST *ast = new (pool) ObjCMessageArgumentListAST; - // copy ObjCMessageArgumentListAST - if (arg) ast->arg = arg->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCMessageExpressionAST *ObjCMessageExpressionAST::clone(MemoryPool *pool) const -{ - ObjCMessageExpressionAST *ast = new (pool) ObjCMessageExpressionAST; - // copy ExpressionAST - // copy ObjCMessageExpressionAST - ast->lbracket_token = lbracket_token; - if (receiver_expression) ast->receiver_expression = receiver_expression->clone(pool); - if (selector) ast->selector = selector->clone(pool); - if (argument_list) ast->argument_list = argument_list->clone(pool); - ast->rbracket_token = rbracket_token; - return ast; -} - -ObjCProtocolExpressionAST *ObjCProtocolExpressionAST::clone(MemoryPool *pool) const -{ - ObjCProtocolExpressionAST *ast = new (pool) ObjCProtocolExpressionAST; - // copy ExpressionAST - // copy ObjCProtocolExpressionAST - ast->protocol_token = protocol_token; - ast->lparen_token = lparen_token; - ast->identifier_token = identifier_token; - ast->rparen_token = rparen_token; - return ast; -} - -ObjCTypeNameAST *ObjCTypeNameAST::clone(MemoryPool *pool) const -{ - ObjCTypeNameAST *ast = new (pool) ObjCTypeNameAST; - // copy ObjCTypeNameAST - ast->lparen_token = lparen_token; - if (type_id) ast->type_id = type_id->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -ObjCEncodeExpressionAST *ObjCEncodeExpressionAST::clone(MemoryPool *pool) const -{ - ObjCEncodeExpressionAST *ast = new (pool) ObjCEncodeExpressionAST; - // copy ExpressionAST - // copy ObjCEncodeExpressionAST - ast->encode_token = encode_token; - if (type_name) ast->type_name = type_name->clone(pool); - return ast; -} - -ObjCSelectorWithoutArgumentsAST *ObjCSelectorWithoutArgumentsAST::clone(MemoryPool *pool) const -{ - ObjCSelectorWithoutArgumentsAST *ast = new (pool) ObjCSelectorWithoutArgumentsAST; - // copy ObjCSelectorAST - // copy ObjCSelectorWithoutArgumentsAST - ast->name_token = name_token; - return ast; -} - -ObjCSelectorArgumentAST *ObjCSelectorArgumentAST::clone(MemoryPool *pool) const -{ - ObjCSelectorArgumentAST *ast = new (pool) ObjCSelectorArgumentAST; - // copy ObjCSelectorArgumentAST - ast->name_token = name_token; - ast->colon_token = colon_token; - return ast; -} - -ObjCSelectorArgumentListAST *ObjCSelectorArgumentListAST::clone(MemoryPool *pool) const -{ - ObjCSelectorArgumentListAST *ast = new (pool) ObjCSelectorArgumentListAST; - // copy ObjCSelectorArgumentListAST - if (argument) ast->argument = argument->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCSelectorWithArgumentsAST *ObjCSelectorWithArgumentsAST::clone(MemoryPool *pool) const -{ - ObjCSelectorWithArgumentsAST *ast = new (pool) ObjCSelectorWithArgumentsAST; - // copy ObjCSelectorAST - // copy ObjCSelectorWithArgumentsAST - if (selector_arguments) ast->selector_arguments = selector_arguments->clone(pool); - return ast; -} - -ObjCSelectorExpressionAST *ObjCSelectorExpressionAST::clone(MemoryPool *pool) const -{ - ObjCSelectorExpressionAST *ast = new (pool) ObjCSelectorExpressionAST; - // copy ExpressionAST - // copy ObjCSelectorExpressionAST - ast->selector_token = selector_token; - ast->lparen_token = lparen_token; - if (selector) ast->selector = selector->clone(pool); - ast->rparen_token = rparen_token; - return ast; -} - -ObjCInstanceVariablesDeclarationAST *ObjCInstanceVariablesDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCInstanceVariablesDeclarationAST *ast = new (pool) ObjCInstanceVariablesDeclarationAST; - // copy ObjCInstanceVariablesDeclarationAST - ast->lbrace_token = lbrace_token; - if (instance_variables) ast->instance_variables = instance_variables->clone(pool); - ast->rbrace_token = rbrace_token; - return ast; -} - -ObjCVisibilityDeclarationAST *ObjCVisibilityDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCVisibilityDeclarationAST *ast = new (pool) ObjCVisibilityDeclarationAST; - // copy DeclarationAST - // copy ObjCVisibilityDeclarationAST - ast->visibility_token = visibility_token; - return ast; -} - -ObjCPropertyAttributeAST *ObjCPropertyAttributeAST::clone(MemoryPool *pool) const -{ - ObjCPropertyAttributeAST *ast = new (pool) ObjCPropertyAttributeAST; - // copy ObjCPropertyAttributeAST - ast->attribute_identifier_token = attribute_identifier_token; - ast->equals_token = equals_token; - if (method_selector) ast->method_selector = method_selector->clone(pool); - return ast; -} - -ObjCPropertyAttributeListAST *ObjCPropertyAttributeListAST::clone(MemoryPool *pool) const -{ - ObjCPropertyAttributeListAST *ast = new (pool) ObjCPropertyAttributeListAST; - // copy ObjCPropertyAttributeListAST - if (attr) ast->attr = attr->clone(pool); - ast->comma_token = comma_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCPropertyDeclarationAST *ObjCPropertyDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCPropertyDeclarationAST *ast = new (pool) ObjCPropertyDeclarationAST; - // copy DeclarationAST - // copy ObjCPropertyDeclarationAST - if (attributes) ast->attributes = attributes->clone(pool); - ast->property_token = property_token; - ast->lparen_token = lparen_token; - if (property_attributes) ast->property_attributes = property_attributes->clone(pool); - ast->rparen_token = rparen_token; - if (simple_declaration) ast->simple_declaration = simple_declaration->clone(pool); - return ast; -} - -ObjCMessageArgumentDeclarationAST *ObjCMessageArgumentDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCMessageArgumentDeclarationAST *ast = new (pool) ObjCMessageArgumentDeclarationAST; - // copy ExpressionAST - // copy NameAST - // copy ObjCMessageArgumentDeclarationAST - if (type_name) ast->type_name = type_name->clone(pool); - if (attributes) ast->attributes = attributes->clone(pool); - ast->param_name_token = param_name_token; - return ast; -} - -ObjCMessageArgumentDeclarationListAST *ObjCMessageArgumentDeclarationListAST::clone(MemoryPool *pool) const -{ - ObjCMessageArgumentDeclarationListAST *ast = new (pool) ObjCMessageArgumentDeclarationListAST; - // copy ObjCMessageArgumentDeclarationListAST - if (argument_declaration) ast->argument_declaration = argument_declaration->clone(pool); - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCMethodPrototypeAST *ObjCMethodPrototypeAST::clone(MemoryPool *pool) const -{ - ObjCMethodPrototypeAST *ast = new (pool) ObjCMethodPrototypeAST; - // copy ObjCMethodPrototypeAST - ast->method_type_token = method_type_token; - if (type_name) ast->type_name = type_name->clone(pool); - if (selector) ast->selector = selector->clone(pool); - if (arguments) ast->arguments = arguments->clone(pool); - ast->dot_dot_dot_token = dot_dot_dot_token; - if (attributes) ast->attributes = attributes->clone(pool); - return ast; -} - -ObjCMethodDeclarationAST *ObjCMethodDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCMethodDeclarationAST *ast = new (pool) ObjCMethodDeclarationAST; - // copy DeclarationAST - // copy ObjCMethodDeclarationAST - if (method_prototype) ast->method_prototype = method_prototype->clone(pool); - if (function_body) ast->function_body = function_body->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -ObjCSynthesizedPropertyAST *ObjCSynthesizedPropertyAST::clone(MemoryPool *pool) const -{ - ObjCSynthesizedPropertyAST *ast = new (pool) ObjCSynthesizedPropertyAST; - // copy ObjCSynthesizedPropertyAST - ast->equals_token = equals_token; - return ast; -} - -ObjCSynthesizedPropertyListAST *ObjCSynthesizedPropertyListAST::clone(MemoryPool *pool) const -{ - ObjCSynthesizedPropertyListAST *ast = new (pool) ObjCSynthesizedPropertyListAST; - // copy ObjCSynthesizedPropertyListAST - if (synthesized_property) ast->synthesized_property = synthesized_property->clone(pool); - ast->comma_token = comma_token; - if (next) ast->next = next->clone(pool); - return ast; -} - -ObjCSynthesizedPropertiesDeclarationAST *ObjCSynthesizedPropertiesDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCSynthesizedPropertiesDeclarationAST *ast = new (pool) ObjCSynthesizedPropertiesDeclarationAST; - // copy DeclarationAST - // copy ObjCSynthesizedPropertiesDeclarationAST - ast->synthesized_token = synthesized_token; - if (property_identifiers) ast->property_identifiers = property_identifiers->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -ObjCDynamicPropertiesDeclarationAST *ObjCDynamicPropertiesDeclarationAST::clone(MemoryPool *pool) const -{ - ObjCDynamicPropertiesDeclarationAST *ast = new (pool) ObjCDynamicPropertiesDeclarationAST; - // copy DeclarationAST - // copy ObjCDynamicPropertiesDeclarationAST - ast->dynamic_token = dynamic_token; - if (property_identifiers) ast->property_identifiers = property_identifiers->clone(pool); - ast->semicolon_token = semicolon_token; - return ast; -} - -ObjCFastEnumerationAST *ObjCFastEnumerationAST::clone(MemoryPool *pool) const -{ - ObjCFastEnumerationAST *ast = new (pool) ObjCFastEnumerationAST; - // copy StatementAST - // copy ObjCFastEnumerationAST - ast->for_token = for_token; - ast->lparen_token = lparen_token; - if (type_specifiers) ast->type_specifiers = type_specifiers->clone(pool); - if (declarator) ast->declarator = declarator->clone(pool); - if (initializer) ast->initializer = initializer->clone(pool); - ast->in_token = in_token; - if (fast_enumeratable_expression) ast->fast_enumeratable_expression = fast_enumeratable_expression->clone(pool); - ast->rparen_token = rparen_token; - if (body_statement) ast->body_statement = body_statement->clone(pool); - return ast; -} - -ObjCSynchronizedStatementAST *ObjCSynchronizedStatementAST::clone(MemoryPool *pool) const -{ - ObjCSynchronizedStatementAST *ast = new (pool) ObjCSynchronizedStatementAST; - // copy StatementAST - // copy ObjCSynchronizedStatementAST - ast->synchronized_token = synchronized_token; - ast->lparen_token = lparen_token; - if (synchronized_object) ast->synchronized_object = synchronized_object->clone(pool); - ast->rparen_token = rparen_token; - if (statement) ast->statement = statement->clone(pool); - return ast; -} diff --git a/src/shared/cplusplus/cplusplus.pri b/src/shared/cplusplus/cplusplus.pri index e6453870b5a3454898de5e78e07a7a4093ede4b0..ddb82afbcd0bb2038cea1cb36c0d8bc145e4fb60 100644 --- a/src/shared/cplusplus/cplusplus.pri +++ b/src/shared/cplusplus/cplusplus.pri @@ -40,7 +40,6 @@ HEADERS += \ SOURCES += \ $$PWD/AST.cpp \ - $$PWD/ASTClone.cpp \ $$PWD/ASTVisit.cpp \ $$PWD/ASTVisitor.cpp \ $$PWD/Array.cpp \