gfaas_macro/lib.rs
1extern crate proc_macro;
2
3mod logic;
4
5use proc_macro::TokenStream;
6use syn::parse_macro_input;
7
8#[proc_macro_attribute]
9pub fn remote_fn(attr: TokenStream, item: TokenStream) -> TokenStream {
10 let attrs = parse_macro_input!(attr as logic::GwasmAttrs);
11 let preserved = item.clone();
12 let f = parse_macro_input!(item as logic::GwasmFn);
13 logic::remote_fn_impl(attrs, f, preserved.into()).into()
14}