diff options
Diffstat (limited to 'test/ARCMT/designated-init-in-header')
6 files changed, 60 insertions, 0 deletions
diff --git a/test/ARCMT/designated-init-in-header/designated-init-in-header.m b/test/ARCMT/designated-init-in-header/designated-init-in-header.m new file mode 100644 index 0000000000..8286583b3c --- /dev/null +++ b/test/ARCMT/designated-init-in-header/designated-init-in-header.m @@ -0,0 +1,3 @@ +// RUN: %clang_cc1 -objcmt-migrate-designated-init -objcmt-migrate-readwrite-property -objcmt-migrate-instancetype -x objective-c %S/file1.m.in -triple x86_64-apple-darwin11 -fobjc-arc -migrate -o %t1.remap +// RUN: %clang_cc1 -objcmt-migrate-designated-init -objcmt-migrate-readwrite-property -objcmt-migrate-instancetype -x objective-c %S/file2.m.in -triple x86_64-apple-darwin11 -fobjc-arc -migrate -o %t2.remap +// RUN: c-arcmt-test %t1.remap %t2.remap | arcmt-test -verify-transformed-files %S/header1.h.result %S/file2.m.in.result diff --git a/test/ARCMT/designated-init-in-header/file1.m.in b/test/ARCMT/designated-init-in-header/file1.m.in new file mode 100644 index 0000000000..0201b32abd --- /dev/null +++ b/test/ARCMT/designated-init-in-header/file1.m.in @@ -0,0 +1,2 @@ +#include "header1.h" + diff --git a/test/ARCMT/designated-init-in-header/file2.m.in b/test/ARCMT/designated-init-in-header/file2.m.in new file mode 100644 index 0000000000..258159735a --- /dev/null +++ b/test/ARCMT/designated-init-in-header/file2.m.in @@ -0,0 +1,14 @@ +#include "header1.h" + +@implementation S1 +-(int)prop { return 0; } +-(void)setProp:(int)p {} ++(id)s1 { return 0; } +-(id)initWithFoo:(NSString*)foo +{ + self = [super init]; + if (self) { + } + return self; +} +@end diff --git a/test/ARCMT/designated-init-in-header/file2.m.in.result b/test/ARCMT/designated-init-in-header/file2.m.in.result new file mode 100644 index 0000000000..7465ed576f --- /dev/null +++ b/test/ARCMT/designated-init-in-header/file2.m.in.result @@ -0,0 +1,14 @@ +#include "header1.h" + +@implementation S1 +-(int)prop { return 0; } +-(void)setProp:(int)p {} ++(instancetype)s1 { return 0; } +-(instancetype)initWithFoo:(NSString*)foo +{ + self = [super init]; + if (self) { + } + return self; +} +@end diff --git a/test/ARCMT/designated-init-in-header/header1.h b/test/ARCMT/designated-init-in-header/header1.h new file mode 100644 index 0000000000..c5668cc460 --- /dev/null +++ b/test/ARCMT/designated-init-in-header/header1.h @@ -0,0 +1,14 @@ +#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) + +@class NSString; + +@interface B1 +-(id)init; +@end + +@interface S1 : B1 +-(int)prop; +-(void)setProp:(int)p; ++(id)s1; +-(id)initWithFoo:(NSString*)foo; +@end diff --git a/test/ARCMT/designated-init-in-header/header1.h.result b/test/ARCMT/designated-init-in-header/header1.h.result new file mode 100644 index 0000000000..974175b1c3 --- /dev/null +++ b/test/ARCMT/designated-init-in-header/header1.h.result @@ -0,0 +1,13 @@ +#define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) + +@class NSString; + +@interface B1 +-(instancetype)init; +@end + +@interface S1 : B1 +@property (nonatomic) int prop; ++(instancetype)s1; +-(instancetype)initWithFoo:(NSString*)foo NS_DESIGNATED_INITIALIZER; +@end |