[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / clang / test / ARCMT / objcmt-property-dot-syntax.m
blobec75b5140e18dfd6aa544d8491a71e9f616efa9d
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 setCount : 100];
30   [(P*)0 setCount : [array count]];
32   [[obj PropertyReturnsPObj] setCount : [array count]];
34   [obj setCount : (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 setCount : 100];
55   [super setCount : [array count]];
57   [[super PropertyReturnsPObj] setCount : [array count]];
59   [super setCount : (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 setCount : 100];
93   [some setCount : [some count]];
94   [qsome setCount : [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 setState:NSOnState];
110   [menuItem setState :NSOnState];
111   [menuItem setState     :ArrNSOnState[NSOnState]];
112   [menuItem setState : NSOnState];
113   [menuItem setState:    NSOnState];
114   [menuItem setState: NSOnState];
115   [menuItem setState     :    NSOnState];
117 @end