zyn_core/ast/
tokens_node.rs1use proc_macro2::Ident;
2use proc_macro2::Span;
3use proc_macro2::TokenStream;
4
5use quote::quote;
6
7use crate::Expand;
8
9pub struct TokensNode {
14 pub span: Span,
16 pub stream: TokenStream,
18}
19
20impl TokensNode {
21 pub fn span(&self) -> Span {
22 self.span
23 }
24}
25
26impl Expand for TokensNode {
27 fn expand(&self, output: &Ident, _idents: &mut crate::ident::Iter) -> TokenStream {
28 let stream = &self.stream;
29 quote! {
30 #output.extend(::zyn::quote::quote!(#stream));
31 }
32 }
33}