java_bindgen_macro/
lib.rs1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code, clippy::unwrap_used)]
3
4extern crate proc_macro;
5use proc_macro::TokenStream;
6
7#[doc(hidden)]
8mod util;
9#[doc(hidden)]
10mod common;
11mod derive_java_bindgen;
12mod dervie_into_java;
13mod derive_into_rust;
14mod dervie_java_type;
15mod derive_java_class;
16mod derive_jlogger;
17mod derive_test_jvm;
18mod types_conversion;
19
20#[proc_macro_attribute]
22pub fn java_bindgen(attr: TokenStream, item: TokenStream) -> TokenStream {
23 derive_java_bindgen::main(attr, item)
24}
25
26#[proc_macro_derive(IntoJava)]
28pub fn java_bindgen_into_java(item: TokenStream) -> TokenStream {
29 dervie_into_java::main(item)
30}
31
32#[proc_macro_derive(IntoRust)]
34pub fn java_bindgen_into_rust(item: TokenStream) -> TokenStream {
35 derive_into_rust::main(item)
36}
37
38#[proc_macro_derive(JavaType)]
40pub fn java_bindgen_java_type(item: TokenStream) -> TokenStream {
41 dervie_java_type::main(item)
42}
43
44#[proc_macro_derive(JavaClass)]
46pub fn java_bindgen_java_class(item: TokenStream) -> TokenStream {
47 derive_java_class::main(item)
48}
49
50#[proc_macro_derive(JLogger)]
52pub fn java_bindgen_jlogger(item: TokenStream) -> TokenStream {
53 derive_jlogger::main(item)
54}
55
56#[proc_macro_attribute]
58pub fn test_jvm(attr: TokenStream, item: TokenStream) -> TokenStream {
59 derive_test_jvm::main(attr, item)
60}