24 std::map<const IR::Expression *, cstring> name;
28 explicit KeyNameGenerator(
const TypeMap *typeMap) : typeMap(typeMap) {
29 setName(
"KeyNameGenerator");
31 void error(
const IR::Expression *expression);
32 void postorder(
const IR::Expression *expression)
override;
33 void postorder(
const IR::PathExpression *expression)
override;
34 void postorder(
const IR::Member *expression)
override;
35 void postorder(
const IR::ArrayIndex *expression)
override;
36 void postorder(
const IR::Constant *expression)
override;
37 void postorder(
const IR::Slice *expression)
override;
38 void postorder(
const IR::BAnd *expression)
override;
39 void postorder(
const IR::MethodCallExpression *expression)
override;
40 cstring getName(
const IR::Expression *expression) { return ::P4::get(name, expression); }
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13