diff options
author | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
---|---|---|
committer | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
commit | 06e5c21a835c0e923506c4ff27929f34e00761c2 (patch) | |
tree | 75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/libs/llvm12/tools/llvm-cov/CoverageViewOptions.h | |
parent | 03f024c4412e3aa613bb543cf1660176320ba8f4 (diff) | |
download | ydb-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.h | 80 |
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 |