1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_LIB_COLLECT_COVERABLE_NODES_H_
2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_LIB_COLLECT_COVERABLE_NODES_H_
8#include "midend/coverage.h"
10#include "backends/p4tools/modules/testgen/lib/execution_state.h"
12namespace P4::P4Tools::P4Testgen {
15using NodeCache = std::map<const IR::Node *, P4::Coverage::CoverageSet>;
27 std::reference_wrapper<const ExecutionState> state;
30 std::set<int> seenParserIds;
36 bool preorder(
const IR::ParserState *parserState)
override;
37 bool preorder(
const IR::AssignmentStatement *stmt)
override;
38 bool preorder(
const IR::MethodCallStatement *stmt)
override;
39 bool preorder(
const IR::ExitStatement *stmt)
override;
40 bool preorder(
const IR::MethodCallExpression *call)
override;
43 bool preorder(
const IR::P4Action *act)
override;
std::set< const IR::Node *, SourceIdCmp > CoverageSet
Definition coverage.h:39
Specifies general options and which IR nodes to track with this particular visitor.
Definition coverage.h:25