r183236 - Added Lexer::getBufferEnd().
Alexander Kornienko
alexfh at google.com
Tue Jun 4 09:58:03 PDT 2013
Author: alexfh
Date: Tue Jun 4 11:58:03 2013
New Revision: 183236
URL: http://llvm.org/viewvc/llvm-project?rev=183236&view=rev
Log:
Added Lexer::getBufferEnd().
Summary:
There's Lexer::getBufferStart(), and we need getBufferEnd() to access
the whole input buffer in clang::format::reformat. We don't want to
rely on the fact that the Lexer::BufferEnd always points to '\0', as there can
be embedded '\0's as well.
Reviewers: jordan_rose
Reviewed By: jordan_rose
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D916
Modified:
cfe/trunk/include/clang/Lex/Lexer.h
cfe/trunk/lib/Rewrite/Core/HTMLRewrite.cpp
Modified: cfe/trunk/include/clang/Lex/Lexer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Lex/Lexer.h?rev=183236&r1=183235&r2=183236&view=diff
==============================================================================
--- cfe/trunk/include/clang/Lex/Lexer.h (original)
+++ cfe/trunk/include/clang/Lex/Lexer.h Tue Jun 4 11:58:03 2013
@@ -202,7 +202,10 @@ public:
/// lexer has nothing to reset to.
void resetExtendedTokenMode();
- const char *getBufferStart() const { return BufferStart; }
+ /// Gets source code buffer.
+ StringRef getBuffer() const {
+ return StringRef(BufferStart, BufferEnd - BufferStart);
+ }
/// ReadToEndOfLine - Read the rest of the current preprocessor line as an
/// uninterpreted string. This switches the lexer out of directive mode.
Modified: cfe/trunk/lib/Rewrite/Core/HTMLRewrite.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Rewrite/Core/HTMLRewrite.cpp?rev=183236&r1=183235&r2=183236&view=diff
==============================================================================
--- cfe/trunk/lib/Rewrite/Core/HTMLRewrite.cpp (original)
+++ cfe/trunk/lib/Rewrite/Core/HTMLRewrite.cpp Tue Jun 4 11:58:03 2013
@@ -361,7 +361,7 @@ void html::SyntaxHighlight(Rewriter &R,
const SourceManager &SM = PP.getSourceManager();
const llvm::MemoryBuffer *FromFile = SM.getBuffer(FID);
Lexer L(FID, FromFile, SM, PP.getLangOpts());
- const char *BufferStart = L.getBufferStart();
+ const char *BufferStart = L.getBuffer().data();
// Inform the preprocessor that we want to retain comments as tokens, so we
// can highlight them.
More information about the cfe-commits
mailing list