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