From d79e4628da88b58e9913008ff32f2e1ca785a4e7 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Sat, 15 Oct 2011 01:21:55 +0000 Subject: Change 'Emit' to 'EmitCaret' which sums up what it *should* be doing. Also note that it is actually doing much more than it should. This paves the way for building a more generic 'Emit' routine that is the real entry point here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142035 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Frontend/TextDiagnosticPrinter.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/Frontend/TextDiagnosticPrinter.cpp b/lib/Frontend/TextDiagnosticPrinter.cpp index 6af66c797a..10e7238218 100644 --- a/lib/Frontend/TextDiagnosticPrinter.cpp +++ b/lib/Frontend/TextDiagnosticPrinter.cpp @@ -326,12 +326,14 @@ public: : Printer(Printer), OS(OS), SM(SM), LangOpts(LangOpts), DiagOpts(DiagOpts) { } - /// \brief Emit the caret diagnostic text. + /// \brief Emit the caret and underlining text. /// /// Walks up the macro expansion stack printing the code snippet, caret, /// underlines and FixItHint display as appropriate at each level. Walk is /// accomplished by calling itself recursively. /// + /// FIXME: Remove macro expansion from this routine, it shouldn't be tied to + /// caret diagnostics. /// FIXME: Break up massive function into logical units. /// /// \param Loc The location for this caret. @@ -339,7 +341,7 @@ public: /// \param Hints The FixIt hints active for this diagnostic. /// \param MacroSkipEnd The depth to stop skipping macro expansions. /// \param OnMacroInst The current depth of the macro expansion stack. - void Emit(SourceLocation Loc, + void EmitCaret(SourceLocation Loc, SmallVectorImpl& Ranges, ArrayRef Hints, unsigned &MacroDepth, @@ -363,7 +365,7 @@ public: SourceLocation OneLevelUp = getImmediateMacroCallerLoc(SM, Loc); // FIXME: Map ranges? - Emit(OneLevelUp, Ranges, Hints, MacroDepth, OnMacroInst + 1); + EmitCaret(OneLevelUp, Ranges, Hints, MacroDepth, OnMacroInst + 1); // Map the location. Loc = getImmediateMacroCalleeLoc(SM, Loc); @@ -1261,9 +1263,10 @@ void TextDiagnosticPrinter::HandleDiagnostic(DiagnosticsEngine::Level Level, } unsigned MacroDepth = 0; - TextDiag.Emit(LastLoc, Ranges, llvm::makeArrayRef(Info.getFixItHints(), - Info.getNumFixItHints()), - MacroDepth); + TextDiag.EmitCaret(LastLoc, Ranges, + llvm::makeArrayRef(Info.getFixItHints(), + Info.getNumFixItHints()), + MacroDepth); } OS.flush(); -- cgit v1.2.3