use crate::{generate::generate, transform::transform}; use proc_macro::TokenStream as TokenStream1; use quote::ToTokens; use syn::parse_macro_input; mod generate; mod transform; mod utils; #[proc_macro] pub fn luaify(input: TokenStream1) -> TokenStream1 { let mut expr = parse_macro_input!(input); match transform(&mut expr).and_then(|()| generate(&expr)) { Ok(s) => s, Err(err) => err.into_compile_error().into_token_stream(), } .into() }