we_contract_proc_macro/lib.rs
1mod generator;
2
3use proc_macro::TokenStream;
4
5/// Marks trait as an interface to another contract.
6#[proc_macro_attribute]
7pub fn interface(_attr: TokenStream, item: TokenStream) -> TokenStream {
8 match generator::interface(item.into()) {
9 Ok(result) => result.into(),
10 Err(_) => panic!(),
11 }
12}
13
14/// Marks function as a called function.
15#[proc_macro_attribute]
16pub fn action(_attr: TokenStream, item: TokenStream) -> TokenStream {
17 match generator::action(item.into()) {
18 Ok(result) => result.into(),
19 Err(_) => panic!(),
20 }
21}