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