diff options
Diffstat (limited to 'test/SemaObjC/continuation-class-err.m')
-rw-r--r-- | test/SemaObjC/continuation-class-err.m | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/test/SemaObjC/continuation-class-err.m b/test/SemaObjC/continuation-class-err.m index f516a9326a95..262b786b5408 100644 --- a/test/SemaObjC/continuation-class-err.m +++ b/test/SemaObjC/continuation-class-err.m @@ -5,11 +5,36 @@ id _object; id _object1; } -@property(readonly) id object; -@property(readwrite, assign) id object1; +@property(readonly) id object; // expected-note {{property declared here}} +@property(readwrite, assign) id object1; // expected-note {{property declared here}} @end @interface ReadOnly () -@property(readwrite, copy) id object; -@property(readonly) id object1; // expected-error {{attribute of property in continuation class of 'ReadOnly' can only be 'readwrite'}} +@property(readwrite, copy) id object; // expected-warning {{property attribute in continuation class does not match the primary class}} +@property(readonly) id object1; // expected-error {{property declaration in continuation class of 'ReadOnly' is to change a 'readonly' property to 'readwrite'}} @end + +@protocol Proto + @property (copy) id fee; // expected-note {{property declared here}} +@end + +@protocol Foo<Proto> + @property (copy) id foo; // expected-note {{property declared here}} +@end + +@interface Bar <Foo> { + id _foo; + id _fee; +} +@end + +@interface Bar () +@property (copy) id foo; // expected-error {{property declaration in continuation class of 'Bar' is to change a 'readonly' property to 'readwrite'}} +@property (copy) id fee; // expected-error {{property declaration in continuation class of 'Bar' is to change a 'readonly' property to 'readwrite'}} +@end + +@implementation Bar +@synthesize foo = _foo; +@synthesize fee = _fee; +@end + |