makepad_derive_live/
lib.rs1#![cfg_attr(lines, feature(proc_macro_span))]
2
3use proc_macro::{TokenStream};
4
5mod derive_live;
6use crate::derive_live::*;
7
8mod derive_live_atomic;
9use crate::derive_live_atomic::*;
10
11mod derive_live_hook;
12use crate::derive_live_hook::*;
13
14mod derive_live_read;
15use crate::derive_live_read::*;
16
17
18mod live_design_macro;
19use crate::live_design_macro::*;
20
21mod live_macro;
22use crate::live_macro::*;
23
24mod generate_cast;
25use crate::generate_cast::*;
26
27mod derive_live_registry;
28use crate::derive_live_registry::*;
29
30#[proc_macro_derive(Live, attributes(
34 calc,
35 live,
36 rust,
37 pick,
38 animator,
39 walk,
40 layout,
41 deref,
42 live_ignore,
43 live_debug
44))]
45pub fn derive_live(input: TokenStream) -> TokenStream {
46 derive_live_impl(input)
47}
48
49#[proc_macro_derive(LiveHook)]
50pub fn derive_live_apply(input: TokenStream) -> TokenStream {
51 derive_live_hook_impl(input)
52}
53
54#[proc_macro_derive(LiveRead)]
55pub fn derive_live_read(input: TokenStream) -> TokenStream {
56 derive_live_read_impl(input)
57}
58
59#[proc_macro]
60pub fn live(input: TokenStream) -> TokenStream {
61 live_impl(input)
62}
63
64#[proc_macro]
65pub fn live_array(input: TokenStream) -> TokenStream {
66 live_array_impl(input)
67}
68
69#[proc_macro]
70pub fn live_object(input: TokenStream) -> TokenStream {
71 live_object_impl(input)
72}
73
74
75#[proc_macro]
76pub fn generate_ref_cast_api(input: TokenStream) -> TokenStream {
77 generate_ref_cast_api_impl(input)
78}
79
80#[proc_macro]
81pub fn generate_clone_cast_api(input: TokenStream) -> TokenStream {
82 generate_clone_cast_api_impl(input)
83}
84
85#[proc_macro]
86pub fn live_design(input: TokenStream) -> TokenStream {
87 live_design_impl(input)
88}
89
90#[proc_macro_derive(LiveComponentRegistry)]
91pub fn derive_live_component_registry(input: TokenStream) -> TokenStream {
92 derive_live_component_registry_impl(input)
93}
94
95#[proc_macro_derive(LiveAtomic)]
96pub fn derive_live_atomic(input: TokenStream) -> TokenStream {
97 derive_live_atomic_impl(input)
98}
99