1#![doc = include_str!("../README.md")]
2
3mod quote_macro;
4
5use proc_macro_error2::proc_macro_error;
6use quote_macro::{QuoteNodeKind, quote_impl};
7
8#[proc_macro_error]
9#[proc_macro]
10pub fn quote_module(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
11 quote_impl(QuoteNodeKind::TranslationUnit, input.into()).into()
12}
13#[proc_macro_error]
14#[proc_macro]
15pub fn quote_import(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
16 quote_impl(QuoteNodeKind::ImportStatement, input.into()).into()
17}
18#[proc_macro_error]
19#[proc_macro]
20pub fn quote_declaration(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
21 quote_impl(QuoteNodeKind::GlobalDeclaration, input.into()).into()
22}
23#[proc_macro_error]
24#[proc_macro]
25pub fn quote_literal(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
26 quote_impl(QuoteNodeKind::Literal, input.into()).into()
27}
28#[proc_macro_error]
29#[proc_macro]
30pub fn quote_directive(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
31 quote_impl(QuoteNodeKind::GlobalDirective, input.into()).into()
32}
33#[proc_macro_error]
34#[proc_macro]
35pub fn quote_expression(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
36 quote_impl(QuoteNodeKind::Expression, input.into()).into()
37}
38#[proc_macro_error]
39#[proc_macro]
40pub fn quote_statement(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
41 quote_impl(QuoteNodeKind::Statement, input.into()).into()
42}