blf_lib_derive/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
extern crate proc_macro;
extern crate syn;
#[macro_use]
extern crate quote;

extern crate self as blf_lib_derive;

use proc_macro::TokenStream;

mod helpers;
mod macros;

#[proc_macro_derive(BlfChunk, attributes(Header, Size))]
pub fn blf_chunk(input: TokenStream) -> TokenStream {
    macros::blf_chunk::blf_chunk_macro(input)
}

#[proc_macro_derive(TitleAndBuild, attributes(Title, Build))]
pub fn title_and_build(input: TokenStream) -> TokenStream {
    macros::title_and_build::title_and_build_macro(input)
}

#[proc_macro_derive(BlfFile)]
pub fn blf_file(input: TokenStream) -> TokenStream {
    macros::blf_file::blf_file_macro(input)
}

#[proc_macro_derive(TestSize, attributes(Size))]
pub fn test_size(input: TokenStream) -> TokenStream {
    macros::test_size::test_size_macro(input)
}

#[proc_macro_derive(ChunkFactory, attributes(Title, Build, Chunks))]
pub fn chunk_factory(input: TokenStream) -> TokenStream {
    macros::chunk_factory::chunk_factory_macro(input)
}