rt_local_macros/
lib.rs

1use proc_macro::TokenStream;
2use syn_utils::resolve_attr;
3
4#[macro_use]
5mod syn_utils;
6
7mod runtime_main;
8
9use runtime_main::build;
10
11#[proc_macro_attribute]
12pub fn core_test(attr: TokenStream, item: TokenStream) -> TokenStream {
13    resolve_attr(attr, item, |attr, item| build(attr, item, "core", true))
14}
15
16#[proc_macro_attribute]
17pub fn core_main(attr: TokenStream, item: TokenStream) -> TokenStream {
18    resolve_attr(attr, item, |attr, item| build(attr, item, "core", false))
19}
20
21#[proc_macro_attribute]
22pub fn windows_test(attr: TokenStream, item: TokenStream) -> TokenStream {
23    resolve_attr(attr, item, |attr, item| build(attr, item, "windows", true))
24}
25
26#[proc_macro_attribute]
27pub fn windows_main(attr: TokenStream, item: TokenStream) -> TokenStream {
28    resolve_attr(attr, item, |attr, item| build(attr, item, "windows", false))
29}