summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cov/SourceCoverageView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 45684d78e31..0c2a8878f3b 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -129,14 +129,22 @@ void SourceCoverageView::print(raw_ostream &OS, bool WholeFile,
for (; NextESV != EndESV && NextESV->getLine() == LI.line_number();
++NextESV) {
renderViewDivider(OS, ViewDepth + 1);
- ExpansionColumn = renderExpansionView(
- OS, *NextESV,
- RenderedSubView ? Optional<LineRef>({*LI, LI.line_number()})
- : Optional<LineRef>(),
- WrappedSegment, LineSegments, ExpansionColumn, ViewDepth);
+
+ // Re-render the current line and highlight the expansion range for
+ // this subview.
+ if (RenderedSubView) {
+ ExpansionColumn = NextESV->getStartCol();
+ renderExpansionSite(
+ OS, *NextESV, {*LI, LI.line_number()}, WrappedSegment, LineSegments,
+ ExpansionColumn, ViewDepth);
+ renderViewDivider(OS, ViewDepth + 1);
+ }
+
+ renderExpansionView(OS, *NextESV, ViewDepth + 1);
RenderedSubView = true;
}
for (; NextISV != EndISV && NextISV->Line == LI.line_number(); ++NextISV) {
+ renderViewDivider(OS, ViewDepth + 1);
renderInstantiationView(OS, *NextISV, ViewDepth + 1);
RenderedSubView = true;
}
OpenPOWER on IntegriCloud