Skip to main content

nio_macros/
lib.rs

1mod expend;
2
3use proc_macro::TokenStream;
4
5#[proc_macro_attribute]
6pub fn main(args: TokenStream, item: TokenStream) -> TokenStream {
7    expend::nio_main(
8        crate_path(),
9        false,
10        args.into(),
11        syn::parse_macro_input!(item),
12    )
13    .into()
14}
15
16#[proc_macro_attribute]
17pub fn test(args: TokenStream, item: TokenStream) -> TokenStream {
18    expend::nio_main(
19        crate_path(),
20        true,
21        args.into(),
22        syn::parse_macro_input!(item),
23    )
24    .into()
25}
26
27fn crate_path() -> quote2::proc_macro2::TokenStream {
28    use quote2::*;
29    let mut out = proc_macro2::TokenStream::new();
30    quote!(out, { ::nio });
31    out
32}