[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / ARCMT / objcmt-property-dot-syntax.m.result
blob5153b0e658f6ac1fd020e9c0683803110ccfaefc
1 // RUN: rm -rf %t
2 // RUN: %clang_cc1 -objcmt-migrate-property-dot-syntax -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11
3 // RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
4 // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
6 @class NSString;
8 @protocol NSObject
9 @property (readonly, copy) NSString *description;
10 @end
12 @interface NSObject <NSObject> @end
14 @interface P : NSObject
16   P* obj;
17   int i1, i2, i3;
19 @property int count;
20 @property (copy) P* PropertyReturnsPObj;
21 - (P*) MethodReturnsPObj;
22 @end
24 P* fun(void);
26 @implementation P
27 - (int) Meth : (P*)array {
28   obj.count = 100;
30   ((P*)0).count = array.count;
32   obj.PropertyReturnsPObj.count = array.count;
34   obj.count = (i1+i2*i3 - 100);
36   return obj.count -
37          ((P*)0).count + array.count +
38          fun().count - 
39          obj.PropertyReturnsPObj.count +
40          self->obj.count;
43 - (P*) MethodReturnsPObj { return 0; }
45 - (NSString *)description { return super.description; }
46 @end
48 @interface Sub : P
49 @end
51 @implementation Sub
52 - (int) Meth : (P*)array {
53   super.count = 100;
55   super.count = array.count;
57   super.PropertyReturnsPObj.count = array.count;
59   super.count = (i1+i2*i3 - 100);
61   return super.count -
62          ((P*)0).count + array.count +
63          fun().count -
64          super.PropertyReturnsPObj.count +
65          self->obj.count;
67 @end
70 @interface Rdar19038838
71 @property id newItem; // should be marked objc_method_family(none), but isn't.
72 @end
74 id testRdar19038838(Rdar19038838 *obj) {
75   return obj.newItem;
78 @interface rdar19381786 : NSObject
80   rdar19381786* obj;
82 @property int count;
83 @end
85 @protocol PR 
86 @property int count;
87 @end
89 @implementation rdar19381786
90 -(void)test:(id)some : (id<PR>)qsome : (SEL)selsome
92   obj.count = 100;
93   [some setCount : [some count]];
94   qsome.count = qsome.count;
96 @end
98 int NSOnState;
99 int ArrNSOnState[4];
100 @interface rdar19140114 : NSObject
102   rdar19140114* menuItem;
104 @property int state;
105 @end
107 @implementation rdar19140114
108 - (void) Meth {
109   menuItem.state = NSOnState;
110   menuItem.state = NSOnState;
111   menuItem.state = ArrNSOnState[NSOnState];
112   menuItem.state = NSOnState;
113   menuItem.state = NSOnState;
114   menuItem.state = NSOnState;
115   menuItem.state = NSOnState;
117 @end