34 IR::Type_Header *flattenedHeader;
35 std::vector<cstring> nameSegments{};
36 std::vector<const IR::Annotations *> allAnnotations{};
37 bool needsFlattening{
false};
41 void doFlatten(
const IR::Type *type);
43 cstring makeName(std::string_view sep)
const;
44 const IR::Annotations *mergeAnnotations()
const;
50 static const IR::Type_Header *
flatten(
P4::TypeMap *typeMap,
const IR::Type_Header *headerType);
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24