17#ifndef MIDEND_EXPANDEMIT_H_
18#define MIDEND_EXPANDEMIT_H_
20#include "frontends/p4/typeChecking/typeChecker.h"
52 setName(
"DoExpandEmit");
55 bool expandArg(
const IR::Type *type,
const IR::Argument *argument,
56 std::vector<const IR::Argument *> *result,
57 std::vector<const IR::Type *> *resultTypes);
58 const IR::Node *postorder(IR::MethodCallStatement *statement)
override;
61class ExpandEmit :
public PassManager {
64 setName(
"ExpandEmit");
65 if (!typeChecking) typeChecking =
new TypeChecking(refMap, typeMap);
66 passes.push_back(typeChecking);
Definition expandEmit.h:44
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