(
state: &mut ParserState<'heap, '_, '_>,
)
| 19 | ]); |
| 20 | |
| 21 | pub(crate) fn parse_expr<'heap>( |
| 22 | state: &mut ParserState<'heap, '_, '_>, |
| 23 | ) -> Result<Expr<'heap>, ParserDiagnostic> { |
| 24 | let token = state |
| 25 | .advance(PARSE_EXPR_KINDS) |
| 26 | .change_category(ParserDiagnosticCategory::Lexer)?; |
| 27 | |
| 28 | match token.kind.syntax() { |
| 29 | SyntaxKind::String => { |
| 30 | parse_string(state, token).change_category(ParserDiagnosticCategory::String) |
| 31 | } |
| 32 | SyntaxKind::LBracket => parse_array(state, token), |
| 33 | SyntaxKind::LBrace => parse_object(state, token), |
| 34 | SyntaxKind::Number |
| 35 | | SyntaxKind::True |
| 36 | | SyntaxKind::False |
| 37 | | SyntaxKind::Null |
| 38 | | SyntaxKind::Comma |
| 39 | | SyntaxKind::Colon |
| 40 | | SyntaxKind::RBrace |
| 41 | | SyntaxKind::RBracket => { |
| 42 | unreachable!() |
| 43 | } |
| 44 | } |
| 45 | } |
no test coverage detected