data_classes_derive/
lib.rs1use proc_macro::TokenStream;
2
3mod r#impl {
4 pub mod data;
5 pub mod default;
6 pub mod init_struct;
7 pub mod keyval;
8}
9
10mod util {
11 pub mod parse_attr_tree;
12}
13
14#[proc_macro]
15pub fn init_struct(item: TokenStream) -> TokenStream {
16 r#impl::init_struct::main(item)
17}
18
19#[proc_macro_attribute]
20pub fn data(attr: TokenStream, item: TokenStream) -> TokenStream {
21 r#impl::data::main(attr, item)
22}
23
24#[proc_macro_attribute]
25pub fn key(attr: TokenStream, item: TokenStream) -> TokenStream {
26 r#impl::keyval::key(attr, item)
27}
28
29#[proc_macro_attribute]
30pub fn val(attr: TokenStream, item: TokenStream) -> TokenStream {
31 r#impl::keyval::val(attr, item)
32}
33
34#[proc_macro_attribute]
35pub fn default(attr: TokenStream, item: TokenStream) -> TokenStream {
36 r#impl::default::main(attr, item)
37}