From 0cf2d6afee52fe248c8a032346c5bdb6dc7cd928 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 8 Jan 2018 22:40:14 +0300 Subject: Generalized lookahead --- src/parser/event_parser/parser.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'src/parser/event_parser/parser.rs') diff --git a/src/parser/event_parser/parser.rs b/src/parser/event_parser/parser.rs index bec9dbab4..a1a0ebfea 100644 --- a/src/parser/event_parser/parser.rs +++ b/src/parser/event_parser/parser.rs @@ -88,12 +88,8 @@ impl<'t> Parser<'t> { kind } - pub(crate) fn lookahead(&self, kinds: &[SyntaxKind]) -> bool { - if self.tokens[self.pos..].len() < kinds.len() { - return false - } - kinds.iter().zip(self.tokens[self.pos..].iter().map(|t| t.kind)) - .all(|(&k1, k2)| k1 == k2) + pub(crate) fn raw_lookahead(&self, n: usize) -> SyntaxKind { + self.tokens.get(self.pos + n).map(|t| t.kind).unwrap_or(EOF) } pub(crate) fn curly_block(&mut self, f: F) -> bool { -- cgit v1.2.3