CoverageViewOptions.h revision 341825
1//===- CoverageViewOptions.h - Code coverage display options -------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLVM_COV_COVERAGEVIEWOPTIONS_H 11#define LLVM_COV_COVERAGEVIEWOPTIONS_H 12 13#include "llvm/Config/llvm-config.h" 14#include "RenderingSupport.h" 15#include <vector> 16 17namespace llvm { 18 19/// The options for displaying the code coverage information. 20struct CoverageViewOptions { 21 enum class OutputFormat { 22 Text, 23 HTML 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 OutputFormat Format; 38 std::string ShowOutputDirectory; 39 std::vector<std::string> DemanglerOpts; 40 uint32_t TabSize; 41 std::string ProjectTitle; 42 std::string CreatedTimeStr; 43 unsigned NumThreads; 44 45 /// Change the output's stream color if the colors are enabled. 46 ColoredRawOstream colored_ostream(raw_ostream &OS, 47 raw_ostream::Colors Color) const { 48 return llvm::colored_ostream(OS, Color, Colors); 49 } 50 51 /// Check if an output directory has been specified. 52 bool hasOutputDirectory() const { return !ShowOutputDirectory.empty(); } 53 54 /// Check if a demangler has been specified. 55 bool hasDemangler() const { return !DemanglerOpts.empty(); } 56 57 /// Check if a project title has been specified. 58 bool hasProjectTitle() const { return !ProjectTitle.empty(); } 59 60 /// Check if the created time of the profile data file is available. 61 bool hasCreatedTime() const { return !CreatedTimeStr.empty(); } 62 63 /// Get the LLVM version string. 64 std::string getLLVMVersionString() const { 65 std::string VersionString = "Generated by llvm-cov -- llvm version "; 66 VersionString += LLVM_VERSION_STRING; 67 return VersionString; 68 } 69}; 70} 71 72#endif // LLVM_COV_COVERAGEVIEWOPTIONS_H 73