From: Fariborz Jahanian Date: Fri, 2 Aug 2013 22:34:18 +0000 (+0000) Subject: ObjectiveC migrator. Differentiate 'instancetype' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c217ced5ada5c5723bfca450b37ac046193a8c2f;p=clang ObjectiveC migrator. Differentiate 'instancetype' 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 --- diff --git a/lib/ARCMigrate/ObjCMT.cpp b/lib/ARCMigrate/ObjCMT.cpp index 706a4ec106..c8fc312e6a 100644 --- a/lib/ARCMigrate/ObjCMT.cpp +++ b/lib/ARCMigrate/ObjCMT.cpp @@ -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