metacall_inline/
lib.rs

1use proc_macro::TokenStream;
2use quote::quote;
3
4macro_rules! gen_inline_macro {
5    ($($name:ident),*) => (
6        $(
7            #[proc_macro]
8            pub fn $name(input: TokenStream) -> TokenStream {
9                let token_stream_input = proc_macro2::TokenStream::from(input);
10                let buffer = token_stream_input.to_string();
11
12                let result = quote! {{
13                    ::metacall::loaders::from_memory(stringify!($name), #buffer.to_string()).unwrap()
14                }};
15
16                result.into()
17            }
18        )*
19    )
20}
21
22gen_inline_macro!(py, node, ts, cs, rb, cob, rpc, java, wasm);