1 //===- CoverageViewOptions.h - Code coverage display options -------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H
10 #define LLVM_COV_COVERAGEVIEWOPTIONS_H
12 #include "llvm/Config/llvm-config.h"
13 #include "RenderingSupport.h"
18 /// The options for displaying the code coverage information.
19 struct CoverageViewOptions
{
20 enum class OutputFormat
{
26 enum class BranchOutputType
{ Count
, Percent
, Off
};
32 bool ShowRegionMarkers
;
34 bool ShowBranchCounts
;
35 bool ShowBranchPercents
;
36 bool ShowExpandedRegions
;
37 bool ShowFunctionInstantiations
;
38 bool ShowFullFilenames
;
39 bool ShowBranchSummary
;
41 bool ShowRegionSummary
;
42 bool ShowInstantiationSummary
;
43 bool ShowDirectoryCoverage
;
44 bool ExportSummaryOnly
;
49 BranchOutputType ShowBranches
;
50 std::string ShowOutputDirectory
;
51 std::vector
<std::string
> DemanglerOpts
;
53 std::string ProjectTitle
;
54 std::string CreatedTimeStr
;
56 std::string CompilationDirectory
;
57 float HighCovWatermark
;
58 float LowCovWatermark
;
60 /// Change the output's stream color if the colors are enabled.
61 ColoredRawOstream
colored_ostream(raw_ostream
&OS
,
62 raw_ostream::Colors Color
) const {
63 return llvm::colored_ostream(OS
, Color
, Colors
);
66 /// Check if an output directory has been specified.
67 bool hasOutputDirectory() const { return !ShowOutputDirectory
.empty(); }
69 /// Check if a demangler has been specified.
70 bool hasDemangler() const { return !DemanglerOpts
.empty(); }
72 /// Check if a project title has been specified.
73 bool hasProjectTitle() const { return !ProjectTitle
.empty(); }
75 /// Check if the created time of the profile data file is available.
76 bool hasCreatedTime() const { return !CreatedTimeStr
.empty(); }
78 /// Get the LLVM version string.
79 std::string
getLLVMVersionString() const {
80 std::string VersionString
= "Generated by llvm-cov -- llvm version ";
81 VersionString
+= LLVM_VERSION_STRING
;
87 #endif // LLVM_COV_COVERAGEVIEWOPTIONS_H