diff options
Diffstat (limited to 'contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp')
-rw-r--r-- | contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp b/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp index ae9d6da..4ad120f 100644 --- a/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp +++ b/contrib/llvm/tools/llvm-cov/SourceCoverageViewText.cpp @@ -11,6 +11,7 @@ /// //===----------------------------------------------------------------------===// +#include "CoverageReport.h" #include "SourceCoverageViewText.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/SmallString.h" @@ -27,15 +28,20 @@ void CoveragePrinterText::closeViewFile(OwnedStream OS) { OS->operator<<('\n'); } -Error CoveragePrinterText::createIndexFile(ArrayRef<StringRef> SourceFiles) { +Error CoveragePrinterText::createIndexFile( + ArrayRef<std::string> SourceFiles, + const coverage::CoverageMapping &Coverage) { auto OSOrErr = createOutputStream("index", "txt", /*InToplevel=*/true); if (Error E = OSOrErr.takeError()) return E; auto OS = std::move(OSOrErr.get()); raw_ostream &OSRef = *OS.get(); - for (StringRef SF : SourceFiles) - OSRef << getOutputPath(SF, "txt", /*InToplevel=*/false) << '\n'; + CoverageReport Report(Opts, Coverage); + Report.renderFileReports(OSRef, SourceFiles); + + Opts.colored_ostream(OSRef, raw_ostream::CYAN) << "\n" + << Opts.getLLVMVersionString(); return Error::success(); } @@ -63,7 +69,7 @@ void SourceCoverageViewText::renderViewHeader(raw_ostream &) {} void SourceCoverageViewText::renderViewFooter(raw_ostream &) {} -void SourceCoverageViewText::renderSourceName(raw_ostream &OS) { +void SourceCoverageViewText::renderSourceName(raw_ostream &OS, bool WholeFile) { getOptions().colored_ostream(OS, raw_ostream::CYAN) << getSourceName() << ":\n"; } @@ -209,5 +215,25 @@ void SourceCoverageViewText::renderInstantiationView(raw_ostream &OS, unsigned ViewDepth) { renderLinePrefix(OS, ViewDepth); OS << ' '; - ISV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/true, ViewDepth); + if (!ISV.View) + getOptions().colored_ostream(OS, raw_ostream::RED) + << "Unexecuted instantiation: " << ISV.FunctionName << "\n"; + else + ISV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/true, + ViewDepth); +} + +void SourceCoverageViewText::renderTitle(raw_ostream &OS, StringRef Title) { + if (getOptions().hasProjectTitle()) + getOptions().colored_ostream(OS, raw_ostream::CYAN) + << getOptions().ProjectTitle << "\n"; + + getOptions().colored_ostream(OS, raw_ostream::CYAN) << Title << "\n"; + + if (getOptions().hasCreatedTime()) + getOptions().colored_ostream(OS, raw_ostream::CYAN) + << getOptions().CreatedTimeStr << "\n"; } + +void SourceCoverageViewText::renderTableHeader(raw_ostream &, unsigned, + unsigned) {} |