feat: add prepared error/null ok returns from gen_* functions

This commit is contained in:
samsonium
2026-11-04 22:52:40 +03:00
parent aae183c0c0
commit 181458ecda
18 changed files with 232 additions and 66 deletions
+7 -2
View File
@@ -1,3 +1,4 @@
#include <common/fzl_types.h>
#include <compiler/fzl_gen.h>
#include <compiler/fzl_parser.h>
#include <compiler/internals/gen.h>
@@ -6,11 +7,15 @@
typedef gen_res_t (*gen_handle_fn)(fzl_gen_t *, fzl_node_t *);
gen_res_t gen_error = (gen_res_t){.error = true};
gen_res_t gen_ok_null =
(gen_res_t){.error = false, .type = FZL_TYPE_NULL, .classname = NULL};
// Common generator entry point
gen_res_t gen_common(fzl_gen_t *gen, fzl_node_t *node)
{
if (!gen || !node)
return (gen_res_t){.error = true};
return gen_error;
gen_handle_fn res = NULL;
switch (node->type)
@@ -137,7 +142,7 @@ gen_res_t gen_common(fzl_gen_t *gen, fzl_node_t *node)
}
if (!res)
return (gen_res_t){.error = true};
return gen_error;
return res(gen, node);
}