blob: 9dbebde949e5ce5a09da7f808250165f17f1a6b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
//===- 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 <vector>
namespace llvm {
/// \brief Manager for the function and file code coverage summaries.
class CoverageSummary {
std::vector<StringRef> Filenames;
std::vector<FunctionCoverageSummary> FunctionSummaries;
std::vector<std::pair<unsigned, unsigned>> FunctionSummariesFileIDs;
std::vector<FileCoverageSummary> FileSummaries;
unsigned getFileID(StringRef Filename);
public:
void createSummaries(const coverage::CoverageMapping &Coverage);
ArrayRef<FileCoverageSummary> getFileSummaries() { return FileSummaries; }
FileCoverageSummary getCombinedFileSummaries();
void render(const FunctionCoverageSummary &Summary, raw_ostream &OS);
void render(raw_ostream &OS);
};
}
#endif // LLVM_COV_COVERAGESUMMARY_H
|