diff options
author | Steve Naroff <snaroff@apple.com> | 2009-07-29 14:06:03 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2009-07-29 14:06:03 +0000 |
commit | 99b10be143e3148b9499af4c0e9ebaf46757cfe6 (patch) | |
tree | 9e8d910b4b5bb46898c18e094206dad4ba0fc215 | |
parent | ef0cb8e62d090ad88a01ca9fa89e48d7416f0ac7 (diff) |
Incorporate feedback from Chris (on r76979).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77452 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/ExprObjC.h | 3 | ||||
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/include/clang/AST/ExprObjC.h b/include/clang/AST/ExprObjC.h index d610b3c01e..16c5d6e0ea 100644 --- a/include/clang/AST/ExprObjC.h +++ b/include/clang/AST/ExprObjC.h @@ -496,7 +496,8 @@ public: virtual child_iterator child_end(); }; -/// ObjCIsaExpr - Represent X->isa and X.isa (similiar in spirit to MemberExpr). +/// ObjCIsaExpr - Represent X->isa and X.isa when X is an ObjC 'id' type. +/// (similiar in spirit to MemberExpr). class ObjCIsaExpr : public Expr { /// Base - the expression for the base object pointer. Stmt *Base; diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index ba9d51dfb5..9114c0b5c1 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -2341,7 +2341,7 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc, } // We have an 'id' type. Rather than fall through, we check if this // is a reference to 'isa'. - if (&Member == &Context.Idents.get("isa")) + if (Member.isStr("isa")) return Owned(new (Context) ObjCIsaExpr(BaseExpr, true, MemberLoc, Context.getObjCIdType())); } @@ -2478,7 +2478,7 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc, // Handle the following exceptional case (*Obj).isa. if (OpKind == tok::period && BaseType->isSpecificBuiltinType(BuiltinType::ObjCId) && - &Member == &Context.Idents.get("isa")) + Member.isStr("isa")) return Owned(new (Context) ObjCIsaExpr(BaseExpr, false, MemberLoc, Context.getObjCIdType())); |