Fix enum codegen

This commit is contained in:
2026-05-07 21:22:31 +02:00
parent 81061f26a5
commit cba78c2ac9
+19 -19
View File
@@ -311,25 +311,6 @@ impl ToRust for TopLevelKind {
Self::Import(path) => cg.addln(&format!("use {};", path.get_rust())), Self::Import(path) => cg.addln(&format!("use {};", path.get_rust())),
Self::Mod(id) => cg.addln(&format!("mod {};", id.get_rust())), Self::Mod(id) => cg.addln(&format!("mod {};", id.get_rust())),
Self::FunctionDecl(decl) => decl.to_rust(cg), Self::FunctionDecl(decl) => decl.to_rust(cg),
Self::EnumDecl {
visibility,
name,
fields,
} => {
cg.addln(&format!(
"{}struct {} {{",
visibility.get_rust(),
name.get_rust()
));
cg.indent += 1;
for field in fields {
cg.add_indentedln(&(format!("{}", field.get_rust()) + ","));
}
cg.indent -= 1;
cg.addln("}\n");
}
Self::StructDecl { Self::StructDecl {
visibility, visibility,
name, name,
@@ -350,6 +331,25 @@ impl ToRust for TopLevelKind {
cg.indent -= 1; cg.indent -= 1;
cg.addln("}\n"); cg.addln("}\n");
} }
Self::EnumDecl {
visibility,
name,
fields,
} => {
cg.addln(&format!(
"{}enum {} {{",
visibility.get_rust(),
name.get_rust()
));
cg.indent += 1;
for field in fields {
cg.add_indentedln(&(format!("{}", field.get_rust()) + ","));
}
cg.indent -= 1;
cg.addln("}\n");
}
Self::ClassDecl { Self::ClassDecl {
visibility, visibility,
name, name,