ref: add type/classname result for each gen_* function
This commit is contained in:
@@ -6,14 +6,14 @@
|
||||
#include <string.h>
|
||||
|
||||
// Class definition
|
||||
bool gen_class(fzl_gen_t *gen, fzl_node_t *node)
|
||||
gen_res_t gen_class(fzl_gen_t *gen, fzl_node_t *node)
|
||||
{
|
||||
if (!gen || !node)
|
||||
return false;
|
||||
return (gen_res_t){.error = true};
|
||||
|
||||
fzl_gen_ctx_t *ctx = gen_ctx(gen, FZL_GEN_CTX_TYPE_CLASS, node);
|
||||
if (!ctx)
|
||||
return false;
|
||||
return (gen_res_t){.error = true};
|
||||
|
||||
gen->classes[gen->classes_count] = fzl_mkctable(node->class.name->value);
|
||||
fzl_ctable_t *class = gen->classes[gen->classes_count++];
|
||||
@@ -37,7 +37,7 @@ bool gen_class(fzl_gen_t *gen, fzl_node_t *node)
|
||||
if (!resolved)
|
||||
{
|
||||
free(class->fields);
|
||||
return false;
|
||||
return (gen_res_t){.error = true};
|
||||
}
|
||||
|
||||
class->fields[class->fields_count] = (fzl_ctable_field_t){
|
||||
@@ -63,10 +63,10 @@ bool gen_class(fzl_gen_t *gen, fzl_node_t *node)
|
||||
free(fn->fn.name->value);
|
||||
|
||||
fn->fn.name->value = method_name;
|
||||
if (!gen_common(gen, fn))
|
||||
if (gen_common(gen, fn).error)
|
||||
{
|
||||
free(class->fields);
|
||||
return false;
|
||||
return (gen_res_t){.error = true};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,8 +74,8 @@ bool gen_class(fzl_gen_t *gen, fzl_node_t *node)
|
||||
if (!ctx)
|
||||
{
|
||||
free(class->fields);
|
||||
return false;
|
||||
return (gen_res_t){.error = true};
|
||||
}
|
||||
|
||||
return true;
|
||||
return (gen_res_t){.error = false, .type = FZL_TYPE_NULL, .classname = NULL};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user