//===- CoverageSummary.h - Code coverage summary --------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This class implements data management and rendering for the code coverage // summaries of all files and functions. // //===----------------------------------------------------------------------===// #ifndef LLVM_COV_COVERAGESUMMARY_H #define LLVM_COV_COVERAGESUMMARY_H #include "CoverageSummaryInfo.h" #include namespace llvm { /// \brief Manager for the function and file code coverage summaries. class CoverageSummary { std::vector Filenames; std::vector FunctionSummaries; std::vector> FunctionSummariesFileIDs; std::vector FileSummaries; unsigned getFileID(StringRef Filename); public: void createSummaries(const coverage::CoverageMapping &Coverage); ArrayRef getFileSummaries() { return FileSummaries; } FileCoverageSummary getCombinedFileSummaries(); void render(const FunctionCoverageSummary &Summary, raw_ostream &OS); void render(raw_ostream &OS); }; } #endif // LLVM_COV_COVERAGESUMMARY_H