1*9880d681SAndroid Build Coastguard Worker //===- CoverageReport.h - Code coverage report ---------------------------===// 2*9880d681SAndroid Build Coastguard Worker // 3*9880d681SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 4*9880d681SAndroid Build Coastguard Worker // 5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source 6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details. 7*9880d681SAndroid Build Coastguard Worker // 8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 9*9880d681SAndroid Build Coastguard Worker // 10*9880d681SAndroid Build Coastguard Worker // This class implements rendering of a code coverage report. 11*9880d681SAndroid Build Coastguard Worker // 12*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_COV_COVERAGEREPORT_H 15*9880d681SAndroid Build Coastguard Worker #define LLVM_COV_COVERAGEREPORT_H 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Worker #include "CoverageSummaryInfo.h" 18*9880d681SAndroid Build Coastguard Worker #include "CoverageViewOptions.h" 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker namespace llvm { 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker /// \brief Displays the code coverage report. 23*9880d681SAndroid Build Coastguard Worker class CoverageReport { 24*9880d681SAndroid Build Coastguard Worker const CoverageViewOptions &Options; 25*9880d681SAndroid Build Coastguard Worker std::unique_ptr<coverage::CoverageMapping> Coverage; 26*9880d681SAndroid Build Coastguard Worker 27*9880d681SAndroid Build Coastguard Worker void render(const FileCoverageSummary &File, raw_ostream &OS); 28*9880d681SAndroid Build Coastguard Worker void render(const FunctionCoverageSummary &Function, raw_ostream &OS); 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker public: CoverageReport(const CoverageViewOptions & Options,std::unique_ptr<coverage::CoverageMapping> Coverage)31*9880d681SAndroid Build Coastguard Worker CoverageReport(const CoverageViewOptions &Options, 32*9880d681SAndroid Build Coastguard Worker std::unique_ptr<coverage::CoverageMapping> Coverage) 33*9880d681SAndroid Build Coastguard Worker : Options(Options), Coverage(std::move(Coverage)) {} 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker void renderFunctionReports(ArrayRef<StringRef> Files, raw_ostream &OS); 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Worker void renderFileReports(raw_ostream &OS); 38*9880d681SAndroid Build Coastguard Worker }; 39*9880d681SAndroid Build Coastguard Worker } 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker #endif // LLVM_COV_COVERAGEREPORT_H 42