1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SMALL_STEP_ABSTRACT_STEPPER_H_
2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SMALL_STEP_ABSTRACT_STEPPER_H_
12#include "ir/visitor.h"
14#include "backends/p4tools/modules/testgen/core/program_info.h"
15#include "backends/p4tools/modules/testgen/core/small_step/small_step.h"
16#include "backends/p4tools/modules/testgen/lib/continuation.h"
17#include "backends/p4tools/modules/testgen/lib/execution_state.h"
19namespace P4::P4Tools::P4Testgen {
31 using Result = SmallStepEvaluator::Result;
94 const IR::Expression *subexpr, SmallStepEvaluator::Result &
result,
109 const IR::BaseListExpression *subexpr, SmallStepEvaluator::Result &
result,
111 std::function<
const Continuation::Command(
const IR::BaseListExpression *)> rebuildCmd);
117 const IR::StructExpression *subexpr, SmallStepEvaluator::Result &
result,
119 std::function<
const Continuation::Command(
const IR::StructExpression *)> rebuildCmd);
159 std::optional<const IR::Expression *> cond)
const;
166 bool forceTaint)
const;
172 bool forceTaint =
false)
const;
177 const IR::Type_Base *baseType)
const;
Provides a higher-level interface for an SMT solver.
Definition solver.h:24
Definition phv/solver/action_constraint_solver.cpp:33