From 0fac56717a1bce4e362d91d8f4e71d65676d49a3 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Sun, 1 Dec 2019 15:55:32 +0300 Subject: syntax: Remove redundant span from `ast::Mac` Also remove a couple of redundant `visit_mac` asserts --- src/libsyntax/tokenstream.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/libsyntax/tokenstream.rs') diff --git a/src/libsyntax/tokenstream.rs b/src/libsyntax/tokenstream.rs index 6a0523dd655..491b9a9ade4 100644 --- a/src/libsyntax/tokenstream.rs +++ b/src/libsyntax/tokenstream.rs @@ -225,6 +225,14 @@ impl TokenStream { self.0.len() } + pub fn span(&self) -> Option { + match &**self.0 { + [] => None, + [(tt, _)] => Some(tt.span()), + [(tt_start, _), .., (tt_end, _)] => Some(tt_start.span().to(tt_end.span())), + } + } + pub fn from_streams(mut streams: SmallVec<[TokenStream; 2]>) -> TokenStream { match streams.len() { 0 => TokenStream::default(), -- cgit 1.4.1-3-g733a5