Refactor polymorphic type build fn.
This commit is contained in:
parent
8aa4248e07
commit
d7b01377d7
@ -2,8 +2,8 @@ pub mod leaf_enum_build_fn;
|
||||
pub mod leaf_struct_build_fn;
|
||||
mod node_production_build_fn;
|
||||
pub mod polymorphic_build_build_fn;
|
||||
pub mod polymorphic_build_fn;
|
||||
pub mod polymorphic_enum_build_fn;
|
||||
pub mod polymorphic_type_build_fn;
|
||||
pub mod production_build_fn;
|
||||
pub mod struct_build_fn;
|
||||
pub mod tree_enum_build_fn;
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
use crate::spec::PolymorphicTypeBuildSpec;
|
||||
use crate::util::{make_build_fn_name, make_build_pair};
|
||||
use crate::deserialize::util::{make_build_fn_name, make_build_pair};
|
||||
use crate::spec::polymorphic_type_spec::PolymorphicTypeBuildSpec;
|
||||
use proc_macro2::TokenStream;
|
||||
use quote::{format_ident, quote};
|
||||
|
||||
pub fn make_polymorphic_build_fn(build_spec: &PolymorphicTypeBuildSpec) -> TokenStream {
|
||||
pub fn make_polymorphic_type_build_fn(build_spec: &PolymorphicTypeBuildSpec) -> TokenStream {
|
||||
let build_fn_ident = format_ident!("{}", make_build_fn_name(build_spec.name()));
|
||||
let pair_ident = format_ident!("{}", make_build_pair(&build_spec.name()));
|
||||
let return_type_ident = format_ident!("{}", build_spec.name());
|
||||
let inner_build_fn_ident = format_ident!("{}", make_build_fn_name(build_spec.build_kind()));
|
||||
let inner_build_fn_ident = format_ident!("{}", make_build_fn_name(build_spec.kind()));
|
||||
|
||||
quote! {
|
||||
fn #build_fn_ident(#pair_ident: Pair<Rule>) -> #return_type_ident {
|
||||
Loading…
Reference in New Issue
Block a user