diff options
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp index 03f7a70cd8f..eeb2a961ee1 100644 --- a/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp +++ b/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp @@ -285,12 +285,16 @@ void CoveragePrinterHTML::closeViewFile(OwnedStream OS) { } /// Emit column labels for the table in the index. -static void emitColumnLabelsForIndex(raw_ostream &OS) { +static void emitColumnLabelsForIndex(raw_ostream &OS, + const CoverageViewOptions &Opts) { SmallVector<std::string, 4> Columns; Columns.emplace_back(tag("td", "Filename", "column-entry-left")); - for (const char *Label : {"Function Coverage", "Instantiation Coverage", - "Line Coverage", "Region Coverage"}) - Columns.emplace_back(tag("td", Label, "column-entry")); + Columns.emplace_back(tag("td", "Function Coverage", "column-entry")); + if (Opts.ShowInstantiationSummary) + Columns.emplace_back(tag("td", "Instantiation Coverage", "column-entry")); + Columns.emplace_back(tag("td", "Line Coverage", "column-entry")); + if (Opts.ShowRegionSummary) + Columns.emplace_back(tag("td", "Region Coverage", "column-entry")); OS << tag("tr", join(Columns.begin(), Columns.end(), "")); } @@ -345,14 +349,16 @@ void CoveragePrinterHTML::emitFileSummary(raw_ostream &OS, StringRef SF, AddCoverageTripleToColumn(FCS.FunctionCoverage.Executed, FCS.FunctionCoverage.NumFunctions, FCS.FunctionCoverage.getPercentCovered()); - AddCoverageTripleToColumn(FCS.InstantiationCoverage.Executed, - FCS.InstantiationCoverage.NumFunctions, - FCS.InstantiationCoverage.getPercentCovered()); + if (Opts.ShowInstantiationSummary) + AddCoverageTripleToColumn(FCS.InstantiationCoverage.Executed, + FCS.InstantiationCoverage.NumFunctions, + FCS.InstantiationCoverage.getPercentCovered()); AddCoverageTripleToColumn(FCS.LineCoverage.Covered, FCS.LineCoverage.NumLines, FCS.LineCoverage.getPercentCovered()); - AddCoverageTripleToColumn(FCS.RegionCoverage.Covered, - FCS.RegionCoverage.NumRegions, - FCS.RegionCoverage.getPercentCovered()); + if (Opts.ShowRegionSummary) + AddCoverageTripleToColumn(FCS.RegionCoverage.Covered, + FCS.RegionCoverage.NumRegions, + FCS.RegionCoverage.getPercentCovered()); OS << tag("tr", join(Columns.begin(), Columns.end(), ""), "light-row"); } @@ -395,7 +401,7 @@ Error CoveragePrinterHTML::createIndexFile( // Emit a table containing links to reports for each file in the covmapping. // Exclude files which don't contain any regions. OSRef << BeginCenteredDiv << BeginTable; - emitColumnLabelsForIndex(OSRef); + emitColumnLabelsForIndex(OSRef, Opts); FileCoverageSummary Totals("TOTALS"); auto FileReports = CoverageReport::prepareFileReports(Coverage, Totals, SourceFiles, Opts); |