forked from qt-creator/qt-creator
C++11: first set of changes for decltype.
Change-Id: I49d6ff7eb1805cd07bdfcb27bb37d4c6cadc9115 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
29
src/libs/3rdparty/cplusplus/AST.h
vendored
29
src/libs/3rdparty/cplusplus/AST.h
vendored
@@ -156,6 +156,7 @@ public:
|
||||
virtual DeclarationStatementAST *asDeclarationStatement() { return 0; }
|
||||
virtual DeclaratorAST *asDeclarator() { return 0; }
|
||||
virtual DeclaratorIdAST *asDeclaratorId() { return 0; }
|
||||
virtual DecltypeSpecifierAST *asDecltypeSpecifier() { return 0; }
|
||||
virtual DeleteExpressionAST *asDeleteExpression() { return 0; }
|
||||
virtual DestructorNameAST *asDestructorName() { return 0; }
|
||||
virtual DoStatementAST *asDoStatement() { return 0; }
|
||||
@@ -542,6 +543,34 @@ protected:
|
||||
virtual bool match0(AST *, ASTMatcher *);
|
||||
};
|
||||
|
||||
class CPLUSPLUS_EXPORT DecltypeSpecifierAST: public SpecifierAST
|
||||
{
|
||||
public:
|
||||
unsigned decltype_token;
|
||||
unsigned lparen_token;
|
||||
ExpressionAST *expression;
|
||||
unsigned rparen_token;
|
||||
|
||||
public:
|
||||
DecltypeSpecifierAST()
|
||||
: decltype_token(0)
|
||||
, lparen_token(0)
|
||||
, expression(0)
|
||||
, rparen_token(0)
|
||||
{}
|
||||
|
||||
virtual DecltypeSpecifierAST *asDecltypeSpecifier() { return this; }
|
||||
|
||||
virtual unsigned firstToken() const;
|
||||
virtual unsigned lastToken() const;
|
||||
|
||||
virtual DecltypeSpecifierAST *clone(MemoryPool *pool) const;
|
||||
|
||||
protected:
|
||||
virtual void accept0(ASTVisitor *visitor);
|
||||
virtual bool match0(AST *, ASTMatcher *);
|
||||
};
|
||||
|
||||
class CPLUSPLUS_EXPORT DeclaratorAST: public AST
|
||||
{
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user