C++: Recognize C++11 nullptr

Change-Id: I5b7ac8f9b2137ffe9439ada4ec4aeb9cee8e249d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
This commit is contained in:
Leandro Melo
2011-11-18 13:33:26 +01:00
parent 64d579dc3a
commit 057fad645b
20 changed files with 140 additions and 1 deletions

View File

@@ -227,6 +227,7 @@ public:
virtual ParameterDeclarationAST *asParameterDeclaration() { return 0; }
virtual ParameterDeclarationClauseAST *asParameterDeclarationClause() { return 0; }
virtual PointerAST *asPointer() { return 0; }
virtual PointerLiteralAST *asPointerLiteral() { return 0; }
virtual PointerToMemberAST *asPointerToMember() { return 0; }
virtual PostIncrDecrAST *asPostIncrDecr() { return 0; }
virtual PostfixAST *asPostfix() { return 0; }
@@ -2904,6 +2905,28 @@ protected:
virtual bool match0(AST *, ASTMatcher *);
};
class CPLUSPLUS_EXPORT PointerLiteralAST: public ExpressionAST
{
public:
unsigned literal_token;
public:
PointerLiteralAST()
: literal_token(0)
{}
virtual PointerLiteralAST *asPointerLiteral() { return this; }
virtual unsigned firstToken() const;
virtual unsigned lastToken() const;
virtual PointerLiteralAST *clone(MemoryPool *pool) const;
protected:
virtual void accept0(ASTVisitor *visitor);
virtual bool match0(AST *, ASTMatcher *);
};
class CPLUSPLUS_EXPORT NumericLiteralAST: public ExpressionAST
{
public: