1mod prop_type;
2mod shape;
3mod uclass;
4mod uclass_impl;
5mod udelegate;
6mod uenum;
7mod ustruct;
8
9#[proc_macro_attribute]
10pub fn uclass(
11 attr: proc_macro::TokenStream,
12 item: proc_macro::TokenStream,
13) -> proc_macro::TokenStream {
14 match uclass::expand_uclass(attr.into(), item.into()) {
15 Ok(tokens) => tokens.into(),
16 Err(err) => err.to_compile_error().into(),
17 }
18}
19
20#[proc_macro_attribute]
21pub fn uclass_impl(
22 attr: proc_macro::TokenStream,
23 item: proc_macro::TokenStream,
24) -> proc_macro::TokenStream {
25 match uclass_impl::expand_uclass_impl(attr.into(), item.into()) {
26 Ok(tokens) => tokens.into(),
27 Err(err) => err.to_compile_error().into(),
28 }
29}
30
31#[proc_macro_attribute]
32pub fn ustruct(
33 attr: proc_macro::TokenStream,
34 item: proc_macro::TokenStream,
35) -> proc_macro::TokenStream {
36 match ustruct::expand_ustruct(attr.into(), item.into()) {
37 Ok(tokens) => tokens.into(),
38 Err(err) => err.to_compile_error().into(),
39 }
40}
41
42#[proc_macro_attribute]
43pub fn uenum(
44 attr: proc_macro::TokenStream,
45 item: proc_macro::TokenStream,
46) -> proc_macro::TokenStream {
47 match uenum::expand_uenum(attr.into(), item.into()) {
48 Ok(tokens) => tokens.into(),
49 Err(err) => err.to_compile_error().into(),
50 }
51}