aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h
diff options
context:
space:
mode:
authormonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
committermonster <monster@ydb.tech>2022-07-07 14:41:37 +0300
commit06e5c21a835c0e923506c4ff27929f34e00761c2 (patch)
tree75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h
parent03f024c4412e3aa613bb543cf1660176320ba8f4 (diff)
downloadydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz
fix ya.make
Diffstat (limited to 'contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h')
-rw-r--r--contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h b/contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h
new file mode 100644
index 0000000000..eee4ba74e1
--- /dev/null
+++ b/contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h
@@ -0,0 +1,80 @@
+//===- CoverageViewOptions.h - Code coverage display options -------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H
+#define LLVM_COV_COVERAGEVIEWOPTIONS_H
+
+#include "llvm/Config/llvm-config.h"
+#include "RenderingSupport.h"
+#include <vector>
+
+namespace llvm {
+
+/// The options for displaying the code coverage information.
+struct CoverageViewOptions {
+ enum class OutputFormat {
+ Text,
+ HTML,
+ Lcov
+ };
+
+ enum class BranchOutputType { Count, Percent, Off };
+
+ bool Debug;
+ bool Colors;
+ bool ShowLineNumbers;
+ bool ShowLineStats;
+ bool ShowRegionMarkers;
+ bool ShowBranchCounts;
+ bool ShowBranchPercents;
+ bool ShowExpandedRegions;
+ bool ShowFunctionInstantiations;
+ bool ShowFullFilenames;
+ bool ShowBranchSummary;
+ bool ShowRegionSummary;
+ bool ShowInstantiationSummary;
+ bool ExportSummaryOnly;
+ bool SkipExpansions;
+ bool SkipFunctions;
+ OutputFormat Format;
+ BranchOutputType ShowBranches;
+ std::string ShowOutputDirectory;
+ std::vector<std::string> DemanglerOpts;
+ uint32_t TabSize;
+ std::string ProjectTitle;
+ std::string CreatedTimeStr;
+ unsigned NumThreads;
+
+ /// Change the output's stream color if the colors are enabled.
+ ColoredRawOstream colored_ostream(raw_ostream &OS,
+ raw_ostream::Colors Color) const {
+ return llvm::colored_ostream(OS, Color, Colors);
+ }
+
+ /// Check if an output directory has been specified.
+ bool hasOutputDirectory() const { return !ShowOutputDirectory.empty(); }
+
+ /// Check if a demangler has been specified.
+ bool hasDemangler() const { return !DemanglerOpts.empty(); }
+
+ /// Check if a project title has been specified.
+ bool hasProjectTitle() const { return !ProjectTitle.empty(); }
+
+ /// Check if the created time of the profile data file is available.
+ bool hasCreatedTime() const { return !CreatedTimeStr.empty(); }
+
+ /// Get the LLVM version string.
+ std::string getLLVMVersionString() const {
+ std::string VersionString = "Generated by llvm-cov -- llvm version ";
+ VersionString += LLVM_VERSION_STRING;
+ return VersionString;
+ }
+};
+}
+
+#endif // LLVM_COV_COVERAGEVIEWOPTIONS_H