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}