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