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 | |