1 //===- CoverageExporterJson.h - Code coverage JSON exporter ---------------===// 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 // This class implements a code coverage exporter for JSON format. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_COV_COVERAGEEXPORTERJSON_H 15 #define LLVM_COV_COVERAGEEXPORTERJSON_H 16 17 #include "CoverageExporter.h" 18 19 namespace llvm { 20 21 class CoverageExporterJson : public CoverageExporter { 22 public: CoverageExporterJson(const coverage::CoverageMapping & CoverageMapping,const CoverageViewOptions & Options,raw_ostream & OS)23 CoverageExporterJson(const coverage::CoverageMapping &CoverageMapping, 24 const CoverageViewOptions &Options, raw_ostream &OS) 25 : CoverageExporter(CoverageMapping, Options, OS) {} 26 27 /// Render the CoverageMapping object. 28 void renderRoot(const CoverageFilters &IgnoreFilters) override; 29 30 /// Render the CoverageMapping object for specified source files. 31 void renderRoot(ArrayRef<std::string> SourceFiles) override; 32 }; 33 34 } // end namespace llvm 35 36 #endif // LLVM_COV_COVERAGEEXPORTERJSON_H 37