Skip to content

Commit 5149178

Browse files
committed
refactor(ast_tools/formatter): shorten code
1 parent df68910 commit 5149178

File tree

1 file changed

+3
-16
lines changed

1 file changed

+3
-16
lines changed

tasks/ast_tools/src/generators/formatter/ast_nodes.rs

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::{
99
Codegen, Generator,
1010
generators::define_generator,
1111
output::{Output, output_path},
12-
schema::{self, Def, EnumDef, FieldDef, Schema, StructDef, TypeDef},
12+
schema::{Def, EnumDef, FieldDef, Schema, StructDef, TypeDef, VariantDef},
1313
};
1414

1515
pub fn get_node_type(ty: &TokenStream) -> TokenStream {
@@ -197,21 +197,8 @@ impl Generator for FormatterAstNodesGenerator {
197197
}
198198

199199
fn get_all_statement_variants_names(schema: &Schema) -> Vec<&str> {
200-
let Some(type_id) = schema.type_names.get("Statement") else {
201-
return vec![];
202-
};
203-
204-
let enum_def = schema.types.get(*type_id).unwrap().as_enum().unwrap();
205-
206-
enum_def
207-
.variants
208-
.iter()
209-
.map(schema::VariantDef::name)
210-
.chain(enum_def.inherits_types(schema).flat_map(|inherited_type| {
211-
let inherited_enum_def = inherited_type.as_enum().unwrap();
212-
inherited_enum_def.variants.iter().map(schema::VariantDef::name)
213-
}))
214-
.collect()
200+
let statement_enum = schema.type_by_name("Statement").as_enum().unwrap();
201+
statement_enum.all_variants(schema).map(VariantDef::name).collect()
215202
}
216203

217204
fn generate_struct_impls(

0 commit comments

Comments
 (0)