From: Steve Naroff Date: Wed, 14 Nov 2007 15:03:57 +0000 (+0000) Subject: Fix yesterday's regression with rewriting @optional/@required. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8cc764c67afc249628ba4f65b8e2d2ad461112ff;p=clang Fix yesterday's regression with rewriting @optional/@required. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44119 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteTest.cpp b/Driver/RewriteTest.cpp index 283f360234..b78e776f18 100644 --- a/Driver/RewriteTest.cpp +++ b/Driver/RewriteTest.cpp @@ -390,29 +390,26 @@ void RewriteTest::RewriteProtocolDecl(ObjcProtocolDecl *PDecl) { // Lastly, comment out the @end. SourceLocation LocEnd = PDecl->getAtEndLoc(); Rewrite.ReplaceText(LocEnd, 0, "// ", 3); -#if 0 + // Must comment out @optional/@required const char *startBuf = SM->getCharacterData(LocStart); const char *endBuf = SM->getCharacterData(LocEnd); for (const char *p = startBuf; p < endBuf; p++) { if (*p == '@' && !strncmp(p+1, "optional", strlen("optional"))) { std::string CommentedOptional = "/* @optional */"; - SourceLocation OptionalLoc = SourceLocation::getFileLoc(MainFileID, - p-MainBufStart); + SourceLocation OptionalLoc = LocStart.getFileLocWithOffset(p-startBuf); Rewrite.ReplaceText(OptionalLoc, strlen("@optional"), CommentedOptional.c_str(), CommentedOptional.size()); } else if (*p == '@' && !strncmp(p+1, "required", strlen("required"))) { std::string CommentedRequired = "/* @required */"; - SourceLocation OptionalLoc = SourceLocation::getFileLoc(MainFileID, - p-MainBufStart); + SourceLocation OptionalLoc = LocStart.getFileLocWithOffset(p-startBuf); Rewrite.ReplaceText(OptionalLoc, strlen("@required"), CommentedRequired.c_str(), CommentedRequired.size()); } } -#endif } void RewriteTest::RewriteForwardProtocolDecl(ObjcForwardProtocolDecl *PDecl) {