cl-ast: Remove variantkind, as it was redundant

This commit is contained in:
2025-05-17 21:28:12 -04:00
parent a023551d9f
commit 6c6d2d04a7
13 changed files with 93 additions and 209 deletions

View File

@@ -330,34 +330,19 @@ pub mod clangify {
fn print(&self, y: &mut CLangifier) {
let Self { name, gens: _, variants } = self;
y.nest("enum ").p(name).p(" {").endl();
match variants {
Some(v) => {
for (idx, variant) in v.iter().enumerate() {
if idx > 0 {
y.p(",").endl();
}
y.p(variant);
}
for (idx, variant) in variants.iter().enumerate() {
if idx > 0 {
y.p(",").endl();
}
None => todo!(),
y.p(variant);
}
y.endl().p("\n}");
}
}
impl CLangify for Variant {
fn print(&self, y: &mut CLangifier) {
let Self { name, kind } = self;
y.p(name).p(kind);
}
}
impl CLangify for VariantKind {
fn print(&self, y: &mut CLangifier) {
match self {
VariantKind::Plain => y,
VariantKind::CLike(v) => y.p(" = ").p(v),
VariantKind::Tuple(v) => y.p("/* TODO: ").p(v).p(" */"),
VariantKind::Struct(v) => y.p("/* TODO: ").p(v).p(" */"),
};
let Self { name, kind, body } = self;
y.p(name).p(kind).p(body);
}
}
impl CLangify for Impl {