1mod error;
4mod opaque;
5
6use syn::Error;
7
8#[proc_macro_derive(ErrorCode, attributes(capi))]
10pub fn error_code(item: proc_macro::TokenStream) -> proc_macro::TokenStream {
11 error::derive(item.into())
12 .unwrap_or_else(Error::into_compile_error)
13 .into()
14}
15
16#[proc_macro_attribute]
18pub fn opaque(
19 attr: proc_macro::TokenStream,
20 item: proc_macro::TokenStream,
21) -> proc_macro::TokenStream {
22 opaque::opaque(attr.into(), item.into())
23 .unwrap_or_else(Error::into_compile_error)
24 .into()
25}
26
27#[proc_macro_attribute]
31pub fn builds(
32 _attr: proc_macro::TokenStream,
33 item: proc_macro::TokenStream,
34) -> proc_macro::TokenStream {
35 item
36}
37
38#[proc_macro_attribute]
40#[doc(hidden)]
41pub fn derive(
42 _attr: proc_macro::TokenStream,
43 item: proc_macro::TokenStream,
44) -> proc_macro::TokenStream {
45 item
46}
47
48#[proc_macro_attribute]
50#[doc(hidden)]
51pub fn generated(
52 _attr: proc_macro::TokenStream,
53 item: proc_macro::TokenStream,
54) -> proc_macro::TokenStream {
55 item
56}
57
58#[proc_macro_attribute]
60#[doc(hidden)]
61pub fn no_ext_error(
62 _attr: proc_macro::TokenStream,
63 item: proc_macro::TokenStream,
64) -> proc_macro::TokenStream {
65 item
66}