Unify parse_execution_result_t and eval_result_t

These are just the same thing now; make everything eval_result_t.
This commit is contained in:
ridiculousfish
2019-12-17 16:52:15 -08:00
parent a58286baea
commit c011f3a8e9
4 changed files with 169 additions and 192 deletions

View File

@@ -674,19 +674,12 @@ eval_result_t parser_t::eval_node(parsed_source_ref_t ps, tnode_t<T> node, block
using exc_ctx_ref_t = std::unique_ptr<parse_execution_context_t>;
scoped_push<exc_ctx_ref_t> exc(
&execution_context, make_unique<parse_execution_context_t>(ps, this, std::move(lineage)));
parse_execution_result_t res = execution_context->eval_node(node, scope_block);
eval_result_t res = execution_context->eval_node(node, scope_block);
exc.restore();
this->pop_block(scope_block);
job_reap(*this, false); // reap again
switch (res) {
case parse_execution_success:
return eval_result_t::ok;
case parse_execution_errored:
return eval_result_t::error;
case parse_execution_cancelled:
return eval_result_t::cancelled;
}
return res;
}
// Explicit instantiations. TODO: use overloads instead?