Added support for C99 compound literals.

This commit is contained in:
Roberto Raggi
2009-01-13 14:58:29 +01:00
parent dd235e2b48
commit 248480b7c9
9 changed files with 103 additions and 3 deletions

View File

@@ -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: