Introduce SourceError to represent an error + original source

This commit is contained in:
Joshua Warner 2022-01-01 14:40:03 -07:00
parent 8d6eb178b1
commit 5c1084c453
9 changed files with 96 additions and 48 deletions

View file

@ -111,7 +111,7 @@ struct Ast<'a> {
fn parse_all<'a>(arena: &'a Bump, src: &'a str) -> Result<Ast<'a>, SyntaxError<'a>> {
let (module, state) =
module::parse_header(arena, State::new(src.as_bytes())).map_err(SyntaxError::Header)?;
module::parse_header(arena, State::new(src.as_bytes())).map_err(|e| SyntaxError::Header(e.problem))?;
let (_, defs, _) = module_defs().parse(arena, state).map_err(|(_, e, _)| e)?;