19 lines
474 B
Rust
19 lines
474 B
Rust
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()
|
|
}
|