feat: add prepared error/null ok returns from gen_* functions
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user