CoverageViewOptions.h revision 360660
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-exception 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H 10#define LLVM_COV_COVERAGEVIEWOPTIONS_H 11 12#include "llvm/Config/llvm-config.h" 13#include "RenderingSupport.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 Lcov 24 }; 25 26 bool Debug; 27 bool Colors; 28 bool ShowLineNumbers; 29 bool ShowLineStats; 30 bool ShowRegionMarkers; 31 bool ShowExpandedRegions; 32 bool ShowFunctionInstantiations; 33 bool ShowFullFilenames; 34 bool ShowRegionSummary; 35 bool ShowInstantiationSummary; 36 bool ExportSummaryOnly; 37 bool SkipExpansions; 38 bool SkipFunctions; 39 OutputFormat Format; 40 std::string ShowOutputDirectory; 41 std::vector<std::string> DemanglerOpts; 42 uint32_t TabSize; 43 std::string ProjectTitle; 44 std::string CreatedTimeStr; 45 unsigned NumThreads; 46 47 /// Change the output's stream color if the colors are enabled. 48 ColoredRawOstream colored_ostream(raw_ostream &OS, 49 raw_ostream::Colors Color) const { 50 return llvm::colored_ostream(OS, Color, Colors); 51 } 52 53 /// Check if an output directory has been specified. 54 bool hasOutputDirectory() const { return !ShowOutputDirectory.empty(); } 55 56 /// Check if a demangler has been specified. 57 bool hasDemangler() const { return !DemanglerOpts.empty(); } 58 59 /// Check if a project title has been specified. 60 bool hasProjectTitle() const { return !ProjectTitle.empty(); } 61 62 /// Check if the created time of the profile data file is available. 63 bool hasCreatedTime() const { return !CreatedTimeStr.empty(); } 64 65 /// Get the LLVM version string. 66 std::string getLLVMVersionString() const { 67 std::string VersionString = "Generated by llvm-cov -- llvm version "; 68 VersionString += LLVM_VERSION_STRING; 69 return VersionString; 70 } 71}; 72} 73 74#endif // LLVM_COV_COVERAGEVIEWOPTIONS_H 75