221 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			221 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
// RUN: rm -rf %t
 | 
						|
// RUN: %clang_cc1 -fblocks -objcmt-migrate-readwrite-property -objcmt-migrate-readonly-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)) 
 | 
						|
 | 
						|
typedef char BOOL;
 | 
						|
@class NSString;
 | 
						|
@protocol NSCopying @end
 | 
						|
 | 
						|
@interface NSObject <NSCopying>
 | 
						|
@end
 | 
						|
 | 
						|
@interface NSDictionary : NSObject
 | 
						|
@end
 | 
						|
 | 
						|
@interface I : NSObject {
 | 
						|
  int ivarVal;
 | 
						|
}
 | 
						|
@property (nonatomic, weak) NSString *WeakProp;
 | 
						|
 | 
						|
@property (nonatomic, strong) NSString *StrongProp;
 | 
						|
 | 
						|
@property (nonatomic, strong) NSString *UnavailProp  __attribute__((unavailable));
 | 
						|
- (void) setUnavailProp  : (NSString *)Val;
 | 
						|
 | 
						|
@property (nonatomic, strong) NSString *UnavailProp1  __attribute__((unavailable));
 | 
						|
 | 
						|
@property (nonatomic, strong) NSString *UnavailProp2;
 | 
						|
- (void) setUnavailProp2  : (NSString *)Val  __attribute__((unavailable));
 | 
						|
 | 
						|
@property (nonatomic, copy) NSDictionary *undoAction;
 | 
						|
@end
 | 
						|
 | 
						|
@implementation I
 | 
						|
@end
 | 
						|
 | 
						|
@class NSArray;
 | 
						|
 | 
						|
@interface MyClass2  {
 | 
						|
@private
 | 
						|
    NSArray *_names1;
 | 
						|
    NSArray *_names2;
 | 
						|
    NSArray *_names3;
 | 
						|
    NSArray *_names4;
 | 
						|
}
 | 
						|
@property (nonatomic, strong) NSArray *names2;
 | 
						|
@property (nonatomic, strong) NSArray *names3;
 | 
						|
@property (nonatomic, strong) NSArray *names4;
 | 
						|
@property (nonatomic, strong) NSArray *names1;
 | 
						|
@end
 | 
						|
 | 
						|
// Properties that contain the name "delegate" or "dataSource",
 | 
						|
// or have exact name "target" have unsafe_unretained attribute.
 | 
						|
@interface NSInvocation 
 | 
						|
@property (nonatomic, assign) id target;
 | 
						|
 | 
						|
@property (nonatomic, assign) id dataSource;
 | 
						|
 | 
						|
// rdar://15509831
 | 
						|
@property (nonatomic, readonly, assign) id delegate;
 | 
						|
 | 
						|
@property (nonatomic, assign) id xxxdelegateYYY;
 | 
						|
 | 
						|
 | 
						|
@property (nonatomic, strong) id MYtarget;
 | 
						|
 | 
						|
@property (nonatomic, strong) id targetX;
 | 
						|
 
 | 
						|
@property (nonatomic) int value;
 | 
						|
 | 
						|
@property (nonatomic, getter=isContinuous) BOOL continuous;
 | 
						|
 | 
						|
- (id) isAnObject;
 | 
						|
- (void)setAnObject : (id) object;
 | 
						|
 | 
						|
@property (nonatomic, getter=isinValid, readonly) BOOL inValid;
 | 
						|
- (void) setInValid : (BOOL) arg;
 | 
						|
 | 
						|
- (void) Nothing;
 | 
						|
@property (nonatomic, readonly) int Length;
 | 
						|
@property (nonatomic, readonly, strong) id object;
 | 
						|
+ (double) D;
 | 
						|
@property (nonatomic, readonly) void *JSObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER);
 | 
						|
@property (nonatomic, getter=isIgnoringInteractionEvents, readonly) BOOL ignoringInteractionEvents;
 | 
						|
 | 
						|
@property (nonatomic, getter=getStringValue, strong) NSString *stringValue;
 | 
						|
@property (nonatomic, getter=getCounterValue, readonly) BOOL counterValue;
 | 
						|
@property (nonatomic, getter=getns_dixtionary, readonly, copy) NSDictionary *ns_dixtionary;
 | 
						|
 | 
						|
- (BOOL)is3bar; // watch out
 | 
						|
- (NSString *)get3foo; // watch out
 | 
						|
 | 
						|
@property (nonatomic, getter=getM, readonly) BOOL m;
 | 
						|
@property (nonatomic, getter=getMA, readonly) BOOL MA;
 | 
						|
@property (nonatomic, getter=getALL, readonly) BOOL ALL;
 | 
						|
@property (nonatomic, getter=getMANY, readonly) BOOL MANY;
 | 
						|
@property (nonatomic, getter=getSome, readonly) BOOL some;
 | 
						|
@end
 | 
						|
 | 
						|
 | 
						|
@interface NSInvocation(CAT)
 | 
						|
@property (nonatomic, assign) id target;
 | 
						|
 | 
						|
@property (nonatomic, assign) id dataSource;
 | 
						|
 | 
						|
@property (nonatomic, assign) id xxxdelegateYYY;
 | 
						|
 | 
						|
 | 
						|
@property (nonatomic, strong) id MYtarget;
 | 
						|
 | 
						|
@property (nonatomic, strong) id targetX;
 | 
						|
 | 
						|
@property (nonatomic) int value;
 | 
						|
 | 
						|
@property (nonatomic, getter=isContinuous) BOOL continuous;
 | 
						|
 | 
						|
- (id) isAnObject;
 | 
						|
- (void)setAnObject : (id) object;
 | 
						|
 | 
						|
@property (nonatomic, getter=isinValid, readonly) BOOL inValid;
 | 
						|
- (void) setInValid : (BOOL) arg;
 | 
						|
 | 
						|
- (void) Nothing;
 | 
						|
@property (nonatomic, readonly) int Length;
 | 
						|
@property (nonatomic, readonly, strong) id object;
 | 
						|
+ (double) D;
 | 
						|
 | 
						|
- (BOOL)is3bar; // watch out
 | 
						|
- (NSString *)get3foo; // watch out
 | 
						|
 | 
						|
@property (nonatomic, getter=getM, readonly) BOOL m;
 | 
						|
@property (nonatomic, getter=getMA, readonly) BOOL MA;
 | 
						|
@property (nonatomic, getter=getALL, readonly) BOOL ALL;
 | 
						|
@property (nonatomic, getter=getMANY, readonly) BOOL MANY;
 | 
						|
@property (nonatomic, 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 (nonatomic, strong) NSURL *appStoreReceiptURL NS_AVAILABLE;
 | 
						|
- (void) setAppStoreReceiptURL : (NSURL *)object;
 | 
						|
 | 
						|
@property (nonatomic, strong) NSURL *appStoreReceiptURLX NS_AVAILABLE;
 | 
						|
 | 
						|
// Do not infer a property.
 | 
						|
@property (nonatomic, strong) NSURL *appStoreReceiptURLY ;
 | 
						|
- (void) setAppStoreReceiptURLY : (NSURL *)object NS_AVAILABLE;
 | 
						|
 | 
						|
@property (nonatomic, readonly, strong) id OkToInfer NS_AVAILABLE;
 | 
						|
 | 
						|
// Do not infer a property.
 | 
						|
@property (nonatomic, strong) 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 (nonatomic, strong) id method1 ALIGNED NS_AVAILABLE;
 | 
						|
 | 
						|
- (NSURL *)init;  // No Change
 | 
						|
+ (id)alloc;      // No Change
 | 
						|
 | 
						|
- (BOOL)is1stClass; // Not a valid property
 | 
						|
@property (nonatomic, 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 (nonatomic, readonly, copy) id (^expressionBlock)(id, NSArray *, NSMutableDictionary *);
 | 
						|
@property (nonatomic, copy) id (^MyBlock)(id, NSArray *, NSMutableDictionary *);
 | 
						|
@property (nonatomic, readonly) id (*expressionFuncptr)(id, NSArray *, NSMutableDictionary *);
 | 
						|
@property (nonatomic) id (*MyFuncptr)(id, NSArray *, NSMutableDictionary *);
 | 
						|
@end
 | 
						|
 | 
						|
// rdar://15231241
 | 
						|
@interface rdar15231241
 | 
						|
@property (nonatomic, readonly) double Ddelegate;
 | 
						|
@property (nonatomic, readonly) float Fdelegate;
 | 
						|
@property (nonatomic, readonly) int Idelegate;
 | 
						|
@property (nonatomic, readonly) BOOL Bdelegate;
 | 
						|
@end
 | 
						|
 | 
						|
// rdar://19372798
 | 
						|
@protocol NSObject @end
 | 
						|
@protocol MyProtocol <NSObject>
 | 
						|
@property (nonatomic, readonly, strong) id readonlyProperty;
 | 
						|
@property (nonatomic, strong) id readWriteProperty;
 | 
						|
@end
 |