java_asm_macro/
lib.rs

1use crate::constant::const_container_impl;
2use crate::read::jvms::auto_read_bytes;
3use crate::write::jvms::auto_write_bytes;
4use proc_macro::TokenStream;
5
6mod read;
7mod write;
8pub(crate) mod alignment;
9mod constant;
10
11#[proc_macro_derive(ReadFrom, attributes(index, align))]
12pub fn from_read_context_impl(input: TokenStream) -> TokenStream {
13    auto_read_bytes(input)
14}
15
16#[proc_macro_derive(WriteInto, attributes(index, align))]
17pub fn to_write_context_impl(input: TokenStream) -> TokenStream {
18    auto_write_bytes(input)
19}
20
21#[proc_macro_attribute]
22pub fn const_container(attr: TokenStream, item: TokenStream) -> TokenStream {
23    const_container_impl(attr, item)
24}