feat: add prepared error/null ok returns from gen_* functions
This commit is contained in:
@@ -8,23 +8,23 @@
|
||||
gen_res_t gen_loop(fzl_gen_t *gen, fzl_node_t *node)
|
||||
{
|
||||
if (!gen || !node)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
fzl_gen_ctx_t *ctx = gen_ctx(gen, FZL_GEN_CTX_TYPE_LOOP, node);
|
||||
if (!ctx)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
gen_op(gen, FZL_OPCODE_MK_ENVTABLE);
|
||||
|
||||
if (node->loop.init)
|
||||
if (gen_common(gen, node->loop.init).error)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
size_t start_ip = gen->ops_count;
|
||||
if (node->loop.cond)
|
||||
{
|
||||
if (gen_common(gen, node->loop.cond).error)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -37,11 +37,11 @@ gen_res_t gen_loop(fzl_gen_t *gen, fzl_node_t *node)
|
||||
gen_word(gen, 0);
|
||||
|
||||
if (gen_common(gen, node->loop.body).error)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
if (node->loop.step)
|
||||
if (gen_common(gen, node->loop.step).error)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
gen_op(gen, FZL_OPCODE_JMP);
|
||||
gen_word(gen, start_ip);
|
||||
@@ -57,7 +57,7 @@ gen_res_t gen_loop(fzl_gen_t *gen, fzl_node_t *node)
|
||||
|
||||
ctx = gen_fin_ctx(gen);
|
||||
if (!ctx)
|
||||
return (gen_res_t){.error = true};
|
||||
return gen_error;
|
||||
|
||||
return (gen_res_t){.error = false, .type = FZL_TYPE_NULL, .classname = NULL};
|
||||
return gen_ok_null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user