xref: /aosp_15_r20/external/clang/test/ARCMT/objcmt-atomic-property.m.result (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: rm -rf %t
2*67e74705SXin Li// RUN: %clang_cc1 -fblocks -objcmt-migrate-readwrite-property -objcmt-migrate-readonly-property -objcmt-atomic-property -mt-migrate-directory %t %s -x objective-c -fobjc-runtime-has-weak -fobjc-arc -triple x86_64-apple-darwin11
3*67e74705SXin Li// RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
4*67e74705SXin Li// RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
5*67e74705SXin Li
6*67e74705SXin Li#define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION) ANNOTATION
7*67e74705SXin Li#define WEAK_IMPORT_ATTRIBUTE __attribute__((objc_arc_weak_reference_unavailable))
8*67e74705SXin Li#define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
9*67e74705SXin Li#define DEPRECATED  __attribute__((deprecated))
10*67e74705SXin Li
11*67e74705SXin Litypedef char BOOL;
12*67e74705SXin Li@class NSString;
13*67e74705SXin Li@protocol NSCopying @end
14*67e74705SXin Li
15*67e74705SXin Li@interface NSObject <NSCopying>
16*67e74705SXin Li@end
17*67e74705SXin Li
18*67e74705SXin Li@interface NSDictionary : NSObject
19*67e74705SXin Li@end
20*67e74705SXin Li
21*67e74705SXin Li@interface I : NSObject {
22*67e74705SXin Li  int ivarVal;
23*67e74705SXin Li}
24*67e74705SXin Li@property (weak) NSString *WeakProp;
25*67e74705SXin Li
26*67e74705SXin Li@property (strong) NSString *StrongProp;
27*67e74705SXin Li
28*67e74705SXin Li@property (strong) NSString *UnavailProp  __attribute__((unavailable));
29*67e74705SXin Li- (void) setUnavailProp  : (NSString *)Val;
30*67e74705SXin Li
31*67e74705SXin Li@property (strong) NSString *UnavailProp1  __attribute__((unavailable));
32*67e74705SXin Li
33*67e74705SXin Li@property (strong) NSString *UnavailProp2;
34*67e74705SXin Li- (void) setUnavailProp2  : (NSString *)Val  __attribute__((unavailable));
35*67e74705SXin Li
36*67e74705SXin Li@property (copy) NSDictionary *undoAction;
37*67e74705SXin Li@end
38*67e74705SXin Li
39*67e74705SXin Li@implementation I
40*67e74705SXin Li@end
41*67e74705SXin Li
42*67e74705SXin Li@class NSArray;
43*67e74705SXin Li
44*67e74705SXin Li@interface MyClass2  {
45*67e74705SXin Li@private
46*67e74705SXin Li    NSArray *_names1;
47*67e74705SXin Li    NSArray *_names2;
48*67e74705SXin Li    NSArray *_names3;
49*67e74705SXin Li    NSArray *_names4;
50*67e74705SXin Li}
51*67e74705SXin Li@property (strong) NSArray *names2;
52*67e74705SXin Li@property (strong) NSArray *names3;
53*67e74705SXin Li@property (strong) NSArray *names4;
54*67e74705SXin Li@property (strong) NSArray *names1;
55*67e74705SXin Li@end
56*67e74705SXin Li
57*67e74705SXin Li// Properties that contain the name "delegate" or "dataSource",
58*67e74705SXin Li// or have exact name "target" have unsafe_unretained attribute.
59*67e74705SXin Li@interface NSInvocation
60*67e74705SXin Li@property (assign) id target;
61*67e74705SXin Li
62*67e74705SXin Li@property (assign) id dataSource;
63*67e74705SXin Li
64*67e74705SXin Li@property (assign) id xxxdelegateYYY;
65*67e74705SXin Li
66*67e74705SXin Li
67*67e74705SXin Li@property (strong) id MYtarget;
68*67e74705SXin Li
69*67e74705SXin Li@property (strong) id targetX;
70*67e74705SXin Li
71*67e74705SXin Li@property  int value;
72*67e74705SXin Li
73*67e74705SXin Li@property (getter=isContinuous) BOOL continuous;
74*67e74705SXin Li
75*67e74705SXin Li- (id) isAnObject;
76*67e74705SXin Li- (void)setAnObject : (id) object;
77*67e74705SXin Li
78*67e74705SXin Li@property (getter=isinValid, readonly) BOOL inValid;
79*67e74705SXin Li- (void) setInValid : (BOOL) arg;
80*67e74705SXin Li
81*67e74705SXin Li- (void) Nothing;
82*67e74705SXin Li@property (readonly) int Length;
83*67e74705SXin Li@property (readonly, strong) id object;
84*67e74705SXin Li+ (double) D;
85*67e74705SXin Li@property (readonly) void *JSObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
86*67e74705SXin Li@property (getter=isIgnoringInteractionEvents, readonly) BOOL ignoringInteractionEvents;
87*67e74705SXin Li
88*67e74705SXin Li@property (getter=getStringValue, strong) NSString *stringValue;
89*67e74705SXin Li@property (getter=getCounterValue, readonly) BOOL counterValue;
90*67e74705SXin Li@property (getter=getns_dixtionary, readonly, copy) NSDictionary *ns_dixtionary;
91*67e74705SXin Li
92*67e74705SXin Li- (BOOL)is3bar; // watch out
93*67e74705SXin Li- (NSString *)get3foo; // watch out
94*67e74705SXin Li
95*67e74705SXin Li@property (getter=getM, readonly) BOOL m;
96*67e74705SXin Li@property (getter=getMA, readonly) BOOL MA;
97*67e74705SXin Li@property (getter=getALL, readonly) BOOL ALL;
98*67e74705SXin Li@property (getter=getMANY, readonly) BOOL MANY;
99*67e74705SXin Li@property (getter=getSome, readonly) BOOL some;
100*67e74705SXin Li@end
101*67e74705SXin Li
102*67e74705SXin Li
103*67e74705SXin Li@interface NSInvocation(CAT)
104*67e74705SXin Li@property (assign) id target;
105*67e74705SXin Li
106*67e74705SXin Li@property (assign) id dataSource;
107*67e74705SXin Li
108*67e74705SXin Li@property (assign) id xxxdelegateYYY;
109*67e74705SXin Li
110*67e74705SXin Li
111*67e74705SXin Li@property (strong) id MYtarget;
112*67e74705SXin Li
113*67e74705SXin Li@property (strong) id targetX;
114*67e74705SXin Li
115*67e74705SXin Li@property  int value;
116*67e74705SXin Li
117*67e74705SXin Li@property (getter=isContinuous) BOOL continuous;
118*67e74705SXin Li
119*67e74705SXin Li- (id) isAnObject;
120*67e74705SXin Li- (void)setAnObject : (id) object;
121*67e74705SXin Li
122*67e74705SXin Li@property (getter=isinValid, readonly) BOOL inValid;
123*67e74705SXin Li- (void) setInValid : (BOOL) arg;
124*67e74705SXin Li
125*67e74705SXin Li- (void) Nothing;
126*67e74705SXin Li@property (readonly) int Length;
127*67e74705SXin Li@property (readonly, strong) id object;
128*67e74705SXin Li+ (double) D;
129*67e74705SXin Li
130*67e74705SXin Li- (BOOL)is3bar; // watch out
131*67e74705SXin Li- (NSString *)get3foo; // watch out
132*67e74705SXin Li
133*67e74705SXin Li@property (getter=getM, readonly) BOOL m;
134*67e74705SXin Li@property (getter=getMA, readonly) BOOL MA;
135*67e74705SXin Li@property (getter=getALL, readonly) BOOL ALL;
136*67e74705SXin Li@property (getter=getMANY, readonly) BOOL MANY;
137*67e74705SXin Li@property (getter=getSome, readonly) BOOL some;
138*67e74705SXin Li@end
139*67e74705SXin Li
140*67e74705SXin LiDEPRECATED
141*67e74705SXin Li@interface I_DEP
142*67e74705SXin Li- (BOOL) isinValid;
143*67e74705SXin Li- (void) setInValid : (BOOL) arg;
144*67e74705SXin Li@end
145*67e74705SXin Li
146*67e74705SXin Li@interface AnotherOne
147*67e74705SXin Li- (BOOL) isinValid DEPRECATED;
148*67e74705SXin Li- (void) setInValid : (BOOL) arg;
149*67e74705SXin Li- (id)MYtarget;
150*67e74705SXin Li- (void)setMYtarget: (id)target DEPRECATED;
151*67e74705SXin Li- (BOOL) getM DEPRECATED;
152*67e74705SXin Li
153*67e74705SXin Li- (id)xxxdelegateYYY DEPRECATED;
154*67e74705SXin Li- (void)setXxxdelegateYYY:(id)delegate DEPRECATED;
155*67e74705SXin Li@end
156*67e74705SXin Li
157*67e74705SXin Li// rdar://14987909
158*67e74705SXin Li#define NS_AVAILABLE __attribute__((availability(macosx,introduced=10.0)))
159*67e74705SXin Li#define NORETURN __attribute__((noreturn))
160*67e74705SXin Li#define ALIGNED __attribute__((aligned(16)))
161*67e74705SXin Li
162*67e74705SXin Li@interface NSURL
163*67e74705SXin Li// Do not infer a property.
164*67e74705SXin Li@property (strong) NSURL *appStoreReceiptURL NS_AVAILABLE;
165*67e74705SXin Li- (void) setAppStoreReceiptURL : (NSURL *)object;
166*67e74705SXin Li
167*67e74705SXin Li@property (strong) NSURL *appStoreReceiptURLX NS_AVAILABLE;
168*67e74705SXin Li
169*67e74705SXin Li// Do not infer a property.
170*67e74705SXin Li@property (strong) NSURL *appStoreReceiptURLY ;
171*67e74705SXin Li- (void) setAppStoreReceiptURLY : (NSURL *)object NS_AVAILABLE;
172*67e74705SXin Li
173*67e74705SXin Li@property (readonly, strong) id OkToInfer NS_AVAILABLE;
174*67e74705SXin Li
175*67e74705SXin Li// Do not infer a property.
176*67e74705SXin Li@property (strong) NSURL *appStoreReceiptURLZ ;
177*67e74705SXin Li- (void) setAppStoreReceiptURLZ : (NSURL *)object NS_AVAILABLE;
178*67e74705SXin Li
179*67e74705SXin Li// Do not infer a property.
180*67e74705SXin Li- (id) t1 NORETURN NS_AVAILABLE;
181*67e74705SXin Li- (void) setT1 : (id) arg NS_AVAILABLE;
182*67e74705SXin Li
183*67e74705SXin Li@property (strong) id method1 ALIGNED NS_AVAILABLE;
184*67e74705SXin Li
185*67e74705SXin Li- (NSURL *)init;  // No Change
186*67e74705SXin Li+ (id)alloc;      // No Change
187*67e74705SXin Li
188*67e74705SXin Li- (BOOL)is1stClass; // Not a valid property
189*67e74705SXin Li@property (getter=isClass, readonly) BOOL class;    // This is a valid property 'class' is not a keyword in ObjC
190*67e74705SXin Li- (BOOL)isDouble; // Not a valid property
191*67e74705SXin Li
192*67e74705SXin Li@end
193*67e74705SXin Li
194*67e74705SXin Li// rdar://15082818
195*67e74705SXin Li@class NSMutableDictionary;
196*67e74705SXin Li
197*67e74705SXin Li@interface NSArray
198*67e74705SXin Li@property (readonly, copy) id (^expressionBlock)(id, NSArray *, NSMutableDictionary *);
199*67e74705SXin Li@property (copy) id (^MyBlock)(id, NSArray *, NSMutableDictionary *);
200*67e74705SXin Li@property (readonly) id (*expressionFuncptr)(id, NSArray *, NSMutableDictionary *);
201*67e74705SXin Li@property  id (*MyFuncptr)(id, NSArray *, NSMutableDictionary *);
202*67e74705SXin Li@end
203