X-Git-Url: http://nitlanguage.org diff --git a/c_src/poset.sep.1.c b/c_src/poset.sep.1.c index 9e04dd7..7e43363 100644 --- a/c_src/poset.sep.1.c +++ b/c_src/poset.sep.1.c @@ -1,40 +1,30 @@ #include "poset.sep.0.h" /* method poset#POSet#iterator for (self: POSet[nullable Object]): Iterator[nullable Object] */ -val* poset___poset__POSet___standard__abstract_collection__Collection__iterator(val* self) { +val* poset___poset__POSet___core__abstract_collection__Collection__iterator(val* self) { val* var /* : Iterator[nullable Object] */; val* var1 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var3 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var4 /* : RemovableCollection[nullable Object] */; -val* var6 /* : RemovableCollection[nullable Object] */; -val* var7 /* : Iterator[nullable Object] */; +val* var5 /* : Iterator[nullable Object] */; { { /* Inline poset#POSet#elements (self) on */ var3 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -{ /* Inline hash_collection#HashMap#keys (var1) on */ -var6 = var1->attrs[COLOR_standard__hash_collection__HashMap___keys].val; /* _keys on */ -if (unlikely(var6 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection, 275); -show_backtrace(1); -} -var4 = var6; -RET_LABEL5:(void)0; -} +var4 = core___core__HashMap___core__abstract_collection__MapRead__keys(var1); } { -var7 = ((val* (*)(val* self))(var4->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var4) /* iterator on */; +var5 = ((val*(*)(val* self))((((long)var4&3)?class_info[((long)var4&3)]:var4->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var4); /* iterator on */ } -var = var7; +var = var5; goto RET_LABEL; RET_LABEL:; return var; @@ -47,77 +37,40 @@ var1 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on isa E */ -/* isa E */ -type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; -cltype = type_struct->color; -idtype = type_struct->id; -is_nullable = type_struct->is_nullable; -if(p0 == NULL) { -var1 = is_nullable; -} else { -if(cltype >= p0->type->table_size) { -var1 = 0; -} else { -var1 = p0->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 85); -show_backtrace(1); -} +val* var1 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var3 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var4 /* : RemovableCollection[nullable Object] */; +short int var5 /* : Bool */; var_e = p0; { { /* Inline poset#POSet#elements (self) on */ -var4 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var4 == NULL)) { +var3 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var2 = var4; -RET_LABEL3:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } { -{ /* Inline hash_collection#HashMap#keys (var2) on */ -var7 = var2->attrs[COLOR_standard__hash_collection__HashMap___keys].val; /* _keys on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection, 275); -show_backtrace(1); -} -var5 = var7; -RET_LABEL6:(void)0; -} +var4 = core___core__HashMap___core__abstract_collection__MapRead__keys(var1); } { -var8 = ((short int (*)(val* self, val* p0))(var5->class->vft[COLOR_standard__abstract_collection__Collection__has]))(var5, var_e) /* has on */; +var5 = ((short int(*)(val* self, val* p0))((((long)var4&3)?class_info[((long)var4&3)]:var4->class)->vft[COLOR_core__abstract_collection__Collection__has]))(var4, var_e); /* has on */ } -var = var8; +var = var5; goto RET_LABEL; RET_LABEL:; return var; @@ -135,22 +88,21 @@ val* var_e /* var e: nullable Object */; val* var2 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var4 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var5 /* : RemovableCollection[nullable Object] */; -val* var7 /* : RemovableCollection[nullable Object] */; -short int var8 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var9 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var11 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var12 /* : nullable Object */; -val* var13 /* : POSetElement[nullable Object] */; +val* var10 /* : nullable Object */; +val* var11 /* : POSetElement[nullable Object] */; +val* var12 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var14 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var16 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -long var17 /* : Int */; +long var15 /* : Int */; val* var_poe /* var poe: POSetElement[nullable Object] */; +val* var16 /* : HashSet[nullable Object] */; val* var18 /* : HashSet[nullable Object] */; -val* var20 /* : HashSet[nullable Object] */; +val* var19 /* : HashSet[nullable Object] */; val* var21 /* : HashSet[nullable Object] */; -val* var23 /* : HashSet[nullable Object] */; +val* var22 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var24 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var26 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; /* Covariant cast for argument 0 (e) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; @@ -160,17 +112,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var1 = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 87); -show_backtrace(1); +fatal_exit(1); } var_e = p0; { @@ -179,120 +131,111 @@ var4 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -var7 = var2->attrs[COLOR_standard__hash_collection__HashMap___keys].val; /* _keys on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection, 275); -show_backtrace(1); -} -var5 = var7; -RET_LABEL6:(void)0; -} +var5 = core___core__HashMap___core__abstract_collection__MapRead__keys(var2); } { -var8 = ((short int (*)(val* self, val* p0))(var5->class->vft[COLOR_standard__abstract_collection__Collection__has]))(var5, var_e) /* has on */; +var6 = ((short int(*)(val* self, val* p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_core__abstract_collection__Collection__has]))(var5, var_e); /* has on */ } -if (var8){ +if (var6){ { { /* Inline poset#POSet#elements (self) on */ -var11 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var11 == NULL)) { +var9 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } { -var12 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var9, var_e); +var10 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7, var_e); } -var = var12; +var = var10; goto RET_LABEL; } else { } -var13 = NEW_poset__POSetElement(self->type->resolution_table->types[COLOR_poset__POSetElement__poset__POSet___35dE]); +var11 = NEW_poset__POSetElement(self->type->resolution_table->types[COLOR_poset__POSetElement__poset__POSet___35dE]); { { /* Inline poset#POSet#elements (self) on */ -var16 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var16 == NULL)) { +var14 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var14 = var16; -RET_LABEL15:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -var17 = standard___standard__HashMap___standard__abstract_collection__MapRead__length(var14); +var15 = core___core__HashMap___core__abstract_collection__MapRead__length(var12); } { -((void (*)(val* self, val* p0))(var13->class->vft[COLOR_poset__POSetElement__poset_61d]))(var13, self) /* poset= on */; +((void(*)(val* self, val* p0))(var11->class->vft[COLOR_poset__POSetElement__poset_61d]))(var11, self); /* poset= on */ } { -((void (*)(val* self, val* p0))(var13->class->vft[COLOR_poset__POSetElement__element_61d]))(var13, var_e) /* element= on */; +((void(*)(val* self, val* p0))(var11->class->vft[COLOR_poset__POSetElement__element_61d]))(var11, var_e); /* element= on */ } { -((void (*)(val* self, long p0))(var13->class->vft[COLOR_poset__POSetElement__count_61d]))(var13, var17) /* count= on */; +((void(*)(val* self, long p0))(var11->class->vft[COLOR_poset__POSetElement__count_61d]))(var11, var15); /* count= on */ } { -((void (*)(val* self))(var13->class->vft[COLOR_standard__kernel__Object__init]))(var13) /* init on */; +((void(*)(val* self))(var11->class->vft[COLOR_core__kernel__Object__init]))(var11); /* init on */ } -var_poe = var13; +var_poe = var11; { { /* Inline poset#POSetElement#tos (var_poe) on */ -var20 = var_poe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ -if (unlikely(var20 == NULL)) { +var18 = var_poe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var18, var_e); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var16, var_e); /* Direct call hash_collection#HashSet#add on */ } { { /* Inline poset#POSetElement#froms (var_poe) on */ -var23 = var_poe->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ -if (unlikely(var23 == NULL)) { +var21 = var_poe->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var19 = var21; +RET_LABEL20:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var21, var_e); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var19, var_e); /* Direct call hash_collection#HashSet#add on */ } { { /* Inline poset#POSet#elements (self) on */ -var26 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var26 == NULL)) { +var24 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var24, var_e, var_poe); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var22, var_e, var_poe); /* Direct call hash_collection#HashMap#[]= on */ } var = var_poe; goto RET_LABEL; @@ -312,11 +255,10 @@ val* var_e /* var e: nullable Object */; val* var2 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var4 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var5 /* : RemovableCollection[nullable Object] */; -val* var7 /* : RemovableCollection[nullable Object] */; -short int var8 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var9 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var11 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var12 /* : nullable Object */; +val* var10 /* : nullable Object */; /* Covariant cast for argument 0 (e) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; @@ -326,17 +268,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var1 = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 101); -show_backtrace(1); +fatal_exit(1); } var_e = p0; { @@ -345,48 +287,39 @@ var4 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -var7 = var2->attrs[COLOR_standard__hash_collection__HashMap___keys].val; /* _keys on */ -if (unlikely(var7 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection, 275); -show_backtrace(1); -} -var5 = var7; -RET_LABEL6:(void)0; -} +var5 = core___core__HashMap___core__abstract_collection__MapRead__keys(var2); } { -var8 = ((short int (*)(val* self, val* p0))(var5->class->vft[COLOR_standard__abstract_collection__Collection__has]))(var5, var_e) /* has on */; +var6 = ((short int(*)(val* self, val* p0))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_core__abstract_collection__Collection__has]))(var5, var_e); /* has on */ } -if (unlikely(!var8)) { +if (unlikely(!var6)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 115); -show_backtrace(1); +fatal_exit(1); } { { /* Inline poset#POSet#elements (self) on */ -var11 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var11 == NULL)) { +var9 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } { -var12 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var9, var_e); +var10 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7, var_e); } -var = var12; +var = var10; goto RET_LABEL; RET_LABEL:; return var; @@ -432,63 +365,89 @@ val* var_27 /* var : HashSet[nullable Object] */; val* var28 /* : Iterator[nullable Object] */; val* var_29 /* var : Iterator[nullable Object] */; short int var30 /* : Bool */; -val* var31 /* : nullable Object */; +val* var32 /* : nullable Object */; val* var_tt /* var tt: nullable Object */; -val* var32 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var34 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var35 /* : nullable Object */; +val* var33 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var35 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var36 /* : nullable Object */; val* var_tte /* var tte: POSetElement[nullable Object] */; -val* var36 /* : HashSet[nullable Object] */; -val* var38 /* : HashSet[nullable Object] */; +val* var37 /* : HashSet[nullable Object] */; val* var39 /* : HashSet[nullable Object] */; -val* var41 /* : HashSet[nullable Object] */; +val* var40 /* : HashSet[nullable Object] */; +val* var42 /* : HashSet[nullable Object] */; +val* var43 /* : HashSet[nullable Object] */; val* var45 /* : HashSet[nullable Object] */; +short int var46 /* : Bool */; +val* var_to_remove /* var to_remove: nullable Array[nullable Object] */; val* var47 /* : HashSet[nullable Object] */; -short int var48 /* : Bool */; val* var49 /* : HashSet[nullable Object] */; -val* var51 /* : HashSet[nullable Object] */; -val* var52 /* : Array[nullable Object] */; -val* var_53 /* var : Array[nullable Object] */; -val* var54 /* : ArrayIterator[nullable Object] */; -val* var_55 /* var : ArrayIterator[nullable Object] */; -short int var56 /* : Bool */; -val* var57 /* : nullable Object */; +val* var_50 /* var : HashSet[nullable Object] */; +val* var51 /* : Iterator[nullable Object] */; +val* var_52 /* var : Iterator[nullable Object] */; +short int var53 /* : Bool */; +val* var55 /* : nullable Object */; val* var_x /* var x: nullable Object */; +val* var56 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; val* var58 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var60 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var61 /* : nullable Object */; +val* var59 /* : nullable Object */; val* var_xe /* var xe: POSetElement[nullable Object] */; +val* var60 /* : HashSet[nullable Object] */; val* var62 /* : HashSet[nullable Object] */; -val* var64 /* : HashSet[nullable Object] */; +short int var63 /* : Bool */; +short int var64 /* : Bool */; short int var65 /* : Bool */; -val* var66 /* : HashSet[nullable Object] */; -val* var68 /* : HashSet[nullable Object] */; +val* var66 /* : Array[nullable Object] */; +val* var67 /* : HashSet[nullable Object] */; val* var69 /* : HashSet[nullable Object] */; -val* var71 /* : HashSet[nullable Object] */; -val* var74 /* : HashSet[nullable Object] */; -val* var76 /* : HashSet[nullable Object] */; -val* var77 /* : Array[nullable Object] */; -val* var_78 /* var : Array[nullable Object] */; -val* var79 /* : ArrayIterator[nullable Object] */; -val* var_80 /* var : ArrayIterator[nullable Object] */; -short int var81 /* : Bool */; -val* var82 /* : nullable Object */; -val* var_x83 /* var x: nullable Object */; -val* var84 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var86 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var87 /* : nullable Object */; -val* var_xe88 /* var xe: POSetElement[nullable Object] */; -val* var89 /* : HashSet[nullable Object] */; -val* var91 /* : HashSet[nullable Object] */; -short int var92 /* : Bool */; -val* var93 /* : HashSet[nullable Object] */; -val* var95 /* : HashSet[nullable Object] */; -val* var96 /* : HashSet[nullable Object] */; -val* var98 /* : HashSet[nullable Object] */; -val* var101 /* : HashSet[nullable Object] */; -val* var103 /* : HashSet[nullable Object] */; +short int var70 /* : Bool */; +short int var71 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var73 /* : Bool */; +short int var74 /* : Bool */; +val* var_75 /* var : Array[nullable Object] */; +val* var76 /* : IndexedIterator[nullable Object] */; +val* var_77 /* var : IndexedIterator[nullable Object] */; +short int var78 /* : Bool */; +val* var80 /* : nullable Object */; +val* var_x81 /* var x: nullable Object */; +val* var82 /* : HashSet[nullable Object] */; +val* var84 /* : HashSet[nullable Object] */; +val* var85 /* : HashSet[nullable Object] */; +val* var87 /* : HashSet[nullable Object] */; +val* var_88 /* var : HashSet[nullable Object] */; +val* var89 /* : Iterator[nullable Object] */; +val* var_90 /* var : Iterator[nullable Object] */; +short int var91 /* : Bool */; +val* var93 /* : nullable Object */; +val* var_x94 /* var x: nullable Object */; +val* var95 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var97 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var98 /* : nullable Object */; +val* var_xe99 /* var xe: POSetElement[nullable Object] */; +val* var100 /* : HashSet[nullable Object] */; +val* var102 /* : HashSet[nullable Object] */; +short int var103 /* : Bool */; val* var104 /* : HashSet[nullable Object] */; val* var106 /* : HashSet[nullable Object] */; +short int var107 /* : Bool */; +short int var108 /* : Bool */; +val* var109 /* : Array[nullable Object] */; +short int var110 /* : Bool */; +short int var111 /* : Bool */; +short int var113 /* : Bool */; +short int var114 /* : Bool */; +val* var_115 /* var : Array[nullable Object] */; +val* var116 /* : IndexedIterator[nullable Object] */; +val* var_117 /* var : IndexedIterator[nullable Object] */; +short int var118 /* : Bool */; +val* var120 /* : nullable Object */; +val* var_x121 /* var x: nullable Object */; +val* var122 /* : HashSet[nullable Object] */; +val* var124 /* : HashSet[nullable Object] */; +val* var125 /* : HashSet[nullable Object] */; +val* var127 /* : HashSet[nullable Object] */; +val* var128 /* : HashSet[nullable Object] */; +val* var130 /* : HashSet[nullable Object] */; /* Covariant cast for argument 0 (f) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; @@ -498,17 +457,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var = 0; } else { -var = p0->type->type_table[cltype] == idtype; +var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 119); -show_backtrace(1); +fatal_exit(1); } /* Covariant cast for argument 1 (t) isa E */ /* isa E */ @@ -519,17 +478,17 @@ is_nullable5 = type_struct4->is_nullable; if(p1 == NULL) { var1 = is_nullable5; } else { -if(cltype2 >= p1->type->table_size) { +if(cltype2 >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { var1 = 0; } else { -var1 = p1->type->type_table[cltype2] == idtype3; +var1 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype2] == idtype3; } } if (unlikely(!var1)) { -var_class_name6 = p1 == NULL ? "null" : p1->type->name; +var_class_name6 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name6); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 119); -show_backtrace(1); +fatal_exit(1); } var_f = p0; var_t = p1; @@ -546,15 +505,15 @@ var_te = var8; var11 = var_fe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; } } { -var12 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var9, var_t); +var12 = core___core__HashSet___core__abstract_collection__Collection__has(var9, var_t); } if (var12){ goto RET_LABEL; @@ -565,8 +524,8 @@ goto RET_LABEL; var15 = var_fe->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } var13 = var15; RET_LABEL14:(void)0; @@ -574,16 +533,19 @@ RET_LABEL14:(void)0; } var_ = var13; { -var16 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_); +var16 = core___core__HashSet___core__abstract_collection__Collection__iterator(var_); } var_17 = var16; for(;;) { { -var18 = ((short int (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_17) /* is_ok on */; +var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ } if (var18){ +} else { +goto BREAK_label; +} { -var19 = ((val* (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_17) /* item on */; +var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on */ } var_ff = var19; { @@ -592,14 +554,14 @@ var22 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var24 = var26; RET_LABEL25:(void)0; @@ -616,355 +578,607 @@ RET_LABEL25:(void)0; } var_27 = var24; { -var28 = standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_27); +var28 = core___core__HashSet___core__abstract_collection__Collection__iterator(var_27); } var_29 = var28; for(;;) { { -var30 = ((short int (*)(val* self))(var_29->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_29) /* is_ok on */; +var30 = ((short int(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_29); /* is_ok on */ } if (var30){ +} else { +goto BREAK_label31; +} { -var31 = ((val* (*)(val* self))(var_29->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_29) /* item on */; +var32 = ((val*(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_29); /* item on */ } -var_tt = var31; +var_tt = var32; { { /* Inline poset#POSet#elements (self) on */ -var34 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var34 == NULL)) { +var35 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var35 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var32 = var34; -RET_LABEL33:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } { -var35 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var32, var_tt); +var36 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var33, var_tt); } -var_tte = var35; +var_tte = var36; { { /* Inline poset#POSetElement#froms (var_tte) on */ -var38 = var_tte->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ -if (unlikely(var38 == NULL)) { +var39 = var_tte->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var37 = var39; +RET_LABEL38:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var36, var_ff); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var37, var_ff); /* Direct call hash_collection#HashSet#add on */ } { { /* Inline poset#POSetElement#tos (var_ffe) on */ -var41 = var_ffe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ -if (unlikely(var41 == NULL)) { +var42 = var_ffe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } -var39 = var41; -RET_LABEL40:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var39, var_tt); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var40, var_tt); /* Direct call hash_collection#HashSet#add on */ } { -((void (*)(val* self))(var_29->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_29) /* next on */; -} -} else { -goto BREAK_label; +((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_29); /* next on */ } } -BREAK_label: (void)0; +BREAK_label31: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_29) on */ -RET_LABEL42:(void)0; -} +((void(*)(val* self))((((long)var_29&3)?class_info[((long)var_29&3)]:var_29->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_29); /* finish on */ } { -((void (*)(val* self))(var_17->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_17) /* next on */; -} -} else { -goto BREAK_label43; +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ } } -BREAK_label43: (void)0; +BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_17) on */ -RET_LABEL44:(void)0; -} +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on */ } { { /* Inline poset#POSetElement#tos (var_te) on */ -var47 = var_te->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ -if (unlikely(var47 == NULL)) { +var45 = var_te->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { -var48 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var45, var_f); +var46 = core___core__HashSet___core__abstract_collection__Collection__has(var43, var_f); } -if (var48){ +if (var46){ goto RET_LABEL; } else { } +var_to_remove = ((val*)NULL); { { /* Inline poset#POSetElement#dfroms (var_te) on */ -var51 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ -if (unlikely(var51 == NULL)) { +var49 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); -} -var49 = var51; -RET_LABEL50:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); } +var47 = var49; +RET_LABEL48:(void)0; } -{ -var52 = standard__array___Collection___to_a(var49); } -var_53 = var52; +var_50 = var47; { -var54 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_53); +var51 = core___core__HashSet___core__abstract_collection__Collection__iterator(var_50); } -var_55 = var54; +var_52 = var51; for(;;) { { -var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_55); +var53 = ((short int(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_52); /* is_ok on */ +} +if (var53){ +} else { +goto BREAK_label54; } -if (var56){ { -var57 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_55); +var55 = ((val*(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_52); /* item on */ } -var_x = var57; +var_x = var55; { { /* Inline poset#POSet#elements (self) on */ -var60 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var60 == NULL)) { +var58 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var58 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var58 = var60; -RET_LABEL59:(void)0; +var56 = var58; +RET_LABEL57:(void)0; } } { -var61 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var58, var_x); +var59 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var56, var_x); } -var_xe = var61; +var_xe = var59; { { /* Inline poset#POSetElement#tos (var_xe) on */ -var64 = var_xe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ -if (unlikely(var64 == NULL)) { +var62 = var_xe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ +if (unlikely(var62 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } -var62 = var64; -RET_LABEL63:(void)0; +var60 = var62; +RET_LABEL61:(void)0; } } { -var65 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var62, var_f); +var63 = core___core__HashSet___core__abstract_collection__Collection__has(var60, var_f); } -if (var65){ -{ -{ /* Inline poset#POSetElement#dfroms (var_te) on */ -var68 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ -if (unlikely(var68 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); +if (var63){ +if (var_to_remove == NULL) { +var64 = 1; /* is null */ +} else { +var64 = 0; /* arg is null but recv is not */ } -var66 = var68; -RET_LABEL67:(void)0; +if (0) { +var65 = core___core__Array___core__kernel__Object___61d_61d(var_to_remove, ((val*)NULL)); +var64 = var65; } +if (var64){ +var66 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__poset__POSet___35dE]); +{ +core___core__Array___core__kernel__Object__init(var66); /* Direct call array#Array#init on */ +} +var_to_remove = var66; +} else { } { -standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var66, var_x); /* Direct call hash_collection#HashSet#remove on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_to_remove, var_x); /* Direct call array#Array#add on */ } { { /* Inline poset#POSetElement#dtos (var_xe) on */ -var71 = var_xe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ -if (unlikely(var71 == NULL)) { +var69 = var_xe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); } -var69 = var71; -RET_LABEL70:(void)0; +var67 = var69; +RET_LABEL68:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var69, var_t); /* Direct call hash_collection#HashSet#remove on */ +core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var67, var_t); /* Direct call hash_collection#HashSet#remove on */ } } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_55); /* Direct call array#ArrayIterator#next on */ +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_52); /* next on */ +} +} +BREAK_label54: (void)0; +{ +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_52); /* finish on */ } +if (var_to_remove == NULL) { +var70 = 0; /* is null */ } else { -goto BREAK_label72; +var70 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_to_remove,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var73 = ((short int(*)(val* self, val* p0))(var_to_remove->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_to_remove, var_other); /* == on */ +} +var74 = !var73; +var71 = var74; +goto RET_LABEL72; +RET_LABEL72:(void)0; +} +var70 = var71; } +if (var70){ +var_75 = var_to_remove; +{ +var76 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_75); } -BREAK_label72: (void)0; +var_77 = var76; +for(;;) { { -{ /* Inline abstract_collection#Iterator#finish (var_55) on */ -RET_LABEL73:(void)0; +var78 = ((short int(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_77); /* is_ok on */ } +if (var78){ +} else { +goto BREAK_label79; } { -{ /* Inline poset#POSetElement#dtos (var_fe) on */ -var76 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ -if (unlikely(var76 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +var80 = ((val*(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_77); /* item on */ } -var74 = var76; -RET_LABEL75:(void)0; +var_x81 = var80; +{ +{ /* Inline poset#POSetElement#dfroms (var_te) on */ +var84 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ +if (unlikely(var84 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); +} +var82 = var84; +RET_LABEL83:(void)0; } } { -var77 = standard__array___Collection___to_a(var74); +core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var82, var_x81); /* Direct call hash_collection#HashSet#remove on */ } -var_78 = var77; { -var79 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_78); +((void(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_77); /* next on */ +} } -var_80 = var79; +BREAK_label79: (void)0; +{ +((void(*)(val* self))((((long)var_77&3)?class_info[((long)var_77&3)]:var_77->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_77); /* finish on */ +} +{ +core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var_to_remove); /* Direct call array#AbstractArray#clear on */ +} +} else { +} +{ +{ /* Inline poset#POSetElement#dtos (var_fe) on */ +var87 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ +if (unlikely(var87 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); +} +var85 = var87; +RET_LABEL86:(void)0; +} +} +var_88 = var85; +{ +var89 = core___core__HashSet___core__abstract_collection__Collection__iterator(var_88); +} +var_90 = var89; for(;;) { { -var81 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_80); +var91 = ((short int(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_90); /* is_ok on */ +} +if (var91){ +} else { +goto BREAK_label92; } -if (var81){ { -var82 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_80); +var93 = ((val*(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_90); /* item on */ } -var_x83 = var82; +var_x94 = var93; { { /* Inline poset#POSet#elements (self) on */ -var86 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var86 == NULL)) { +var97 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var97 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var84 = var86; -RET_LABEL85:(void)0; +var95 = var97; +RET_LABEL96:(void)0; } } { -var87 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var84, var_x83); +var98 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var95, var_x94); } -var_xe88 = var87; +var_xe99 = var98; { -{ /* Inline poset#POSetElement#froms (var_xe88) on */ -var91 = var_xe88->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ -if (unlikely(var91 == NULL)) { +{ /* Inline poset#POSetElement#froms (var_xe99) on */ +var102 = var_xe99->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ +if (unlikely(var102 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } -var89 = var91; -RET_LABEL90:(void)0; +var100 = var102; +RET_LABEL101:(void)0; } } { -var92 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var89, var_t); +var103 = core___core__HashSet___core__abstract_collection__Collection__has(var100, var_t); } -if (var92){ +if (var103){ { -{ /* Inline poset#POSetElement#dfroms (var_xe88) on */ -var95 = var_xe88->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ -if (unlikely(var95 == NULL)) { +{ /* Inline poset#POSetElement#dfroms (var_xe99) on */ +var106 = var_xe99->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ +if (unlikely(var106 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); +} +var104 = var106; +RET_LABEL105:(void)0; +} } -var93 = var95; -RET_LABEL94:(void)0; +{ +core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var104, var_f); /* Direct call hash_collection#HashSet#remove on */ +} +if (var_to_remove == NULL) { +var107 = 1; /* is null */ +} else { +var107 = 0; /* arg is null but recv is not */ } +if (0) { +var108 = core___core__Array___core__kernel__Object___61d_61d(var_to_remove, ((val*)NULL)); +var107 = var108; } +if (var107){ +var109 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__poset__POSet___35dE]); { -standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var93, var_f); /* Direct call hash_collection#HashSet#remove on */ +core___core__Array___core__kernel__Object__init(var109); /* Direct call array#Array#init on */ +} +var_to_remove = var109; +} else { } { -{ /* Inline poset#POSetElement#dtos (var_fe) on */ -var98 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ -if (unlikely(var98 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +core___core__Array___core__abstract_collection__SimpleCollection__add(var_to_remove, var_x94); /* Direct call array#Array#add on */ +} +} else { } -var96 = var98; -RET_LABEL97:(void)0; +{ +((void(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_90); /* next on */ } } +BREAK_label92: (void)0; { -standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var96, var_x83); /* Direct call hash_collection#HashSet#remove on */ +((void(*)(val* self))((((long)var_90&3)?class_info[((long)var_90&3)]:var_90->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_90); /* finish on */ } +if (var_to_remove == NULL) { +var110 = 0; /* is null */ } else { +var110 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_to_remove,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var113 = ((short int(*)(val* self, val* p0))(var_to_remove->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_to_remove, var_other); /* == on */ +} +var114 = !var113; +var111 = var114; +goto RET_LABEL112; +RET_LABEL112:(void)0; } +var110 = var111; +} +if (var110){ +var_115 = var_to_remove; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_80); /* Direct call array#ArrayIterator#next on */ +var116 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_115); } +var_117 = var116; +for(;;) { +{ +var118 = ((short int(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_117); /* is_ok on */ +} +if (var118){ } else { -goto BREAK_label99; +goto BREAK_label119; } +{ +var120 = ((val*(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_117); /* item on */ } -BREAK_label99: (void)0; +var_x121 = var120; { -{ /* Inline abstract_collection#Iterator#finish (var_80) on */ -RET_LABEL100:(void)0; +{ /* Inline poset#POSetElement#dtos (var_fe) on */ +var124 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ +if (unlikely(var124 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); +} +var122 = var124; +RET_LABEL123:(void)0; +} +} +{ +core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var122, var_x121); /* Direct call hash_collection#HashSet#remove on */ +} +{ +((void(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_117); /* next on */ } } +BREAK_label119: (void)0; +{ +((void(*)(val* self))((((long)var_117&3)?class_info[((long)var_117&3)]:var_117->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_117); /* finish on */ +} +} else { +} { { /* Inline poset#POSetElement#dtos (var_fe) on */ -var103 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ -if (unlikely(var103 == NULL)) { +var127 = var_fe->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ +if (unlikely(var127 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); } -var101 = var103; -RET_LABEL102:(void)0; +var125 = var127; +RET_LABEL126:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var101, var_t); /* Direct call hash_collection#HashSet#add on */ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var125, var_t); /* Direct call hash_collection#HashSet#add on */ } { { /* Inline poset#POSetElement#dfroms (var_te) on */ -var106 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ -if (unlikely(var106 == NULL)) { +var130 = var_te->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ +if (unlikely(var130 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); } -var104 = var106; -RET_LABEL105:(void)0; +var128 = var130; +RET_LABEL129:(void)0; +} +} +{ +core___core__HashSet___core__abstract_collection__SimpleCollection__add(var128, var_f); /* Direct call hash_collection#HashSet#add on */ +} +RET_LABEL:; +} +/* method poset#POSet#has_edge for (self: POSet[nullable Object], nullable Object, nullable Object): Bool */ +short int poset___poset__POSet___has_edge(val* self, val* p0, val* p1) { +short int var /* : Bool */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +short int is_nullable; +const char* var_class_name; +short int var2 /* : Bool */; +int cltype3; +int idtype4; +const struct type* type_struct5; +short int is_nullable6; +const char* var_class_name7; +val* var_f /* var f: nullable Object */; +val* var_t /* var t: nullable Object */; +val* var8 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var10 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var11 /* : RemovableCollection[nullable Object] */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var16 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var17 /* : nullable Object */; +val* var_fe /* var fe: POSetElement[nullable Object] */; +val* var18 /* : HashSet[nullable Object] */; +val* var20 /* : HashSet[nullable Object] */; +short int var21 /* : Bool */; +/* Covariant cast for argument 0 (f) isa E */ +/* isa E */ +type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; +cltype = type_struct->color; +idtype = type_struct->id; +is_nullable = type_struct->is_nullable; +if(p0 == NULL) { +var1 = is_nullable; +} else { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +} +if (unlikely(!var1)) { +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 208); +fatal_exit(1); +} +/* Covariant cast for argument 1 (t) isa E */ +/* isa E */ +type_struct5 = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; +cltype3 = type_struct5->color; +idtype4 = type_struct5->id; +is_nullable6 = type_struct5->is_nullable; +if(p1 == NULL) { +var2 = is_nullable6; +} else { +if(cltype3 >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { +var2 = 0; +} else { +var2 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype3] == idtype4; +} +} +if (unlikely(!var2)) { +var_class_name7 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name7); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 208); +fatal_exit(1); +} +var_f = p0; +var_t = p1; +{ +{ /* Inline poset#POSet#elements (self) on */ +var10 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); +fatal_exit(1); +} +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +var11 = core___core__HashMap___core__abstract_collection__MapRead__keys(var8); +} +{ +var12 = ((short int(*)(val* self, val* p0))((((long)var11&3)?class_info[((long)var11&3)]:var11->class)->vft[COLOR_core__abstract_collection__Collection__has]))(var11, var_f); /* has on */ +} +var13 = !var12; +if (var13){ +var = 0; +goto RET_LABEL; +} else { +} +{ +{ /* Inline poset#POSet#elements (self) on */ +var16 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); +fatal_exit(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +var17 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var14, var_f); +} +var_fe = var17; +{ +{ /* Inline poset#POSetElement#tos (var_fe) on */ +var20 = var_fe->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ +if (unlikely(var20 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); +} +var18 = var20; +RET_LABEL19:(void)0; } } { -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var104, var_f); /* Direct call hash_collection#HashSet#add on */ +var21 = core___core__HashSet___core__abstract_collection__Collection__has(var18, var_t); } +var = var21; +goto RET_LABEL; RET_LABEL:; +return var; } /* method poset#POSet#compare for (self: POSet[nullable Object], nullable Object, nullable Object): Int */ -long poset___poset__POSet___standard__sorter__Comparator__compare(val* self, val* p0, val* p1) { +long poset___poset__POSet___core__sorter__Comparator__compare(val* self, val* p0, val* p1) { long var /* : Int */; short int var1 /* : Bool */; int cltype; @@ -996,21 +1210,20 @@ val* var22 /* : HashSet[nullable Object] */; long var23 /* : Int */; long var24 /* : Int */; long var_res /* var res: Int */; -long var25 /* : Int */; -short int var26 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; short int var28 /* : Bool */; -short int var29 /* : Bool */; -val* var30 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var32 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var33 /* : nullable Object */; -long var34 /* : Int */; -long var36 /* : Int */; -val* var37 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var39 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; -val* var40 /* : nullable Object */; -long var41 /* : Int */; +val* var29 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var31 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var32 /* : nullable Object */; +long var33 /* : Int */; +long var35 /* : Int */; +val* var36 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var38 /* : HashMap[nullable Object, POSetElement[nullable Object]] */; +val* var39 /* : nullable Object */; +long var40 /* : Int */; +long var42 /* : Int */; long var43 /* : Int */; -long var44 /* : Int */; /* Covariant cast for argument 0 (a) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_poset__POSet___35dE]; @@ -1020,17 +1233,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var1 = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 267); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 284); +fatal_exit(1); } /* Covariant cast for argument 1 (b) isa E */ /* isa E */ @@ -1041,17 +1254,17 @@ is_nullable6 = type_struct5->is_nullable; if(p1 == NULL) { var2 = is_nullable6; } else { -if(cltype3 >= p1->type->table_size) { +if(cltype3 >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { var2 = 0; } else { -var2 = p1->type->type_table[cltype3] == idtype4; +var2 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype3] == idtype4; } } if (unlikely(!var2)) { -var_class_name7 = p1 == NULL ? "null" : p1->type->name; +var_class_name7 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 267); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 284); +fatal_exit(1); } var_a = p0; var_b = p1; @@ -1061,14 +1274,14 @@ var10 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on attrs[COLOR_poset__POSet___elements].val; /* _elements on attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var16 = var18; RET_LABEL17:(void)0; } } { -var19 = standard___standard__HashSet___standard__abstract_collection__Collection__length(var16); +var19 = core___core__HashSet___core__abstract_collection__Collection__length(var16); } { { /* Inline poset#POSetElement#tos (var_be) on */ var22 = var_be->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var20 = var22; RET_LABEL21:(void)0; } } { -var23 = standard___standard__HashSet___standard__abstract_collection__Collection__length(var20); +var23 = core___core__HashSet___core__abstract_collection__Collection__length(var20); } { -var24 = standard___standard__Int___Comparable___60d_61d_62d(var19, var23); +var24 = core___core__Int___Comparable___60d_61d_62d(var19, var23); } var_res = var24; -var25 = 0; { -{ /* Inline kernel#Int#!= (var_res,var25) on */ -var28 = var_res == var25; -var29 = !var28; -var26 = var29; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel#Int#!= (var_res,0l) on */ +var27 = var_res == 0l; +var28 = !var27; +var25 = var28; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -if (var26){ +if (var25){ var = var_res; goto RET_LABEL; } else { } { { /* Inline poset#POSet#elements (self) on */ -var32 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var32 == NULL)) { +var31 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var30 = var32; -RET_LABEL31:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } { -var33 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var30, var_a); +var32 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var29, var_a); } { -{ /* Inline poset#POSetElement#count (var33) on */ -var36 = var33->attrs[COLOR_poset__POSetElement___count].l; /* _count on */ -var34 = var36; -RET_LABEL35:(void)0; +{ /* Inline poset#POSetElement#count (var32) on */ +var35 = var32->attrs[COLOR_poset__POSetElement___count].l; /* _count on */ +var33 = var35; +RET_LABEL34:(void)0; } } { { /* Inline poset#POSet#elements (self) on */ -var39 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ -if (unlikely(var39 == NULL)) { +var38 = self->attrs[COLOR_poset__POSet___elements].val; /* _elements on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements"); PRINT_ERROR(" (%s:%d)\n", FILE_poset, 82); -show_backtrace(1); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } { -var40 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var37, var_b); +var39 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var36, var_b); } { -{ /* Inline poset#POSetElement#count (var40) on */ -var43 = var40->attrs[COLOR_poset__POSetElement___count].l; /* _count on */ -var41 = var43; -RET_LABEL42:(void)0; +{ /* Inline poset#POSetElement#count (var39) on */ +var42 = var39->attrs[COLOR_poset__POSetElement___count].l; /* _count on */ +var40 = var42; +RET_LABEL41:(void)0; } } { -var44 = standard___standard__Int___Comparable___60d_61d_62d(var34, var41); +var43 = core___core__Int___Comparable___60d_61d_62d(var33, var40); } -var = var44; +var = var43; goto RET_LABEL; RET_LABEL:; return var; @@ -1201,27 +1413,27 @@ val* var2 /* : Array[nullable Object] */; val* var_lin /* var lin: Array[nullable Object] */; /* Covariant cast for argument 0 (elements) isa Collection[E] */ /* isa Collection[E] */ -type_struct = self->type->resolution_table->types[COLOR_standard__Collection__poset__POSet___35dE]; +type_struct = self->type->resolution_table->types[COLOR_core__Collection__poset__POSet___35dE]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 353); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 370); +fatal_exit(1); } var_elements = p0; { -var2 = standard__array___Collection___to_a(var_elements); +var2 = ((val*(*)(val* self))((((long)var_elements&3)?class_info[((long)var_elements&3)]:var_elements->class)->vft[COLOR_core__array__Collection__to_a]))(var_elements); /* to_a on */ } var_lin = var2; { -standard___standard__Comparator___sort(self, var_lin); /* Direct call sorter#Comparator#sort on */ +core___core__Comparator___sort(self, var_lin); /* Direct call sorter#Comparator#sort on */ } var = var_lin; goto RET_LABEL; @@ -1235,8 +1447,8 @@ val* var1 /* : POSet[nullable Object] */; var1 = self->attrs[COLOR_poset__POSetElement___poset].val; /* _poset on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 383); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 400); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1262,8 +1474,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 383); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 400); +fatal_exit(1); } self->attrs[COLOR_poset__POSetElement___poset].val = p0; /* _poset on */ RET_LABEL:; @@ -1294,17 +1506,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var = 0; } else { -var = p0->type->type_table[cltype] == idtype; +var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 386); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 403); +fatal_exit(1); } self->attrs[COLOR_poset__POSetElement___element].val = p0; /* _element on */ RET_LABEL:; @@ -1316,8 +1528,8 @@ val* var1 /* : HashSet[nullable Object] */; var1 = self->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1330,8 +1542,8 @@ val* var1 /* : HashSet[nullable Object] */; var1 = self->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1344,8 +1556,8 @@ val* var1 /* : HashSet[nullable Object] */; var1 = self->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1358,8 +1570,8 @@ val* var1 /* : HashSet[nullable Object] */; var1 = self->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -1389,8 +1601,8 @@ val* var3 /* : HashSet[nullable Object] */; var3 = self->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1411,8 +1623,8 @@ val* var3 /* : HashSet[nullable Object] */; var3 = self->attrs[COLOR_poset__POSetElement___dtos].val; /* _dtos on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 391); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 408); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1433,8 +1645,8 @@ val* var3 /* : HashSet[nullable Object] */; var3 = self->attrs[COLOR_poset__POSetElement___froms].val; /* _froms on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 390); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 407); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1455,8 +1667,8 @@ val* var3 /* : HashSet[nullable Object] */; var3 = self->attrs[COLOR_poset__POSetElement___dfroms].val; /* _dfroms on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 392); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 409); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1489,17 +1701,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var1 = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 448); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 465); +fatal_exit(1); } var_t = p0; { @@ -1507,15 +1719,15 @@ var_t = p0; var4 = self->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; } } { -var5 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var2, var_t); +var5 = core___core__HashSet___core__abstract_collection__Collection__has(var2, var_t); } var = var5; goto RET_LABEL; @@ -1550,17 +1762,17 @@ is_nullable = type_struct->is_nullable; if(p0 == NULL) { var1 = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var1)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 463); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 480); +fatal_exit(1); } var_t = p0; { @@ -1573,7 +1785,7 @@ RET_LABEL4:(void)0; if (var_t == NULL) { var6 = (var3 != NULL); } else { -var7 = ((short int (*)(val* self, val* p0))(var_t->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_t, var3) /* != on */; +var7 = ((short int(*)(val* self, val* p0))((((long)var_t&3)?class_info[((long)var_t&3)]:var_t->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_t, var3); /* != on */ var6 = var7; } var_ = var6; @@ -1583,15 +1795,15 @@ if (var6){ var10 = self->attrs[COLOR_poset__POSetElement___tos].val; /* _tos on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos"); -PRINT_ERROR(" (%s:%d)\n", FILE_poset, 389); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_poset, 406); +fatal_exit(1); } var8 = var10; RET_LABEL9:(void)0; } } { -var11 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var8, var_t); +var11 = core___core__HashSet___core__abstract_collection__Collection__has(var8, var_t); } var2 = var11; } else { @@ -1603,9 +1815,9 @@ RET_LABEL:; return var; } /* method poset#POSetElement#init for (self: POSetElement[nullable Object]) */ -void poset___poset__POSetElement___standard__kernel__Object__init(val* self) { +void poset___poset__POSetElement___core__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_poset___poset__POSetElement___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_poset___poset__POSetElement___core__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; }