fix: review problems
This commit is contained in:
@@ -7,11 +7,6 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
char field_problem[256];
|
||||
|
||||
// defined in `compiler/analyzer/utility.c`
|
||||
extern fzl_type_t an_toktotype(fzl_token_t *tok);
|
||||
|
||||
// Analyze field access
|
||||
fzl_an_res_t analyze_field(fzl_analyzer_t *analyzer, fzl_node_t *field)
|
||||
{
|
||||
@@ -20,7 +15,7 @@ fzl_an_res_t analyze_field(fzl_analyzer_t *analyzer, fzl_node_t *field)
|
||||
|
||||
if (!field || field->type != FZL_NODETYPE_FIELD)
|
||||
{
|
||||
an_push_error(analyzer, NULL, "node is not typeof FIELD");
|
||||
an_push_error(analyzer, NULL, "node is not field access");
|
||||
return (fzl_an_res_t){.error = true};
|
||||
}
|
||||
|
||||
@@ -30,9 +25,9 @@ fzl_an_res_t analyze_field(fzl_analyzer_t *analyzer, fzl_node_t *field)
|
||||
|
||||
if (parent.type != FZL_TYPE_OBJECT || parent.classname == NULL)
|
||||
{
|
||||
snprintf(field_problem, sizeof(field_problem),
|
||||
"access to non-object value");
|
||||
an_push_error(analyzer, field->token, field_problem);
|
||||
snprintf(an_problem, sizeof(an_problem), "access to non-object value (%s)",
|
||||
an_typetostr(parent.type, parent.classname));
|
||||
an_push_error(analyzer, field->token, an_problem);
|
||||
return (fzl_an_res_t){.error = true};
|
||||
}
|
||||
|
||||
@@ -48,9 +43,9 @@ fzl_an_res_t analyze_field(fzl_analyzer_t *analyzer, fzl_node_t *field)
|
||||
|
||||
if (!sym_found)
|
||||
{
|
||||
snprintf(field_problem, sizeof(field_problem), "class '%s' not found",
|
||||
snprintf(an_problem, sizeof(an_problem), "class '%s' not found",
|
||||
parent.classname);
|
||||
an_push_error(analyzer, field->parent->token, field_problem);
|
||||
an_push_error(analyzer, field->parent->token, an_problem);
|
||||
return (fzl_an_res_t){.error = true};
|
||||
}
|
||||
|
||||
@@ -67,9 +62,9 @@ fzl_an_res_t analyze_field(fzl_analyzer_t *analyzer, fzl_node_t *field)
|
||||
|
||||
if (field_node == NULL)
|
||||
{
|
||||
snprintf(field_problem, sizeof(field_problem),
|
||||
"field '%s.%s' does not exists", parent.classname, field_name);
|
||||
an_push_error(analyzer, field->memb.field->token, field_problem);
|
||||
snprintf(an_problem, sizeof(an_problem), "field '%s.%s' does not exists",
|
||||
parent.classname, field_name);
|
||||
an_push_error(analyzer, field->memb.field->token, an_problem);
|
||||
return (fzl_an_res_t){.error = true};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user