diff options
author | Vedant Kumar <vsk@apple.com> | 2016-06-26 02:45:13 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-06-26 02:45:13 +0000 |
commit | 861a19c294e257e9be59c814298016e2d3b7a842 (patch) | |
tree | 6239e6ffdaa93f1d1df648d79f41c8f38c8b3dde /llvm/tools/llvm-cov/SourceCoverageViewText.cpp | |
parent | 9a2e979b3d9fdcf119cff567d87d1bea6ba5f46f (diff) | |
download | bcm5719-llvm-861a19c294e257e9be59c814298016e2d3b7a842.tar.gz bcm5719-llvm-861a19c294e257e9be59c814298016e2d3b7a842.zip |
[llvm-cov] Simplify the way expansion views are rendered (NFC)
If a sub-view has already been rendered, it's helpful to re-render the
expansion site before rendering the next expansion view. Make this fact
explicit in the rendering interface, instead of hiding it behind an
awkward Optional<LineRef> parameter.
llvm-svn: 273789
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp index e02f4b1ae42..0757a4ebd95 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp @@ -12,6 +12,7 @@ //===----------------------------------------------------------------------===// #include "SourceCoverageViewText.h" +#include "llvm/ADT/Optional.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" @@ -156,37 +157,29 @@ void SourceCoverageViewText::renderRegionMarkers( << formatCount(S->Count) << (S->IsRegionEntry ? "\n" : " (pop)\n"); } -unsigned SourceCoverageViewText::renderExpansionView( - raw_ostream &OS, ExpansionView &ESV, Optional<LineRef> FirstLine, +void SourceCoverageViewText::renderExpansionSite( + raw_ostream &OS, ExpansionView &ESV, LineRef L, const coverage::CoverageSegment *WrappedSegment, CoverageSegmentArray Segments, unsigned ExpansionCol, unsigned ViewDepth) { - unsigned NextExpansionCol = ExpansionCol; - - if (FirstLine.hasValue()) { - // Re-render the current line and highlight the expansion range for - // this subview. - NextExpansionCol = ESV.getStartCol(); - renderLinePrefix(OS, ViewDepth); - OS.indent(getCombinedColumnWidth(getOptions()) + (ViewDepth == 0 ? 0 : 1)); - renderLine(OS, *FirstLine, WrappedSegment, Segments, ExpansionCol, - ViewDepth); - renderViewDivider(OS, ViewDepth + 1); - } + renderLinePrefix(OS, ViewDepth); + OS.indent(getCombinedColumnWidth(getOptions()) + (ViewDepth == 0 ? 0 : 1)); + renderLine(OS, L, WrappedSegment, Segments, ExpansionCol, ViewDepth); +} +void SourceCoverageViewText::renderExpansionView(raw_ostream &OS, + ExpansionView &ESV, + unsigned ViewDepth) { // Render the child subview. if (getOptions().Debug) errs() << "Expansion at line " << ESV.getLine() << ", " << ESV.getStartCol() << " -> " << ESV.getEndCol() << '\n'; ESV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/false, ViewDepth + 1); - - return NextExpansionCol; } void SourceCoverageViewText::renderInstantiationView(raw_ostream &OS, InstantiationView &ISV, unsigned ViewDepth) { - renderViewDivider(OS, ViewDepth); renderLinePrefix(OS, ViewDepth); OS << ' '; ISV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/true, ViewDepth); |