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}