aboutsummaryrefslogtreecommitdiff
path: root/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result
diff options
context:
space:
mode:
Diffstat (limited to 'test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result')
-rw-r--r--test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result209
1 files changed, 209 insertions, 0 deletions
diff --git a/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result b/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result
new file mode 100644
index 000000000000..804142ee3280
--- /dev/null
+++ b/test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result
@@ -0,0 +1,209 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -fblocks -objcmt-migrate-readwrite-property -objcmt-ns-nonatomic-iosonly -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
+// RUN: c-arcmt-test -mt-migrate-directory %t | arcmt-test -verify-transformed-files %s.result
+// RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result
+
+#define WEBKIT_OBJC_METHOD_ANNOTATION(ANNOTATION) ANNOTATION
+#define WEAK_IMPORT_ATTRIBUTE __attribute__((objc_arc_weak_reference_unavailable))
+#define AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER
+#define DEPRECATED __attribute__((deprecated))
+
+// rdar://15442742
+#if TARGET_OS_IPHONE
+ #define NS_NONATOMIC_IOSONLY nonatomic
+#else
+ #define NS_NONATOMIC_IOSONLY atomic
+#endif
+
+typedef char BOOL;
+@class NSString;
+@protocol NSCopying @end
+
+@interface NSObject <NSCopying>
+@end
+
+@interface NSDictionary : NSObject
+@end
+
+@interface I : NSObject {
+ int ivarVal;
+}
+@property (NS_NONATOMIC_IOSONLY, weak) NSString *WeakProp;
+
+@property (NS_NONATOMIC_IOSONLY, retain) NSString *StrongProp;
+
+@property (NS_NONATOMIC_IOSONLY, retain) NSString *UnavailProp __attribute__((unavailable));
+- (void) setUnavailProp : (NSString *)Val;
+
+@property (NS_NONATOMIC_IOSONLY, retain) NSString *UnavailProp1 __attribute__((unavailable));
+
+@property (NS_NONATOMIC_IOSONLY, retain) NSString *UnavailProp2;
+- (void) setUnavailProp2 : (NSString *)Val __attribute__((unavailable));
+
+@property (NS_NONATOMIC_IOSONLY, copy) NSDictionary *undoAction;
+@end
+
+@implementation I
+@end
+
+@class NSArray;
+
+@interface MyClass2 {
+@private
+ NSArray *_names1;
+ NSArray *_names2;
+ NSArray *_names3;
+ NSArray *_names4;
+}
+@property (NS_NONATOMIC_IOSONLY, retain) NSArray *names2;
+@property (NS_NONATOMIC_IOSONLY, retain) NSArray *names3;
+@property (NS_NONATOMIC_IOSONLY, retain) NSArray *names4;
+@property (NS_NONATOMIC_IOSONLY, retain) NSArray *names1;
+@end
+
+// Properties that contain the name "delegate" or "dataSource",
+// or have exact name "target" have unsafe_unretained attribute.
+@interface NSInvocation
+@property (NS_NONATOMIC_IOSONLY, assign) id target;
+
+@property (NS_NONATOMIC_IOSONLY, assign) id dataSource;
+
+@property (NS_NONATOMIC_IOSONLY, assign) id xxxdelegateYYY;
+
+
+@property (NS_NONATOMIC_IOSONLY, retain) id MYtarget;
+
+@property (NS_NONATOMIC_IOSONLY, retain) id targetX;
+
+@property (NS_NONATOMIC_IOSONLY) int value;
+
+@property (NS_NONATOMIC_IOSONLY, getter=isContinuous) BOOL continuous;
+
+- (id) isAnObject;
+- (void)setAnObject : (id) object;
+
+@property (NS_NONATOMIC_IOSONLY, getter=isinValid, readonly) BOOL inValid;
+- (void) setInValid : (BOOL) arg;
+
+- (void) Nothing;
+@property (NS_NONATOMIC_IOSONLY, readonly) int Length;
+@property (NS_NONATOMIC_IOSONLY, readonly, retain) id object;
++ (double) D;
+@property (NS_NONATOMIC_IOSONLY, readonly) void *JSObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
+@property (NS_NONATOMIC_IOSONLY, getter=isIgnoringInteractionEvents, readonly) BOOL ignoringInteractionEvents;
+
+@property (NS_NONATOMIC_IOSONLY, getter=getStringValue, retain) NSString *stringValue;
+@property (NS_NONATOMIC_IOSONLY, getter=getCounterValue, readonly) BOOL counterValue;
+@property (NS_NONATOMIC_IOSONLY, getter=getns_dixtionary, readonly, retain) NSDictionary *ns_dixtionary;
+
+- (BOOL)is3bar; // watch out
+- (NSString *)get3foo; // watch out
+
+@property (NS_NONATOMIC_IOSONLY, getter=getM, readonly) BOOL m;
+@property (NS_NONATOMIC_IOSONLY, getter=getMA, readonly) BOOL MA;
+@property (NS_NONATOMIC_IOSONLY, getter=getALL, readonly) BOOL ALL;
+@property (NS_NONATOMIC_IOSONLY, getter=getMANY, readonly) BOOL MANY;
+@property (NS_NONATOMIC_IOSONLY, getter=getSome, readonly) BOOL some;
+@end
+
+
+@interface NSInvocation(CAT)
+@property (NS_NONATOMIC_IOSONLY, assign) id target;
+
+@property (NS_NONATOMIC_IOSONLY, assign) id dataSource;
+
+@property (NS_NONATOMIC_IOSONLY, assign) id xxxdelegateYYY;
+
+
+@property (NS_NONATOMIC_IOSONLY, retain) id MYtarget;
+
+@property (NS_NONATOMIC_IOSONLY, retain) id targetX;
+
+@property (NS_NONATOMIC_IOSONLY) int value;
+
+@property (NS_NONATOMIC_IOSONLY, getter=isContinuous) BOOL continuous;
+
+- (id) isAnObject;
+- (void)setAnObject : (id) object;
+
+@property (NS_NONATOMIC_IOSONLY, getter=isinValid, readonly) BOOL inValid;
+- (void) setInValid : (BOOL) arg;
+
+- (void) Nothing;
+@property (NS_NONATOMIC_IOSONLY, readonly) int Length;
+@property (NS_NONATOMIC_IOSONLY, readonly, retain) id object;
++ (double) D;
+
+- (BOOL)is3bar; // watch out
+- (NSString *)get3foo; // watch out
+
+@property (NS_NONATOMIC_IOSONLY, getter=getM, readonly) BOOL m;
+@property (NS_NONATOMIC_IOSONLY, getter=getMA, readonly) BOOL MA;
+@property (NS_NONATOMIC_IOSONLY, getter=getALL, readonly) BOOL ALL;
+@property (NS_NONATOMIC_IOSONLY, getter=getMANY, readonly) BOOL MANY;
+@property (NS_NONATOMIC_IOSONLY, getter=getSome, readonly) BOOL some;
+@end
+
+DEPRECATED
+@interface I_DEP
+- (BOOL) isinValid;
+- (void) setInValid : (BOOL) arg;
+@end
+
+@interface AnotherOne
+- (BOOL) isinValid DEPRECATED;
+- (void) setInValid : (BOOL) arg;
+- (id)MYtarget;
+- (void)setMYtarget: (id)target DEPRECATED;
+- (BOOL) getM DEPRECATED;
+
+- (id)xxxdelegateYYY DEPRECATED;
+- (void)setXxxdelegateYYY:(id)delegate DEPRECATED;
+@end
+
+// rdar://14987909
+#define NS_AVAILABLE __attribute__((availability(macosx,introduced=10.0)))
+#define NORETURN __attribute__((noreturn))
+#define ALIGNED __attribute__((aligned(16)))
+
+@interface NSURL
+// Do not infer a property.
+@property (NS_NONATOMIC_IOSONLY, retain) NSURL *appStoreReceiptURL NS_AVAILABLE;
+- (void) setAppStoreReceiptURL : (NSURL *)object;
+
+@property (NS_NONATOMIC_IOSONLY, retain) NSURL *appStoreReceiptURLX NS_AVAILABLE;
+
+// Do not infer a property.
+@property (NS_NONATOMIC_IOSONLY, retain) NSURL *appStoreReceiptURLY ;
+- (void) setAppStoreReceiptURLY : (NSURL *)object NS_AVAILABLE;
+
+@property (NS_NONATOMIC_IOSONLY, readonly, retain) id OkToInfer NS_AVAILABLE;
+
+// Do not infer a property.
+@property (NS_NONATOMIC_IOSONLY, retain) NSURL *appStoreReceiptURLZ ;
+- (void) setAppStoreReceiptURLZ : (NSURL *)object NS_AVAILABLE;
+
+// Do not infer a property.
+- (id) t1 NORETURN NS_AVAILABLE;
+- (void) setT1 : (id) arg NS_AVAILABLE;
+
+@property (NS_NONATOMIC_IOSONLY, retain) id method1 ALIGNED NS_AVAILABLE;
+
+- (NSURL *)init; // No Change
++ (id)alloc; // No Change
+
+- (BOOL)is1stClass; // Not a valid property
+@property (NS_NONATOMIC_IOSONLY, getter=isClass, readonly) BOOL class; // This is a valid property 'class' is not a keyword in ObjC
+- (BOOL)isDouble; // Not a valid property
+
+@end
+
+// rdar://15082818
+@class NSMutableDictionary;
+
+@interface NSArray
+@property (NS_NONATOMIC_IOSONLY, readonly, copy) id (^expressionBlock)(id, NSArray *, NSMutableDictionary *);
+@property (NS_NONATOMIC_IOSONLY, copy) id (^MyBlock)(id, NSArray *, NSMutableDictionary *);
+@property (NS_NONATOMIC_IOSONLY, readonly) id (*expressionFuncptr)(id, NSArray *, NSMutableDictionary *);
+@property (NS_NONATOMIC_IOSONLY) id (*MyFuncptr)(id, NSArray *, NSMutableDictionary *);
+@end