some changes

This commit is contained in:
2024-12-23 01:37:37 +01:00
parent 2d0668955e
commit 2f1f2b3395
3 changed files with 3 additions and 45 deletions
+2 -26
View File
@@ -1,8 +1,8 @@
use proc_macro::TokenStream;
use quote::quote;
use syn::{
parse::Parser, parse_macro_input, DeriveInput, Fields, GenericParam, ItemFn, Lifetime,
LifetimeParam,
parse::Parser, parse_macro_input, DeriveInput, Fields, GenericParam, ItemFn,
Lifetime, LifetimeParam,
};
#[proc_macro_attribute]
@@ -90,30 +90,6 @@ pub fn element(_args: TokenStream, input: TokenStream) -> TokenStream {
expanded.into()
}
#[proc_macro_attribute]
pub fn elem_fn(_args: TokenStream, input: TokenStream) -> TokenStream {
let ast = parse_macro_input!(input as DeriveInput);
let struct_name = &ast.ident;
let func_name = syn::Ident::new(
&struct_name.to_string().to_lowercase(),
proc_macro2::Span::call_site(),
);
let elem_fn = quote! {
pub fn #func_name<'a>() -> Box<#struct_name<'a>> {
Box::new(#struct_name::default())
}
};
let expanded = quote! {
#ast
#elem_fn
};
expanded.into()
}
#[proc_macro_attribute]
pub fn component(_args: TokenStream, input: TokenStream) -> TokenStream {
let input_fn = parse_macro_input!(input as ItemFn);