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 {
10 pub span: Span,
11 pub stream: TokenStream,
12}
13
14impl TokensNode {
15 pub fn span(&self) -> Span {
16 self.span
17 }
18}
19
20impl Expand for TokensNode {
21 fn expand(&self, output: &Ident, _idents: &mut crate::ident::Iter) -> TokenStream {
22 let stream = &self.stream;
23 quote! {
24 #output.extend(::zyn::quote::quote!(#stream));
25 }
26 }
27}