17#ifndef MIDEND_ELIMINATESERENUMS_H_
18#define MIDEND_ELIMINATESERENUMS_H_
20#include "frontends/p4/typeChecking/typeChecker.h"
32 explicit DoEliminateSerEnums(
const TypeMap *typeMap) : typeMap(typeMap) {
33 setName(
"DoEliminateSerEnums");
36 const IR::Node *preorder(IR::Type_SerEnum *type)
override;
37 const IR::Node *postorder(IR::Type_Name *type)
override;
38 const IR::Node *postorder(IR::Member *expression)
override;
41class EliminateSerEnums final :
public PassManager {
45 if (!typeChecking) typeChecking =
new TypeChecking(refMap, typeMap);
46 passes.push_back(typeChecking);
49 setName(
"EliminateSerEnums");
Definition typeChecker.h:32
Definition eliminateSerEnums.h:28
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition typeChecker.h:55
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24