diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-12-11 21:39:06 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2013-12-11 21:39:06 +0000 |
| commit | 712e18a0c1cad13e3738f2daebd6f625858e0fda (patch) | |
| tree | 7243653f5640a4eeac10faf70617220b14993b7f /clang/test | |
| parent | 3f72934bba66d46c756f6c1cc165154c4ca69ec1 (diff) | |
| download | bcm5719-llvm-712e18a0c1cad13e3738f2daebd6f625858e0fda.tar.gz bcm5719-llvm-712e18a0c1cad13e3738f2daebd6f625858e0fda.zip | |
[objcmt] When emitting a remap file, use a json format with the edit entries, instead of applying the changes
to a temp file directly.
This allows to combine the edits when they can be different based on whether you saw
the implementation or not, e.g. with the designated initializer migration.
llvm-svn: 197076
Diffstat (limited to 'clang/test')
6 files changed, 60 insertions, 0 deletions
diff --git a/clang/test/ARCMT/designated-init-in-header/designated-init-in-header.m b/clang/test/ARCMT/designated-init-in-header/designated-init-in-header.m new file mode 100644 index 00000000000..8286583b3c8 --- /dev/null +++ b/clang/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/clang/test/ARCMT/designated-init-in-header/file1.m.in b/clang/test/ARCMT/designated-init-in-header/file1.m.in new file mode 100644 index 00000000000..0201b32abd3 --- /dev/null +++ b/clang/test/ARCMT/designated-init-in-header/file1.m.in @@ -0,0 +1,2 @@ +#include "header1.h" + diff --git a/clang/test/ARCMT/designated-init-in-header/file2.m.in b/clang/test/ARCMT/designated-init-in-header/file2.m.in new file mode 100644 index 00000000000..258159735a7 --- /dev/null +++ b/clang/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/clang/test/ARCMT/designated-init-in-header/file2.m.in.result b/clang/test/ARCMT/designated-init-in-header/file2.m.in.result new file mode 100644 index 00000000000..7465ed576f5 --- /dev/null +++ b/clang/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/clang/test/ARCMT/designated-init-in-header/header1.h b/clang/test/ARCMT/designated-init-in-header/header1.h new file mode 100644 index 00000000000..c5668cc4608 --- /dev/null +++ b/clang/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/clang/test/ARCMT/designated-init-in-header/header1.h.result b/clang/test/ARCMT/designated-init-in-header/header1.h.result new file mode 100644 index 00000000000..974175b1c3e --- /dev/null +++ b/clang/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 |

