Refactor leaf enum build fn.

This commit is contained in:
Jesse Brault 2025-09-23 10:17:21 -05:00
parent 5842304f0b
commit f3ebcd77bd

View File

@ -1,5 +1,5 @@
use crate::spec::LeafEnumBuildSpec; use crate::deserialize::util::{make_build_fn_name, make_build_pair};
use crate::util::{make_build_fn_name, make_build_pair}; use crate::spec::leaf_enum_spec::LeafEnumBuildSpec;
use proc_macro2::TokenStream; use proc_macro2::TokenStream;
use quote::{format_ident, quote}; use quote::{format_ident, quote};
@ -11,7 +11,7 @@ pub fn make_leaf_enum_build_fn(leaf_enum_build_spec: &LeafEnumBuildSpec) -> Toke
let rule_branches = leaf_enum_build_spec let rule_branches = leaf_enum_build_spec
.rules() .rules()
.map(|leaf_enum_rule| { .map(|leaf_enum_rule| {
let rule_ident = format_ident!("{}", leaf_enum_rule.rule()); let rule_ident = format_ident!("{}", leaf_enum_rule);
quote! { quote! {
Rule::#rule_ident => #return_type_ident::#rule_ident Rule::#rule_ident => #return_type_ident::#rule_ident
} }