Add new intrinsics for polymorphic records:

type_is_specialized_polymorphic_record, type_is_unspecialized_polymorphic_record, type_polymorphic_record_parameter_count, type_polymorphic_record_parameter_value
This commit is contained in:
gingerBill
2020-01-18 11:27:41 +00:00
parent 7f89f6b582
commit c3a8e232a5
3 changed files with 123 additions and 13 deletions

View File

@@ -1471,11 +1471,12 @@ Scope *polymorphic_record_parent_scope(Type *t) {
}
bool is_type_polymorphic_record_specialized(Type *t) {
Type *original_type = t;
t = base_type(t);
if (t->kind == Type_Struct) {
return t->Struct.is_polymorphic && t->Struct.is_poly_specialized;
return t->Struct.is_poly_specialized;
} else if (t->kind == Type_Union) {
return t->Union.is_polymorphic && t->Union.is_poly_specialized;
return t->Union.is_poly_specialized;
}
return false;
}