[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / continuation-class-property.m
blobb24583fce27d58d92eecdf00dfc9c3e98bd24b04
1 // RUN: %clang_cc1  -fsyntax-only -verify %s
3 @protocol Foo
4 @property (readonly, copy) id foos;
5 @end
7 @interface Bar <Foo> {
10 @end
12 @interface Baz  <Foo> {
14 @end
16 @interface Bar ()
17 @property (readwrite, copy) id foos;
18 @end
20 @interface Baz ()
21 @property (readwrite, copy) id foos;
22 @end
25 @class NSString;
27 typedef struct {
28   float width;
29   float length;
30 } NSRect;
32 @interface MyClass  {
34 @property (readonly) NSRect foo; // expected-note {{property declared here}}
35 @property (readonly, strong) NSString *bar; // expected-note {{property declared here}}
36 @end
38 @interface MyClass ()
39 @property (readwrite) NSString *foo; // expected-error {{type of property 'NSString *' in class extension does not match property type in primary class}}
40 @property (readwrite, strong) NSRect bar; // expected-error {{type of property 'NSRect' in class extension does not match property type in primary class}}
41 @end
43 struct S;
44 struct S1;
45 @interface STAdKitContext
46 @property (nonatomic, readonly, assign) struct evhttp_request *httpRequest;
47 @property (nonatomic, readonly, assign) struct S *httpRequest2;
48 @property (nonatomic, readonly, assign) struct S1 *httpRequest3;
49 @property (nonatomic, readonly, assign) struct S2 *httpRequest4;
50 @end
52 struct evhttp_request;
53 struct S1;
55 @interface STAdKitContext()
56 @property (nonatomic, readwrite, assign) struct evhttp_request *httpRequest;
57 @property (nonatomic, readwrite, assign) struct S *httpRequest2;
58 @property (nonatomic, readwrite, assign) struct S1 *httpRequest3;
59 @property (nonatomic, readwrite, assign) struct S2 *httpRequest4;
60 @end
62 @protocol ADCameraJSO_Bindings
63 @property (nonatomic, readonly) NSString *currentPictureURI;
64 @end
66 @interface ADCameraJSO
67 @end
69 @interface ADCameraJSO()  <ADCameraJSO_Bindings>
70 @property (nonatomic, copy) NSString *currentPictureURI;
71 @end