]> granicus.if.org Git - clang/commitdiff
ObjectiveC migrator. Differentiate 'instancetype'
authorFariborz Jahanian <fjahanian@apple.com>
Fri, 2 Aug 2013 22:34:18 +0000 (22:34 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Fri, 2 Aug 2013 22:34:18 +0000 (22:34 +0000)
from 'id' result type when deciding on migration
to instancetype.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187684 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ARCMigrate/ObjCMT.cpp

index 706a4ec1065978c97c2ce28b1f2bd9e5da9631ed..c8fc312e6a2b67dc7fe05bb14af6350bce0bf39b 100644 (file)
@@ -628,7 +628,9 @@ void ObjCMigrateASTConsumer::migrateFactoryMethod(ASTContext &Ctx,
                                                   ObjCContainerDecl *CDecl,
                                                   ObjCMethodDecl *OM,
                                                   ObjCInstanceTypeFamily OIT_Family) {
-  if (OM->isInstanceMethod() || !OM->getResultType()->isObjCIdType())
+  if (OM->isInstanceMethod() ||
+      OM->getResultType() == Ctx.getObjCInstanceType() ||
+      !OM->getResultType()->isObjCIdType())
     return;
   
   // Candidate factory methods are + (id) NaMeXXX : ... which belong to a class