fix: some analysis stage problems
This commit is contained in:
@@ -81,7 +81,7 @@ fzl_an_res_t analyze_function(fzl_analyzer_t *analyzer, fzl_node_t *fn_node)
|
||||
analyzer->alloc_names[analyzer->alloc_names_top++] = methodname;
|
||||
|
||||
fzl_symtable_res_t putres =
|
||||
fzl_symt_put(analyzer->symbols[analyzer->symbols_top - 2], fn_node,
|
||||
fzl_symt_put(analyzer->symbols[ctx->symbols_level - 1], fn_node,
|
||||
methodname, rettype, 0);
|
||||
if (putres != FZL_SYMTABLE_RESULT_OK)
|
||||
{
|
||||
@@ -99,13 +99,13 @@ fzl_an_res_t analyze_function(fzl_analyzer_t *analyzer, fzl_node_t *fn_node)
|
||||
an_fin_ctx(analyzer);
|
||||
return (fzl_an_res_t){.error = true};
|
||||
}
|
||||
fzl_symt_setobjclass(analyzer->symbols[analyzer->symbols_top - 1],
|
||||
methodname, classname);
|
||||
fzl_symt_setobjclass(analyzer->symbols[ctx->symbols_level - 1], methodname,
|
||||
classname);
|
||||
}
|
||||
else
|
||||
{
|
||||
fzl_symtable_res_t putres =
|
||||
fzl_symt_put(analyzer->symbols[analyzer->symbols_top - 1], fn_node,
|
||||
fzl_symt_put(analyzer->symbols[analyzer->symbols_top - 2], fn_node,
|
||||
(char *)fn_node->fn.name->value, rettype, 0);
|
||||
if (putres != FZL_SYMTABLE_RESULT_OK)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user