aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-cov/SourceCoverageView.h
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-06-29 00:38:21 +0000
committerVedant Kumar <vsk@apple.com>2016-06-29 00:38:21 +0000
commit8d74cb27e82440dbf1bea123613fc373e203680a (patch)
tree2e22c0a2ccf2992092030a25440288f71a1a2513 /llvm/tools/llvm-cov/SourceCoverageView.h
parent1ead14b147c5aecacc25d6f1432c0a76b4b91e8c (diff)
downloadllvm-8d74cb27e82440dbf1bea123613fc373e203680a.zip
llvm-8d74cb27e82440dbf1bea123613fc373e203680a.tar.gz
llvm-8d74cb27e82440dbf1bea123613fc373e203680a.tar.bz2
[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. llvm-svn: 274086
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.h')
-rw-r--r--llvm/tools/llvm-cov/SourceCoverageView.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.h b/llvm/tools/llvm-cov/SourceCoverageView.h
index 3244dc8..98e68b6 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.h
+++ b/llvm/tools/llvm-cov/SourceCoverageView.h
@@ -183,12 +183,21 @@ protected:
/// @name Rendering Interface
/// @{
+ /// \brief Render a header for the view.
+ virtual void renderViewHeader(raw_ostream &OS) = 0;
+
+ /// \brief Render a footer for the view.
+ virtual void renderViewFooter(raw_ostream &OS) = 0;
+
/// \brief Render the source name for the view.
virtual void renderSourceName(raw_ostream &OS) = 0;
/// \brief Render the line prefix at the given \p ViewDepth.
virtual void renderLinePrefix(raw_ostream &OS, unsigned ViewDepth) = 0;
+ /// \brief Render the line suffix at the given \p ViewDepth.
+ virtual void renderLineSuffix(raw_ostream &OS, unsigned ViewDepth) = 0;
+
/// \brief Render a view divider at the given \p ViewDepth.
virtual void renderViewDivider(raw_ostream &OS, unsigned ViewDepth) = 0;
@@ -212,7 +221,7 @@ protected:
/// \brief Render the site of an expansion.
virtual void
- renderExpansionSite(raw_ostream &OS, ExpansionView &ESV, LineRef L,
+ renderExpansionSite(raw_ostream &OS, LineRef L,
const coverage::CoverageSegment *WrappedSegment,
CoverageSegmentArray Segments, unsigned ExpansionCol,
unsigned ViewDepth) = 0;
@@ -231,6 +240,12 @@ protected:
/// digits.
static std::string formatCount(uint64_t N);
+ /// \brief Check if region marker output is expected for a line.
+ bool shouldRenderRegionMarkers(bool LineHasMultipleRegions) const;
+
+ /// \brief Check if there are any sub-views attached to this view.
+ bool hasSubViews() const;
+
SourceCoverageView(StringRef SourceName, const MemoryBuffer &File,
const CoverageViewOptions &Options,
coverage::CoverageData &&CoverageInfo)