diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-02-15 22:01:47 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-02-15 22:01:47 +0000 |
commit | 4339bb3a71b6463415708553fda16aa7e44d07eb (patch) | |
tree | 5676f94a25ada5a2b2d4438e1dfe08c9ed8d1616 | |
parent | c25d1c9821e576ae6e3d11f621ff0901aa4e7c69 (diff) |
objective-c translator: fixes an obscure rewriting bug
which attempted to rewrite the same meta-data twice.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150618 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Rewrite/RewriteModernObjC.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp index 6ca8067e5c..1851b583c3 100644 --- a/lib/Rewrite/RewriteModernObjC.cpp +++ b/lib/Rewrite/RewriteModernObjC.cpp @@ -1202,26 +1202,26 @@ void RewriteModernObjC::RewriteInterfaceDecl(ObjCInterfaceDecl *ClassDecl) { ResultStr += "typedef struct objc_object "; ResultStr += ClassDecl->getNameAsString(); ResultStr += ";\n#endif\n"; + RewriteObjCInternalStruct(ClassDecl, ResultStr); // Mark this typedef as having been generated. ObjCForwardDecls.insert(ClassDecl->getCanonicalDecl()); - } - RewriteObjCInternalStruct(ClassDecl, ResultStr); - - for (ObjCInterfaceDecl::prop_iterator I = ClassDecl->prop_begin(), + + for (ObjCInterfaceDecl::prop_iterator I = ClassDecl->prop_begin(), E = ClassDecl->prop_end(); I != E; ++I) - RewriteProperty(*I); - for (ObjCInterfaceDecl::instmeth_iterator + RewriteProperty(*I); + for (ObjCInterfaceDecl::instmeth_iterator I = ClassDecl->instmeth_begin(), E = ClassDecl->instmeth_end(); - I != E; ++I) - RewriteMethodDeclaration(*I); - for (ObjCInterfaceDecl::classmeth_iterator + I != E; ++I) + RewriteMethodDeclaration(*I); + for (ObjCInterfaceDecl::classmeth_iterator I = ClassDecl->classmeth_begin(), E = ClassDecl->classmeth_end(); - I != E; ++I) - RewriteMethodDeclaration(*I); + I != E; ++I) + RewriteMethodDeclaration(*I); - // Lastly, comment out the @end. - ReplaceText(ClassDecl->getAtEndRange().getBegin(), strlen("@end"), - "/* @end */"); + // Lastly, comment out the @end. + ReplaceText(ClassDecl->getAtEndRange().getBegin(), strlen("@end"), + "/* @end */"); + } } Stmt *RewriteModernObjC::RewritePropertyOrImplicitSetter(PseudoObjectExpr *PseudoOp) { |