Fix Panic with runtime.type_info_base #532

This commit is contained in:
gingerBill
2020-01-11 20:11:39 +00:00
parent d520b9a1ba
commit 24bd370e1b

View File

@@ -4175,8 +4175,12 @@ bool check_builtin_procedure(CheckerContext *c, Operand *operand, Ast *call, i32
return false;
}
Type *t = o.type;
if (t == nullptr || t == t_invalid || is_type_polymorphic(operand->type)) {
error(ce->args[0], "Invalid argument for 'type_info_of'");
if (t == nullptr || t == t_invalid || is_type_polymorphic(t)) {
if (is_type_polymorphic(t)) {
error(ce->args[0], "Invalid argument for 'type_info_of', unspecialized polymorphic type");
} else {
error(ce->args[0], "Invalid argument for 'type_info_of'");
}
return false;
}
t = default_type(t);