Fix <rdar://problem/6655054> clang issues bogus error on property usage in a dot-syntax.

llvm-svn: 66659
This commit is contained in:
Steve Naroff 2009-03-11 15:15:01 +00:00
parent 1d984fe2bd
commit aa82be2b5b
2 changed files with 36 additions and 10 deletions

View File

@ -1866,10 +1866,8 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc,
// If this reference is in an @implementation, check for 'private' methods.
if (!Getter)
if (ObjCMethodDecl *CurMeth = getCurMethodDecl())
if (ObjCInterfaceDecl *ClassDecl = CurMeth->getClassInterface())
if (ObjCImplementationDecl *ImpDecl =
ObjCImplementations[ClassDecl->getIdentifier()])
ObjCImplementations[IFace->getIdentifier()])
Getter = ImpDecl->getInstanceMethod(Sel);
// Look through local category implementations associated with the class.
@ -1893,10 +1891,8 @@ Sema::ActOnMemberReferenceExpr(Scope *S, ExprArg Base, SourceLocation OpLoc,
if (!Setter) {
// If this reference is in an @implementation, also check for 'private'
// methods.
if (ObjCMethodDecl *CurMeth = getCurMethodDecl())
if (ObjCInterfaceDecl *ClassDecl = CurMeth->getClassInterface())
if (ObjCImplementationDecl *ImpDecl =
ObjCImplementations[ClassDecl->getIdentifier()])
ObjCImplementations[IFace->getIdentifier()])
Setter = ImpDecl->getInstanceMethod(SetterSel);
}
// Look through local category implementations associated with the class.

View File

@ -62,3 +62,33 @@ NSSize minimumSize;
}
@end
@class NSImage;
@interface XCImageArchiveEntry : NSObject
{
NSImage *_cachedImage;
}
@end
@implementation XCImageArchiveEntry
- (NSImage *)image
{
return _cachedImage;
}
@end
@interface XCImageArchive : NSObject
@end
@implementation XCImageArchive
- (NSImage *)imageNamed:(NSString *)name
{
XCImageArchiveEntry * entry;
return entry ? entry.image : ((void *)0);
}
@end