diff options
author | Chris Lattner <sabre@nondot.org> | 2008-11-18 06:51:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-11-18 06:51:15 +0000 |
commit | f812a45dd93634c9300ed5533bd26b56374714a1 (patch) | |
tree | 0741b84f8ee2e0ce6c63cd9cf3181ef4329b8c4b /include/clang/Basic/SourceManager.h | |
parent | 470e5fc7b4e03105950ad62cf7582b14ca939ec4 (diff) |
SourceManager::getLineNumber is logically const except for caching.
Use mutable to make it so.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59498 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/SourceManager.h')
-rw-r--r-- | include/clang/Basic/SourceManager.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index 4f58334f2e..70237ff115 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -237,10 +237,10 @@ class SourceManager { /// 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::ContentCache *LastLineNoContentCache; - unsigned LastLineNoFilePos; - unsigned LastLineNoResult; + mutable unsigned LastLineNoFileIDQuery; + mutable SrcMgr::ContentCache *LastLineNoContentCache; + mutable unsigned LastLineNoFilePos; + mutable unsigned LastLineNoResult; /// MainFileID - The file ID for the main source file of the translation unit. unsigned MainFileID; @@ -344,12 +344,12 @@ public: /// for the position indicated. This requires building and caching a table of /// line offsets for the MemoryBuffer, so this is not cheap: use only when /// about to emit a diagnostic. - unsigned getLineNumber(SourceLocation Loc); + unsigned getLineNumber(SourceLocation Loc) const; - unsigned getLogicalLineNumber(SourceLocation Loc) { + unsigned getLogicalLineNumber(SourceLocation Loc) const { return getLineNumber(getLogicalLoc(Loc)); } - unsigned getPhysicalLineNumber(SourceLocation Loc) { + unsigned getPhysicalLineNumber(SourceLocation Loc) const { return getLineNumber(getPhysicalLoc(Loc)); } |