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 | ff513387721be95344bd2d3123431e02570f5b72 (patch) | |
| tree | 8e91ddd9961649c84f0f56e08fc53c1e9550ccb3 | |
| parent | 13f09b4191ff2bf60095ababc45ec97e64e88a09 (diff) | |
| download | bcm5719-llvm-ff513387721be95344bd2d3123431e02570f5b72.tar.gz bcm5719-llvm-ff513387721be95344bd2d3123431e02570f5b72.zip | |
objective-c translator: fixes an obscure rewriting bug
which attempted to rewrite the same meta-data twice.
llvm-svn: 150618
| -rw-r--r-- | clang/lib/Rewrite/RewriteModernObjC.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/clang/lib/Rewrite/RewriteModernObjC.cpp b/clang/lib/Rewrite/RewriteModernObjC.cpp index 6ca8067e5ca..1851b583c39 100644 --- a/clang/lib/Rewrite/RewriteModernObjC.cpp +++ b/clang/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) { |

