43class DuplicateActionControlPlaneNameCheck :
public Transform {
44 std::vector<cstring> stack;
46 absl::flat_hash_map<cstring, const IR::Node *> actions;
51 DuplicateActionControlPlaneNameCheck() {
52 setName(
"DuplicateActionControlPlaneNameCheck");
55 const IR::Node *preorder(IR::P4Parser *parser)
override {
62 const IR::Node *preorder(IR::P4Control *control)
override {
63 stack.push_back(getName(control));
66 const IR::Node *postorder(IR::P4Control *control)
override {
71 const IR::Node *preorder(IR::P4Table *table)
override {
80 const IR::Node *postorder(IR::P4Action *action)
override;
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24