diff options
Diffstat (limited to 'test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result')
-rw-r--r-- | test/ARCMT/objcmt-ns-nonatomic-iosonly.m.result | 209 |
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 |