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

@@ -1351,6 +1351,13 @@ bool FindUsages::visit(SizeofExpressionAST *ast)
return false;
}
bool FindUsages::visit(PointerLiteralAST *ast)
{
(void) ast;
// unsigned literal_token = ast->literal_token;
return false;
}
bool FindUsages::visit(NumericLiteralAST *ast)
{
(void) ast;

View File

@@ -202,6 +202,7 @@ protected:
virtual bool visit(TypenameCallExpressionAST *ast);
virtual bool visit(TypeConstructorCallAST *ast);
virtual bool visit(SizeofExpressionAST *ast);
virtual bool visit(PointerLiteralAST *ast);
virtual bool visit(NumericLiteralAST *ast);
virtual bool visit(BoolLiteralAST *ast);
virtual bool visit(ThisExpressionAST *ast);

View File

@@ -273,6 +273,13 @@ bool ResolveExpression::visit(SizeofExpressionAST *)
return false;
}
bool ResolveExpression::visit(PointerLiteralAST *)
{
FullySpecifiedType ty(control()->integerType(IntegerType::Int)); // Handling as Int.
addResult(ty, _scope);
return false;
}
bool ResolveExpression::visit(NumericLiteralAST *ast)
{
const Token &tk = tokenAt(ast->literal_token);

View File

@@ -91,6 +91,7 @@ protected:
virtual bool visit(TypenameCallExpressionAST *ast);
virtual bool visit(TypeConstructorCallAST *ast);
virtual bool visit(SizeofExpressionAST *ast);
virtual bool visit(PointerLiteralAST *ast);
virtual bool visit(NumericLiteralAST *ast);
virtual bool visit(BoolLiteralAST *ast);
virtual bool visit(ThisExpressionAST *ast);