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.

llvm-svn: 187684

clang/lib/ARCMigrate/ObjCMT.cpp

index 706a4ec..c8fc312 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