From 641649faa2a96dc5a2bbfcb9447b680fbedff962 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Wed, 25 Sep 2013 00:17:07 +0000 Subject: [PATCH] ObjectiveC migrator. Don't suggest @property for methods which look like getters but belong to known family of methods. // rdar://15044058 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191347 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ARCMigrate/ObjCMT.cpp | 6 ++++++ test/ARCMT/objcmt-property.m | 3 +++ test/ARCMT/objcmt-property.m.result | 3 +++ 3 files changed, 12 insertions(+) diff --git a/lib/ARCMigrate/ObjCMT.cpp b/lib/ARCMigrate/ObjCMT.cpp index a82ac97e00..a9fc171512 100644 --- a/lib/ARCMigrate/ObjCMT.cpp +++ b/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/test/ARCMT/objcmt-property.m b/test/ARCMT/objcmt-property.m index 03aaaa0619..f27299f148 100644 --- a/test/ARCMT/objcmt-property.m +++ b/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/test/ARCMT/objcmt-property.m.result b/test/ARCMT/objcmt-property.m.result index ace9c67e48..902dcb39c0 100644 --- a/test/ARCMT/objcmt-property.m.result +++ b/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 -- 2.40.0