Skip to main content

axor_macros/
lib.rs

1extern crate proc_macro;
2
3mod agent_macro;
4mod operation_macro;
5
6use proc_macro::TokenStream;
7
8#[proc_macro_attribute]
9pub fn agent(_attr: TokenStream, item: TokenStream) -> TokenStream {
10    agent_macro::mark_agent_struct(item)
11}
12
13#[proc_macro_attribute]
14pub fn agent_impl(_attr: TokenStream, item: TokenStream) -> TokenStream {
15    agent_macro::expand_agent_impl(item)
16}
17#[proc_macro_attribute]
18pub fn operation(_attr: TokenStream, item: TokenStream) -> TokenStream {
19    operation_macro::mark_operation(item)
20}