diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-08-31 21:41:48 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-08-31 21:41:48 +0000 |
commit | 0979c805475d1ba49b5d6ef93c4d2ce6d2eab6ed (patch) | |
tree | f1acf35e32cbc873a80d81d928e690560aada567 /lib/AST/Expr.cpp | |
parent | f328a2857d6dc397ec7a304b07d40893891f7f98 (diff) |
Rename CXXQualifiedMemberExpr -> CXXAdornedMemberExpr, since we will
also be adding explicit template arguments as an additional
"adornment". No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80628 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Expr.cpp')
-rw-r--r-- | lib/AST/Expr.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index c890812d91..6bc4854628 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "clang/AST/Expr.h" +#include "clang/AST/ExprCXX.h" #include "clang/AST/APValue.h" #include "clang/AST/ASTContext.h" #include "clang/AST/DeclObjC.h" @@ -497,7 +498,7 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1, } case MemberExprClass: - case CXXQualifiedMemberExprClass: + case CXXAdornedMemberExprClass: // If the base pointer or element is to a volatile pointer/field, accessing // it is a side effect. if (getType().isVolatileQualified()) @@ -686,7 +687,7 @@ Expr::isLvalueResult Expr::isLvalueInternal(ASTContext &Ctx) const { break; } case MemberExprClass: - case CXXQualifiedMemberExprClass: { + case CXXAdornedMemberExprClass: { const MemberExpr *m = cast<MemberExpr>(this); if (Ctx.getLangOptions().CPlusPlus) { // C++ [expr.ref]p4: NamedDecl *Member = m->getMemberDecl(); @@ -958,7 +959,7 @@ bool Expr::isOBJCGCCandidate(ASTContext &Ctx) const { return false; } case MemberExprClass: - case CXXQualifiedMemberExprClass: { + case CXXAdornedMemberExprClass: { const MemberExpr *M = cast<MemberExpr>(this); return M->getBase()->isOBJCGCCandidate(Ctx); } @@ -1916,6 +1917,13 @@ Stmt::child_iterator CallExpr::child_end() { Stmt::child_iterator MemberExpr::child_begin() { return &Base; } Stmt::child_iterator MemberExpr::child_end() { return &Base+1; } +bool MemberExpr::hasQualifier() const { + if (const CXXAdornedMemberExpr *A = dyn_cast<CXXAdornedMemberExpr>(this)) + return A->hasQualifier(); + + return false; +} + // ExtVectorElementExpr Stmt::child_iterator ExtVectorElementExpr::child_begin() { return &Base; } Stmt::child_iterator ExtVectorElementExpr::child_end() { return &Base+1; } |