argus/argus-derive/src/lib.rs
Anand Balakrishnan 1c79847a77
feat!(core): Use new AST structure
Derive Expr methods using a derive proc-macro. These macros are present in
the `argus-derive` crate, but the traits are defined in `argus-core`
2023-06-06 10:46:27 -04:00

18 lines
431 B
Rust

use proc_macro::{self, TokenStream};
use syn::parse_macro_input;
mod expr;
use expr::{bool_expr_impl, num_expr_impl};
#[proc_macro_derive(BoolExpr)]
pub fn bool_expr(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input);
bool_expr_impl(input)
}
#[proc_macro_derive(NumExpr)]
pub fn num_expr(input: TokenStream) -> TokenStream {
let input = parse_macro_input!(input);
num_expr_impl(input)
}