1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
2 | // radar 7509234 |
3 | |
4 | @protocol Foo |
5 | @property (readonly, copy) id foos; |
6 | @end |
7 | |
8 | @interface Bar <Foo> { |
9 | } |
10 | |
11 | @end |
12 | |
13 | @interface Baz <Foo> { |
14 | } |
15 | @end |
16 | |
17 | @interface Bar () |
18 | @property (readwrite, copy) id foos; |
19 | @end |
20 | |
21 | @interface Baz () |
22 | @property (readwrite, copy) id foos; |
23 | @end |
24 | |
25 | |
26 | // rdar://10142679 |
27 | @class NSString; |
28 | |
29 | typedef struct { |
30 | float width; |
31 | float length; |
32 | } NSRect; |
33 | |
34 | @interface MyClass { |
35 | } |
36 | @property (readonly) NSRect foo; // expected-note {{property declared here}} |
37 | @property (readonly, strong) NSString *bar; // expected-note {{property declared here}} |
38 | @end |
39 | |
40 | @interface MyClass () |
41 | @property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in class extension does not match property type in primary class}} |
42 | @property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in class extension does not match property type in primary class}} |
43 | @end |
44 | |
45 | // rdar://10655530 |
46 | struct S; |
47 | struct S1; |
48 | @interface STAdKitContext |
49 | @property (nonatomic, readonly, assign) struct evhttp_request *httpRequest; |
50 | @property (nonatomic, readonly, assign) struct S *httpRequest2; |
51 | @property (nonatomic, readonly, assign) struct S1 *httpRequest3; |
52 | @property (nonatomic, readonly, assign) struct S2 *httpRequest4; |
53 | @end |
54 | |
55 | struct evhttp_request; |
56 | struct S1; |
57 | |
58 | @interface STAdKitContext() |
59 | @property (nonatomic, readwrite, assign) struct evhttp_request *httpRequest; |
60 | @property (nonatomic, readwrite, assign) struct S *httpRequest2; |
61 | @property (nonatomic, readwrite, assign) struct S1 *httpRequest3; |
62 | @property (nonatomic, readwrite, assign) struct S2 *httpRequest4; |
63 | @end |
64 | |
65 | // rdar://15859862 |
66 | @protocol ADCameraJSO_Bindings |
67 | @property (nonatomic, readonly) NSString *currentPictureURI; |
68 | @end |
69 | |
70 | @interface ADCameraJSO |
71 | @end |
72 | |
73 | @interface ADCameraJSO() <ADCameraJSO_Bindings> |
74 | @property (nonatomic, copy) NSString *currentPictureURI; |
75 | @end |
76 | |