diff options
Diffstat (limited to 'clang/test/SemaObjC/continuation-class-property.m')
-rw-r--r-- | clang/test/SemaObjC/continuation-class-property.m | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/continuation-class-property.m b/clang/test/SemaObjC/continuation-class-property.m new file mode 100644 index 0000000..7d95424 --- /dev/null +++ b/clang/test/SemaObjC/continuation-class-property.m @@ -0,0 +1,63 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +// radar 7509234 + +@protocol Foo +@property (readonly, copy) id foos; +@end + +@interface Bar <Foo> { +} + +@end + +@interface Baz <Foo> { +} +@end + +@interface Bar () +@property (readwrite, copy) id foos; +@end + +@interface Baz () +@property (readwrite, copy) id foos; +@end + + +// rdar://10142679 +@class NSString; + +typedef struct { + float width; + float length; +} NSRect; + +@interface MyClass { +} +@property (readonly) NSRect foo; // expected-note {{property declared here}} +@property (readonly, strong) NSString *bar; // expected-note {{property declared here}} +@end + +@interface MyClass () +@property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in continuation class does not match property type in primary class}} +@property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in continuation class does not match property type in primary class}} +@end + +// rdar://10655530 +struct S; +struct S1; +@interface STAdKitContext +@property (nonatomic, readonly, assign) struct evhttp_request *httpRequest; +@property (nonatomic, readonly, assign) struct S *httpRequest2; +@property (nonatomic, readonly, assign) struct S1 *httpRequest3; +@property (nonatomic, readonly, assign) struct S2 *httpRequest4; +@end + +struct evhttp_request; +struct S1; + +@interface STAdKitContext() +@property (nonatomic, readwrite, assign) struct evhttp_request *httpRequest; +@property (nonatomic, readwrite, assign) struct S *httpRequest2; +@property (nonatomic, readwrite, assign) struct S1 *httpRequest3; +@property (nonatomic, readwrite, assign) struct S2 *httpRequest4; +@end |