Coverage Report

Created: 2019-01-18 03:29

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/tools/llvm-cov/CoverageViewOptions.h
Line
Count
Source
1
//===- CoverageViewOptions.h - Code coverage display options -------------===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H
11
#define LLVM_COV_COVERAGEVIEWOPTIONS_H
12
13
#include "llvm/Config/llvm-config.h"
14
#include "RenderingSupport.h"
15
#include <vector>
16
17
namespace llvm {
18
19
/// The options for displaying the code coverage information.
20
struct CoverageViewOptions {
21
  enum class OutputFormat {
22
    Text,
23
    HTML,
24
    Lcov
25
  };
26
27
  bool Debug;
28
  bool Colors;
29
  bool ShowLineNumbers;
30
  bool ShowLineStats;
31
  bool ShowRegionMarkers;
32
  bool ShowExpandedRegions;
33
  bool ShowFunctionInstantiations;
34
  bool ShowFullFilenames;
35
  bool ShowRegionSummary;
36
  bool ShowInstantiationSummary;
37
  bool ExportSummaryOnly;
38
  OutputFormat Format;
39
  std::string ShowOutputDirectory;
40
  std::vector<std::string> DemanglerOpts;
41
  uint32_t TabSize;
42
  std::string ProjectTitle;
43
  std::string CreatedTimeStr;
44
  unsigned NumThreads;
45
46
  /// Change the output's stream color if the colors are enabled.
47
  ColoredRawOstream colored_ostream(raw_ostream &OS,
48
770
                                    raw_ostream::Colors Color) const {
49
770
    return llvm::colored_ostream(OS, Color, Colors);
50
770
  }
51
52
  /// Check if an output directory has been specified.
53
588
  bool hasOutputDirectory() const { return !ShowOutputDirectory.empty(); }
54
55
  /// Check if a demangler has been specified.
56
105
  bool hasDemangler() const { return !DemanglerOpts.empty(); }
57
58
  /// Check if a project title has been specified.
59
70
  bool hasProjectTitle() const { return !ProjectTitle.empty(); }
60
61
  /// Check if the created time of the profile data file is available.
62
70
  bool hasCreatedTime() const { return !CreatedTimeStr.empty(); }
63
64
  /// Get the LLVM version string.
65
30
  std::string getLLVMVersionString() const {
66
30
    std::string VersionString = "Generated by llvm-cov -- llvm version ";
67
30
    VersionString += LLVM_VERSION_STRING;
68
30
    return VersionString;
69
30
  }
70
};
71
}
72
73
#endif // LLVM_COV_COVERAGEVIEWOPTIONS_H