[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
diff --git a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
index 848b5f8..70ded87 100644
--- a/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageViewText.cpp
@@ -59,6 +59,10 @@
 
 } // anonymous namespace
 
+void SourceCoverageViewText::renderViewHeader(raw_ostream &OS) { (void)OS; }
+
+void SourceCoverageViewText::renderViewFooter(raw_ostream &OS) { (void)OS; }
+
 void SourceCoverageViewText::renderSourceName(raw_ostream &OS) {
   getOptions().colored_ostream(OS, raw_ostream::CYAN) << getSourceName()
                                                       << ":\n";
@@ -70,6 +74,12 @@
     OS << "  |";
 }
 
+void SourceCoverageViewText::renderLineSuffix(raw_ostream &OS,
+                                              unsigned ViewDepth) {
+  (void)OS;
+  (void)ViewDepth;
+}
+
 void SourceCoverageViewText::renderViewDivider(raw_ostream &OS,
                                                unsigned ViewDepth) {
   assert(ViewDepth != 0 && "Cannot render divider at top level");
@@ -180,8 +190,7 @@
 }
 
 void SourceCoverageViewText::renderExpansionSite(
-    raw_ostream &OS, ExpansionView &ESV, LineRef L,
-    const coverage::CoverageSegment *WrappedSegment,
+    raw_ostream &OS, LineRef L, const coverage::CoverageSegment *WrappedSegment,
     CoverageSegmentArray Segments, unsigned ExpansionCol, unsigned ViewDepth) {
   renderLinePrefix(OS, ViewDepth);
   OS.indent(getCombinedColumnWidth(getOptions()) + (ViewDepth == 0 ? 0 : 1));