auto synthesized because it is synthesized in its super
class. locate property declaration in super class
which will default synthesize the property. rdar://
18488727
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219535
91177308-0d34-0410-b5e6-
96231b3b80d8
else {
Diag(Prop->getLocation(), diag::warn_autosynthesis_property_in_superclass)
<< Prop->getIdentifier();
+ Diag(PropInSuperClass->getLocation(), diag::note_property_declare);
Diag(IMPDecl->getLocation(), diag::note_while_in_implementation);
}
continue;
@interface TestBase
@property (nonatomic, strong) id object __attribute__((deprecated("deprecated"))); // expected-note {{'object' has been explicitly marked deprecated here}} \
expected-note {{property 'object' is declared deprecated here}} \
-expected-note {{'setObject:' has been explicitly marked deprecated here}}
+expected-note {{'setObject:' has been explicitly marked deprecated here}} \
+expected-note {{property declared here}}
@end
@interface TestDerived : TestBase
// rdar://17774815
@interface ZXParsedResult
-@property (nonatomic, copy, readonly) NSString *description;
+@property (nonatomic, copy, readonly) NSString *description; // expected-note {{property declared here}}
@end
@interface ZXCalendarParsedResult : ZXParsedResult
@interface NSObject @end
@protocol Foo
@property (readonly) char isFoo; // expected-note {{property declared here}}
-@property (readonly) char isNotFree;
+@property (readonly) char isNotFree; // expected-note {{property declared here}}
@end
@interface Bar : NSObject <Foo>
@end
@interface B
-@property (readonly) id prop;
-@property (readonly) id prop1;
-@property (readonly) id prop2;
+@property (readonly) id prop; // expected-note {{property declared here}}
+@property (readonly) id prop1; // expected-note {{property declared here}}
+@property (readonly) id prop2; // expected-note {{property declared here}}
@end
@interface B()
// be adopted later by a subclass.
@interface ClassA <Protocol>
- (void) theBestOfTimes;
-@property (readonly) id theWorstOfTimes;
+@property (readonly) id theWorstOfTimes; // expected-note {{property declared here}}
@end
// This class subclasses ClassA (which also adopts 'Protocol').
// rdar://13349296
__attribute__((objc_root_class)) @interface ClassBase
-@property (nonatomic, retain) ClassBase * foo;
+@property (nonatomic, retain) ClassBase * foo; // expected-note {{property declared here}}
@end
@implementation ClassBase