diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2013-09-25 00:17:07 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-09-25 00:17:07 +0000 |
| commit | 7391a7b5aaa9590a6f468aca6b377773dbf3a6e0 (patch) | |
| tree | 824db53e58f1b2936fed853ff318d189f1621c17 | |
| parent | 18d37b539e3e898765ae2099e02b8367b5fb4771 (diff) | |
| download | bcm5719-llvm-7391a7b5aaa9590a6f468aca6b377773dbf3a6e0.tar.gz bcm5719-llvm-7391a7b5aaa9590a6f468aca6b377773dbf3a6e0.zip | |
ObjectiveC migrator. Don't suggest @property for
methods which look like getters but belong to
known family of methods. // rdar://15044058
llvm-svn: 191347
| -rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 6 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-property.m | 3 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-property.m.result | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index a82ac97e00a..a9fc171512d 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -772,6 +772,12 @@ bool ObjCMigrateASTConsumer::migrateProperty(ASTContext &Ctx, return false; Selector GetterSelector = Method->getSelector(); + ObjCInstanceTypeFamily OIT_Family = + Selector::getInstTypeMethodFamily(GetterSelector); + + if (OIT_Family != OIT_None) + return false; + IdentifierInfo *getterName = GetterSelector.getIdentifierInfoForSlot(0); Selector SetterSelector = SelectorTable::constructSetterSelector(PP.getIdentifierTable(), diff --git a/clang/test/ARCMT/objcmt-property.m b/clang/test/ARCMT/objcmt-property.m index 03aaaa0619e..f27299f148a 100644 --- a/clang/test/ARCMT/objcmt-property.m +++ b/clang/test/ARCMT/objcmt-property.m @@ -207,4 +207,7 @@ DEPRECATED - (id)method1 ALIGNED NS_AVAILABLE; - (void) setMethod1 : (id) object NS_AVAILABLE ALIGNED; +- (NSURL *)init; // No Change ++ (id)alloc; // No Change + @end diff --git a/clang/test/ARCMT/objcmt-property.m.result b/clang/test/ARCMT/objcmt-property.m.result index ace9c67e486..902dcb39c05 100644 --- a/clang/test/ARCMT/objcmt-property.m.result +++ b/clang/test/ARCMT/objcmt-property.m.result @@ -207,4 +207,7 @@ DEPRECATED @property (nonatomic, retain) id method1 ALIGNED NS_AVAILABLE; +- (NSURL *)init; // No Change ++ (id)alloc; // No Change + @end |

