alchemist-macros 0.0.0

Hot-reload game engine & editor (WIP—MVP coming)
Documentation
use super::*;
use quote::*;
use syn::*;

pub fn derive_qualify(input: TokenStream) -> TokenStream {
    let input = parse_macro_input!(input as DeriveInput);

    let core_path = utils::core_path_attr(&input.attrs);

    let ident = input.ident.clone();

    let implementation = quote! {
        impl #core_path::manifest::Qualify for #ident {
            fn qualifier() -> &'static str {
                ::core::concat!(::core::module_path!(), "::", ::core::stringify!(#ident))
            }
        }
    };

    implementation.into()
}