diff options
author | Chris Lattner <sabre@nondot.org> | 2009-01-17 06:22:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-01-17 06:22:33 +0000 |
commit | 2b2453a7d8fe732561795431f39ceb2b2a832d84 (patch) | |
tree | ad3d68197002f997b30e6617e41e290eff963b03 /lib/Rewrite/TokenRewriter.cpp | |
parent | 05816591ec488a933dfecc9ff9f3cbf3c32767c2 (diff) |
this massive patch introduces a simple new abstraction: it makes
"FileID" a concept that is now enforced by the compiler's type checker
instead of yet-another-random-unsigned floating around.
This is an important distinction from the "FileID" currently tracked by
SourceLocation. *That* FileID may refer to the start of a file or to a
chunk within it. The new FileID *only* refers to the file (and its
#include stack and eventually #line data), it cannot refer to a chunk.
FileID is a completely opaque datatype to all clients, only SourceManager
is allowed to poke and prod it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62407 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Rewrite/TokenRewriter.cpp')
-rw-r--r-- | lib/Rewrite/TokenRewriter.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Rewrite/TokenRewriter.cpp b/lib/Rewrite/TokenRewriter.cpp index f288ac2402..85d83c2dea 100644 --- a/lib/Rewrite/TokenRewriter.cpp +++ b/lib/Rewrite/TokenRewriter.cpp @@ -18,14 +18,14 @@ #include "clang/Basic/SourceManager.h" using namespace clang; -TokenRewriter::TokenRewriter(unsigned FileID, SourceManager &SM, +TokenRewriter::TokenRewriter(FileID FID, SourceManager &SM, const LangOptions &LangOpts) { ScratchBuf.reset(new ScratchBuffer(SM)); - std::pair<const char*,const char*> File = SM.getBufferData(FileID); + std::pair<const char*,const char*> File = SM.getBufferData(FID); // Create a lexer to lex all the tokens of the main file in raw mode. - Lexer RawLex(SourceLocation::getFileLoc(FileID, 0), + Lexer RawLex(SM.getLocForStartOfFile(FID), LangOpts, File.first, File.second); // Return all comments and whitespace as tokens. |