1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use proc_macro::TokenStream;

mod macro_main;
mod macro_ocall;
#[cfg(test)]
mod tests;

#[proc_macro_attribute]
pub fn ocall(_: TokenStream, input: TokenStream) -> TokenStream {
    macro_ocall::patch(syn::parse_macro_input!(input)).into()
}

/// Mark the entry point of the Sidevm module.
#[proc_macro_attribute]
pub fn main(_: TokenStream, input: TokenStream) -> TokenStream {
    macro_main::patch(syn::parse_macro_input!(input)).into()
}