1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
extern crate proc_macro;
mod args;
mod throws;
use proc_macro::*;
use args::Args;
use throws::Throws;
#[proc_macro_attribute]
pub fn throws(args: TokenStream, input: TokenStream) -> TokenStream {
let args = syn::parse_macro_input!(args as Args);
Throws::new(args).fold(input)
}