From 0440bfaadca98f827e347e3e2162dbe1456dbd93 Mon Sep 17 00:00:00 2001 From: Alexandru Vasile Date: Thu, 2 May 2024 12:03:46 +0000 Subject: [PATCH] codegen: Export custom types from md to separate module Signed-off-by: Alexandru Vasile --- codegen/src/api/custom_values.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/codegen/src/api/custom_values.rs b/codegen/src/api/custom_values.rs index dd577d6e74..e567900ab0 100644 --- a/codegen/src/api/custom_values.rs +++ b/codegen/src/api/custom_values.rs @@ -19,6 +19,17 @@ pub fn generate_custom_values( ) -> TokenStream2 { let mut fn_names_taken = HashSet::new(); let custom = metadata.custom(); + let custom_types = custom.iter().map(|custom| { + let name = custom.name(); + let Ok(ty) = type_gen.resolve_type_path(custom.type_id()) else { + return quote! {}; + }; + let ty = ty.to_token_stream(type_gen.settings()); + quote! { + type #name = #ty; + } + }); + let custom_values_fns = custom.iter().filter_map(|custom_value| { generate_custom_value_fn(custom_value, type_gen, crate_path, &mut fn_names_taken) }); @@ -29,6 +40,10 @@ pub fn generate_custom_values( impl CustomValuesApi { #(#custom_values_fns)* } + + pub mod custom_types { + #(#custom_types)* + } } }