//===- CoverageMappingReader.h - Code coverage mapping reader ---*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// // // This file contains support for reading coverage mapping data for // instrumentation based coverage. // //===----------------------------------------------------------------------===// #ifndef LLVM_PROFILEDATA_COVERAGE_COVERAGEMAPPINGREADER_H #define LLVM_PROFILEDATA_COVERAGE_COVERAGEMAPPINGREADER_H #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/StringRef.h" #include "llvm/ProfileData/Coverage/CoverageMapping.h" #include "llvm/ProfileData/InstrProf.h" #include "llvm/Support/Error.h" #include "llvm/Support/MemoryBuffer.h" #include <cstddef> #include <cstdint> #include <iterator> #include <memory> #include <vector> namespace llvm { namespace coverage { class CoverageMappingReader; /// Coverage mapping information for a single function. struct CoverageMappingRecord { … }; /// A file format agnostic iterator over coverage mapping data. class CoverageMappingIterator { … }; class CoverageMappingReader { … }; /// Base class for the raw coverage mapping and filenames data readers. class RawCoverageReader { … }; /// Checks if the given coverage mapping data is exported for /// an unused function. class RawCoverageMappingDummyChecker : public RawCoverageReader { … }; /// Reader for the raw coverage mapping data. class RawCoverageMappingReader : public RawCoverageReader { … }; /// Reader for the coverage mapping data that is emitted by the /// frontend and stored in an object file. class BinaryCoverageReader : public CoverageMappingReader { … }; /// Reader for the raw coverage filenames. class RawCoverageFilenamesReader : public RawCoverageReader { … }; } // end namespace coverage } // end namespace llvm #endif // LLVM_PROFILEDATA_COVERAGE_COVERAGEMAPPINGREADER_H