From 246e2f65dcdb47a2a07b6d0f8f6f338954e24c45 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Mon, 11 Nov 2013 18:54:23 +0000 Subject: [PATCH] ObjectiveC migrator. More testing of instancetype migration in method implementations. // rdar://15438505 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194402 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/ARCMT/objcmt-instancetype.m | 28 +++++++++++++++++++++++++ test/ARCMT/objcmt-instancetype.m.result | 28 +++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/test/ARCMT/objcmt-instancetype.m b/test/ARCMT/objcmt-instancetype.m index b25f9d8849..47dbd7aeed 100644 --- a/test/ARCMT/objcmt-instancetype.m +++ b/test/ARCMT/objcmt-instancetype.m @@ -15,6 +15,11 @@ typedef signed char BOOL; - (id)initWithString:(NSString *)aString; @end +@implementation NSString : NSObject ++ (id)stringWithString:(NSString *)string { return 0; }; +- (instancetype)initWithString:(NSString *)aString { return 0; }; +@end + @interface NSArray : NSObject - (id)objectAtIndex:(unsigned long)index; - (id)objectAtIndexedSubscript:(int)index; @@ -34,6 +39,25 @@ typedef signed char BOOL; - (id)objectAtIndex:(unsigned long)index; @end +@implementation NSArray (NSArrayCreation) ++ (id)array { return 0; } ++ (id)arrayWithObject:(id)anObject { + return anObject; +} ++ (id)arrayWithObjects:(const id [])objects count:(unsigned long)cnt { return 0; } ++ (id)arrayWithObjects:(id)firstObj, ... { + return 0; } ++ arrayWithArray:(NSArray *)array { + return 0; +} + +- (id)initWithObjects:(const id [])objects count:(unsigned long)cnt { return 0; } +- (id)initWithObjects:(id)firstObj, ... { return 0; } +- (id)initWithArray:(NSArray *)array { return 0; } + +- (id)objectAtIndex:(unsigned long)index { return 0; } +@end + @interface NSMutableArray : NSArray - (void)replaceObjectAtIndex:(unsigned long)index withObject:(id)anObject; - (void)setObject:(id)object atIndexedSubscript:(int)index; @@ -71,6 +95,10 @@ typedef signed char BOOL; + (NSNumber *)numberWithInt:(int)value; @end +@implementation NSNumber (NSNumberCreation) ++ (NSNumber *)numberWithInt:(int)value { return 0; } +@end + #define M(x) (x) #define PAIR(x) @#x, [NSNumber numberWithInt:(x)] #define TWO(x) ((x), (x)) diff --git a/test/ARCMT/objcmt-instancetype.m.result b/test/ARCMT/objcmt-instancetype.m.result index a355d13c42..ce51678708 100644 --- a/test/ARCMT/objcmt-instancetype.m.result +++ b/test/ARCMT/objcmt-instancetype.m.result @@ -15,6 +15,11 @@ typedef signed char BOOL; - (instancetype)initWithString:(NSString *)aString; @end +@implementation NSString : NSObject ++ (instancetype)stringWithString:(NSString *)string { return 0; }; +- (instancetype)initWithString:(NSString *)aString { return 0; }; +@end + @interface NSArray : NSObject - (id)objectAtIndex:(unsigned long)index; - (id)objectAtIndexedSubscript:(int)index; @@ -34,6 +39,25 @@ typedef signed char BOOL; - (id)objectAtIndex:(unsigned long)index; @end +@implementation NSArray (NSArrayCreation) ++ (instancetype)array { return 0; } ++ (instancetype)arrayWithObject:(id)anObject { + return anObject; +} ++ (instancetype)arrayWithObjects:(const id [])objects count:(unsigned long)cnt { return 0; } ++ (instancetype)arrayWithObjects:(id)firstObj, ... { + return 0; } ++ (instancetype) arrayWithArray:(NSArray *)array { + return 0; +} + +- (instancetype)initWithObjects:(const id [])objects count:(unsigned long)cnt { return 0; } +- (instancetype)initWithObjects:(id)firstObj, ... { return 0; } +- (instancetype)initWithArray:(NSArray *)array { return 0; } + +- (id)objectAtIndex:(unsigned long)index { return 0; } +@end + @interface NSMutableArray : NSArray - (void)replaceObjectAtIndex:(unsigned long)index withObject:(id)anObject; - (void)setObject:(id)object atIndexedSubscript:(int)index; @@ -71,6 +95,10 @@ typedef signed char BOOL; + (NSNumber *)numberWithInt:(int)value; @end +@implementation NSNumber (NSNumberCreation) ++ (NSNumber *)numberWithInt:(int)value { return 0; } +@end + #define M(x) (x) #define PAIR(x) @#x, [NSNumber numberWithInt:(x)] #define TWO(x) ((x), (x)) -- 2.50.0