introduce bump as a better-checked alternative to bump_any

This commit is contained in:
Aleksey Kladov 2019-09-10 01:03:00 +03:00
parent e2b378ef7e
commit d8aa9a1d81
2 changed files with 8 additions and 2 deletions

View file

@ -170,6 +170,12 @@ impl<'t> Parser<'t> {
}
}
/// Advances the parser by one token, asserting that it is exactly the expected token
pub(crate) fn bump(&mut self, expected: SyntaxKind) {
debug_assert!(self.nth(0) == expected);
self.bump_any()
}
/// Advances the parser by one token, remapping its kind.
/// This is useful to create contextual keywords from
/// identifiers. For example, the lexer creates an `union`