brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 1f6ad57 Raw
90 lines · c
1//===- CoverageViewOptions.h - Code coverage display options -------------===//2//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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H10#define LLVM_COV_COVERAGEVIEWOPTIONS_H11 12#include "RenderingSupport.h"13#include "llvm/Config/llvm-config.h"14#include <vector>15 16namespace llvm {17 18/// The options for displaying the code coverage information.19struct CoverageViewOptions {20  enum class OutputFormat {21    Text,22    HTML,23    Lcov24  };25 26  enum class BranchOutputType { Count, Percent, Off };27 28  bool Debug;29  bool Colors;30  bool ShowLineNumbers;31  bool ShowLineStats;32  bool ShowRegionMarkers;33  bool ShowMCDC;34  bool ShowBranchCounts;35  bool ShowBranchPercents;36  bool ShowExpandedRegions;37  bool ShowFunctionInstantiations;38  bool UnifyFunctionInstantiations;39  bool ShowFullFilenames;40  bool ShowBranchSummary;41  bool ShowMCDCSummary;42  bool ShowRegionSummary;43  bool ShowInstantiationSummary;44  bool ShowDirectoryCoverage;45  bool ExportSummaryOnly;46  bool SkipExpansions;47  bool SkipFunctions;48  bool SkipBranches;49  bool BinaryCounters;50  OutputFormat Format;51  BranchOutputType ShowBranches;52  std::string ShowOutputDirectory;53  std::vector<std::string> DemanglerOpts;54  uint32_t TabSize;55  std::string ProjectTitle;56  std::string CreatedTimeStr;57  unsigned NumThreads;58  std::string CompilationDirectory;59  float HighCovWatermark;60  float LowCovWatermark;61 62  /// Change the output's stream color if the colors are enabled.63  ColoredRawOstream colored_ostream(raw_ostream &OS,64                                    raw_ostream::Colors Color) const {65    return llvm::colored_ostream(OS, Color, Colors);66  }67 68  /// Check if an output directory has been specified.69  bool hasOutputDirectory() const { return !ShowOutputDirectory.empty(); }70 71  /// Check if a demangler has been specified.72  bool hasDemangler() const { return !DemanglerOpts.empty(); }73 74  /// Check if a project title has been specified.75  bool hasProjectTitle() const { return !ProjectTitle.empty(); }76 77  /// Check if the created time of the profile data file is available.78  bool hasCreatedTime() const { return !CreatedTimeStr.empty(); }79 80  /// Get the LLVM version string.81  std::string getLLVMVersionString() const {82    std::string VersionString = "Generated by llvm-cov -- llvm version ";83    VersionString += LLVM_VERSION_STRING;84    return VersionString;85  }86};87}88 89#endif // LLVM_COV_COVERAGEVIEWOPTIONS_H90