1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SMALL_STEP_TABLE_STEPPER_H_ 
    2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_CORE_SMALL_STEP_TABLE_STEPPER_H_ 
    8#include "backends/p4tools/common/lib/table_utils.h" 
   10#include "lib/cstring.h" 
   12#include "backends/p4tools/modules/testgen/core/program_info.h" 
   13#include "backends/p4tools/modules/testgen/core/small_step/expr_stepper.h" 
   14#include "backends/p4tools/modules/testgen/lib/execution_state.h" 
   15#include "backends/p4tools/modules/testgen/lib/test_spec.h" 
   17namespace P4Tools::P4Testgen {
 
   40        const IR::Type *type, 
const IR::P4Table *
table, 
cstring name,
 
   41        std::optional<int> idx1_opt = std::nullopt, std::optional<int> idx2_opt = std::nullopt);
 
   53    static const IR::StateVariable &getTableResultVar(
const IR::P4Table *
table);
 
   69    void addDefaultAction(std::optional<const IR::Expression *> tableMissCondition);
 
   77        const IR::MethodCallExpression *actionCall);
 
   91        const IR::Expression *hitCondition);
 
   97    const IR::Expression *
computeHit(TableMatchMap *matches);
 
  102        const std::vector<const IR::ActionListElement *> &tableActionList);
 
  137    virtual void evalTargetTable(
const std::vector<const IR::ActionListElement *> &tableActionList);
 
  139    void setTableDefaultEntries(
const std::vector<const IR::ActionListElement *> &tableActionList);