retour_utils_impl/lib.rs
1mod crate_refs;
2mod expand;
3mod fold;
4mod helpers;
5mod parse;
6
7use proc_macro::TokenStream;
8use syn::{parse_macro_input, ItemMod, LitStr};
9
10#[proc_macro_attribute]
11pub fn hook_module(args: TokenStream, input: TokenStream) -> TokenStream {
12 let ast = parse_macro_input!(input as ItemMod);
13 let args = parse_macro_input!(args as LitStr);
14
15 let stream = expand::expand(ast, args).unwrap_or_else(syn::Error::into_compile_error);
16 stream.into()
17}