diff options
Diffstat (limited to 'engine-macros/src/reflection.rs')
| -rw-r--r-- | engine-macros/src/reflection.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engine-macros/src/reflection.rs b/engine-macros/src/reflection.rs new file mode 100644 index 0000000..825094b --- /dev/null +++ b/engine-macros/src/reflection.rs @@ -0,0 +1,15 @@ +mod enum_impl; +mod field; +mod struct_impl; +mod visibility; + +pub fn derive(input: proc_macro2::TokenStream) -> proc_macro2::TokenStream +{ + let input = syn::parse2::<syn::Item>(input).unwrap(); + + match input { + syn::Item::Struct(input) => struct_impl::generate(input), + syn::Item::Enum(input) => enum_impl::generate(input), + _ => panic!("Invalid input"), + } +} |
