зеркало из https://github.com/microsoft/clang-1.git
use the simplified form of lookupInstanceVariable for callers who
don't care which class actually defines it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53825 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
1f719747b2
Коммит
123a11f2fd
|
@ -91,8 +91,7 @@ Sema::ExprResult Sema::ActOnIdentifierExpr(Scope *S, SourceLocation Loc,
|
|||
// name, if the lookup suceeds, we replace it our current decl.
|
||||
if (SD == 0 || SD->isDefinedOutsideFunctionOrMethod()) {
|
||||
ObjCInterfaceDecl *IFace = getCurMethodDecl()->getClassInterface();
|
||||
ObjCInterfaceDecl *DeclClass;
|
||||
if (ObjCIvarDecl *IV = IFace->lookupInstanceVariable(&II, DeclClass)) {
|
||||
if (ObjCIvarDecl *IV = IFace->lookupInstanceVariable(&II)) {
|
||||
// FIXME: This should use a new expr for a direct reference, don't turn
|
||||
// this into Self->ivar, just return a BareIVarExpr or something.
|
||||
IdentifierInfo &II = Context.Idents.get("self");
|
||||
|
@ -637,8 +636,7 @@ ActOnMemberReferenceExpr(ExprTy *Base, SourceLocation OpLoc,
|
|||
IFace = dyn_cast<ObjCInterfaceType>(CanonType)->getDecl();
|
||||
else
|
||||
IFace = dyn_cast<ObjCQualifiedInterfaceType>(CanonType)->getDecl();
|
||||
ObjCInterfaceDecl *clsDeclared;
|
||||
if (ObjCIvarDecl *IV = IFace->lookupInstanceVariable(&Member, clsDeclared))
|
||||
if (ObjCIvarDecl *IV = IFace->lookupInstanceVariable(&Member))
|
||||
return new ObjCIvarRefExpr(IV, IV->getType(), MemberLoc, BaseExpr,
|
||||
OpKind==tok::arrow);
|
||||
// Check for properties.
|
||||
|
|
Загрузка…
Ссылка в новой задаче