34class DuplicateActionControlPlaneNameCheck :
public Inspector {
35 std::vector<cstring> stack;
37 absl::flat_hash_map<cstring, const IR::Node *> actions;
42 DuplicateActionControlPlaneNameCheck() {
43 setName(
"DuplicateActionControlPlaneNameCheck");
46 bool preorder(
const IR::P4Parser *)
override {
52 bool preorder(
const IR::P4Control *control)
override {
53 stack.push_back(getName(control));
56 void postorder(
const IR::P4Control *)
override { stack.pop_back(); }
58 bool preorder(
const IR::P4Table *)
override {
66 void postorder(
const IR::P4Action *action)
override;
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13