diff options
Diffstat (limited to 'include/clang/Basic/SourceManager.h')
-rw-r--r-- | include/clang/Basic/SourceManager.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index f06a6fbf54..dd8a86cc7e 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -154,13 +154,21 @@ class SourceManager { /// MacroIDs - Information about each MacroID. std::vector<SrcMgr::MacroIDInfo> MacroIDs; + /// LastLineNo - These ivars serve as a cache used in the getLineNumber + /// method which is used to speedup getLineNumber calls to nearby locations. + unsigned LastLineNoFileIDQuery; + SrcMgr::FileInfo *LastLineNoFileInfo; + unsigned LastLineNoFilePos; + unsigned LastLineNoResult; public: - SourceManager() {} + SourceManager() : LastLineNoFileIDQuery(~0U) {} ~SourceManager(); void clearIDTables() { FileIDs.clear(); MacroIDs.clear(); + LastLineNoFileIDQuery = ~0U; + LastLineNoFileInfo = 0; } /// createFileID - Create a new FileID that represents the specified file |