73 explicit DoReplaceTuples(
TypeMap *typeMap) : repl(ng, typeMap) { setName(
"DoReplaceTuples"); }
75 auto rv = Transform::init_apply(node);
84 const IR::Node *postorder(IR::Type_BaseList *type)
override;
86 const IR::Node *postorder(IR::Type_Struct *type)
override {
return insertReplacements(type); }
87 const IR::Node *postorder(IR::ArrayIndex *expression)
override;
88 const IR::Node *postorder(IR::Type_Typedef *type)
override {
return insertReplacements(type); }
89 const IR::Node *postorder(IR::Type_Newtype *type)
override {
return insertReplacements(type); }
90 const IR::Node *postorder(IR::P4Parser *parser)
override {
return insertReplacements(parser); }
91 const IR::Node *postorder(IR::P4Control *control)
override {
92 return insertReplacements(control);
94 const IR::Node *postorder(IR::Method *method)
override {
return insertReplacements(method); }
95 const IR::Node *postorder(IR::Type_Extern *ext)
override {
return insertReplacements(ext); }
96 const IR::Node *postorder(IR::Declaration_Instance *decl)
override {
97 return insertReplacements(decl);
99 const IR::Node *preorder(IR::P4ValueSet *set)
override {
104 const IR::Node *preorder(IR::P4ListExpression *expression)
override {
return skip(expression); }
105 const IR::Node *preorder(IR::Type_P4List *list)
override {
return skip(list); }
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13