llvm/llvm/tools/llvm-cov/SourceCoverageView.h

//===- SourceCoverageView.h - Code coverage view for source code ----------===//
//
// 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
//
//===----------------------------------------------------------------------===//
///
/// \file This class implements rendering for code coverage of source code.
///
//===----------------------------------------------------------------------===//

#ifndef LLVM_COV_SOURCECOVERAGEVIEW_H
#define LLVM_COV_SOURCECOVERAGEVIEW_H

#include "CoverageViewOptions.h"
#include "CoverageSummaryInfo.h"
#include "llvm/ProfileData/Coverage/CoverageMapping.h"
#include "llvm/Support/MemoryBuffer.h"
#include <vector>

namespace llvm {

usingnamespacecoverage;

class CoverageFiltersMatchAll;
class SourceCoverageView;

/// A view that represents a macro or include expansion.
struct ExpansionView {};

/// A view that represents a function instantiation.
struct InstantiationView {};

/// A view that represents one or more branch regions on a given source line.
struct BranchView {};

/// A view that represents one or more MCDC regions on a given source line.
struct MCDCView {};

/// A file manager that handles format-aware file creation.
class CoveragePrinter {};

/// A code coverage view of a source file or function.
///
/// A source coverage view and its nested sub-views form a file-oriented
/// representation of code coverage data. This view can be printed out by a
/// renderer which implements the Rendering Interface.
class SourceCoverageView {};

} // namespace llvm

#endif // LLVM_COV_SOURCECOVERAGEVIEW_H