Minimize add_type_info_type usage

This commit is contained in:
gingerBill
2023-01-03 17:26:05 +00:00
parent 2720e98127
commit 855ebceadc
3 changed files with 10 additions and 8 deletions

View File

@@ -3573,7 +3573,7 @@ gb_internal bool check_builtin_procedure(CheckerContext *c, Operand *operand, As
Entity *base_type_entity = alloc_entity_type_name(scope, token, elem, EntityState_Resolved);
add_entity(c, scope, nullptr, base_type_entity);
add_type_info_type(c, soa_struct);
// add_type_info_type(c, soa_struct);
operand->type = soa_struct;
break;

View File

@@ -8779,8 +8779,8 @@ gb_internal ExprKind check_type_assertion(CheckerContext *c, Operand *o, Ast *no
return kind;
}
add_type_info_type(c, o->type);
add_type_info_type(c, bsrc->Union.variants[0]);
// add_type_info_type(c, o->type);
// add_type_info_type(c, bsrc->Union.variants[0]);
o->type = bsrc->Union.variants[0];
o->mode = Addressing_OptionalOk;
@@ -8812,8 +8812,8 @@ gb_internal ExprKind check_type_assertion(CheckerContext *c, Operand *o, Ast *no
return kind;
}
add_type_info_type(c, o->type);
add_type_info_type(c, t);
// add_type_info_type(c, o->type);
// add_type_info_type(c, t);
o->type = t;
o->mode = Addressing_OptionalOk;

View File

@@ -1132,7 +1132,7 @@ gb_internal void check_type_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_
check_expr(ctx, &x, rhs);
check_assignment(ctx, &x, nullptr, str_lit("type switch expression"));
add_type_info_type(ctx, x.type);
// add_type_info_type(ctx, x.type);
TypeSwitchKind switch_kind = check_valid_type_switch_type(x.type);
if (switch_kind == TypeSwitch_Invalid) {
@@ -1223,7 +1223,7 @@ gb_internal void check_type_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_
continue;
}
case_type = y.type;
add_type_info_type(ctx, y.type);
// add_type_info_type(ctx, y.type);
} else if (switch_kind == TypeSwitch_Any) {
case_type = y.type;
add_type_info_type(ctx, y.type);
@@ -1259,7 +1259,9 @@ gb_internal void check_type_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_
if (case_type == nullptr) {
case_type = x.type;
}
add_type_info_type(ctx, case_type);
if (switch_kind == TypeSwitch_Any) {
add_type_info_type(ctx, case_type);
}
check_open_scope(ctx, stmt);
{