2020-01-21 03:15:28 -08:00
|
|
|
extern crate proc_macro;
|
|
|
|
|
2020-06-03 20:08:20 -07:00
|
|
|
mod app_plugin;
|
2020-06-07 19:12:41 -07:00
|
|
|
mod attributes;
|
2020-06-03 20:08:20 -07:00
|
|
|
mod bytes;
|
2020-06-03 13:04:09 -07:00
|
|
|
mod entity_archetype;
|
2020-05-03 17:54:16 -07:00
|
|
|
mod modules;
|
2020-06-07 19:12:41 -07:00
|
|
|
mod render_resources;
|
|
|
|
mod render_resource;
|
2020-06-03 13:04:09 -07:00
|
|
|
mod resource;
|
2020-06-07 22:24:53 -07:00
|
|
|
mod shader_defs;
|
2020-06-07 13:00:58 -07:00
|
|
|
mod as_vertex_buffer_descriptor;
|
2020-05-03 17:54:16 -07:00
|
|
|
|
2020-01-19 02:02:12 -08:00
|
|
|
use proc_macro::TokenStream;
|
2020-03-18 16:06:33 -07:00
|
|
|
|
2020-05-27 15:49:27 -07:00
|
|
|
#[proc_macro_derive(FromResources, attributes(module))]
|
2020-06-07 12:22:16 -07:00
|
|
|
pub fn derive_from_resources(input: TokenStream) -> TokenStream {
|
|
|
|
resource::derive_from_resources(input)
|
2020-04-30 13:26:01 -07:00
|
|
|
}
|
|
|
|
|
2020-06-01 14:33:00 -07:00
|
|
|
#[proc_macro_derive(Bytes, attributes(module))]
|
|
|
|
pub fn derive_bytes(input: TokenStream) -> TokenStream {
|
2020-06-03 13:04:09 -07:00
|
|
|
bytes::derive_bytes(input)
|
2020-06-01 14:33:00 -07:00
|
|
|
}
|
|
|
|
|
2020-06-07 19:12:41 -07:00
|
|
|
#[proc_macro_derive(RenderResources, attributes(render_resources, module))]
|
|
|
|
pub fn derive_render_resources(input: TokenStream) -> TokenStream {
|
|
|
|
render_resources::derive_render_resources(input)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[proc_macro_derive(RenderResource, attributes(module))]
|
|
|
|
pub fn derive_render_resource(input: TokenStream) -> TokenStream {
|
|
|
|
render_resource::derive_render_resource(input)
|
|
|
|
}
|
|
|
|
|
2020-06-07 22:24:53 -07:00
|
|
|
#[proc_macro_derive(ShaderDefs, attributes(shader_def, module))]
|
|
|
|
pub fn derive_shader_defs(input: TokenStream) -> TokenStream {
|
|
|
|
shader_defs::derive_shader_defs(input)
|
|
|
|
}
|
|
|
|
|
2020-06-07 13:00:58 -07:00
|
|
|
#[proc_macro_derive(AsVertexBufferDescriptor, attributes(vertex, module))]
|
|
|
|
pub fn derive_as_vertex_buffer_descriptor(input: TokenStream) -> TokenStream {
|
|
|
|
as_vertex_buffer_descriptor::derive_as_vertex_buffer_descriptor(input)
|
|
|
|
}
|
|
|
|
|
2020-04-06 14:20:53 -07:00
|
|
|
#[proc_macro_derive(EntityArchetype, attributes(tag, module))]
|
2020-01-19 02:02:12 -08:00
|
|
|
pub fn derive_entity_archetype(input: TokenStream) -> TokenStream {
|
2020-06-03 13:04:09 -07:00
|
|
|
entity_archetype::derive_entity_archetype(input)
|
2020-02-09 21:41:51 -08:00
|
|
|
}
|
2020-02-09 18:04:18 -08:00
|
|
|
|
2020-01-20 20:10:40 -08:00
|
|
|
|
2020-04-05 14:12:14 -07:00
|
|
|
#[proc_macro_derive(DynamicAppPlugin)]
|
2020-01-20 20:10:40 -08:00
|
|
|
pub fn derive_app_plugin(input: TokenStream) -> TokenStream {
|
2020-06-07 12:22:16 -07:00
|
|
|
app_plugin::derive_dynamic_app_plugin(input)
|
2020-06-07 19:12:41 -07:00
|
|
|
}
|