diff options
author | Chris Lattner <sabre@nondot.org> | 2009-01-17 03:54:16 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-01-17 03:54:16 +0000 |
commit | 05816591ec488a933dfecc9ff9f3cbf3c32767c2 (patch) | |
tree | 0bac1e3ee0ef775b1be748072f80cbcde12cb404 /include/clang/Basic/SourceManager.h | |
parent | 5c263857e2c3e7dce30ad32bb93b4a428896adb4 (diff) |
make "ContentCache::Buffer" mutable to avoid a const_cast.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62403 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/SourceManager.h')
-rw-r--r-- | include/clang/Basic/SourceManager.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h index 9a67627485..4db38017cc 100644 --- a/include/clang/Basic/SourceManager.h +++ b/include/clang/Basic/SourceManager.h @@ -51,24 +51,24 @@ namespace SrcMgr { class ContentCache { /// Buffer - The actual buffer containing the characters from the input /// file. This is owned by the ContentCache object. - const llvm::MemoryBuffer* Buffer; + mutable const llvm::MemoryBuffer *Buffer; public: /// Reference to the file entry. This reference does not own /// the FileEntry object. It is possible for this to be NULL if /// the ContentCache encapsulates an imaginary text buffer. - const FileEntry* Entry; + const FileEntry *Entry; /// SourceLineCache - A new[]'d array of offsets for each source line. This /// is lazily computed. This is owned by the ContentCache object. - unsigned* SourceLineCache; + unsigned *SourceLineCache; /// NumLines - The number of lines in this ContentCache. This is only valid /// if SourceLineCache is non-null. unsigned NumLines; /// getBuffer - Returns the memory buffer for the associated content. - const llvm::MemoryBuffer* getBuffer() const; + const llvm::MemoryBuffer *getBuffer() const; /// getSize - Returns the size of the content encapsulated by this /// ContentCache. This can be the size of the source file or the size of an @@ -81,12 +81,12 @@ namespace SrcMgr { /// instantiated. unsigned getSizeBytesMapped() const; - void setBuffer(const llvm::MemoryBuffer* B) { + void setBuffer(const llvm::MemoryBuffer *B) { assert(!Buffer && "MemoryBuffer already set."); Buffer = B; } - ContentCache(const FileEntry* e = NULL) + ContentCache(const FileEntry *e = NULL) : Buffer(NULL), Entry(e), SourceLineCache(NULL), NumLines(0) {} ~ContentCache(); @@ -94,7 +94,7 @@ namespace SrcMgr { /// The copy ctor does not allow copies where source object has either /// a non-NULL Buffer or SourceLineCache. Ownership of allocated memory /// is not transfered, so this is a logical error. - ContentCache(const ContentCache& RHS) : Buffer(NULL),SourceLineCache(NULL) { + ContentCache(const ContentCache &RHS) : Buffer(NULL),SourceLineCache(NULL) { Entry = RHS.Entry; assert (RHS.Buffer == NULL && RHS.SourceLineCache == NULL @@ -104,16 +104,16 @@ namespace SrcMgr { } /// Emit - Emit this ContentCache to Bitcode. - void Emit(llvm::Serializer& S) const; + void Emit(llvm::Serializer &S) const; /// ReadToSourceManager - Reconstitute a ContentCache from Bitcode // and store it in the specified SourceManager. - static void ReadToSourceManager(llvm::Deserializer& D, SourceManager& SMgr, - FileManager* FMgr, std::vector<char>& Buf); + static void ReadToSourceManager(llvm::Deserializer &D, SourceManager &SM, + FileManager *FMgr, std::vector<char> &Buf); private: // Disable assignments. - ContentCache& operator=(const ContentCache& RHS); + ContentCache &operator=(const ContentCache& RHS); }; /// FileIDInfo - Information about a FileID, basically just the logical file @@ -150,7 +150,7 @@ namespace SrcMgr { unsigned FileCharacteristic : 2; /// Content - Information about the source buffer itself. - const ContentCache* Content; + const ContentCache *Content; public: /// get - Return a FileIDInfo object. |