[cfe-commits] Patch for review: add a fixit to remove an unused label.

Chris Lattner clattner at apple.com
Wed Jul 27 10:47:19 PDT 2011


On Jul 26, 2011, at 3:34 PM, Anna Zaks wrote:

> Hi,
> 
> Attached are two patches, which add a fixit to remove an unused label.
> 
> 1) Add a utility function to the Lexer, which makes it easier to find the ':' after the label as well as the new line and trailing spaces (It is a generalized version of trans::findLocationAfterSemi from ArcMigrate, which will be changed to use the Lexer utility).
> <unusedLabel_LexSupport.diff>

The Lexer part of this looks quite nice, with a few comments.  It's great to have this in a centralized place where lots of clients can use it.

In Lexer.h, please also add a non-static version of FindLocationAfterToken which doesn't require LangOpts and SourceMgr, just as a convenience (it should forward to the version you already have).

SourceLocation loc..

Please capitalize local variable names.

+  // Lex from the start of the given location.
+  Lexer lexer(SM.getLocForStartOfFile(locInfo.first), LangOpts, file.begin(),
+                                      tokenBegin, file.end());

it seems that it would be more convenient to use this Lexer ctor:

  Lexer(FileID FID, const llvm::MemoryBuffer *InputBuffer,
        const SourceManager &SM, const LangOptions &Features);


+    const char *tokenEnd = file.data() +
+                           SM.getDecomposedLoc(TokenLoc).second +
+                           tok.getLength();

This can use SM.getCharacterData(TokenLoc)


Otherwise, this looks great!

-Chris


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110727/96abcce8/attachment.html>


More information about the cfe-commits mailing list