7#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_PROGRAM_INFO_H_
8#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_PROGRAM_INFO_H_
13#include "backends/p4tools/common/compiler/reachability.h"
14#include "backends/p4tools/common/lib/arch_spec.h"
16#include "lib/castable.h"
18#include "midend/coverage.h"
20#include "backends/p4tools/modules/testgen/core/compiler_result.h"
21#include "backends/p4tools/modules/testgen/lib/concolic.h"
22#include "backends/p4tools/modules/testgen/lib/continuation.h"
24namespace P4::P4Tools::P4Testgen {
31 std::reference_wrapper<const TestgenCompilerResult> compilerResult;
50 ProgramInfo(
const ProgramInfo &) =
default;
52 ProgramInfo(ProgramInfo &&) =
default;
54 ProgramInfo &operator=(
const ProgramInfo &) =
default;
56 ProgramInfo &operator=(ProgramInfo &&) =
default;
58 ~ProgramInfo()
override =
default;
82 [[nodiscard]]
virtual const IR::Expression *
dropIsActive()
const = 0;
88 bool forceTaint)
const;
97 [[nodiscard]]
virtual const IR::Type_Bits *getParserErrorType()
const = 0;
108 [[nodiscard]]
const IR::P4Program &
getP4Program()
const;
111 [[nodiscard]]
const NodesCallGraph &
getCallGraph()
const;
121 std::vector<Continuation::Command> *copyIns,
122 std::vector<Continuation::Command> *copyOuts)
const;
124 DECLARE_TYPEINFO(ProgramInfo);
Definition ordered_map.h:32
std::set< const IR::Node *, SourceIdCmp > CoverageSet
Definition coverage.h:47