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;
|
pub mod leaf_struct_build_fn;
|
||||||
mod node_production_build_fn;
|
mod node_production_build_fn;
|
||||||
pub mod polymorphic_build_build_fn;
|
pub mod polymorphic_build_build_fn;
|
||||||
pub mod polymorphic_build_fn;
|
|
||||||
pub mod polymorphic_enum_build_fn;
|
pub mod polymorphic_enum_build_fn;
|
||||||
|
pub mod polymorphic_type_build_fn;
|
||||||
pub mod production_build_fn;
|
pub mod production_build_fn;
|
||||||
pub mod struct_build_fn;
|
pub mod struct_build_fn;
|
||||||
pub mod tree_enum_build_fn;
|
pub mod tree_enum_build_fn;
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
use crate::spec::PolymorphicTypeBuildSpec;
|
use crate::deserialize::util::{make_build_fn_name, make_build_pair};
|
||||||
use crate::util::{make_build_fn_name, make_build_pair};
|
use crate::spec::polymorphic_type_spec::PolymorphicTypeBuildSpec;
|
||||||
use proc_macro2::TokenStream;
|
use proc_macro2::TokenStream;
|
||||||
use quote::{format_ident, quote};
|
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 build_fn_ident = format_ident!("{}", make_build_fn_name(build_spec.name()));
|
||||||
let pair_ident = format_ident!("{}", make_build_pair(&build_spec.name()));
|
let pair_ident = format_ident!("{}", make_build_pair(&build_spec.name()));
|
||||||
let return_type_ident = format_ident!("{}", 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! {
|
quote! {
|
||||||
fn #build_fn_ident(#pair_ident: Pair<Rule>) -> #return_type_ident {
|
fn #build_fn_ident(#pair_ident: Pair<Rule>) -> #return_type_ident {
|
||||||
Loading…
Reference in New Issue
Block a user