TargetInfo no longer includes a reference to SourceManager.
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44957 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/TextDiagnosticPrinter.h b/Driver/TextDiagnosticPrinter.h
index 1f0a52c..4149c65 100644
--- a/Driver/TextDiagnosticPrinter.h
+++ b/Driver/TextDiagnosticPrinter.h
@@ -22,21 +22,22 @@
class SourceManager;
class TextDiagnosticPrinter : public TextDiagnostics {
- SourceLocation LastWarningLoc;
+ FullSourceLoc LastWarningLoc;
public:
TextDiagnosticPrinter() {}
- void PrintIncludeStack(SourceLocation Pos, SourceManager& SrcMgr);
+ void PrintIncludeStack(FullSourceLoc Pos);
+
void HighlightRange(const SourceRange &R,
- SourceManager* SrcMgr,
+ SourceManager& SrcMgr,
unsigned LineNo,
std::string &CaratLine,
const std::string &SourceLine);
- virtual void HandleDiagnostic(Diagnostic &Diags, Diagnostic::Level DiagLevel,
- SourceLocation Pos,
+ virtual void HandleDiagnostic(Diagnostic &Diags,
+ Diagnostic::Level DiagLevel,
+ FullSourceLoc Pos,
diag::kind ID,
- SourceManager* SrcMgr,
const std::string *Strs,
unsigned NumStrs,
const SourceRange *Ranges,