X-Git-Url: http://nitlanguage.org?ds=sidebyside diff --git a/c_src/layout_builders.sep.1.c b/c_src/layout_builders.sep.1.c index 9c61926..a292f15 100644 --- a/c_src/layout_builders.sep.1.c +++ b/c_src/layout_builders.sep.1.c @@ -5,8 +5,9 @@ val* var /* : Map[Object, Int] */; val* var1 /* : Map[Object, Int] */; var1 = self->attrs[COLOR_layout_builders__Layout___64dids].val; /* @ids on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @ids", "src/layout_builders.nit", 34); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @ids"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 34); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -27,6 +28,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (ids) isa Map[Layout#0, Int] */ /* isa Map[Layout#0, Int] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__Layout_FT0kernel__Int]; @@ -38,8 +40,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 34); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[Layout#0, Int]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 34); +show_backtrace(1); } self->attrs[COLOR_layout_builders__Layout___64dids].val = p0; /* @ids on */ RET_LABEL:; @@ -55,8 +59,9 @@ val* var /* : Map[Object, Int] */; val* var1 /* : Map[Object, Int] */; var1 = self->attrs[COLOR_layout_builders__Layout___64dpos].val; /* @pos on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @pos", "src/layout_builders.nit", 36); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @pos"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 36); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -77,6 +82,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (pos) isa Map[Layout#0, Int] */ /* isa Map[Layout#0, Int] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__Layout_FT0kernel__Int]; @@ -88,8 +94,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 36); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[Layout#0, Int]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 36); +show_backtrace(1); } self->attrs[COLOR_layout_builders__Layout___64dpos].val = p0; /* @pos on */ RET_LABEL:; @@ -114,8 +122,9 @@ val* var /* : Map[Object, Int] */; val* var1 /* : Map[Object, Int] */; var1 = self->attrs[COLOR_layout_builders__PHLayout___64dmasks].val; /* @masks on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @masks", "src/layout_builders.nit", 44); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @masks"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 44); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -136,6 +145,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (masks) isa Map[PHLayout#0, Int] */ /* isa Map[PHLayout#0, Int] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PHLayout_FT0kernel__Int]; @@ -147,8 +157,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 44); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PHLayout#0, Int]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 44); +show_backtrace(1); } self->attrs[COLOR_layout_builders__PHLayout___64dmasks].val = p0; /* @masks on */ RET_LABEL:; @@ -164,8 +176,9 @@ val* var /* : Map[Object, Map[Object, Int]] */; val* var1 /* : Map[Object, Map[Object, Int]] */; var1 = self->attrs[COLOR_layout_builders__PHLayout___64dhashes].val; /* @hashes on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @hashes", "src/layout_builders.nit", 46); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @hashes"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 46); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -186,6 +199,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (hashes) isa Map[PHLayout#0, Map[PHLayout#1, Int]] */ /* isa Map[PHLayout#0, Map[PHLayout#1, Int]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PHLayout_FT0abstract_collection__Maplayout_builders__PHLayout_FT1kernel__Int]; @@ -197,8 +211,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 46); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PHLayout#0, Map[PHLayout#1, Int]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 46); +show_backtrace(1); } self->attrs[COLOR_layout_builders__PHLayout___64dhashes].val = p0; /* @hashes on */ RET_LABEL:; @@ -225,6 +241,8 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; +const char* var_class_name2; /* Covariant cast for argument 0 (elements) isa Set[TypingLayoutBuilder#0] */ /* isa Set[TypingLayoutBuilder#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__TypingLayoutBuilder_FT0]; @@ -236,11 +254,15 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 54); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingLayoutBuilder#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 54); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 54); -exit(1); +var_class_name2 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_layout", var_class_name2); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 54); +show_backtrace(1); RET_LABEL:; return var; } @@ -256,8 +278,11 @@ return var; /* method layout_builders#TypingLayoutBuilder#poset for (self: TypingLayoutBuilder[Object]): nullable POSet[Object] */ val* layout_builders__TypingLayoutBuilder__poset(val* self) { val* var /* : nullable POSet[Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 57); -exit(1); +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "poset", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 57); +show_backtrace(1); RET_LABEL:; return var; } @@ -277,6 +302,8 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; +const char* var_class_name2; /* Covariant cast for argument 0 (elements) isa Map[MClass, Set[PropertyLayoutBuilder#0]] */ /* isa Map[MClass, Set[PropertyLayoutBuilder#0]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__PropertyLayoutBuilder_FT0]; @@ -288,11 +315,15 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 64); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[PropertyLayoutBuilder#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 64); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 64); -exit(1); +var_class_name2 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_layout", var_class_name2); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 64); +show_backtrace(1); RET_LABEL:; return var; } @@ -308,8 +339,11 @@ return var; /* method layout_builders#ResolutionLayoutBuilder#build_layout for (self: ResolutionLayoutBuilder, Map[MClassType, Set[MType]]): Layout[MType] */ val* layout_builders__ResolutionLayoutBuilder__build_layout(val* self, val* p0) { val* var /* : Layout[MType] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 84); -exit(1); +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_layout", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 84); +show_backtrace(1); RET_LABEL:; return var; } @@ -328,8 +362,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__POSetBuilder___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 94); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 94); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -373,6 +408,8 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; +const char* var_class_name2; /* Covariant cast for argument 0 (elements) isa Set[POSetBuilder#0] */ /* isa Set[POSetBuilder#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__POSetBuilder_FT0]; @@ -384,11 +421,15 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 96); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[POSetBuilder#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 96); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 96); -exit(1); +var_class_name2 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_poset", var_class_name2); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 96); +show_backtrace(1); RET_LABEL:; return var; } @@ -407,6 +448,7 @@ val* var /* : POSet[MType] */; short int var1 /* : Bool */; int cltype; int idtype; +const char* var_class_name; val* var_elements /* var elements: Set[MType] */; val* var2 /* : POSet[MType] */; val* var_poset /* var poset: POSet[MType] */; @@ -427,13 +469,14 @@ short int var13 /* : Bool */; /* isa Set[POSetBuilder#0] */ var1 = 1; /* easy isa Set[POSetBuilder#0]*/ if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 104); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[POSetBuilder#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 104); +show_backtrace(1); } var_elements = p0; var2 = NEW_poset__POSet(&type_poset__POSetmodel__MType); ((void (*)(val*))(var2->class->vft[COLOR_poset__POSet__init]))(var2) /* init on */; -CHECK_NEW_poset__POSet(var2); var_poset = var2; var3 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_elements) /* iterator on */; for(;;) { @@ -489,6 +532,7 @@ val* var /* : POSet[MClass] */; short int var1 /* : Bool */; int cltype; int idtype; +const char* var_class_name; val* var_elements /* var elements: Set[MClass] */; val* var2 /* : MModule */; val* var3 /* : POSet[MClass] */; @@ -496,8 +540,10 @@ val* var3 /* : POSet[MClass] */; /* isa Set[POSetBuilder#0] */ var1 = 1; /* easy isa Set[POSetBuilder#0]*/ if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 123); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[POSetBuilder#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 123); +show_backtrace(1); } var_elements = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__POSetBuilder__mmodule]))(self) /* mmodule on */; @@ -522,8 +568,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__TypingBMizer___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 132); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 132); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -554,8 +601,9 @@ val* var /* : POSetBuilder[Object] */; val* var1 /* : POSetBuilder[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingBMizer___64dposet_builder].val; /* @poset_builder on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @poset_builder", "src/layout_builders.nit", 133); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @poset_builder"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 133); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -576,6 +624,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_builder) isa POSetBuilder[TypingBMizer#0] */ /* isa POSetBuilder[TypingBMizer#0] */ type_struct = self->type->resolution_table->types[COLOR_layout_builders__POSetBuilderlayout_builders__TypingBMizer_FT0]; @@ -587,8 +636,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 133); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingBMizer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 133); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingBMizer___64dposet_builder].val = p0; /* @poset_builder on */ RET_LABEL:; @@ -622,9 +673,10 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_cache) isa nullable POSet[TypingBMizer#0] */ /* isa nullable POSet[TypingBMizer#0] */ -type_struct = self->type->resolution_table->types[COLOR_poset__POSetlayout_builders__TypingBMizer_FT0]; +type_struct = self->type->resolution_table->types[COLOR_nullable_poset__POSetlayout_builders__TypingBMizer_FT0]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -637,8 +689,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 134); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable POSet[TypingBMizer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 134); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingBMizer___64dposet_cache].val = p0; /* @poset_cache on */ RET_LABEL:; @@ -654,6 +708,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_mmodule /* var mmodule: MModule */; val* var_poset_builder /* var poset_builder: POSetBuilder[Object] */; /* Covariant cast for argument 1 (poset_builder) isa POSetBuilder[TypingBMizer#0] */ @@ -667,8 +722,10 @@ var = 0; var = p1->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 136); -exit(1); +var_class_name = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingBMizer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 136); +show_backtrace(1); } var_mmodule = p0; var_poset_builder = p1; @@ -707,6 +764,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : Layout[Object] */; val* var_result /* var result: Layout[Object] */; @@ -735,33 +793,35 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 143); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingBMizer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 143); +show_backtrace(1); } var_elements = p0; var2 = NEW_layout_builders__Layout(self->type->resolution_table->types[COLOR_layout_builders__Layoutlayout_builders__TypingBMizer_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_layout_builders__Layout__init]))(var2) /* init on */; -CHECK_NEW_layout_builders__Layout(var2); var_result = var2; var3 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingBMizer_FT0kernel__Int]); ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on */; -CHECK_NEW_hash_collection__HashMap(var3); var_ids = var3; var4 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingBMizer__poset_builder]))(self) /* poset_builder on */; var5 = ((val* (*)(val*, val*))(var4->class->vft[COLOR_layout_builders__POSetBuilder__build_poset]))(var4, var_elements) /* build_poset on */; ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingBMizer__poset_cache_61d]))(self, var5) /* poset_cache= on */; var6 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 148); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 148); +show_backtrace(1); } else { var7 = ((val* (*)(val*))(var6->class->vft[COLOR_array__Collection__to_a]))(var6) /* to_a on */; } var_lin = var7; var8 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 149); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 149); +show_backtrace(1); } else { ((void (*)(val*, val*))(var8->class->vft[COLOR_sorter__AbstractSorter__sort]))(var8, var_lin) /* sort on */; } @@ -801,7 +861,6 @@ val* var /* : MTypePOSetBuilder */; var_mmodule = p0; var = NEW_layout_builders__MTypePOSetBuilder(&type_layout_builders__MTypePOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MTypePOSetBuilder(var); ((void (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingBMizer__init]))(self, var_mmodule, var) /* init on */; RET_LABEL:; } @@ -817,7 +876,6 @@ val* var /* : MClassPOSetBuilder */; var_mmodule = p0; var = NEW_layout_builders__MClassPOSetBuilder(&type_layout_builders__MClassPOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MClassPOSetBuilder(var); ((void (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingBMizer__init]))(self, var_mmodule, var) /* init on */; RET_LABEL:; } @@ -863,11 +921,9 @@ long var16 /* : Int */; var_elements = p0; var1 = NEW_layout_builders__Layout(&type_layout_builders__Layoutmodel__MType); ((void (*)(val*))(var1->class->vft[COLOR_layout_builders__Layout__init]))(var1) /* init on */; -CHECK_NEW_layout_builders__Layout(var1); var_result = var1; var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel__MTypekernel__Int); ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on */; -CHECK_NEW_hash_collection__HashMap(var2); var_ids = var2; var3 = 0; var_color = var3; @@ -930,8 +986,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__MPropertyBMizer___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 198); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 198); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -975,6 +1032,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; val* var2 /* : Layout[PropertyLayoutElement] */; val* var_result /* var result: Layout[PropertyLayoutElement] */; @@ -1007,21 +1065,20 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 202); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[PropertyLayoutBuilder#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 202); +show_backtrace(1); } var_elements = p0; var2 = NEW_layout_builders__Layout(self->type->resolution_table->types[COLOR_layout_builders__Layoutlayout_builders__MPropertyBMizer_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_layout_builders__Layout__init]))(var2) /* init on */; -CHECK_NEW_layout_builders__Layout(var2); var_result = var2; var3 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__MPropertyBMizer_FT0kernel__Int]); ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on */; -CHECK_NEW_hash_collection__HashMap(var3); var_ids = var3; var4 = NEW_array__Array(&type_array__Arraymodel__MClass); ((void (*)(val*))(var4->class->vft[COLOR_array__Array__init]))(var4) /* init on */; -CHECK_NEW_array__Array(var4); var_lin = var4; var5 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__MapRead__keys]))(var_elements) /* keys on */; ((void (*)(val*, val*))(var_lin->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var_lin, var5) /* add_all on */; @@ -1077,8 +1134,9 @@ val* var /* : Set[Object] */; val* var1 /* : Set[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dcore].val; /* @core on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @core", "src/layout_builders.nit", 225); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @core"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 225); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1099,6 +1157,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (core) isa Set[TypingColorer#0] */ /* isa Set[TypingColorer#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__TypingColorer_FT0]; @@ -1110,8 +1169,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 225); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 225); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dcore].val = p0; /* @core on */ RET_LABEL:; @@ -1127,8 +1188,9 @@ val* var /* : Set[Object] */; val* var1 /* : Set[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dcrown].val; /* @crown on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @crown", "src/layout_builders.nit", 226); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @crown"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 226); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1149,6 +1211,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (crown) isa Set[TypingColorer#0] */ /* isa Set[TypingColorer#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__TypingColorer_FT0]; @@ -1160,8 +1223,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 226); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 226); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dcrown].val = p0; /* @crown on */ RET_LABEL:; @@ -1177,8 +1242,9 @@ val* var /* : Set[Object] */; val* var1 /* : Set[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dborder].val; /* @border on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @border", "src/layout_builders.nit", 227); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @border"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 227); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1199,6 +1265,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (border) isa Set[TypingColorer#0] */ /* isa Set[TypingColorer#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__TypingColorer_FT0]; @@ -1210,8 +1277,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 227); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 227); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dborder].val = p0; /* @border on */ RET_LABEL:; @@ -1227,8 +1296,9 @@ val* var /* : Map[Object, Int] */; val* var1 /* : Map[Object, Int] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dcoloration_result].val; /* @coloration_result on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @coloration_result", "src/layout_builders.nit", 228); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @coloration_result"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 228); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1249,6 +1319,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (coloration_result) isa Map[TypingColorer#0, Int] */ /* isa Map[TypingColorer#0, Int] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__TypingColorer_FT0kernel__Int]; @@ -1260,8 +1331,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 228); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[TypingColorer#0, Int]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 228); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dcoloration_result].val = p0; /* @coloration_result on */ RET_LABEL:; @@ -1277,8 +1350,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 230); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 230); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1309,8 +1383,9 @@ val* var /* : POSetBuilder[Object] */; val* var1 /* : POSetBuilder[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dposet_builder].val; /* @poset_builder on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @poset_builder", "src/layout_builders.nit", 231); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @poset_builder"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 231); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1331,6 +1406,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_builder) isa POSetBuilder[TypingColorer#0] */ /* isa POSetBuilder[TypingColorer#0] */ type_struct = self->type->resolution_table->types[COLOR_layout_builders__POSetBuilderlayout_builders__TypingColorer_FT0]; @@ -1342,8 +1418,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 231); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 231); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dposet_builder].val = p0; /* @poset_builder on */ RET_LABEL:; @@ -1377,9 +1455,10 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_cache) isa nullable POSet[TypingColorer#0] */ /* isa nullable POSet[TypingColorer#0] */ -type_struct = self->type->resolution_table->types[COLOR_poset__POSetlayout_builders__TypingColorer_FT0]; +type_struct = self->type->resolution_table->types[COLOR_nullable_poset__POSetlayout_builders__TypingColorer_FT0]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -1392,8 +1471,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 232); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable POSet[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 232); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dposet_cache].val = p0; /* @poset_cache on */ RET_LABEL:; @@ -1409,6 +1490,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_mmodule /* var mmodule: MModule */; val* var_poset_builder /* var poset_builder: POSetBuilder[Object] */; /* Covariant cast for argument 1 (poset_builder) isa POSetBuilder[TypingColorer#0] */ @@ -1422,8 +1504,10 @@ var = 0; var = p1->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 234); -exit(1); +var_class_name = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 234); +show_backtrace(1); } var_mmodule = p0; var_poset_builder = p1; @@ -1462,6 +1546,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : POSetBuilder[Object] */; val* var3 /* : POSet[Object] */; @@ -1480,8 +1565,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 241); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 241); +show_backtrace(1); } var_elements = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__poset_builder]))(self) /* poset_builder on */; @@ -1489,7 +1576,6 @@ var3 = ((val* (*)(val*, val*))(var2->class->vft[COLOR_layout_builders__POSetBuil ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__poset_cache_61d]))(self, var3) /* poset_cache= on */; var4 = NEW_layout_builders__Layout(self->type->resolution_table->types[COLOR_layout_builders__Layoutlayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var4->class->vft[COLOR_layout_builders__Layout__init]))(var4) /* init on */; -CHECK_NEW_layout_builders__Layout(var4); var_result = var4; var5 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__compute_ids]))(self, var_elements) /* compute_ids on */; ((void (*)(val*, val*))(var_result->class->vft[COLOR_layout_builders__Layout__ids_61d]))(var_result, var5) /* ids= on */; @@ -1516,6 +1602,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : HashMap[Object, Int] */; val* var_ids /* var ids: HashMap[Object, Int] */; @@ -1537,13 +1624,14 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 250); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 250); +show_backtrace(1); } var_elements = p0; var2 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0kernel__Int]); ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on */; -CHECK_NEW_hash_collection__HashMap(var2); var_ids = var2; var3 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__reverse_linearize]))(self, var_elements) /* reverse_linearize on */; var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on */; @@ -1580,6 +1668,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : Set[Object] */; val* var3 /* : Set[Object] */; @@ -1596,8 +1685,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 258); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 258); +show_backtrace(1); } var_elements = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__tag_elements]))(self, var_elements) /* tag_elements on */; @@ -1629,6 +1720,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; long var1 /* : Int */; long var_min_color /* var min_color: Int */; @@ -1657,8 +1749,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 267); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 267); +show_backtrace(1); } var_elements = p0; var1 = 0; @@ -1709,50 +1803,52 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; short int var2 /* : Bool */; int cltype3; int idtype4; const struct type* type_struct5; +const char* var_class_name6; val* var_element /* var element: Object */; val* var_elements /* var elements: Set[Object] */; long var_color /* var color: Int */; -val* var6 /* : nullable HashMap[Object, Set[Object]] */; -short int var7 /* : Bool */; -val* var8 /* : nullable HashMap[Object, Set[Object]] */; -val* var9 /* : nullable Object */; -val* var10 /* : Iterator[nullable Object] */; -short int var11 /* : Bool */; -val* var12 /* : nullable Object */; +val* var7 /* : nullable HashMap[Object, Set[Object]] */; +short int var8 /* : Bool */; +val* var9 /* : nullable HashMap[Object, Set[Object]] */; +val* var10 /* : nullable Object */; +val* var11 /* : Iterator[nullable Object] */; +short int var12 /* : Bool */; +val* var13 /* : nullable Object */; val* var_st /* var st: Object */; -short int var13 /* : Bool */; -val* var14 /* : Map[Object, Int] */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; +val* var15 /* : Map[Object, Int] */; +short int var16 /* : Bool */; short int var_ /* var : Bool */; -val* var16 /* : Map[Object, Int] */; -val* var17 /* : nullable Object */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -long var21 /* : Int */; -short int var22 /* : Bool */; -val* var23 /* : nullable POSet[Object] */; -val* var24 /* : POSetElement[Object] */; -val* var25 /* : Collection[Object] */; -val* var26 /* : Iterator[nullable Object] */; -short int var27 /* : Bool */; -val* var28 /* : nullable Object */; -val* var_st29 /* var st: Object */; -short int var30 /* : Bool */; -short int var32 /* : Bool */; -val* var33 /* : Map[Object, Int] */; -short int var34 /* : Bool */; -short int var_35 /* var : Bool */; -val* var36 /* : Map[Object, Int] */; -val* var37 /* : nullable Object */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -long var41 /* : Int */; -short int var42 /* : Bool */; +val* var17 /* : Map[Object, Int] */; +val* var18 /* : nullable Object */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +long var22 /* : Int */; +short int var23 /* : Bool */; +val* var24 /* : nullable POSet[Object] */; +val* var25 /* : POSetElement[Object] */; +val* var26 /* : Collection[Object] */; +val* var27 /* : Iterator[nullable Object] */; +short int var28 /* : Bool */; +val* var29 /* : nullable Object */; +val* var_st30 /* var st: Object */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : Map[Object, Int] */; +short int var35 /* : Bool */; +short int var_36 /* var : Bool */; +val* var37 /* : Map[Object, Int] */; +val* var38 /* : nullable Object */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +long var42 /* : Int */; short int var43 /* : Bool */; +short int var44 /* : Bool */; /* Covariant cast for argument 0 (element) isa TypingColorer#0 */ /* isa TypingColorer#0 */ type_struct = self->type->resolution_table->types[COLOR_layout_builders__TypingColorer_FT0]; @@ -1764,8 +1860,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 282); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "TypingColorer#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 282); +show_backtrace(1); } /* Covariant cast for argument 1 (elements) isa Set[TypingColorer#0] */ /* isa Set[TypingColorer#0] */ @@ -1778,116 +1876,121 @@ var2 = 0; var2 = p1->type->type_table[cltype3] == idtype4; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 282); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 282); +show_backtrace(1); } var_element = p0; var_elements = p1; var_color = p2; -var6 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 284); -exit(1); +var7 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; +if (var7 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 284); +show_backtrace(1); } else { -var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var6, var_element) /* has_key on */; +var8 = ((short int (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var7, var_element) /* has_key on */; } -if (var7){ -var8 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 285); -exit(1); +if (var8){ +var9 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; +if (var9 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 285); +show_backtrace(1); } else { -var9 = ((val* (*)(val*, val*))(var8->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var8, var_element) /* [] on */; +var10 = ((val* (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var9, var_element) /* [] on */; } -var10 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Collection__iterator]))(var9) /* iterator on */; +var11 = ((val* (*)(val*))(var10->class->vft[COLOR_abstract_collection__Collection__iterator]))(var10) /* iterator on */; for(;;) { -var11 = ((short int (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var10) /* is_ok on */; -if(!var11) break; -var12 = ((val* (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__item]))(var10) /* item on */; -var_st = var12; -var14 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; -var15 = ((short int (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var14, var_st) /* has_key on */; -var_ = var15; -if (var15){ -var16 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; -var17 = ((val* (*)(val*, val*))(var16->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var16, var_st) /* [] on */; -{ /* Inline kernel#Int#== (var17,var_color) */ -var20 = (var17 != NULL) && (var17->class == &class_kernel__Int); -if (var20) { -var21 = ((struct instance_kernel__Int*)var17)->value; /* autounbox from nullable Object to Int */; -var20 = (var21 == var_color); -} -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; -} -var13 = var18; +var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on */; +if(!var12) break; +var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on */; +var_st = var13; +var15 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; +var16 = ((short int (*)(val*, val*))(var15->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var15, var_st) /* has_key on */; +var_ = var16; +if (var16){ +var17 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; +var18 = ((val* (*)(val*, val*))(var17->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var17, var_st) /* [] on */; +{ /* Inline kernel#Int#== (var18,var_color) */ +var21 = (var18 != NULL) && (var18->class == &class_kernel__Int); +if (var21) { +var22 = ((struct instance_kernel__Int*)var18)->value; /* autounbox from nullable Object to Int */; +var21 = (var22 == var_color); +} +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +var14 = var19; } else { -var13 = var_; +var14 = var_; } -if (var13){ -var22 = 0; -var = var22; +if (var14){ +var23 = 0; +var = var23; goto RET_LABEL; } else { } CONTINUE_label: (void)0; -((void (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__next]))(var10) /* next on */; +((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on */; } BREAK_label: (void)0; } else { } -var23 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 289); -exit(1); +var24 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; +if (var24 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 289); +show_backtrace(1); } else { -var24 = ((val* (*)(val*, val*))(var23->class->vft[COLOR_poset__POSet___91d_93d]))(var23, var_element) /* [] on */; +var25 = ((val* (*)(val*, val*))(var24->class->vft[COLOR_poset__POSet___91d_93d]))(var24, var_element) /* [] on */; } -var25 = ((val* (*)(val*))(var24->class->vft[COLOR_poset__POSetElement__greaters]))(var24) /* greaters on */; -var26 = ((val* (*)(val*))(var25->class->vft[COLOR_abstract_collection__Collection__iterator]))(var25) /* iterator on */; +var26 = ((val* (*)(val*))(var25->class->vft[COLOR_poset__POSetElement__greaters]))(var25) /* greaters on */; +var27 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__iterator]))(var26) /* iterator on */; for(;;) { -var27 = ((short int (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var26) /* is_ok on */; -if(!var27) break; -var28 = ((val* (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__item]))(var26) /* item on */; -var_st29 = var28; -var30 = ((short int (*)(val*, val*))(var_st29->class->vft[COLOR_kernel__Object___61d_61d]))(var_st29, var_element) /* == on */; -if (var30){ -goto CONTINUE_label31; +var28 = ((short int (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var27) /* is_ok on */; +if(!var28) break; +var29 = ((val* (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__item]))(var27) /* item on */; +var_st30 = var29; +var31 = ((short int (*)(val*, val*))(var_st30->class->vft[COLOR_kernel__Object___61d_61d]))(var_st30, var_element) /* == on */; +if (var31){ +goto CONTINUE_label32; } else { } -var33 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; -var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var33, var_st29) /* has_key on */; -var_35 = var34; -if (var34){ -var36 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; -var37 = ((val* (*)(val*, val*))(var36->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var36, var_st29) /* [] on */; -{ /* Inline kernel#Int#== (var37,var_color) */ -var40 = (var37 != NULL) && (var37->class == &class_kernel__Int); -if (var40) { -var41 = ((struct instance_kernel__Int*)var37)->value; /* autounbox from nullable Object to Int */; -var40 = (var41 == var_color); -} -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; -} -var32 = var38; +var34 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; +var35 = ((short int (*)(val*, val*))(var34->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var34, var_st30) /* has_key on */; +var_36 = var35; +if (var35){ +var37 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__coloration_result]))(self) /* coloration_result on */; +var38 = ((val* (*)(val*, val*))(var37->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var37, var_st30) /* [] on */; +{ /* Inline kernel#Int#== (var38,var_color) */ +var41 = (var38 != NULL) && (var38->class == &class_kernel__Int); +if (var41) { +var42 = ((struct instance_kernel__Int*)var38)->value; /* autounbox from nullable Object to Int */; +var41 = (var42 == var_color); +} +var39 = var41; +goto RET_LABEL40; +RET_LABEL40:(void)0; +} +var33 = var39; } else { -var32 = var_35; +var33 = var_36; } -if (var32){ -var42 = 0; -var = var42; +if (var33){ +var43 = 0; +var = var43; goto RET_LABEL; } else { } -CONTINUE_label31: (void)0; -((void (*)(val*))(var26->class->vft[COLOR_abstract_collection__Iterator__next]))(var26) /* next on */; +CONTINUE_label32: (void)0; +((void (*)(val*))(var27->class->vft[COLOR_abstract_collection__Iterator__next]))(var27) /* next on */; } -BREAK_label31: (void)0; -var43 = 1; -var = var43; +BREAK_label32: (void)0; +var44 = 1; +var = var44; goto RET_LABEL; RET_LABEL:; return var; @@ -1907,6 +2010,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var1 /* : Iterator[nullable Object] */; short int var2 /* : Bool */; @@ -1930,29 +2034,31 @@ short int var16 /* : Bool */; short int var18 /* : Bool */; int cltype19; int idtype20; -short int var21 /* : Bool */; +const char* var_class_name21; short int var22 /* : Bool */; -val* var23 /* : nullable POSet[Object] */; -val* var24 /* : POSetElement[Object] */; -val* var25 /* : Collection[Object] */; -long var26 /* : Int */; +short int var23 /* : Bool */; +val* var24 /* : nullable POSet[Object] */; +val* var25 /* : POSetElement[Object] */; +val* var26 /* : Collection[Object] */; long var27 /* : Int */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -short int var33 /* : Bool */; -val* var34 /* : Set[Object] */; -val* var35 /* : nullable POSet[Object] */; -val* var36 /* : POSetElement[Object] */; -val* var37 /* : Collection[Object] */; -val* var38 /* : Set[Object] */; -short int var39 /* : Bool */; +long var28 /* : Int */; +short int var29 /* : Bool */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +short int var35 /* : Bool */; +val* var36 /* : Set[Object] */; +val* var37 /* : nullable POSet[Object] */; +val* var38 /* : POSetElement[Object] */; +val* var39 /* : Collection[Object] */; val* var40 /* : Set[Object] */; -val* var41 /* : nullable POSet[Object] */; -val* var42 /* : POSetElement[Object] */; -val* var43 /* : Collection[Object] */; -val* var44 /* : Set[Object] */; +short int var41 /* : Bool */; +val* var42 /* : Set[Object] */; +val* var43 /* : nullable POSet[Object] */; +val* var44 /* : POSetElement[Object] */; +val* var45 /* : Collection[Object] */; +val* var46 /* : Set[Object] */; /* Covariant cast for argument 0 (elements) isa Set[TypingColorer#0] */ /* isa Set[TypingColorer#0] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__TypingColorer_FT0]; @@ -1964,8 +2070,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 296); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 296); +show_backtrace(1); } var_elements = p0; var1 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_elements) /* iterator on */; @@ -1978,8 +2086,9 @@ var4 = 1; var_all_subelements_si = var4; var5 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 301); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 301); +show_backtrace(1); } else { var6 = ((val* (*)(val*, val*))(var5->class->vft[COLOR_poset__POSet___91d_93d]))(var5, var_element) /* [] on */; } @@ -1992,8 +2101,9 @@ var10 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__ var_subelem = var10; var11 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 302); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 302); +show_backtrace(1); } else { var12 = ((val* (*)(val*, val*))(var11->class->vft[COLOR_poset__POSet___91d_93d]))(var11, var_subelem) /* [] on */; } @@ -2005,17 +2115,19 @@ var15 = 1; /* isa OTHER */ var18 = 1; /* easy isa OTHER*/ if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +var_class_name21 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } -var21 = var14 > var15; -var16 = var21; +var22 = var14 > var15; +var16 = var22; goto RET_LABEL17; RET_LABEL17:(void)0; } if (var16){ -var22 = 0; -var_all_subelements_si = var22; +var23 = 0; +var_all_subelements_si = var23; goto BREAK_label; } else { } @@ -2023,67 +2135,72 @@ CONTINUE_label: (void)0; ((void (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__next]))(var8) /* next on */; } BREAK_label: (void)0; -var23 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; -if (var23 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 309); -exit(1); +var24 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; +if (var24 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 309); +show_backtrace(1); } else { -var24 = ((val* (*)(val*, val*))(var23->class->vft[COLOR_poset__POSet___91d_93d]))(var23, var_element) /* [] on */; -} -var25 = ((val* (*)(val*))(var24->class->vft[COLOR_poset__POSetElement__direct_greaters]))(var24) /* direct_greaters on */; -var26 = ((long (*)(val*))(var25->class->vft[COLOR_abstract_collection__Collection__length]))(var25) /* length on */; -var27 = 1; -{ /* Inline kernel#Int#> (var26,var27) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var33 = var26 > var27; -var28 = var33; -goto RET_LABEL29; -RET_LABEL29:(void)0; -} -if (var28){ -var34 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__core]))(self) /* core on */; -var35 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; -if (var35 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 310); -exit(1); +var25 = ((val* (*)(val*, val*))(var24->class->vft[COLOR_poset__POSet___91d_93d]))(var24, var_element) /* [] on */; +} +var26 = ((val* (*)(val*))(var25->class->vft[COLOR_poset__POSetElement__direct_greaters]))(var25) /* direct_greaters on */; +var27 = ((long (*)(val*))(var26->class->vft[COLOR_abstract_collection__Collection__length]))(var26) /* length on */; +var28 = 1; +{ /* Inline kernel#Int#> (var27,var28) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var31 = 1; /* easy isa OTHER*/ +if (!var31) { +var_class_name34 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); +} +var35 = var27 > var28; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +if (var29){ +var36 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__core]))(self) /* core on */; +var37 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; +if (var37 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 310); +show_backtrace(1); } else { -var36 = ((val* (*)(val*, val*))(var35->class->vft[COLOR_poset__POSet___91d_93d]))(var35, var_element) /* [] on */; +var38 = ((val* (*)(val*, val*))(var37->class->vft[COLOR_poset__POSet___91d_93d]))(var37, var_element) /* [] on */; } -var37 = ((val* (*)(val*))(var36->class->vft[COLOR_poset__POSetElement__greaters]))(var36) /* greaters on */; -((void (*)(val*, val*))(var34->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var34, var37) /* add_all on */; +var39 = ((val* (*)(val*))(var38->class->vft[COLOR_poset__POSetElement__greaters]))(var38) /* greaters on */; +((void (*)(val*, val*))(var36->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var36, var39) /* add_all on */; if (var_all_subelements_si){ -var38 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__border]))(self) /* border on */; -((void (*)(val*, val*))(var38->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var38, var_element) /* add on */; +var40 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__border]))(self) /* border on */; +((void (*)(val*, val*))(var40->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var40, var_element) /* add on */; } else { } } else { -var39 = !var_all_subelements_si; -if (var39){ -var40 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__core]))(self) /* core on */; -var41 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; -if (var41 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 315); -exit(1); +var41 = !var_all_subelements_si; +if (var41){ +var42 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__core]))(self) /* core on */; +var43 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; +if (var43 == NULL) { +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 315); +show_backtrace(1); } else { -var42 = ((val* (*)(val*, val*))(var41->class->vft[COLOR_poset__POSet___91d_93d]))(var41, var_element) /* [] on */; +var44 = ((val* (*)(val*, val*))(var43->class->vft[COLOR_poset__POSet___91d_93d]))(var43, var_element) /* [] on */; } -var43 = ((val* (*)(val*))(var42->class->vft[COLOR_poset__POSetElement__greaters]))(var42) /* greaters on */; -((void (*)(val*, val*))(var40->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var40, var43) /* add_all on */; +var45 = ((val* (*)(val*))(var44->class->vft[COLOR_poset__POSetElement__greaters]))(var44) /* greaters on */; +((void (*)(val*, val*))(var42->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var42, var45) /* add_all on */; } else { -var44 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__crown]))(self) /* crown on */; -((void (*)(val*, val*))(var44->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var44, var_element) /* add on */; +var46 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__crown]))(self) /* crown on */; +((void (*)(val*, val*))(var46->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var46, var_element) /* add on */; } } -CONTINUE_label45: (void)0; +CONTINUE_label47: (void)0; ((void (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__next]))(var1) /* next on */; } -BREAK_label45: (void)0; +BREAK_label47: (void)0; RET_LABEL:; } /* method layout_builders#TypingColorer#tag_elements for (self: Object, Set[Object]) */ @@ -2156,7 +2273,6 @@ val* var51 /* : nullable HashMap[Object, Set[Object]] */; val* var52 /* : nullable Object */; var = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0hash_collection__HashSetlayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var->class->vft[COLOR_hash_collection__HashMap__init]))(var) /* init on */; -CHECK_NEW_hash_collection__HashMap(var); ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph_61d]))(self, var) /* conflicts_graph= on */; var1 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__core]))(self) /* core on */; var2 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__reverse_linearize]))(self, var1) /* reverse_linearize on */; @@ -2214,8 +2330,9 @@ var25 = ((val* (*)(val*))(var23->class->vft[COLOR_abstract_collection__Iterator_ var_ed1 = var25; var26 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; if (var26 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 340); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 340); +show_backtrace(1); } else { var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var26, var_ed1) /* has_key on */; } @@ -2224,10 +2341,10 @@ if (var28){ var29 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; var30 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetlayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var30->class->vft[COLOR_hash_collection__HashSet__init]))(var30) /* init on */; -CHECK_NEW_hash_collection__HashSet(var30); if (var29 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 340); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 340); +show_backtrace(1); } else { ((void (*)(val*, val*, val*))(var29->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var29, var_ed1, var30) /* []= on */; } @@ -2241,8 +2358,9 @@ var33 = ((val* (*)(val*))(var31->class->vft[COLOR_abstract_collection__Iterator_ var_ed2 = var33; var34 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; if (var34 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 342); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 342); +show_backtrace(1); } else { var35 = ((val* (*)(val*, val*))(var34->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var34, var_ed1) /* [] on */; } @@ -2263,8 +2381,9 @@ var40 = ((val* (*)(val*))(var38->class->vft[COLOR_abstract_collection__Iterator_ var_ed141 = var40; var42 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; if (var42 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 345); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 345); +show_backtrace(1); } else { var43 = ((short int (*)(val*, val*))(var42->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var42, var_ed141) /* has_key on */; } @@ -2273,10 +2392,10 @@ if (var44){ var45 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; var46 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetlayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var46->class->vft[COLOR_hash_collection__HashSet__init]))(var46) /* init on */; -CHECK_NEW_hash_collection__HashSet(var46); if (var45 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 345); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 345); +show_backtrace(1); } else { ((void (*)(val*, val*, val*))(var45->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var45, var_ed141, var46) /* []= on */; } @@ -2290,8 +2409,9 @@ var49 = ((val* (*)(val*))(var47->class->vft[COLOR_abstract_collection__Iterator_ var_ed250 = var49; var51 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(self) /* conflicts_graph on */; if (var51 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 347); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 347); +show_backtrace(1); } else { var52 = ((val* (*)(val*, val*))(var51->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var51, var_ed141) /* [] on */; } @@ -2347,9 +2467,10 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (conflicts_graph) isa nullable HashMap[TypingColorer#0, Set[TypingColorer#0]] */ /* isa nullable HashMap[TypingColorer#0, Set[TypingColorer#0]] */ -type_struct = self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingColorer_FT0abstract_collection__Setlayout_builders__TypingColorer_FT0]; +type_struct = self->type->resolution_table->types[COLOR_nullable_hash_collection__HashMaplayout_builders__TypingColorer_FT0abstract_collection__Setlayout_builders__TypingColorer_FT0]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -2362,8 +2483,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 354); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable HashMap[TypingColorer#0, Set[TypingColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 354); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dconflicts_graph].val = p0; /* @conflicts_graph on */ RET_LABEL:; @@ -2379,8 +2502,9 @@ val* var /* : Map[Object, Array[Object]] */; val* var1 /* : Map[Object, Array[Object]] */; var1 = self->attrs[COLOR_layout_builders__TypingColorer___64dlinear_extensions_cache].val; /* @linear_extensions_cache on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @linear_extensions_cache", "src/layout_builders.nit", 356); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @linear_extensions_cache"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 356); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -2401,6 +2525,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (linear_extensions_cache) isa Map[TypingColorer#0, Array[TypingColorer#0]] */ /* isa Map[TypingColorer#0, Array[TypingColorer#0]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__TypingColorer_FT0array__Arraylayout_builders__TypingColorer_FT0]; @@ -2412,8 +2537,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 356); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[TypingColorer#0, Array[TypingColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 356); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingColorer___64dlinear_extensions_cache].val = p0; /* @linear_extensions_cache on */ RET_LABEL:; @@ -2430,6 +2557,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_element /* var element: Object */; val* var2 /* : Map[Object, Array[Object]] */; short int var3 /* : Bool */; @@ -2454,8 +2582,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 359); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "TypingColorer#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 359); +show_backtrace(1); } var_element = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingColorer__linear_extensions_cache]))(self) /* linear_extensions_cache on */; @@ -2464,12 +2594,12 @@ var4 = !var3; if (var4){ var5 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetlayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var5->class->vft[COLOR_hash_collection__HashSet__init]))(var5) /* init on */; -CHECK_NEW_hash_collection__HashSet(var5); var_supers = var5; var6 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 363); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 363); +show_backtrace(1); } else { var7 = ((val* (*)(val*, val*))(var6->class->vft[COLOR_poset__POSet___91d_93d]))(var6, var_element) /* [] on */; } @@ -2503,6 +2633,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : Array[Object] */; val* var_lin /* var lin: Array[Object] */; @@ -2518,19 +2649,21 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 369); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 369); +show_backtrace(1); } var_elements = p0; var2 = NEW_array__Array(self->type->resolution_table->types[COLOR_array__Arraylayout_builders__TypingColorer_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on */; -CHECK_NEW_array__Array(var2); var_lin = var2; ((void (*)(val*, val*))(var_lin->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var_lin, var_elements) /* add_all on */; var3 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 372); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 372); +show_backtrace(1); } else { ((void (*)(val*, val*))(var3->class->vft[COLOR_sorter__AbstractSorter__sort]))(var3, var_lin) /* sort on */; } @@ -2555,6 +2688,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : Array[Object] */; val* var3 /* : Array[nullable Object] */; @@ -2569,8 +2703,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 375); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 375); +show_backtrace(1); } var_elements = p0; var2 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__reverse_linearize]))(self, var_elements) /* reverse_linearize on */; @@ -2596,7 +2732,6 @@ val* var /* : MTypePOSetBuilder */; var_mmodule = p0; var = NEW_layout_builders__MTypePOSetBuilder(&type_layout_builders__MTypePOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MTypePOSetBuilder(var); ((void (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__init]))(self, var_mmodule, var) /* init on */; RET_LABEL:; } @@ -2612,7 +2747,6 @@ val* var /* : MClassPOSetBuilder */; var_mmodule = p0; var = NEW_layout_builders__MClassPOSetBuilder(&type_layout_builders__MClassPOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MClassPOSetBuilder(var); ((void (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingColorer__init]))(self, var_mmodule, var) /* init on */; RET_LABEL:; } @@ -2627,8 +2761,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__MPropertyColorer___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 394); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 394); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -2659,8 +2794,9 @@ val* var /* : MClassColorer */; val* var1 /* : MClassColorer */; var1 = self->attrs[COLOR_layout_builders__MPropertyColorer___64dclass_colorer].val; /* @class_colorer on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @class_colorer", "src/layout_builders.nit", 395); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @class_colorer"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 395); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -2691,8 +2827,9 @@ val* var /* : Map[PropertyLayoutElement, Int] */; val* var1 /* : Map[PropertyLayoutElement, Int] */; var1 = self->attrs[COLOR_layout_builders__MPropertyColorer___64dcoloration_result].val; /* @coloration_result on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @coloration_result", "src/layout_builders.nit", 396); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @coloration_result"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 396); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -2713,6 +2850,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (coloration_result) isa Map[MPropertyColorer#0, Int] */ /* isa Map[MPropertyColorer#0, Int] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__MPropertyColorer_FT0kernel__Int]; @@ -2724,8 +2862,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 396); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MPropertyColorer#0, Int]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 396); +show_backtrace(1); } self->attrs[COLOR_layout_builders__MPropertyColorer___64dcoloration_result].val = p0; /* @coloration_result on */ RET_LABEL:; @@ -2757,6 +2897,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; val* var2 /* : Layout[PropertyLayoutElement] */; val* var_result /* var result: Layout[PropertyLayoutElement] */; @@ -2772,13 +2913,14 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 403); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[MPropertyColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 403); +show_backtrace(1); } var_elements = p0; var2 = NEW_layout_builders__Layout(self->type->resolution_table->types[COLOR_layout_builders__Layoutlayout_builders__MPropertyColorer_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_layout_builders__Layout__init]))(var2) /* init on */; -CHECK_NEW_layout_builders__Layout(var2); var_result = var2; var3 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__colorize]))(self, var_elements) /* colorize on */; ((void (*)(val*, val*))(var_result->class->vft[COLOR_layout_builders__Layout__pos_61d]))(var_result, var3) /* pos= on */; @@ -2803,6 +2945,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; val* var2 /* : Map[PropertyLayoutElement, Int] */; /* Covariant cast for argument 0 (elements) isa Map[MClass, Set[MPropertyColorer#0]] */ @@ -2816,8 +2959,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 410); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[MPropertyColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 410); +show_backtrace(1); } var_elements = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__colorize_core]))(self, var_elements) /* colorize_core on */; @@ -2843,6 +2988,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; long var1 /* : Int */; long var_min_color /* var min_color: Int */; @@ -2876,8 +3022,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 416); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[MPropertyColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 416); +show_backtrace(1); } var_elements = p0; var1 = 0; @@ -2899,8 +3047,9 @@ var_color = var10; var11 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__class_colorer]))(self) /* class_colorer on */; var12 = ((val* (*)(val*))(var11->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(var11) /* conflicts_graph on */; if (var12 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 424); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 424); +show_backtrace(1); } else { var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var12, var_mclass) /* has_key on */; } @@ -2908,8 +3057,9 @@ if (var13){ var14 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__class_colorer]))(self) /* class_colorer on */; var15 = ((val* (*)(val*))(var14->class->vft[COLOR_layout_builders__TypingColorer__conflicts_graph]))(var14) /* conflicts_graph on */; if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 425); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 425); +show_backtrace(1); } else { var16 = ((val* (*)(val*, val*))(var15->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var15, var_mclass) /* [] on */; } @@ -2936,6 +3086,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; val* var1 /* : MClassColorer */; val* var2 /* : Set[Object] */; @@ -2965,8 +3116,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 431); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[MPropertyColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 431); +show_backtrace(1); } var_elements = p0; var1 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__class_colorer]))(self) /* class_colorer on */; @@ -2979,7 +3132,6 @@ var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__i var_mclass = var5; var6 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClass); ((void (*)(val*))(var6->class->vft[COLOR_hash_collection__HashSet__init]))(var6) /* init on */; -CHECK_NEW_hash_collection__HashSet(var6); var_parents = var6; var7 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__MPropertyColorer__mmodule]))(self) /* mmodule on */; var8 = ((val* (*)(val*))(var7->class->vft[COLOR_model__MModule__flatten_mclass_hierarchy]))(var7) /* flatten_mclass_hierarchy on */; @@ -3012,6 +3164,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Collection[PropertyLayoutElement] */; long var_start_color /* var start_color: Int */; val* var1 /* : Iterator[nullable Object] */; @@ -3036,8 +3189,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 442); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[MPropertyColorer#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 442); +show_backtrace(1); } var_elements = p0; var_start_color = p1; @@ -3082,6 +3237,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; long var_min_color /* var min_color: Int */; val* var_mclasses /* var mclasses: Collection[MClass] */; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; @@ -3105,10 +3261,11 @@ short int var14 /* : Bool */; short int var16 /* : Bool */; int cltype17; int idtype18; -short int var19 /* : Bool */; -long var20 /* : Int */; +const char* var_class_name19; +short int var20 /* : Bool */; long var21 /* : Int */; -long var23 /* : Int */; +long var22 /* : Int */; +long var24 /* : Int */; /* Covariant cast for argument 2 (elements) isa Map[MClass, Set[MPropertyColorer#0]] */ /* isa Map[MClass, Set[MPropertyColorer#0]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Mapmodel__MClassabstract_collection__Setlayout_builders__MPropertyColorer_FT0]; @@ -3120,8 +3277,10 @@ var1 = 0; var1 = p2->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 451); -exit(1); +var_class_name = p2 == NULL ? "null" : p2->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[MPropertyColorer#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 451); +show_backtrace(1); } var_min_color = p0; var_mclasses = p1; @@ -3153,23 +3312,25 @@ var_color = var13; /* isa OTHER */ var16 = 1; /* easy isa OTHER*/ if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); +var_class_name19 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); } -var19 = var_color >= var_max_color; -var14 = var19; +var20 = var_color >= var_max_color; +var14 = var20; goto RET_LABEL15; RET_LABEL15:(void)0; } if (var14){ -var20 = 1; -{ /* Inline kernel#Int#+ (var_color,var20) */ -var23 = var_color + var20; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -var_max_color = var21; +var21 = 1; +{ /* Inline kernel#Int#+ (var_color,var21) */ +var24 = var_color + var21; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +var_max_color = var22; } else { } } else { @@ -3178,10 +3339,10 @@ CONTINUE_label: (void)0; ((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; } BREAK_label: (void)0; -CONTINUE_label24: (void)0; +CONTINUE_label25: (void)0; ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on */; } -BREAK_label24: (void)0; +BREAK_label25: (void)0; var = var_max_color; goto RET_LABEL; RET_LABEL:; @@ -3202,8 +3363,9 @@ val* var /* : Map[MType, Int] */; val* var1 /* : Map[MType, Int] */; var1 = self->attrs[COLOR_layout_builders__ResolutionColorer___64dcoloration_result].val; /* @coloration_result on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @coloration_result", "src/layout_builders.nit", 471); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @coloration_result"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 471); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -3249,7 +3411,6 @@ var_elements = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__ResolutionColorer__build_conflicts_graph]))(self, var_elements) /* build_conflicts_graph on */; var1 = NEW_layout_builders__Layout(&type_layout_builders__Layoutmodel__MType); ((void (*)(val*))(var1->class->vft[COLOR_layout_builders__Layout__init]))(var1) /* init on */; -CHECK_NEW_layout_builders__Layout(var1); var_result = var1; var2 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__ResolutionColorer__compute_ids]))(self, var_elements) /* compute_ids on */; ((void (*)(val*, val*))(var_result->class->vft[COLOR_layout_builders__Layout__ids_61d]))(var_result, var2) /* ids= on */; @@ -3295,7 +3456,6 @@ long var15 /* : Int */; var_elements = p0; var1 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel__MTypekernel__Int); ((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashMap__init]))(var1) /* init on */; -CHECK_NEW_hash_collection__HashMap(var1); var_ids = var1; var2 = 0; var_color = var2; @@ -3597,8 +3757,9 @@ val* var /* : Map[MType, Set[MType]] */; val* var1 /* : Map[MType, Set[MType]] */; var1 = self->attrs[COLOR_layout_builders__ResolutionColorer___64dconflicts_graph].val; /* @conflicts_graph on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @conflicts_graph", "src/layout_builders.nit", 536); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @conflicts_graph"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 536); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -3656,7 +3817,6 @@ if (var3){ var4 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__ResolutionColorer__conflicts_graph]))(self) /* conflicts_graph on */; var5 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MType); ((void (*)(val*))(var5->class->vft[COLOR_hash_collection__HashSet__init]))(var5) /* init on */; -CHECK_NEW_hash_collection__HashSet(var5); ((void (*)(val*, val*, val*))(var4->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var4, var_mtype, var5) /* []= on */; } else { } @@ -3670,7 +3830,6 @@ if (var10){ var11 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__ResolutionColorer__conflicts_graph]))(self) /* conflicts_graph on */; var12 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MType); ((void (*)(val*))(var12->class->vft[COLOR_hash_collection__HashSet__init]))(var12) /* init on */; -CHECK_NEW_hash_collection__HashSet(var12); ((void (*)(val*, val*, val*))(var11->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var11, var_otype, var12) /* []= on */; } else { } @@ -3690,8 +3849,9 @@ val* var /* : PHOperator */; val* var1 /* : PHOperator */; var1 = self->attrs[COLOR_layout_builders__PerfectHasher___64doperator].val; /* @operator on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @operator", "src/layout_builders.nit", 552); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @operator"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 552); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -3732,22 +3892,24 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; short int var2 /* : Bool */; int cltype3; int idtype4; const struct type* type_struct5; +const char* var_class_name6; val* var_conflicts /* var conflicts: Map[Object, Set[Object]] */; val* var_ids /* var ids: Map[Object, Int] */; -val* var6 /* : HashMap[Object, Int] */; +val* var7 /* : HashMap[Object, Int] */; val* var_masks /* var masks: HashMap[Object, Int] */; -val* var7 /* : MapIterator[Object, nullable Object] */; -short int var8 /* : Bool */; -val* var9 /* : Object */; +val* var8 /* : MapIterator[Object, nullable Object] */; +short int var9 /* : Bool */; +val* var10 /* : Object */; val* var_mclasstype /* var mclasstype: Object */; -val* var10 /* : nullable Object */; +val* var11 /* : nullable Object */; val* var_mtypes /* var mtypes: Set[Object] */; -long var11 /* : Int */; -val* var12 /* : nullable Object */; +long var12 /* : Int */; +val* var13 /* : nullable Object */; /* Covariant cast for argument 0 (conflicts) isa Map[PerfectHasher#0, Set[PerfectHasher#1]] */ /* isa Map[PerfectHasher#0, Set[PerfectHasher#1]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0abstract_collection__Setlayout_builders__PerfectHasher_FT1]; @@ -3759,8 +3921,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 556); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#0, Set[PerfectHasher#1]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 556); +show_backtrace(1); } /* Covariant cast for argument 1 (ids) isa Map[PerfectHasher#1, Int] */ /* isa Map[PerfectHasher#1, Int] */ @@ -3773,28 +3937,29 @@ var2 = 0; var2 = p1->type->type_table[cltype3] == idtype4; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 556); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#1, Int]", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 556); +show_backtrace(1); } var_conflicts = p0; var_ids = p1; -var6 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0kernel__Int]); -((void (*)(val*))(var6->class->vft[COLOR_hash_collection__HashMap__init]))(var6) /* init on */; -CHECK_NEW_hash_collection__HashMap(var6); -var_masks = var6; -var7 = ((val* (*)(val*))(var_conflicts->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_conflicts) /* iterator on */; +var7 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0kernel__Int]); +((void (*)(val*))(var7->class->vft[COLOR_hash_collection__HashMap__init]))(var7) /* init on */; +var_masks = var7; +var8 = ((val* (*)(val*))(var_conflicts->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_conflicts) /* iterator on */; for(;;) { -var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var7) /* is_ok on */; -if(!var8) break; -var9 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__MapIterator__key]))(var7) /* key on */; -var_mclasstype = var9; -var10 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__MapIterator__item]))(var7) /* item on */; -var_mtypes = var10; -var11 = ((long (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__compute_mask]))(self, var_mtypes, var_ids) /* compute_mask on */; -var12 = BOX_kernel__Int(var11); /* autobox from Int to nullable Object */ -((void (*)(val*, val*, val*))(var_masks->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_masks, var_mclasstype, var12) /* []= on */; +var9 = ((short int (*)(val*))(var8->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var8) /* is_ok on */; +if(!var9) break; +var10 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__MapIterator__key]))(var8) /* key on */; +var_mclasstype = var10; +var11 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__MapIterator__item]))(var8) /* item on */; +var_mtypes = var11; +var12 = ((long (*)(val*, val*, val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__compute_mask]))(self, var_mtypes, var_ids) /* compute_mask on */; +var13 = BOX_kernel__Int(var12); /* autobox from Int to nullable Object */ +((void (*)(val*, val*, val*))(var_masks->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_masks, var_mclasstype, var13) /* []= on */; CONTINUE_label: (void)0; -((void (*)(val*))(var7->class->vft[COLOR_abstract_collection__MapIterator__next]))(var7) /* next on */; +((void (*)(val*))(var8->class->vft[COLOR_abstract_collection__MapIterator__next]))(var8) /* next on */; } BREAK_label: (void)0; var = var_masks; @@ -3818,35 +3983,37 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; short int var2 /* : Bool */; int cltype3; int idtype4; const struct type* type_struct5; +const char* var_class_name6; val* var_mtypes /* var mtypes: Set[Object] */; val* var_ids /* var ids: Map[Object, Int] */; -long var6 /* : Int */; +long var7 /* : Int */; long var_mask /* var mask: Int */; -val* var7 /* : List[Int] */; +val* var8 /* : List[Int] */; val* var_used /* var used: List[Int] */; -val* var8 /* : Iterator[nullable Object] */; -short int var9 /* : Bool */; -val* var10 /* : nullable Object */; +val* var9 /* : Iterator[nullable Object] */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; val* var_mtype /* var mtype: Object */; -val* var11 /* : PHOperator */; -val* var12 /* : nullable Object */; -long var13 /* : Int */; +val* var12 /* : PHOperator */; +val* var13 /* : nullable Object */; long var14 /* : Int */; +long var15 /* : Int */; long var_res /* var res: Int */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; +short int var16 /* : Bool */; val* var17 /* : nullable Object */; -long var18 /* : Int */; +val* var18 /* : nullable Object */; long var19 /* : Int */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -long var24 /* : Int */; +long var20 /* : Int */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; long var25 /* : Int */; -long var27 /* : Int */; +long var26 /* : Int */; +long var28 /* : Int */; /* Covariant cast for argument 0 (mtypes) isa Set[PerfectHasher#1] */ /* isa Set[PerfectHasher#1] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Setlayout_builders__PerfectHasher_FT1]; @@ -3858,8 +4025,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 565); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[PerfectHasher#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 565); +show_backtrace(1); } /* Covariant cast for argument 1 (ids) isa Map[PerfectHasher#1, Int] */ /* isa Map[PerfectHasher#1, Int] */ @@ -3872,64 +4041,65 @@ var2 = 0; var2 = p1->type->type_table[cltype3] == idtype4; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 565); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#1, Int]", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 565); +show_backtrace(1); } var_mtypes = p0; var_ids = p1; -var6 = 0; -var_mask = var6; +var7 = 0; +var_mask = var7; for(;;) { -var7 = NEW_list__List(&type_list__Listkernel__Int); -((void (*)(val*))(var7->class->vft[COLOR_list__List__init]))(var7) /* init on */; -CHECK_NEW_list__List(var7); -var_used = var7; -var8 = ((val* (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_mtypes) /* iterator on */; +var8 = NEW_list__List(&type_list__Listkernel__Int); +((void (*)(val*))(var8->class->vft[COLOR_list__List__init]))(var8) /* init on */; +var_used = var8; +var9 = ((val* (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_mtypes) /* iterator on */; for(;;) { -var9 = ((short int (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var8) /* is_ok on */; -if(!var9) break; -var10 = ((val* (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__item]))(var8) /* item on */; -var_mtype = var10; -var11 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__operator]))(self) /* operator on */; -var12 = ((val* (*)(val*, val*))(var_ids->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_ids, var_mtype) /* [] on */; -var14 = ((struct instance_kernel__Int*)var12)->value; /* autounbox from nullable Object to Int */; -var13 = ((long (*)(val*, long, long))(var11->class->vft[COLOR_layout_builders__PHOperator__op]))(var11, var_mask, var14) /* op on */; -var_res = var13; -var16 = BOX_kernel__Int(var_res); /* autobox from Int to nullable Object */ -var15 = ((short int (*)(val*, val*))(var_used->class->vft[COLOR_abstract_collection__Collection__has]))(var_used, var16) /* has on */; -if (var15){ +var10 = ((short int (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var9) /* is_ok on */; +if(!var10) break; +var11 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__item]))(var9) /* item on */; +var_mtype = var11; +var12 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__operator]))(self) /* operator on */; +var13 = ((val* (*)(val*, val*))(var_ids->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_ids, var_mtype) /* [] on */; +var15 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */; +var14 = ((long (*)(val*, long, long))(var12->class->vft[COLOR_layout_builders__PHOperator__op]))(var12, var_mask, var15) /* op on */; +var_res = var14; +var17 = BOX_kernel__Int(var_res); /* autobox from Int to nullable Object */ +var16 = ((short int (*)(val*, val*))(var_used->class->vft[COLOR_abstract_collection__Collection__has]))(var_used, var17) /* has on */; +if (var16){ goto BREAK_label; } else { -var17 = BOX_kernel__Int(var_res); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_used->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_used, var17) /* add on */; +var18 = BOX_kernel__Int(var_res); /* autobox from Int to nullable Object */ +((void (*)(val*, val*))(var_used->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_used, var18) /* add on */; } CONTINUE_label: (void)0; -((void (*)(val*))(var8->class->vft[COLOR_abstract_collection__Iterator__next]))(var8) /* next on */; +((void (*)(val*))(var9->class->vft[COLOR_abstract_collection__Iterator__next]))(var9) /* next on */; } BREAK_label: (void)0; -var18 = ((long (*)(val*))(var_used->class->vft[COLOR_abstract_collection__Collection__length]))(var_used) /* length on */; -var19 = ((long (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__length]))(var_mtypes) /* length on */; -{ /* Inline kernel#Int#== (var18,var19) */ -var22 = var18 == var19; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -if (var20){ -goto BREAK_label23; +var19 = ((long (*)(val*))(var_used->class->vft[COLOR_abstract_collection__Collection__length]))(var_used) /* length on */; +var20 = ((long (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__length]))(var_mtypes) /* length on */; +{ /* Inline kernel#Int#== (var19,var20) */ +var23 = var19 == var20; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +if (var21){ +goto BREAK_label24; } else { } -var24 = 1; -{ /* Inline kernel#Int#+ (var_mask,var24) */ -var27 = var_mask + var24; -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var25 = 1; +{ /* Inline kernel#Int#+ (var_mask,var25) */ +var28 = var_mask + var25; +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; } -var_mask = var25; -CONTINUE_label23: (void)0; +var_mask = var26; +CONTINUE_label24: (void)0; } -BREAK_label23: (void)0; +BREAK_label24: (void)0; var = var_mask; goto RET_LABEL; RET_LABEL:; @@ -3951,39 +4121,42 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; short int var2 /* : Bool */; int cltype3; int idtype4; const struct type* type_struct5; -short int var6 /* : Bool */; -int cltype7; -int idtype8; -const struct type* type_struct9; +const char* var_class_name6; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +const struct type* type_struct10; +const char* var_class_name11; val* var_elements /* var elements: Map[Object, Set[Object]] */; val* var_ids /* var ids: Map[Object, Int] */; val* var_masks /* var masks: Map[Object, Int] */; -val* var10 /* : HashMap[Object, Map[Object, Int]] */; +val* var12 /* : HashMap[Object, Map[Object, Int]] */; val* var_hashes /* var hashes: HashMap[Object, Map[Object, Int]] */; -val* var11 /* : MapIterator[Object, nullable Object] */; -short int var12 /* : Bool */; -val* var13 /* : Object */; +val* var13 /* : MapIterator[Object, nullable Object] */; +short int var14 /* : Bool */; +val* var15 /* : Object */; val* var_mclasstype /* var mclasstype: Object */; -val* var14 /* : nullable Object */; +val* var16 /* : nullable Object */; val* var_mtypes /* var mtypes: Set[Object] */; -val* var15 /* : nullable Object */; -long var16 /* : Int */; +val* var17 /* : nullable Object */; +long var18 /* : Int */; long var_mask /* var mask: Int */; -val* var17 /* : HashMap[Object, Int] */; +val* var19 /* : HashMap[Object, Int] */; val* var_inhashes /* var inhashes: HashMap[Object, Int] */; -val* var18 /* : Iterator[nullable Object] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; -val* var_mtype /* var mtype: Object */; -val* var21 /* : PHOperator */; +val* var20 /* : Iterator[nullable Object] */; +short int var21 /* : Bool */; val* var22 /* : nullable Object */; -long var23 /* : Int */; -long var24 /* : Int */; -val* var25 /* : nullable Object */; +val* var_mtype /* var mtype: Object */; +val* var23 /* : PHOperator */; +val* var24 /* : nullable Object */; +long var25 /* : Int */; +long var26 /* : Int */; +val* var27 /* : nullable Object */; /* Covariant cast for argument 0 (elements) isa Map[PerfectHasher#0, Set[PerfectHasher#1]] */ /* isa Map[PerfectHasher#0, Set[PerfectHasher#1]] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0abstract_collection__Setlayout_builders__PerfectHasher_FT1]; @@ -3995,8 +4168,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 583); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#0, Set[PerfectHasher#1]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 583); +show_backtrace(1); } /* Covariant cast for argument 1 (ids) isa Map[PerfectHasher#1, Int] */ /* isa Map[PerfectHasher#1, Int] */ @@ -4009,66 +4184,68 @@ var2 = 0; var2 = p1->type->type_table[cltype3] == idtype4; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 583); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#1, Int]", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 583); +show_backtrace(1); } /* Covariant cast for argument 2 (masks) isa Map[PerfectHasher#0, Int] */ /* isa Map[PerfectHasher#0, Int] */ -type_struct9 = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0kernel__Int]; -cltype7 = type_struct9->color; -idtype8 = type_struct9->id; -if(cltype7 >= p2->type->table_size) { -var6 = 0; +type_struct10 = self->type->resolution_table->types[COLOR_abstract_collection__Maplayout_builders__PerfectHasher_FT0kernel__Int]; +cltype8 = type_struct10->color; +idtype9 = type_struct10->id; +if(cltype8 >= p2->type->table_size) { +var7 = 0; } else { -var6 = p2->type->type_table[cltype7] == idtype8; +var7 = p2->type->type_table[cltype8] == idtype9; } -if (!var6) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 583); -exit(1); +if (!var7) { +var_class_name11 = p2 == NULL ? "null" : p2->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[PerfectHasher#0, Int]", var_class_name11); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 583); +show_backtrace(1); } var_elements = p0; var_ids = p1; var_masks = p2; -var10 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0abstract_collection__Maplayout_builders__PerfectHasher_FT1kernel__Int]); -((void (*)(val*))(var10->class->vft[COLOR_hash_collection__HashMap__init]))(var10) /* init on */; -CHECK_NEW_hash_collection__HashMap(var10); -var_hashes = var10; -var11 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_elements) /* iterator on */; +var12 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT0abstract_collection__Maplayout_builders__PerfectHasher_FT1kernel__Int]); +((void (*)(val*))(var12->class->vft[COLOR_hash_collection__HashMap__init]))(var12) /* init on */; +var_hashes = var12; +var13 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_elements) /* iterator on */; for(;;) { -var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var11) /* is_ok on */; -if(!var12) break; -var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__MapIterator__key]))(var11) /* key on */; -var_mclasstype = var13; -var14 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__MapIterator__item]))(var11) /* item on */; -var_mtypes = var14; -var15 = ((val* (*)(val*, val*))(var_masks->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_masks, var_mclasstype) /* [] on */; -var16 = ((struct instance_kernel__Int*)var15)->value; /* autounbox from nullable Object to Int */; -var_mask = var16; -var17 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT1kernel__Int]); -((void (*)(val*))(var17->class->vft[COLOR_hash_collection__HashMap__init]))(var17) /* init on */; -CHECK_NEW_hash_collection__HashMap(var17); -var_inhashes = var17; -var18 = ((val* (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_mtypes) /* iterator on */; +var14 = ((short int (*)(val*))(var13->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var13) /* is_ok on */; +if(!var14) break; +var15 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_collection__MapIterator__key]))(var13) /* key on */; +var_mclasstype = var15; +var16 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_collection__MapIterator__item]))(var13) /* item on */; +var_mtypes = var16; +var17 = ((val* (*)(val*, val*))(var_masks->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_masks, var_mclasstype) /* [] on */; +var18 = ((struct instance_kernel__Int*)var17)->value; /* autounbox from nullable Object to Int */; +var_mask = var18; +var19 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__PerfectHasher_FT1kernel__Int]); +((void (*)(val*))(var19->class->vft[COLOR_hash_collection__HashMap__init]))(var19) /* init on */; +var_inhashes = var19; +var20 = ((val* (*)(val*))(var_mtypes->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_mtypes) /* iterator on */; for(;;) { -var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on */; -if(!var19) break; -var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on */; -var_mtype = var20; -var21 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__operator]))(self) /* operator on */; -var22 = ((val* (*)(val*, val*))(var_ids->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_ids, var_mtype) /* [] on */; -var24 = ((struct instance_kernel__Int*)var22)->value; /* autounbox from nullable Object to Int */; -var23 = ((long (*)(val*, long, long))(var21->class->vft[COLOR_layout_builders__PHOperator__op]))(var21, var_mask, var24) /* op on */; -var25 = BOX_kernel__Int(var23); /* autobox from Int to nullable Object */ -((void (*)(val*, val*, val*))(var_inhashes->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_inhashes, var_mtype, var25) /* []= on */; +var21 = ((short int (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var20) /* is_ok on */; +if(!var21) break; +var22 = ((val* (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__item]))(var20) /* item on */; +var_mtype = var22; +var23 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__PerfectHasher__operator]))(self) /* operator on */; +var24 = ((val* (*)(val*, val*))(var_ids->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var_ids, var_mtype) /* [] on */; +var26 = ((struct instance_kernel__Int*)var24)->value; /* autounbox from nullable Object to Int */; +var25 = ((long (*)(val*, long, long))(var23->class->vft[COLOR_layout_builders__PHOperator__op]))(var23, var_mask, var26) /* op on */; +var27 = BOX_kernel__Int(var25); /* autobox from Int to nullable Object */ +((void (*)(val*, val*, val*))(var_inhashes->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_inhashes, var_mtype, var27) /* []= on */; CONTINUE_label: (void)0; -((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on */; +((void (*)(val*))(var20->class->vft[COLOR_abstract_collection__Iterator__next]))(var20) /* next on */; } BREAK_label: (void)0; ((void (*)(val*, val*, val*))(var_hashes->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var_hashes, var_mclasstype, var_inhashes) /* []= on */; -CONTINUE_label26: (void)0; -((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__MapIterator__next]))(var11) /* next on */; +CONTINUE_label28: (void)0; +((void (*)(val*))(var13->class->vft[COLOR_abstract_collection__MapIterator__next]))(var13) /* next on */; } -BREAK_label26: (void)0; +BREAK_label28: (void)0; var = var_hashes; goto RET_LABEL; RET_LABEL:; @@ -4086,8 +4263,11 @@ return var; /* method layout_builders#PHOperator#op for (self: PHOperator, Int, Int): Int */ long layout_builders__PHOperator__op(val* self, long p0, long p1) { long var /* : Int */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/layout_builders.nit", 600); -exit(1); +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "op", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 600); +show_backtrace(1); RET_LABEL:; return var; } @@ -4187,8 +4367,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__TypingHasher___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 625); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 625); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -4219,8 +4400,9 @@ val* var /* : POSetBuilder[Object] */; val* var1 /* : POSetBuilder[Object] */; var1 = self->attrs[COLOR_layout_builders__TypingHasher___64dposet_builder].val; /* @poset_builder on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @poset_builder", "src/layout_builders.nit", 626); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @poset_builder"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 626); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -4241,6 +4423,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_builder) isa POSetBuilder[TypingHasher#0] */ /* isa POSetBuilder[TypingHasher#0] */ type_struct = self->type->resolution_table->types[COLOR_layout_builders__POSetBuilderlayout_builders__TypingHasher_FT0]; @@ -4252,8 +4435,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 626); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingHasher#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 626); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingHasher___64dposet_builder].val = p0; /* @poset_builder on */ RET_LABEL:; @@ -4287,9 +4472,10 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (poset_cache) isa nullable POSet[TypingHasher#0] */ /* isa nullable POSet[TypingHasher#0] */ -type_struct = self->type->resolution_table->types[COLOR_poset__POSetlayout_builders__TypingHasher_FT0]; +type_struct = self->type->resolution_table->types[COLOR_nullable_poset__POSetlayout_builders__TypingHasher_FT0]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -4302,8 +4488,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 627); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable POSet[TypingHasher#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 627); +show_backtrace(1); } self->attrs[COLOR_layout_builders__TypingHasher___64dposet_cache].val = p0; /* @poset_cache on */ RET_LABEL:; @@ -4319,6 +4507,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_mmodule /* var mmodule: MModule */; val* var_poset_builder /* var poset_builder: POSetBuilder[Object] */; val* var_operator /* var operator: PHOperator */; @@ -4333,8 +4522,10 @@ var = 0; var = p1->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 629); -exit(1); +var_class_name = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetBuilder[TypingHasher#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 629); +show_backtrace(1); } var_mmodule = p0; var_poset_builder = p1; @@ -4357,6 +4548,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : POSetBuilder[Object] */; val* var3 /* : POSet[Object] */; @@ -4381,8 +4573,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 635); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingHasher#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 635); +show_backtrace(1); } var_elements = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingHasher__poset_builder]))(self) /* poset_builder on */; @@ -4390,7 +4584,6 @@ var3 = ((val* (*)(val*, val*))(var2->class->vft[COLOR_layout_builders__POSetBuil ((void (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingHasher__poset_cache_61d]))(self, var3) /* poset_cache= on */; var4 = NEW_layout_builders__PHLayout(self->type->resolution_table->types[COLOR_layout_builders__PHLayoutlayout_builders__TypingHasher_FT0layout_builders__TypingHasher_FT0]); ((void (*)(val*))(var4->class->vft[COLOR_layout_builders__PHLayout__init]))(var4) /* init on */; -CHECK_NEW_layout_builders__PHLayout(var4); var_result = var4; var5 = ((val* (*)(val*, val*))(self->class->vft[COLOR_layout_builders__TypingHasher__build_conflicts]))(self, var_elements) /* build_conflicts on */; var_conflicts = var5; @@ -4437,20 +4630,21 @@ long var12 /* : Int */; val* var13 /* : nullable Object */; var1 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingHasher_FT0kernel__Int]); ((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashMap__init]))(var1) /* init on */; -CHECK_NEW_hash_collection__HashMap(var1); var_ids = var1; var2 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 648); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 648); +show_backtrace(1); } else { var3 = ((val* (*)(val*))(var2->class->vft[COLOR_array__Collection__to_a]))(var2) /* to_a on */; } var_lin = var3; var4 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 649); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 649); +show_backtrace(1); } else { ((void (*)(val*, val*))(var4->class->vft[COLOR_sorter__AbstractSorter__sort]))(var4, var_lin) /* sort on */; } @@ -4495,6 +4689,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Set[Object] */; val* var2 /* : HashMap[Object, Set[Object]] */; val* var_conflicts /* var conflicts: HashMap[Object, Set[Object]] */; @@ -4518,13 +4713,14 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 656); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[TypingHasher#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 656); +show_backtrace(1); } var_elements = p0; var2 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__TypingHasher_FT0abstract_collection__Setlayout_builders__TypingHasher_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on */; -CHECK_NEW_hash_collection__HashMap(var2); var_conflicts = var2; var3 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_elements) /* iterator on */; for(;;) { @@ -4534,12 +4730,12 @@ var5 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Iterator__i var_e = var5; var6 = NEW_hash_collection__HashSet(self->type->resolution_table->types[COLOR_hash_collection__HashSetlayout_builders__TypingHasher_FT0]); ((void (*)(val*))(var6->class->vft[COLOR_hash_collection__HashSet__init]))(var6) /* init on */; -CHECK_NEW_hash_collection__HashSet(var6); var_supers = var6; var7 = ((val* (*)(val*))(self->class->vft[COLOR_layout_builders__TypingLayoutBuilder__poset]))(self) /* poset on */; if (var7 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/layout_builders.nit", 660); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 660); +show_backtrace(1); } else { var8 = ((val* (*)(val*, val*))(var7->class->vft[COLOR_poset__POSet___91d_93d]))(var7, var_e) /* [] on */; } @@ -4574,7 +4770,6 @@ var_operator = p0; var_mmodule = p1; var = NEW_layout_builders__MTypePOSetBuilder(&type_layout_builders__MTypePOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MTypePOSetBuilder(var); ((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingHasher__init]))(self, var_mmodule, var, var_operator) /* init on */; RET_LABEL:; } @@ -4592,7 +4787,6 @@ var_operator = p0; var_mmodule = p1; var = NEW_layout_builders__MClassPOSetBuilder(&type_layout_builders__MClassPOSetBuilder); ((void (*)(val*, val*))(var->class->vft[COLOR_layout_builders__POSetBuilder__init]))(var, var_mmodule) /* init on */; -CHECK_NEW_layout_builders__MClassPOSetBuilder(var); ((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_layout_builders__TypingHasher__init]))(self, var_mmodule, var, var_operator) /* init on */; RET_LABEL:; } @@ -4607,8 +4801,9 @@ val* var /* : MModule */; val* var1 /* : MModule */; var1 = self->attrs[COLOR_layout_builders__MPropertyHasher___64dmmodule].val; /* @mmodule on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmodule", "src/layout_builders.nit", 685); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmodule"); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 685); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -4677,7 +4872,6 @@ short int var17 /* : Bool */; var_mclasses = p0; var1 = NEW_poset__POSet(&type_poset__POSetmodel__MClass); ((void (*)(val*))(var1->class->vft[COLOR_poset__POSet__init]))(var1) /* init on */; -CHECK_NEW_poset__POSet(var1); var_poset = var1; var2 = ((val* (*)(val*))(var_mclasses->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_mclasses) /* iterator on */; for(;;) { @@ -4744,6 +4938,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_elements /* var elements: Map[MClass, Set[PropertyLayoutElement]] */; val* var2 /* : PHLayout[MClass, PropertyLayoutElement] */; val* var_result /* var result: PHLayout[MClass, PropertyLayoutElement] */; @@ -4786,21 +4981,20 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/layout_builders.nit", 704); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[MClass, Set[PropertyLayoutBuilder#0]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "src/layout_builders.nit", 704); +show_backtrace(1); } var_elements = p0; var2 = NEW_layout_builders__PHLayout(self->type->resolution_table->types[COLOR_layout_builders__PHLayoutmodel__MClasslayout_builders__MPropertyHasher_FT0]); ((void (*)(val*))(var2->class->vft[COLOR_layout_builders__PHLayout__init]))(var2) /* init on */; -CHECK_NEW_layout_builders__PHLayout(var2); var_result = var2; var3 = NEW_hash_collection__HashMap(self->type->resolution_table->types[COLOR_hash_collection__HashMaplayout_builders__MPropertyHasher_FT0kernel__Int]); ((void (*)(val*))(var3->class->vft[COLOR_hash_collection__HashMap__init]))(var3) /* init on */; -CHECK_NEW_hash_collection__HashMap(var3); var_ids = var3; var4 = NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MClass); ((void (*)(val*))(var4->class->vft[COLOR_hash_collection__HashSet__init]))(var4) /* init on */; -CHECK_NEW_hash_collection__HashSet(var4); var_mclasses = var4; var5 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__MapRead__keys]))(var_elements) /* keys on */; ((void (*)(val*, val*))(var_mclasses->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var_mclasses, var5) /* add_all on */; @@ -4911,11 +5105,9 @@ val* var20 /* : Map[Object, Map[Object, Int]] */; var_elements = p0; var1 = NEW_layout_builders__PHLayout(&type_layout_builders__PHLayoutmodel__MClassTypemodel__MType); ((void (*)(val*))(var1->class->vft[COLOR_layout_builders__PHLayout__init]))(var1) /* init on */; -CHECK_NEW_layout_builders__PHLayout(var1); var_result = var1; var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapmodel__MTypekernel__Int); ((void (*)(val*))(var2->class->vft[COLOR_hash_collection__HashMap__init]))(var2) /* init on */; -CHECK_NEW_hash_collection__HashMap(var2); var_ids = var2; var3 = 1; var_color = var3;