wine_macro/
lib.rs

1//
2// Copyright © 2023, RedSoft
3// License: proprietary
4//
5
6mod debug;
7mod extwine;
8mod unixlib;
9
10use proc_macro::TokenStream;
11use proc_macro2::TokenStream as TokenStream2;
12
13#[proc_macro]
14pub fn wine_default_debug_channel(input: TokenStream) -> TokenStream {
15    let input = TokenStream2::from(input);
16    debug::wine_default_debug_channel_impl(input)
17        .unwrap_or_else(|e| e.to_compile_error())
18        .into()
19}
20
21#[proc_macro]
22pub fn wine_declare_debug_channel(input: TokenStream) -> TokenStream {
23    let input = TokenStream2::from(input);
24    debug::wine_declare_debug_channel_impl(input)
25        .unwrap_or_else(|e| e.to_compile_error())
26        .into()
27}
28
29#[proc_macro]
30pub fn fixme(input: TokenStream) -> TokenStream {
31    let input = TokenStream2::from(input);
32    debug::fixme_impl(input)
33        .unwrap_or_else(|e| e.to_compile_error())
34        .into()
35}
36
37#[proc_macro]
38pub fn err(input: TokenStream) -> TokenStream {
39    let input = TokenStream2::from(input);
40    debug::err_impl(input)
41        .unwrap_or_else(|e| e.to_compile_error())
42        .into()
43}
44
45#[proc_macro]
46pub fn warn(input: TokenStream) -> TokenStream {
47    let input = TokenStream2::from(input);
48    debug::warn_impl(input)
49        .unwrap_or_else(|e| e.to_compile_error())
50        .into()
51}
52
53#[proc_macro]
54pub fn trace(input: TokenStream) -> TokenStream {
55    let input = TokenStream2::from(input);
56    debug::trace_impl(input)
57        .unwrap_or_else(|e| e.to_compile_error())
58        .into()
59}
60
61#[proc_macro_attribute]
62pub fn unixlib_entry(_attr: TokenStream, input: TokenStream) -> TokenStream {
63    let input = TokenStream2::from(input);
64    unixlib::unixlib_entry_impl(input)
65        .unwrap_or_else(|e| e.to_compile_error())
66        .into()
67}
68
69#[proc_macro]
70pub fn wine_unix_call_funcs(_input: TokenStream) -> TokenStream {
71    unixlib::wine_unix_call_funcs()
72        .unwrap_or_else(|e| e.to_compile_error())
73        .into()
74}
75
76#[proc_macro]
77pub fn extern_wine(input: TokenStream) -> TokenStream {
78    let input = TokenStream2::from(input);
79    extwine::extern_wine(input)
80        .unwrap_or_else(|e| e.to_compile_error())
81        .into()
82}