use proc_macro::TokenStream;
use proc_macro_error::proc_macro_error;
mod external;
mod import_module;
mod object;
mod util;
#[proc_macro]
pub fn import_module(input: TokenStream) -> TokenStream {
import_module::macro_impl(input)
}
#[proc_macro_error]
#[proc_macro_derive(Object, attributes(base, ref_name, type_key, no_derive))]
pub fn macro_impl(input: TokenStream) -> TokenStream {
TokenStream::from(object::macro_impl(input))
}
#[proc_macro_error]
#[proc_macro]
pub fn external(input: TokenStream) -> TokenStream {
external::macro_impl(input)
}