1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_PNA_TEST_SPEC_H_
2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_PNA_TEST_SPEC_H_
9#include "backends/p4tools/common/lib/model.h"
10#include "ir/declaration.h"
12#include "lib/cstring.h"
14#include "backends/p4tools/modules/testgen/lib/test_object.h"
15#include "backends/p4tools/modules/testgen/lib/test_spec.h"
42 bool doComplete)
const override;
61 const IR::Expression *initialValue;
64 std::vector<PnaDpdkRegisterCondition> registerConditions;
79 const IR::Expression *
getCurrentValue(
const IR::Expression *index)
const;
86 bool doComplete)
const override;
97 std::vector<std::pair<cstring, std::vector<ActionArg>>> actions;
108 [[nodiscard]]
const std::vector<std::pair<cstring, std::vector<ActionArg>>> *
getActions()
const;
120 bool doComplete)
const override;
149 bool doComplete)
const override;
159 std::map<cstring, const IR::Literal *> metadataFields;
167 bool doComplete)
const override;
170 [[nodiscard]]
const std::map<cstring, const IR::Literal *> &
getMetadataFields()
const;
172 void addMetaDataField(
cstring name,
const IR::Literal *metadataField);
174 const IR::Literal *getMetadataField(
cstring name);
186 const IR::Expression *value;
192 explicit Optional(
const IR::KeyElement *key,
const IR::Expression *value,
bool addMatch);
211 const IR::Expression *low;
214 const IR::Expression *high;
217 explicit Range(
const IR::KeyElement *key,
const IR::Expression *low,
218 const IR::Expression *high);
The Declaration interface, representing objects with names.
Definition declaration.h:26