aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp38
1 files changed, 15 insertions, 23 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index c12aad9de..4ad2295f3 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -170,9 +170,6 @@ bool is_operand_value(Operand o) {
bool is_operand_nil(Operand o) {
return o.mode == Addressing_Value && o.type == t_untyped_nil;
}
-bool is_operand_a_type_value(Operand o) {
- return is_operand_value(o) && is_type_type(o.type);
-}
struct BlockLabel {
@@ -1089,9 +1086,6 @@ void add_type_info_type(Checker *c, Type *t) {
add_type_info_type(c, t_type_info_ptr);
add_type_info_type(c, t_rawptr);
break;
- case Basic_Type:
- add_type_info_type(c, t_type_info_type);
- break;
case Basic_complex64:
add_type_info_type(c, t_type_info_float);
@@ -1308,7 +1302,7 @@ void init_preload(Checker *c) {
- if (record->variant_count != 24) {
+ if (record->variant_count != 23) {
compiler_error("Invalid `TypeInfo` layout");
}
t_type_info_named = record->variants[ 1]->type;
@@ -1319,21 +1313,20 @@ void init_preload(Checker *c) {
t_type_info_string = record->variants[ 6]->type;
t_type_info_boolean = record->variants[ 7]->type;
t_type_info_any = record->variants[ 8]->type;
- t_type_info_type = record->variants[ 9]->type;
- t_type_info_pointer = record->variants[10]->type;
- t_type_info_atomic = record->variants[11]->type;
- t_type_info_procedure = record->variants[12]->type;
- t_type_info_array = record->variants[13]->type;
- t_type_info_dynamic_array = record->variants[14]->type;
- t_type_info_slice = record->variants[15]->type;
- t_type_info_vector = record->variants[16]->type;
- t_type_info_tuple = record->variants[17]->type;
- t_type_info_struct = record->variants[18]->type;
- t_type_info_raw_union = record->variants[19]->type;
- t_type_info_union = record->variants[20]->type;
- t_type_info_enum = record->variants[21]->type;
- t_type_info_map = record->variants[22]->type;
- t_type_info_bit_field = record->variants[23]->type;
+ t_type_info_pointer = record->variants[ 9]->type;
+ t_type_info_atomic = record->variants[10]->type;
+ t_type_info_procedure = record->variants[11]->type;
+ t_type_info_array = record->variants[12]->type;
+ t_type_info_dynamic_array = record->variants[13]->type;
+ t_type_info_slice = record->variants[14]->type;
+ t_type_info_vector = record->variants[15]->type;
+ t_type_info_tuple = record->variants[16]->type;
+ t_type_info_struct = record->variants[17]->type;
+ t_type_info_raw_union = record->variants[18]->type;
+ t_type_info_union = record->variants[19]->type;
+ t_type_info_enum = record->variants[20]->type;
+ t_type_info_map = record->variants[21]->type;
+ t_type_info_bit_field = record->variants[22]->type;
t_type_info_named_ptr = make_type_pointer(c->allocator, t_type_info_named);
t_type_info_integer_ptr = make_type_pointer(c->allocator, t_type_info_integer);
@@ -1343,7 +1336,6 @@ void init_preload(Checker *c) {
t_type_info_string_ptr = make_type_pointer(c->allocator, t_type_info_string);
t_type_info_boolean_ptr = make_type_pointer(c->allocator, t_type_info_boolean);
t_type_info_any_ptr = make_type_pointer(c->allocator, t_type_info_any);
- t_type_info_type_ptr = make_type_pointer(c->allocator, t_type_info_type);
t_type_info_pointer_ptr = make_type_pointer(c->allocator, t_type_info_pointer);
t_type_info_atomic_ptr = make_type_pointer(c->allocator, t_type_info_atomic);
t_type_info_procedure_ptr = make_type_pointer(c->allocator, t_type_info_procedure);