1use crate::enum_desc::enum_desc_expand::enum_desc_expand;
2use crate::enum_trs::enum_trs_expand::enum_trs_expand;
3use proc_macro::TokenStream;
4
5mod enum_desc;
6mod enum_trs;
7
8#[proc_macro_derive(EnumDesc, attributes(info))]
9pub fn enum_desc(input: TokenStream) -> TokenStream {
10 enum_desc_expand(input, "i16")
11}
12
13#[proc_macro_derive(EnumDescI8, attributes(info))]
14pub fn enum_desc_i8(input: TokenStream) -> TokenStream {
15 enum_desc_expand(input, "i8")
16}
17#[proc_macro_derive(EnumDescU8, attributes(info))]
18pub fn enum_desc_u8(input: TokenStream) -> TokenStream {
19 enum_desc_expand(input, "u8")
20}
21#[proc_macro_derive(EnumDescI16, attributes(info))]
22pub fn enum_desc_i16(input: TokenStream) -> TokenStream {
23 enum_desc_expand(input, "i16")
24}
25#[proc_macro_derive(EnumDescU16, attributes(info))]
26pub fn enum_desc_u16(input: TokenStream) -> TokenStream {
27 enum_desc_expand(input, "u16")
28}
29#[proc_macro_derive(EnumDescI32, attributes(info))]
30pub fn enum_desc_i32(input: TokenStream) -> TokenStream {
31 enum_desc_expand(input, "i32")
32}
33#[proc_macro_derive(EnumDescU32, attributes(info))]
34pub fn enum_desc_u32(input: TokenStream) -> TokenStream {
35 enum_desc_expand(input, "u32")
36}
37
38#[proc_macro_derive(EnumDescI64, attributes(info))]
39pub fn enum_desc_i64(input: TokenStream) -> TokenStream {
40 enum_desc_expand(input, "i64")
41}
42#[proc_macro_derive(EnumDescU64, attributes(info))]
43pub fn enum_desc_u64(input: TokenStream) -> TokenStream {
44 enum_desc_expand(input, "u64")
45}
46
47#[proc_macro_derive(EnumDescISize, attributes(info))]
48pub fn enum_desc_isize(input: TokenStream) -> TokenStream {
49 enum_desc_expand(input, "isize")
50}
51#[proc_macro_derive(EnumDescUSize, attributes(info))]
52pub fn enum_desc_usize(input: TokenStream) -> TokenStream {
53 enum_desc_expand(input, "usize")
54}
55
56#[proc_macro_attribute]
57pub fn enum_trs(attr: TokenStream, input: TokenStream) -> TokenStream {
58 enum_trs_expand(attr, input)
59}