change FullSourceLoc to have a *const* SourceManager&, eliminating

a const_cast.

llvm-svn: 101940
This commit is contained in:
Chris Lattner 2010-04-20 20:49:23 +00:00
parent fb24a3a4ec
commit 8f5bc9f0e1
4 changed files with 6 additions and 14 deletions

View File

@ -176,19 +176,14 @@ public:
/// FullSourceLoc - A SourceLocation and its associated SourceManager. Useful
/// for argument passing to functions that expect both objects.
class FullSourceLoc : public SourceLocation {
SourceManager* SrcMgr;
const SourceManager *SrcMgr;
public:
/// Creates a FullSourceLoc where isValid() returns false.
explicit FullSourceLoc() : SrcMgr((SourceManager*) 0) {}
explicit FullSourceLoc() : SrcMgr(0) {}
explicit FullSourceLoc(SourceLocation Loc, SourceManager &SM)
explicit FullSourceLoc(SourceLocation Loc, const SourceManager &SM)
: SourceLocation(Loc), SrcMgr(&SM) {}
SourceManager &getManager() {
assert(SrcMgr && "SourceManager is NULL.");
return *SrcMgr;
}
const SourceManager &getManager() const {
assert(SrcMgr && "SourceManager is NULL.");
return *SrcMgr;

View File

@ -68,7 +68,7 @@ public:
void EmitCaretDiagnostic(SourceLocation Loc,
SourceRange *Ranges, unsigned NumRanges,
SourceManager &SM,
const SourceManager &SM,
const FixItHint *Hints,
unsigned NumHints,
unsigned Columns);

View File

@ -60,7 +60,7 @@ void ContentCache::replaceBuffer(const llvm::MemoryBuffer *B) {
}
const llvm::MemoryBuffer *ContentCache::getBuffer(Diagnostic &Diag,
const SourceManager &sm,
const SourceManager &SM,
SourceLocation Loc,
bool *Invalid) const {
if (Invalid)
@ -68,9 +68,6 @@ const llvm::MemoryBuffer *ContentCache::getBuffer(Diagnostic &Diag,
// Lazily create the Buffer for ContentCaches that wrap files.
if (!Buffer.getPointer() && Entry) {
// FIXME:
SourceManager &SM = const_cast<SourceManager &>(sm);
std::string ErrorStr;
struct stat FileInfo;
Buffer.setPointer(MemoryBuffer::getFile(Entry->getName(), &ErrorStr,

View File

@ -282,7 +282,7 @@ static void SelectInterestingSourceRegion(std::string &SourceLine,
void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc,
SourceRange *Ranges,
unsigned NumRanges,
SourceManager &SM,
const SourceManager &SM,
const FixItHint *Hints,
unsigned NumHints,
unsigned Columns) {