Skip to content

Commit 3bae082

Browse files
committed
replace try_parse!() macro to closure
1 parent 29644a3 commit 3bae082

1 file changed

Lines changed: 3 additions & 10 deletions

File tree

‎porcelain/src/lib.rs‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,21 +99,14 @@ pub fn compile_symtable(
9999
mode: compile::Mode,
100100
source_path: &str,
101101
) -> Result<symboltable::SymbolTable, CompileError> {
102-
macro_rules! try_parse {
103-
($x:expr) => {
104-
match $x {
105-
Ok(x) => x,
106-
Err(e) => return Err(CompileError::from_parse(e, source, source_path.to_owned())),
107-
}
108-
};
109-
}
102+
let parse_err = |e| CompileError::from_parse(e, source, source_path.to_owned());
110103
let res = match mode {
111104
compile::Mode::Exec | compile::Mode::Single | compile::Mode::BlockExpr => {
112-
let ast = try_parse!(parser::parse_program(source));
105+
let ast = parser::parse_program(source).map_err(parse_err)?;
113106
symboltable::make_symbol_table(&ast)
114107
}
115108
compile::Mode::Eval => {
116-
let expr = try_parse!(parser::parse_expression(source));
109+
let expr = parser::parse_expression(source).map_err(parse_err)?;
117110
symboltable::make_symbol_table_expr(&expr)
118111
}
119112
};

0 commit comments

Comments
 (0)