swc_ecma_transforms_macros/
lib.rs1#![deny(clippy::all)]
2#![recursion_limit = "2048"]
3
4use proc_macro::TokenStream;
5use quote::ToTokens;
6use swc_macros_common::print;
7
8mod common;
9mod fast;
10mod parallel;
11
12#[proc_macro_attribute]
27pub fn fast_path(attr: TokenStream, item: TokenStream) -> TokenStream {
28 let item = syn::parse(item).expect("failed to parse input as an item");
29 let expanded = fast::expand(attr.into(), item);
30 print("fast_path", expanded.into_token_stream())
31}
32
33#[proc_macro_attribute]
46pub fn parallel(attr: TokenStream, item: TokenStream) -> TokenStream {
47 let item = syn::parse(item).expect("failed to parse input as an item");
48 let expanded = parallel::expand(attr.into(), item);
49 print("parallel", expanded.into_token_stream())
50}