diff options
author | Douglas Gregor <dgregor@apple.com> | 2008-11-04 14:32:21 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2008-11-04 14:32:21 +0000 |
commit | 796da18402f286b897782a298ae3b20c459c102e (patch) | |
tree | da214e77972bb9bce37423f0c0db57b674f694de /lib/AST/Expr.cpp | |
parent | eb704f22ef00a2b41ff1ccf1b20016d7cd4c5c85 (diff) |
Create a new expression class, CXXThisExpr, to handle the C++ 'this' primary expression. Remove CXXThis from PredefinedExpr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Expr.cpp')
-rw-r--r-- | lib/AST/Expr.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 85129b483b..171f7dbde2 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -417,9 +417,7 @@ Expr::isLvalueResult Expr::isLvalue(ASTContext &Ctx) const { case ObjCPropertyRefExprClass: // FIXME: check if read-only property. return LV_Valid; case PredefinedExprClass: - return (cast<PredefinedExpr>(this)->getIdentType() - == PredefinedExpr::CXXThis - ? LV_InvalidExpression : LV_Valid); + return LV_Valid; case VAArgExprClass: return LV_Valid; case CXXDefaultArgExprClass: @@ -439,6 +437,8 @@ Expr::isLvalueResult Expr::isLvalue(ASTContext &Ctx) const { if (cast<ExplicitCastExpr>(this)->getTypeAsWritten()->isReferenceType()) return LV_Valid; break; + case CXXThisExprClass: + return LV_InvalidExpression; default: break; } |