diff options
author | Vedant Kumar <vsk@apple.com> | 2016-06-29 00:38:21 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2016-06-29 00:38:21 +0000 |
commit | cd29c6b37b62025661f4b34457218e71cd907322 (patch) | |
tree | 74f0307500565790a2b89afdc313ad0a42ea46eb /tools/llvm-cov/SourceCoverageView.cpp | |
parent | 3cb7bf59521affd2160f21433c24cfa32ec2f1ca (diff) |
[llvm-cov] Minor cleanups to prepare for the html format patch
- Add renderView{Header,Footer}, renderLineSuffix, and hasSubViews to
support creating tables with nested views.
- Move the 'Format' cl::opt to make it easier to extend.
- Just create one function view file, instead of overwriting the same
file for every new function. Add a regression test for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274086 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r-- | tools/llvm-cov/SourceCoverageView.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/tools/llvm-cov/SourceCoverageView.cpp b/tools/llvm-cov/SourceCoverageView.cpp index ca2203d21cc..b09d7de5016 100644 --- a/tools/llvm-cov/SourceCoverageView.cpp +++ b/tools/llvm-cov/SourceCoverageView.cpp @@ -88,6 +88,16 @@ std::string SourceCoverageView::formatCount(uint64_t N) { return Result; } +bool SourceCoverageView::shouldRenderRegionMarkers( + bool LineHasMultipleRegions) const { + return getOptions().ShowRegionMarkers && + (!getOptions().ShowLineStatsOrRegionMarkers || LineHasMultipleRegions); +} + +bool SourceCoverageView::hasSubViews() const { + return !ExpansionSubViews.empty() || !InstantiationSubViews.empty(); +} + std::unique_ptr<SourceCoverageView> SourceCoverageView::create(StringRef SourceName, const MemoryBuffer &File, const CoverageViewOptions &Options, @@ -117,6 +127,8 @@ void SourceCoverageView::print(raw_ostream &OS, bool WholeFile, if (ShowSourceName) renderSourceName(OS); + renderViewHeader(OS); + // We need the expansions and instantiations sorted so we can go through them // while we iterate lines. std::sort(ExpansionSubViews.begin(), ExpansionSubViews.end()); @@ -175,12 +187,8 @@ void SourceCoverageView::print(raw_ostream &OS, bool WholeFile, ExpansionColumn, ViewDepth); // Show the region markers. - if (getOptions().ShowRegionMarkers && - (!getOptions().ShowLineStatsOrRegionMarkers || - LineCount.hasMultipleRegions()) && - !LineSegments.empty()) { + if (shouldRenderRegionMarkers(LineCount.hasMultipleRegions())) renderRegionMarkers(OS, LineSegments, ViewDepth); - } // Show the expansions and instantiations for this line. bool RenderedSubView = false; @@ -192,9 +200,8 @@ void SourceCoverageView::print(raw_ostream &OS, bool WholeFile, // this subview. if (RenderedSubView) { ExpansionColumn = NextESV->getStartCol(); - renderExpansionSite( - OS, *NextESV, {*LI, LI.line_number()}, WrappedSegment, LineSegments, - ExpansionColumn, ViewDepth); + renderExpansionSite(OS, {*LI, LI.line_number()}, WrappedSegment, + LineSegments, ExpansionColumn, ViewDepth); renderViewDivider(OS, ViewDepth + 1); } @@ -208,5 +215,8 @@ void SourceCoverageView::print(raw_ostream &OS, bool WholeFile, } if (RenderedSubView) renderViewDivider(OS, ViewDepth + 1); + renderLineSuffix(OS, ViewDepth); } + + renderViewFooter(OS); } |