summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-cov/SourceCoverageView.cpp
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-09-20 15:31:56 +0000
committerJustin Bogner <mail@justinbogner.com>2014-09-20 15:31:56 +0000
commit953e2407edb956eb846a79fc0dce08d032ea0d66 (patch)
tree617f3d06bf359ec67e4b312f2755e0453ce6cf9b /llvm/tools/llvm-cov/SourceCoverageView.cpp
parentf584649ae397396016b1fbfc6fe8d8ea29e2ebf5 (diff)
downloadbcm5719-llvm-953e2407edb956eb846a79fc0dce08d032ea0d66.tar.gz
bcm5719-llvm-953e2407edb956eb846a79fc0dce08d032ea0d66.zip
llvm-cov: Disentangle the coverage data logic from the display (NFC)
This splits the logic for actually looking up coverage information from the logic that displays it. These were tangled rather thoroughly so this change is a bit large, but it mostly consists of moving things around. The coverage lookup logic itself now lives in the library, rather than being spread between the library and the tool. llvm-svn: 218184
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 3be54f828da..015099c7d02 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -18,11 +18,11 @@
using namespace llvm;
-void SourceCoverageView::renderLine(raw_ostream &OS, StringRef Line,
- int64_t LineNumber,
- const CoverageSegment *WrappedSegment,
- ArrayRef<const CoverageSegment *> Segments,
- unsigned ExpansionCol) {
+void SourceCoverageView::renderLine(
+ raw_ostream &OS, StringRef Line, int64_t LineNumber,
+ const coverage::CoverageSegment *WrappedSegment,
+ ArrayRef<const coverage::CoverageSegment *> Segments,
+ unsigned ExpansionCol) {
Optional<raw_ostream::Colors> Highlight;
SmallVector<std::pair<unsigned, unsigned>, 2> HighlightedRanges;
@@ -110,7 +110,7 @@ void SourceCoverageView::renderLineNumberColumn(raw_ostream &OS,
}
void SourceCoverageView::renderRegionMarkers(
- raw_ostream &OS, ArrayRef<const CoverageSegment *> Segments) {
+ raw_ostream &OS, ArrayRef<const coverage::CoverageSegment *> Segments) {
SmallString<32> Buffer;
raw_svector_ostream BufferOS(Buffer);
@@ -158,14 +158,12 @@ void SourceCoverageView::render(raw_ostream &OS, bool WholeFile,
auto EndISV = InstantiationSubViews.end();
// Get the coverage information for the file.
- auto CoverageSegments = RegionManager->getCoverageSegments();
- assert(CoverageSegments.size() && "View with no coverage?");
- auto NextSegment = CoverageSegments.begin();
- auto EndSegment = CoverageSegments.end();
+ auto NextSegment = CoverageInfo.begin();
+ auto EndSegment = CoverageInfo.end();
unsigned FirstLine = NextSegment != EndSegment ? NextSegment->Line : 0;
- const CoverageSegment *WrappedSegment = nullptr;
- SmallVector<const CoverageSegment *, 8> LineSegments;
+ const coverage::CoverageSegment *WrappedSegment = nullptr;
+ SmallVector<const coverage::CoverageSegment *, 8> LineSegments;
for (line_iterator LI(File, /*SkipBlanks=*/false); !LI.is_at_eof(); ++LI) {
// If we aren't rendering the whole file, we need to filter out the prologue
// and epilogue.
OpenPOWER on IntegriCloud