Remove a couple FIXME's for rewriting ObjC interfaces (which are now being rewritten properly).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43494 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp
index 8063574..be09eed 100644
--- a/Driver/RewriteTest.cpp
+++ b/Driver/RewriteTest.cpp
@@ -19,6 +19,7 @@
 #include "clang/Basic/IdentifierTable.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/SmallPtrSet.h"
+#include "clang/Lex/Lexer.h"
 using namespace clang;
 using llvm::utostr;
 
@@ -271,18 +272,12 @@
   const char *startBuf = SM->getCharacterData(LocStart);
   const char *endBuf = SM->getCharacterData(LocEnd);
 
-  // FIXME: need to consider empty class decls (no vars, methods)...
-  //   @interface NSConstantString : NSSimpleCString
-  //   @end
-
-  if (*endBuf != '>' && *endBuf != '}')
-    // we have an identifier - scan ahead until the end of token.
-    endBuf = strchr(endBuf, ' '); // FIXME: implement correctly.
+  endBuf += Lexer::MeasureTokenLength(LocEnd, *SM);
 
   std::string ResultStr;
   SynthesizeObjcInternalStruct(ClassDecl, ResultStr);
     
-  Rewrite.ReplaceText(LocStart, endBuf-startBuf+1, 
+  Rewrite.ReplaceText(LocStart, endBuf-startBuf, 
                       ResultStr.c_str(), ResultStr.size());
   
   int nInstanceMethods = ClassDecl->getNumInstanceMethods();
@@ -307,6 +302,8 @@
     
     // FIXME: handle methods that are declared across multiple lines.
   }
+  // Lastly, comment out the @end.
+  Rewrite.ReplaceText(ClassDecl->getAtEndLoc(), 0, "// ", 3);
 }
 
 //===----------------------------------------------------------------------===//