35 const std::optional<MetatileAttribute> &prior_attribute)
37 switch (prior_state) {
41 return fresh_from_bin;
43 if (prior_attribute.has_value() && prior_attribute->explicit_layer_type().has_value()) {
46 return fresh_from_bin;
48 panic(
"merge_prior_layer_type_pin: unhandled PriorPinColumnState value");
void panic(const StringViewSourceLoc &s)
Unconditionally terminates the program with a panic message.
MetatileAttribute merge_prior_layer_type_pin(MetatileAttribute fresh_from_bin, PriorPinColumnState prior_state, const std::optional< MetatileAttribute > &prior_attribute)
Applies the decompile/import round-trip rules to one metatile's layer_type pin.
PriorPinColumnState
What an attributes.csv (if any) said about a role's pin column when this component was loaded.