Lines Matching refs:TokenTree
3 use proc_macro::{Delimiter, Group, Ident, Spacing, Span, TokenTree};
5 fn concat(tokens: &[TokenTree], group_span: Span) -> TokenTree { in concat() argument
12 Some(TokenTree::Literal(lit)) => { in concat()
21 Some(TokenTree::Ident(ident)) => { in concat()
28 Some(TokenTree::Punct(p)) if p.as_char() == ':' => { in concat()
29 let Some(TokenTree::Ident(ident)) = tokens.next() else { in concat()
54 TokenTree::Ident(Ident::new(&pasted, span.unwrap_or(group_span))) in concat()
57 pub(crate) fn expand(tokens: &mut Vec<TokenTree>) { in expand() argument
59 if let TokenTree::Group(group) = token { in expand()
66 && matches!(&stream[0], TokenTree::Punct(p) if p.as_char() == '<') in expand()
67 && matches!(&stream[stream.len() - 1], TokenTree::Punct(p) if p.as_char() == '>') in expand()
76 *token = TokenTree::Group(group); in expand()
86 (TokenTree::Punct(a), TokenTree::Punct(b)) in expand()
90 TokenTree::Group(group) if group.delimiter() == Delimiter::None => { in expand()
97 TokenTree::Group(group) if group.delimiter() == Delimiter::None => { in expand()