fix(codegen): hacky fix for colliding enum names

This commit is contained in:
pyrite 2025-05-28 10:19:05 +02:00
parent 14e6e81278
commit 40913bc89b
Signed by: pyrite
GPG key ID: 7F1BA9170CD35D15

View file

@ -429,6 +429,24 @@ impl Enum {
}); });
} }
let shared: Vec<_> = result
.variants
.iter_mut()
.filter(|v| v.name == "Variant")
.collect();
if shared.len() >= 2 {
for (idx, variant) in shared.into_iter().enumerate() {
let label = idx + 1;
variant.name = format!("Variant{}", label);
if let EnumVariantValue::Tuple(values) = &mut variant.value {
if let [EnumVariantTupleValue::Enum { name, inner, .. }] = values.as_mut_slice()
{
inner.name.push_str(&label.to_string());
name.push_str(&label.to_string());
}
}
}
}
Some(result) Some(result)
} }