diff options
Diffstat (limited to 'parser.c')
| -rw-r--r-- | parser.c | 7 |
1 files changed, 1 insertions, 6 deletions
@@ -138,7 +138,6 @@ static void parse_expr_assign(struct expr_node* p_node) { expect(TK_ASSIGN); parse_expr(p_node->inner.assign.rval); - p_node->resolved_type = p_node->inner.assign.rval->resolved_type; } static void parse_args_eval(struct args_eval_node** pp_arg) { @@ -158,12 +157,11 @@ static void parse_expr_call(struct expr_node* p_node) { switch (p_node->type) { case EXPR_VAR_REF: struct var_def* var_def = p_node->inner.var_ref.def_ref; - /* TODO: I would like to include functions in the resolved_type rather than checking storage */ + /* TODO: I would like to include functions in the type model rather than checking storage */ if (var_def->loc.type != STO_FN) PARSER_PANIC("called object is not a function"); p_node->inner.call.called_fn_ref = var_def->loc.decl; - p_node->resolved_type = var_def->loc.decl->return_type.def_ref; break; default: PARSER_PANIC("expression is not callable"); @@ -252,8 +250,6 @@ static void parse_expr(struct expr_node* p_node) { case TK_IDENT: p_node->type = EXPR_VAR_REF; parse_var_ref(&p_node->inner.var_ref); - p_node->resolved_type = - p_node->inner.var_ref.def_ref->resolved_type; break; default: PARSER_PANIC("expected expression"); @@ -284,7 +280,6 @@ static void parse_var_decl(struct var_decl_node* p_node) { p_node->def_ref = scope_define_var(scope, (struct var_def) { .name = tok.data.ident, .loc.type = STO_UNRESOLVED, - .resolved_type = p_node->type.def_ref, }); if (p_node->def_ref == NULL) PARSER_PANIC("redefinition of '%s'", tok.data.ident); |
