summaryrefslogtreecommitdiff
path: root/shared/cplusplus/AST.h
diff options
context:
space:
mode:
authorRoberto Raggi <qtc-committer@nokia.com>2009-01-13 14:58:29 +0100
committerRoberto Raggi <qtc-committer@nokia.com>2009-01-13 15:04:01 +0100
commit248480b7c952b2b981e3ec9c40bf0f0761c12ac5 (patch)
tree3278da759fff46c1d93491fd5c4d0bad52577c34 /shared/cplusplus/AST.h
parentdd235e2b4827ce76c7dff86a1c3e35400161a33b (diff)
downloadqt-creator-248480b7c952b2b981e3ec9c40bf0f0761c12ac5.tar.gz
Added support for C99 compound literals.
Diffstat (limited to 'shared/cplusplus/AST.h')
-rw-r--r--shared/cplusplus/AST.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/shared/cplusplus/AST.h b/shared/cplusplus/AST.h
index 6607e76805..46322fdd6b 100644
--- a/shared/cplusplus/AST.h
+++ b/shared/cplusplus/AST.h
@@ -94,6 +94,7 @@ public:
CastExpressionAST *asCastExpression();
CatchClauseAST *asCatchClause();
ClassSpecifierAST *asClassSpecifier();
+ CompoundLiteralAST *asCompoundLiteral();
CompoundStatementAST *asCompoundStatement();
ConditionAST *asCondition();
ConditionalExpressionAST *asConditionalExpression();
@@ -429,6 +430,24 @@ protected:
virtual void accept0(ASTVisitor *visitor);
};
+class CPLUSPLUS_EXPORT CompoundLiteralAST: public ExpressionAST
+{
+public:
+ unsigned lparen_token;
+ ExpressionAST *type_id;
+ unsigned rparen_token;
+ ExpressionAST *initializer;
+
+public:
+ virtual unsigned firstToken() const;
+ virtual unsigned lastToken() const;
+
+ virtual CompoundLiteralAST *clone(MemoryPool *pool) const;
+
+protected:
+ virtual void accept0(ASTVisitor *visitor);
+};
+
class CPLUSPLUS_EXPORT QtMethodAST: public ExpressionAST
{
public: