
The ivar ref would be transformed by the Typo Correction TreeTransform, but not be owned, resulting in the source location being invalid. This would eventually lead to an assertion in findCapturingExpr. Prevent this assertion from triggering. Resolves PR25113. llvm-svn: 260017
33 lines
888 B
Objective-C
33 lines
888 B
Objective-C
// RUN: %clang_cc1 -triple i386-apple-macosx10.10 -fobjc-arc -fsyntax-only -Wno-objc-root-class %s -verify
|
|
|
|
typedef unsigned long NSUInteger;
|
|
|
|
id nameless; // expected-note{{'nameless' declared here}}
|
|
|
|
@interface NSArray
|
|
- (instancetype)initWithObjects:(const id[])objects count:(NSUInteger)count;
|
|
@end
|
|
|
|
@interface I
|
|
@property NSArray *array;
|
|
- (id)getArrayById:(id)name;
|
|
- (void)setArrayValue:(id)array;
|
|
@end
|
|
|
|
@interface J
|
|
- (void)setArray:(id)array;
|
|
- (void)setIvarArray;
|
|
@end
|
|
|
|
@implementation J {
|
|
I *i;
|
|
}
|
|
- (void)setArray:(id)array { // expected-note{{'array' declared here}}
|
|
i.array = aray; // expected-error{{use of undeclared identifier 'aray'; did you mean 'array'}}
|
|
}
|
|
- (void)setIvarArray {
|
|
[i setArrayValue:[i getArrayById:nameles]]; // expected-error{{use of undeclared identifier 'nameles'; did you mean 'nameless'}}
|
|
}
|
|
@end
|
|
|