25 IR::Type_Header *flattenedHeader;
26 std::vector<cstring> nameSegments;
27 std::vector<const IR::Vector<IR::Annotation> *> allAnnotations;
28 bool needsFlattening{
false};
30 FlattenHeader(
P4::TypeMap *typeMap, IR::Type_Header *flattenedHeader);
32 void doFlatten(
const IR::Type *type);
34 cstring makeName(std::string_view sep)
const;
41 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:13