(
tokens: &[Token],
pos: &mut usize,
kind: TokenKind,
_expected: &str,
)
| 362 | } |
| 363 | |
| 364 | fn expect_token( |
| 365 | tokens: &[Token], |
| 366 | pos: &mut usize, |
| 367 | kind: TokenKind, |
| 368 | _expected: &str, |
| 369 | ) -> Result<(), ExprParseError> { |
| 370 | if *pos < tokens.len() && tokens[*pos].kind == kind { |
| 371 | *pos += 1; |
| 372 | Ok(()) |
| 373 | } else { |
| 374 | let got = tokens |
| 375 | .get(*pos) |
| 376 | .map_or_else(|| "EOF".to_string(), |t| t.text.clone()); |
| 377 | Err(ExprParseError::UnexpectedToken { |
| 378 | found: got, |
| 379 | pos: *pos, |
| 380 | }) |
| 381 | } |
| 382 | } |
| 383 | |
| 384 | // ── Validation ──────────────────────────────────────────────────────── |
| 385 |
no test coverage detected