use proc_macro2::{Ident, Span, TokenStream, TokenTree};
pub(crate) const MAGIC_COMMENT_IDENT: &str = "__SOURCEGEN_MAGIC_COMMENT__";
pub struct PlainComment;
impl quote::ToTokens for PlainComment {
fn to_tokens(&self, tokens: &mut TokenStream) {
tokens.extend(std::iter::once(TokenTree::Ident(Ident::new(
MAGIC_COMMENT_IDENT,
Span::call_site(),
))));
}
}
pub(crate) const MAGIC_NEWLINE_IDENT: &str = "__SOURCEGEN_MAGIC_NEWLINE__";
pub struct NewLine;
impl quote::ToTokens for NewLine {
fn to_tokens(&self, tokens: &mut TokenStream) {
tokens.extend(std::iter::once(TokenTree::Ident(Ident::new(
MAGIC_NEWLINE_IDENT,
Span::call_site(),
))));
}
}