(
state: &mut ParserState<'heap, 'source, '_>,
token: Token<'source>,
)
| 88 | } |
| 89 | |
| 90 | pub(crate) fn parse_object<'heap, 'source>( |
| 91 | state: &mut ParserState<'heap, 'source, '_>, |
| 92 | token: Token<'source>, |
| 93 | ) -> Result<Expr<'heap>, ParserDiagnostic> { |
| 94 | let mut current = ObjectState::Initial(Initial); |
| 95 | |
| 96 | let range = visit_object(state, token, |state, key| { |
| 97 | let scoped = mem::replace(&mut current, ObjectState::Initial(Initial)); |
| 98 | current = scoped.handle(state, key)?; |
| 99 | |
| 100 | Ok(()) |
| 101 | })?; |
| 102 | |
| 103 | let expr = current.build(state, range)?; |
| 104 | |
| 105 | Ok(expr) |
| 106 | } |
| 107 | |
| 108 | #[cfg(test)] |
| 109 | mod tests { |
no test coverage detected