Parser refactoring to use new (Maybe)ParseResult types, WIP.
This commit is contained in:
parent
56196551b8
commit
6ac075ffd0
@ -105,12 +105,14 @@ fn compile_statement(
|
||||
register_count: usize,
|
||||
constants_table: &mut ConstantsTable,
|
||||
) -> Result<Function, Diagnostics> {
|
||||
let (maybe_statement, parse_diagnostics) = parse_statement(input);
|
||||
if !parse_diagnostics.is_empty() {
|
||||
Err(parse_diagnostics)
|
||||
} else if let Some(statement) = maybe_statement {
|
||||
session.compile_statement(&statement, register_count, constants_table)
|
||||
let maybe_statement = parse_statement(input);
|
||||
if !maybe_statement.is_ok() {
|
||||
Err(maybe_statement.into_diagnostics())
|
||||
} else {
|
||||
panic!("Unable to unwrap statement from previous input.")
|
||||
session.compile_statement(
|
||||
&maybe_statement.into_inner(),
|
||||
register_count,
|
||||
constants_table,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user