Used checked next in require

pull/6/head
ondra05 2022-03-20 02:20:55 +01:00
parent 8b5be3d90f
commit 7cc456ee40
1 changed files with 5 additions and 6 deletions

View File

@ -120,11 +120,10 @@ impl<'source> Parser<'source> {
}
/// Require next item to be equal with expected one
fn require(&mut self, expected: Token) -> Result<(), Error> {
match self.lexer.next() {
Some(t) if t == expected => Ok(()),
Some(t) => Err(Error::new(ErrorKind::UnexpectedToken(t), self.lexer.span())),
None => Err(Error::unexpected_eof(self.lexer.span().start)),
fn require(&mut self, required: Token) -> Result<(), Error> {
match self.checked_next()? {
t if t == required => Ok(()),
t => Err(Error::new(ErrorKind::UnexpectedToken(t), self.lexer.span())),
}
}
@ -176,7 +175,7 @@ impl<'source> Parser<'source> {
})),
start..self.lexer.span().end,
)),
Token::LeftBracket => match buf.take() {
Some(buf) => Ok(Expr::new(
self.index_flow(buf)?,