1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -objcmt-migrate-instancetype -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 -triple x86_64-apple-darwin11 -fsyntax-only -x objective-c -fobjc-runtime-has-weak -fobjc-arc %s.result 5 6 typedef unsigned int NSUInteger; 7 typedef int NSInteger; 8 typedef char BOOL; 9 @class NSData, NSError, NSProtocolChecker, NSObject; 10 @class NSPortNameServer, NSTimeZone; 11 12 @interface NSMutableString 13 @end 14 15 @interface NSString @end 16 17 @class NSString, NSURL; 18 @interface NSString (NSStringDeprecated) 19 + (id)stringWithContentsOfFile:(NSString *)path __attribute__((availability(macosx,introduced=10.0 ,message="" ))); 20 + (id)stringWithContentsOfURL:(NSURL *)url __attribute__((availability(macosx,introduced=10.0 ,message="" ))); 21 + (id)stringWithCString:(const char *)bytes length:(NSUInteger)length __attribute__((availability(macosx,introduced=10.0 ,message="" ))); 22 + (id)stringWithCString:(const char *)bytes __attribute__((availability(macosx,introduced=10.0 ,message="" ))); 23 @end 24 25 26 typedef enum NSURLBookmarkResolutionOptions { 27 Bookmark 28 } NSURLBookmarkResolutionOptions; 29 30 @interface NSURL 31 + (id)URLWithString:(NSString *)URLString; 32 + (id)URLWithString:(NSString *)URLString relativeToURL:(NSURL *)baseURL; 33 + (id)URLByResolvingBookmarkData:(NSData *)bookmarkData options:(NSURLBookmarkResolutionOptions)options relativeToURL:(NSURL *)relativeURL bookmarkDataIsStale:(BOOL *)isStale error:(NSError **)error __attribute__((availability(macosx,introduced=10.6))); 34 @end 35 36 @class NSDictionary; 37 @interface NSError 38 + (id)errorWithDomain:(NSString *)domain code:(NSInteger)code userInfo:(NSDictionary *)dict; 39 @end 40 41 42 @interface NSMutableString (NSMutableStringExtensionMethods) 43 + (id)stringWithCapacity:(NSUInteger)capacity; 44 @end 45 46 @interface NSMutableData 47 + (id)dataWithCapacity:(NSUInteger)aNumItems; 48 + (id)dataWithLength:(NSUInteger)length; 49 @end 50 51 @interface NSMutableDictionary @end 52 53 @interface NSMutableDictionary (NSSharedKeySetDictionary) 54 + (id )dictionaryWithSharedKeySet:(id)keyset __attribute__((availability(macosx,introduced=10.8))); 55 @end 56 57 @interface NSProtocolChecker 58 + (id)protocolCheckerWithTarget:(NSObject *)anObject protocol:(Protocol *)aProtocol; 59 @end 60 61 @interface NSConnection 62 + (id)connectionWithRegisteredName:(NSString *)name host:(NSString *)hostName; 63 + (id)connectionWithRegisteredName:(NSString *)name host:(NSString *)hostName usingNameServer:(NSPortNameServer *)server; 64 @end 65 66 @interface NSDate 67 + (id)dateWithString:(NSString *)aString __attribute__((availability(macosx,introduced=10.4))); 68 @end 69 70 @interface NSCalendarDate : NSDate 71 + (id)calendarDate __attribute__((availability(macosx,introduced=10.4))); 72 + (id)dateWithString:(NSString *)description calendarFormat:(NSString *)format locale:(id)locale __attribute__((availability(macosx,introduced=10.4))); 73 + (id)dateWithString:(NSString *)description calendarFormat:(NSString *)format __attribute__((availability(macosx,introduced=10.4))); 74 + (id)dateWithYear:(NSInteger)year month:(NSUInteger)month day:(NSUInteger)day hour:(NSUInteger)hour minute:(NSUInteger)minute second:(NSUInteger)second timeZone:(NSTimeZone *)aTimeZone __attribute__((availability(macosx,introduced=10.4))); 75 @end 76 77 @interface NSUserDefaults 78 + (id) standardUserDefaults; 79 @end 80 81 @interface NSNotificationCenter 82 + (id) defaultCenter; 83 + sharedCenter; 84 @end 85 86 @interface UIApplication 87 + (id)sharedApplication; 88 + defaultApplication; 89 @end 90 91 //===----------------------------------------------------------------------===// 92 // Method name that has a null IdentifierInfo* for its first selector slot. 93 // This test just makes sure that we handle it. 94 //===----------------------------------------------------------------------===// 95 @interface TestNullIdentifier 96 @end 97 98 @implementation TestNullIdentifier 99 + (id):(int)x, ... { 100 return 0; 101 } 102 @end 103 104