about summary refs log tree commit diff
path: root/src/libsyntax/tokenstream.rs
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-12-01 15:55:32 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2019-12-02 21:56:34 +0300
commit0fac56717a1bce4e362d91d8f4e71d65676d49a3 (patch)
tree11b5ebb959a47b61f5e8a7e1853d85c8b62e7554 /src/libsyntax/tokenstream.rs
parenta81804b4d5f222f94758139b504aa2570528f9f1 (diff)
downloadrust-0fac56717a1bce4e362d91d8f4e71d65676d49a3.tar.gz
rust-0fac56717a1bce4e362d91d8f4e71d65676d49a3.zip
syntax: Remove redundant span from `ast::Mac`
Also remove a couple of redundant `visit_mac` asserts
Diffstat (limited to 'src/libsyntax/tokenstream.rs')
-rw-r--r--src/libsyntax/tokenstream.rs8
1 files changed, 8 insertions, 0 deletions
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<Span> {
+        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(),