34class DuplicateActionControlPlaneNameCheck :
public Transform {
35 std::vector<cstring> stack;
37 absl::flat_hash_map<cstring, const IR::Node *> actions;
42 DuplicateActionControlPlaneNameCheck() {
43 setName(
"DuplicateActionControlPlaneNameCheck");
46 const IR::Node *preorder(IR::P4Parser *parser)
override {
53 const IR::Node *preorder(IR::P4Control *control)
override {
54 stack.push_back(getName(control));
57 const IR::Node *postorder(IR::P4Control *control)
override {
62 const IR::Node *preorder(IR::P4Table *table)
override {
71 const IR::Node *postorder(IR::P4Action *action)
override;
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13