From: Fariborz Jahanian Date: Wed, 25 Sep 2013 00:17:07 +0000 (+0000) Subject: ObjectiveC migrator. Don't suggest @property for X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=641649faa2a96dc5a2bbfcb9447b680fbedff962;p=clang 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 --- 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