1extern crate proc_macro;
2
3mod backend;
4use proc_macro::TokenStream;
5
6#[proc_macro_attribute]
8pub fn cmod(attr: TokenStream, input: TokenStream) -> TokenStream {
9 backend::cmod(attr, input)
10}
11
12#[proc_macro_attribute]
13pub fn function(attr: TokenStream, input: TokenStream) -> TokenStream {
14 backend::cmod_function(attr, input)
15}
16
17#[proc_macro_attribute]
18pub fn class(attr: TokenStream, input: TokenStream) -> TokenStream {
19 backend::cmod_class(attr, input)
20}
21
22#[proc_macro_attribute]
23pub fn methods(attr: TokenStream, input: TokenStream) -> TokenStream {
24 backend::cmod_methods(attr, input)
25}
26
27#[proc_macro_attribute]
28pub fn module(attr: TokenStream, input: TokenStream) -> TokenStream {
29 backend::cmod_module(attr, input)
30}
31
32#[proc_macro_attribute]
33pub fn tags(_attr: TokenStream, input: TokenStream) -> TokenStream {
34 input
35}