X-Git-Url: http://nitlanguage.org diff --git a/c_src/abstract_collection.sep.1.c b/c_src/abstract_collection.sep.1.c index c2a2184..06b15ef 100644 --- a/c_src/abstract_collection.sep.1.c +++ b/c_src/abstract_collection.sep.1.c @@ -2,8 +2,11 @@ /* method abstract_collection#Collection#iterator for (self: Collection[nullable Object]): Iterator[nullable Object] */ val* abstract_collection__Collection__iterator(val* self) { val* var /* : Iterator[nullable Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 54); -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`", "iterator", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 54); +show_backtrace(1); RET_LABEL:; return var; } @@ -16,28 +19,6 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_collection#Collection#iterate for (self: Collection[nullable Object]) */ -void abstract_collection__Collection__iterate(val* self) { -val* var /* : Iterator[nullable Object] */; -val* var_i /* var i: Iterator[nullable Object] */; -short int var1 /* : Bool */; -var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on */; -var_i = var; -for(;;) { -var1 = ((short int (*)(val*))(var_i->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_i) /* is_ok on */; -if (!var1) break; -printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/abstract_collection.nit:63,4--15\n"); -((void (*)(val*))(var_i->class->vft[COLOR_abstract_collection__Iterator__next]))(var_i) /* next on */; -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -RET_LABEL:; -} -/* method abstract_collection#Collection#iterate for (self: Object) */ -void VIRTUAL_abstract_collection__Collection__iterate(val* self) { -abstract_collection__Collection__iterate(self); -RET_LABEL:; -} /* method abstract_collection#Collection#is_empty for (self: Collection[nullable Object]): Bool */ short int abstract_collection__Collection__is_empty(val* self) { short int var /* : Bool */; @@ -121,6 +102,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; val* var2 /* : Iterator[nullable Object] */; short int var3 /* : Bool */; @@ -145,8 +127,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 86); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 75); +show_backtrace(1); } var_item = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on */; @@ -193,6 +177,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; val* var2 /* : Iterator[nullable Object] */; short int var3 /* : Bool */; @@ -217,8 +202,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 99); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 88); +show_backtrace(1); } var_item = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on */; @@ -265,6 +252,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; long var2 /* : Int */; long var_nb /* var nb: Int */; @@ -292,8 +280,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 116); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 105); +show_backtrace(1); } var_item = p0; var2 = 0; @@ -347,6 +337,7 @@ short int var3 /* : Bool */; short int var5 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var6 /* : Bool */; val* var7 /* : Iterator[nullable Object] */; val* var8 /* : nullable Object */; @@ -357,8 +348,10 @@ var2 = 0; /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (!var5) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +var_class_name = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); +show_backtrace(1); } var6 = var1 > var2; var3 = var6; @@ -366,8 +359,9 @@ goto RET_LABEL4; RET_LABEL4:(void)0; } if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/collection/abstract_collection.nit", 132); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 121); +show_backtrace(1); } var7 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on */; var8 = ((val* (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__item]))(var7) /* item on */; @@ -392,6 +386,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_other /* var other: Collection[nullable Object] */; val* var2 /* : Iterator[nullable Object] */; short int var3 /* : Bool */; @@ -412,8 +407,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 136); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Collection#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 125); +show_backtrace(1); } var_other = p0; var2 = ((val* (*)(val*))(var_other->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_other) /* iterator on */; @@ -452,8 +449,11 @@ return var; /* method abstract_collection#Iterator#item for (self: Iterator[nullable Object]): nullable Object */ val* abstract_collection__Iterator__item(val* self) { val* var /* : nullable Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 152); -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`", "item", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 141); +show_backtrace(1); RET_LABEL:; return var; } @@ -468,8 +468,11 @@ return var; } /* method abstract_collection#Iterator#next for (self: Iterator[nullable Object]) */ void abstract_collection__Iterator__next(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 156); -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`", "next", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 145); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Iterator#next for (self: Object) */ @@ -480,8 +483,11 @@ RET_LABEL:; /* method abstract_collection#Iterator#is_ok for (self: Iterator[nullable Object]): Bool */ short int abstract_collection__Iterator__is_ok(val* self) { short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 160); -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`", "is_ok", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 149); +show_backtrace(1); RET_LABEL:; return var; } @@ -559,6 +565,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_an_item /* var an_item: nullable Object */; val* var2 /* : nullable Object */; short int var3 /* : Bool */; @@ -578,8 +585,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 174); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 164); +show_backtrace(1); } var_an_item = p0; var2 = self->attrs[COLOR_abstract_collection__Container___item].val; /* _item on */ @@ -610,6 +619,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_an_item /* var an_item: nullable Object */; val* var2 /* : nullable Object */; short int var3 /* : Bool */; @@ -629,8 +639,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 176); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 166); +show_backtrace(1); } var_an_item = p0; var2 = self->attrs[COLOR_abstract_collection__Container___item].val; /* _item on */ @@ -661,6 +673,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_an_item /* var an_item: nullable Object */; val* var2 /* : nullable Object */; short int var3 /* : Bool */; @@ -682,8 +695,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 178); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 168); +show_backtrace(1); } var_an_item = p0; var2 = self->attrs[COLOR_abstract_collection__Container___item].val; /* _item on */ @@ -719,7 +734,6 @@ val* var /* : Iterator[nullable Object] */; val* var1 /* : ContainerIterator[nullable Object] */; var1 = NEW_abstract_collection__ContainerIterator(self->type->resolution_table->types[COLOR_abstract_collection__ContainerIteratorabstract_collection__Container_FT0]); ((void (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__ContainerIterator__init]))(var1, self) /* init on */; -CHECK_NEW_abstract_collection__ContainerIterator(var1); var = var1; goto RET_LABEL; RET_LABEL:; @@ -741,6 +755,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_e /* var e: nullable Object */; /* Covariant cast for argument 0 (e) isa Container#0 */ /* isa Container#0 */ @@ -758,8 +773,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 189); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Container#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 179); +show_backtrace(1); } var_e = p0; self->attrs[COLOR_abstract_collection__Container___item].val = var_e; /* _item on */ @@ -795,6 +812,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; /* Covariant cast for argument 0 (item) isa Container#0 */ /* isa Container#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Container_FT0]; @@ -811,8 +829,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 192); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Container#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 182); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__Container___item].val = p0; /* _item on */ RET_LABEL:; @@ -829,8 +849,9 @@ val* var1 /* : Container[nullable Object] */; val* var2 /* : nullable Object */; var1 = self->attrs[COLOR_abstract_collection__ContainerIterator___container].val; /* _container on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _container", "lib/standard/collection/abstract_collection.nit", 199); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _container"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 189); +show_backtrace(1); } var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Container__item]))(var1) /* item on */; var = var2; @@ -865,6 +886,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_c /* var c: Container[nullable Object] */; /* Covariant cast for argument 0 (c) isa Container[ContainerIterator#0] */ /* isa Container[ContainerIterator#0] */ @@ -877,8 +899,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 203); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Container[ContainerIterator#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 193); +show_backtrace(1); } var_c = p0; self->attrs[COLOR_abstract_collection__ContainerIterator___container].val = var_c; /* _container on */ @@ -909,8 +933,11 @@ return var; } /* method abstract_collection#RemovableCollection#clear for (self: RemovableCollection[nullable Object]) */ void abstract_collection__RemovableCollection__clear(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 213); -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`", "clear", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 203); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#RemovableCollection#clear for (self: Object) */ @@ -925,6 +952,8 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; +const char* var_class_name1; /* Covariant cast for argument 0 (item) isa RemovableCollection#0 */ /* isa RemovableCollection#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__RemovableCollection_FT0]; @@ -941,11 +970,15 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 216); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 206); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 216); -exit(1); +var_class_name1 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "remove", var_class_name1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 206); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#RemovableCollection#remove for (self: Object, nullable Object) */ @@ -960,6 +993,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; short int var1 /* : Bool */; /* Covariant cast for argument 0 (item) isa RemovableCollection#0 */ @@ -978,8 +1012,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 219); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 209); +show_backtrace(1); } var_item = p0; for(;;) { @@ -1003,6 +1039,8 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; +const char* var_class_name1; /* Covariant cast for argument 0 (item) isa SimpleCollection#0 */ /* isa SimpleCollection#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__SimpleCollection_FT0]; @@ -1019,11 +1057,15 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 226); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 216); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 226); -exit(1); +var_class_name1 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "add", var_class_name1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 216); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#SimpleCollection#add for (self: Object, nullable Object) */ @@ -1037,6 +1079,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_coll /* var coll: Collection[nullable Object] */; val* var1 /* : Iterator[nullable Object] */; short int var2 /* : Bool */; @@ -1053,8 +1096,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 230); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[SimpleCollection#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 220); +show_backtrace(1); } var_coll = p0; var1 = ((val* (*)(val*))(var_coll->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_coll) /* iterator on */; @@ -1082,6 +1127,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_item /* var item: Object */; long var2 /* : Int */; long var_l /* var l: Int */; @@ -1105,8 +1151,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 246); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 236); +show_backtrace(1); } var_item = p0; var2 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; @@ -1159,6 +1207,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_item /* var item: Object */; short int var2 /* : Bool */; long var3 /* : Int */; @@ -1174,8 +1223,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 258); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 248); +show_backtrace(1); } var_item = p0; var2 = ((short int (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__Collection__has]))(self, var_item) /* has on */; @@ -1206,6 +1257,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_item /* var item: Object */; /* Covariant cast for argument 0 (item) isa RemovableCollection#0 */ /* isa RemovableCollection#0 */ @@ -1218,8 +1270,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 268); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 258); +show_backtrace(1); } var_item = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__RemovableCollection__remove]))(self, var_item) /* remove on */; @@ -1249,6 +1303,7 @@ short int var11 /* : Bool */; int cltype12; int idtype13; const struct type* type_struct; +const char* var_class_name; short int var14 /* : Bool */; var_other = p0; /* isa Set[Object] */ @@ -1295,8 +1350,10 @@ var11 = 0; var11 = var_other->type->type_table[cltype12] == idtype13; } if (!var11) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 276); -exit(1); +var_class_name = var_other == NULL ? "null" : var_other->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Set#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 266); +show_backtrace(1); } var14 = ((short int (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__Collection__has_all]))(self, var_other) /* has_all on */; var = var14; @@ -1366,6 +1423,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 (key) isa MapRead#0 */ /* isa MapRead#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapRead_FT0]; @@ -1377,11 +1436,15 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 290); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 280); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 290); -exit(1); +var_class_name2 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "[]", var_class_name2); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 280); +show_backtrace(1); RET_LABEL:; return var; } @@ -1401,15 +1464,17 @@ 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 is_nullable; +const char* var_class_name6; val* var_key /* var key: Object */; val* var_default /* var default: nullable Object */; -short int var6 /* : Bool */; -val* var7 /* : nullable Object */; +short int var7 /* : Bool */; +val* var8 /* : nullable Object */; /* Covariant cast for argument 0 (key) isa MapRead#0 */ /* isa MapRead#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapRead_FT0]; @@ -1421,8 +1486,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 293); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 283); +show_backtrace(1); } /* Covariant cast for argument 1 (default) isa MapRead#1 */ /* isa MapRead#1 */ @@ -1440,15 +1507,17 @@ var2 = p1->type->type_table[cltype3] == idtype4; } } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 293); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#1", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 283); +show_backtrace(1); } var_key = p0; var_default = p1; -var6 = ((short int (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__MapRead__has_key]))(self, var_key) /* has_key on */; -if (var6){ -var7 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(self, var_key) /* [] on */; -var = var7; +var7 = ((short int (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__MapRead__has_key]))(self, var_key) /* has_key on */; +if (var7){ +var8 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(self, var_key) /* [] on */; +var = var8; goto RET_LABEL; } else { } @@ -1473,6 +1542,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_key /* var key: Object */; val* var2 /* : Collection[Object] */; short int var3 /* : Bool */; @@ -1487,8 +1557,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 300); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 290); +show_backtrace(1); } var_key = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__MapRead__keys]))(self) /* keys on */; @@ -1510,8 +1582,11 @@ return var; /* method abstract_collection#MapRead#iterator for (self: MapRead[Object, nullable Object]): MapIterator[Object, nullable Object] */ val* abstract_collection__MapRead__iterator(val* self) { val* var /* : MapIterator[Object, nullable Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 303); -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`", "iterator", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 293); +show_backtrace(1); RET_LABEL:; return var; } @@ -1524,33 +1599,14 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_collection#MapRead#iterate for (self: MapRead[Object, nullable Object]) */ -void abstract_collection__MapRead__iterate(val* self) { -val* var /* : MapIterator[Object, nullable Object] */; -val* var_i /* var i: MapIterator[Object, nullable Object] */; -short int var1 /* : Bool */; -var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__MapRead__iterator]))(self) /* iterator on */; -var_i = var; -for(;;) { -var1 = ((short int (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__is_ok]))(var_i) /* is_ok on */; -if (!var1) break; -printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/abstract_collection.nit:312,4--22\n"); -((void (*)(val*))(var_i->class->vft[COLOR_abstract_collection__MapIterator__next]))(var_i) /* next on */; -CONTINUE_label: (void)0; -} -BREAK_label: (void)0; -RET_LABEL:; -} -/* method abstract_collection#MapRead#iterate for (self: Object) */ -void VIRTUAL_abstract_collection__MapRead__iterate(val* self) { -abstract_collection__MapRead__iterate(self); -RET_LABEL:; -} /* method abstract_collection#MapRead#values for (self: MapRead[Object, nullable Object]): Collection[nullable Object] */ val* abstract_collection__MapRead__values(val* self) { val* var /* : Collection[nullable Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 317); -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`", "values", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 296); +show_backtrace(1); RET_LABEL:; return var; } @@ -1566,8 +1622,11 @@ return var; /* method abstract_collection#MapRead#keys for (self: MapRead[Object, nullable Object]): Collection[Object] */ val* abstract_collection__MapRead__keys(val* self) { val* var /* : Collection[Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 322); -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`", "keys", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 301); +show_backtrace(1); RET_LABEL:; return var; } @@ -1583,8 +1642,11 @@ return var; /* method abstract_collection#MapRead#is_empty for (self: MapRead[Object, nullable Object]): Bool */ short int abstract_collection__MapRead__is_empty(val* self) { short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 327); -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`", "is_empty", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 306); +show_backtrace(1); RET_LABEL:; return var; } @@ -1600,8 +1662,11 @@ return var; /* method abstract_collection#MapRead#length for (self: MapRead[Object, nullable Object]): Int */ long abstract_collection__MapRead__length(val* self) { long var /* : Int */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 330); -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`", "length", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 309); +show_backtrace(1); RET_LABEL:; return var; } @@ -1620,11 +1685,14 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; short int var1 /* : Bool */; int cltype2; int idtype3; const struct type* type_struct4; short int is_nullable; +const char* var_class_name5; +const char* var_class_name6; /* Covariant cast for argument 0 (key) isa Map#0 */ /* isa Map#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Map_FT0]; @@ -1636,8 +1704,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 360); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 339); +show_backtrace(1); } /* Covariant cast for argument 1 (item) isa Map#1 */ /* isa Map#1 */ @@ -1655,11 +1725,15 @@ var1 = p1->type->type_table[cltype2] == idtype3; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 360); -exit(1); +var_class_name5 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#1", var_class_name5); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 339); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 360); -exit(1); +var_class_name6 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "[]=", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 339); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Map#[]= for (self: Object, Object, nullable Object) */ @@ -1673,6 +1747,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_map /* var map: Map[Object, nullable Object] */; val* var1 /* : MapIterator[Object, nullable Object] */; val* var_i /* var i: MapIterator[Object, nullable Object] */; @@ -1690,8 +1765,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 363); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[Map#0, Map#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 342); +show_backtrace(1); } var_map = p0; var1 = ((val* (*)(val*))(var_map->class->vft[COLOR_abstract_collection__MapRead__iterator]))(var_map) /* iterator on */; @@ -1715,8 +1792,11 @@ RET_LABEL:; } /* method abstract_collection#Map#clear for (self: Map[Object, nullable Object]) */ void abstract_collection__Map__clear(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 374); -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`", "clear", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 353); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Map#clear for (self: Object) */ @@ -1727,8 +1807,11 @@ RET_LABEL:; /* method abstract_collection#Map#values for (self: Map[Object, nullable Object]): RemovableCollection[nullable Object] */ val* abstract_collection__Map__values(val* self) { val* var /* : RemovableCollection[nullable Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 377); -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`", "values", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 356); +show_backtrace(1); RET_LABEL:; return var; } @@ -1744,8 +1827,11 @@ return var; /* method abstract_collection#Map#keys for (self: Map[Object, nullable Object]): RemovableCollection[Object] */ val* abstract_collection__Map__keys(val* self) { val* var /* : RemovableCollection[Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 379); -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`", "keys", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 358); +show_backtrace(1); RET_LABEL:; return var; } @@ -1761,8 +1847,11 @@ return var; /* method abstract_collection#MapIterator#item for (self: MapIterator[Object, nullable Object]): nullable Object */ val* abstract_collection__MapIterator__item(val* self) { val* var /* : nullable Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 384); -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`", "item", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 363); +show_backtrace(1); RET_LABEL:; return var; } @@ -1778,8 +1867,11 @@ return var; /* method abstract_collection#MapIterator#key for (self: MapIterator[Object, nullable Object]): Object */ val* abstract_collection__MapIterator__key(val* self) { val* var /* : Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 388); -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`", "key", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 367); +show_backtrace(1); RET_LABEL:; return var; } @@ -1794,8 +1886,11 @@ return var; } /* method abstract_collection#MapIterator#next for (self: MapIterator[Object, nullable Object]) */ void abstract_collection__MapIterator__next(val* self) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 392); -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`", "next", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 371); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#MapIterator#next for (self: Object) */ @@ -1806,8 +1901,11 @@ RET_LABEL:; /* method abstract_collection#MapIterator#is_ok for (self: MapIterator[Object, nullable Object]): Bool */ short int abstract_collection__MapIterator__is_ok(val* self) { short int var /* : Bool */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 396); -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`", "is_ok", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 375); +show_backtrace(1); RET_LABEL:; return var; } @@ -1826,8 +1924,9 @@ val* var /* : MapIterator[Object, nullable Object] */; val* var1 /* : MapIterator[Object, nullable Object] */; var1 = self->attrs[COLOR_abstract_collection__MapKeysIterator___64diterator].val; /* @iterator on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @iterator", "lib/standard/collection/abstract_collection.nit", 406); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @iterator"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 385); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1848,6 +1947,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (iterator) isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */ /* isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapIteratorabstract_collection__MapKeysIterator_FT0abstract_collection__MapKeysIterator_FT1]; @@ -1859,8 +1959,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 406); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapKeysIterator#0, MapKeysIterator#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 385); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__MapKeysIterator___64diterator].val = p0; /* @iterator on */ RET_LABEL:; @@ -1930,6 +2032,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (iterator) isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */ /* isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapIteratorabstract_collection__MapKeysIterator_FT0abstract_collection__MapKeysIterator_FT1]; @@ -1941,8 +2044,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 403); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapKeysIterator#0, MapKeysIterator#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 382); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__MapKeysIterator___64diterator].val = p0; /* @iterator on */ RET_LABEL:; @@ -1958,8 +2063,9 @@ val* var /* : MapIterator[Object, nullable Object] */; val* var1 /* : MapIterator[Object, nullable Object] */; var1 = self->attrs[COLOR_abstract_collection__MapValuesIterator___64diterator].val; /* @iterator on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @iterator", "lib/standard/collection/abstract_collection.nit", 417); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @iterator"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 396); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1980,6 +2086,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (iterator) isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */ /* isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapIteratorabstract_collection__MapValuesIterator_FT0abstract_collection__MapValuesIterator_FT1]; @@ -1991,8 +2098,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 417); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapValuesIterator#0, MapValuesIterator#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 396); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__MapValuesIterator___64diterator].val = p0; /* @iterator on */ RET_LABEL:; @@ -2062,6 +2171,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; /* Covariant cast for argument 0 (iterator) isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */ /* isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__MapIteratorabstract_collection__MapValuesIterator_FT0abstract_collection__MapValuesIterator_FT1]; @@ -2073,8 +2183,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 414); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapValuesIterator#0, MapValuesIterator#1]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 393); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__MapValuesIterator___64diterator].val = p0; /* @iterator on */ RET_LABEL:; @@ -2094,8 +2206,9 @@ val* var4 /* : nullable Object */; var1 = ((short int (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__is_empty]))(self) /* is_empty on */; var2 = !var1; if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'not_empty\' failed", "lib/standard/collection/abstract_collection.nit", 433); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert \'not_empty\' failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 412); +show_backtrace(1); } var3 = 0; var4 = ((val* (*)(val*, long))(self->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(self, var3) /* [] on */; @@ -2116,8 +2229,11 @@ return var; /* method abstract_collection#SequenceRead#[] for (self: SequenceRead[nullable Object], Int): nullable Object */ val* abstract_collection__SequenceRead___91d_93d(val* self, long p0) { val* var /* : nullable Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 437); -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`", "[]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 416); +show_backtrace(1); RET_LABEL:; return var; } @@ -2143,8 +2259,9 @@ val* var8 /* : nullable Object */; var1 = ((short int (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__is_empty]))(self) /* is_empty on */; var2 = !var1; if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'not_empty\' failed", "lib/standard/collection/abstract_collection.nit", 446); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert \'not_empty\' failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 425); +show_backtrace(1); } var3 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; var4 = 1; @@ -2177,6 +2294,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; val* var2 /* : Iterator[nullable Object] */; val* var_i /* var i: IndexedIterator[nullable Object] */; @@ -2203,8 +2321,10 @@ var1 = p0->type->type_table[cltype] == idtype; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 450); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SequenceRead#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 429); +show_backtrace(1); } var_item = p0; var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__iterator]))(self) /* iterator on */; @@ -2252,8 +2372,11 @@ return var; /* method abstract_collection#SequenceRead#iterator for (self: SequenceRead[nullable Object]): IndexedIterator[nullable Object] */ val* abstract_collection__SequenceRead__iterator(val* self) { val* var /* : IndexedIterator[nullable Object] */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 463); -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`", "iterator", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 442); +show_backtrace(1); RET_LABEL:; return var; } @@ -2271,123 +2394,114 @@ short int abstract_collection__SequenceRead___61d_61d(val* self, val* p0) { short int var /* : Bool */; val* var_o /* var o: nullable Object */; short int var1 /* : Bool */; -short int var2 /* : Bool */; int cltype; int idtype; +short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var_ /* var : Bool */; -val* var4 /* : null */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; -long var7 /* : Int */; +long var4 /* : Int */; long var_l /* var l: Int */; -long var8 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -long var14 /* : Int */; +short int var10 /* : Bool */; +long var11 /* : Int */; long var_i /* var i: Int */; -short int var15 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name; short int var17 /* : Bool */; -int cltype18; -int idtype19; +val* var18 /* : nullable Object */; +val* var19 /* : nullable Object */; short int var20 /* : Bool */; -val* var21 /* : nullable Object */; -val* var22 /* : nullable Object */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; +short int var21 /* : Bool */; +long var22 /* : Int */; +long var23 /* : Int */; long var25 /* : Int */; -long var26 /* : Int */; -long var28 /* : Int */; -short int var29 /* : Bool */; +short int var26 /* : Bool */; var_o = p0; /* isa SequenceRead[nullable Object] */ cltype = type_abstract_collection__SequenceReadnullable_kernel__Object.color; idtype = type_abstract_collection__SequenceReadnullable_kernel__Object.id; if(var_o == NULL) { -var2 = 0; +var1 = 0; } else { if(cltype >= var_o->type->table_size) { -var2 = 0; +var1 = 0; } else { -var2 = var_o->type->type_table[cltype] == idtype; +var1 = var_o->type->type_table[cltype] == idtype; } } -var3 = !var2; -var_ = var3; -if (var3){ -var1 = var_; -} else { -var4 = NULL; -var5 = var_o == var4; -var1 = var5; -} -if (var1){ -var6 = 0; -var = var6; +var2 = !var1; +if (var2){ +var3 = 0; +var = var3; goto RET_LABEL; } else { } -var7 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; -var_l = var7; -var8 = ((long (*)(val*))(var_o->class->vft[COLOR_abstract_collection__Collection__length]))(var_o) /* length on */; -{ /* Inline kernel#Int#!= (var8,var_l) */ -var11 = var8 == var_l; -var12 = !var11; -var9 = var12; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var4 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; +var_l = var4; +var5 = ((long (*)(val*))(var_o->class->vft[COLOR_abstract_collection__Collection__length]))(var_o) /* length on */; +{ /* Inline kernel#Int#!= (var5,var_l) */ +var8 = var5 == var_l; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -if (var9){ -var13 = 0; -var = var13; +if (var6){ +var10 = 0; +var = var10; goto RET_LABEL; } else { } -var14 = 0; -var_i = var14; +var11 = 0; +var_i = var11; for(;;) { { /* Inline kernel#Int#< (var_i,var_l) */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var17 = 1; /* easy isa OTHER*/ -if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var20 = var_i < var_l; -var15 = var20; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -if (!var15) break; -var21 = ((val* (*)(val*, long))(self->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(self, var_i) /* [] on */; -var22 = ((val* (*)(val*, long))(var_o->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_o, var_i) /* [] on */; -if (var21 == NULL) { -var23 = (var22 != NULL); -} else { -var23 = ((short int (*)(val*, val*))(var21->class->vft[COLOR_kernel__Object___33d_61d]))(var21, var22) /* != on */; -} -if (var23){ -var24 = 0; -var = var24; +var14 = 1; /* easy isa OTHER*/ +if (!var14) { +var_class_name = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261); +show_backtrace(1); +} +var17 = var_i < var_l; +var12 = var17; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +if (!var12) break; +var18 = ((val* (*)(val*, long))(self->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(self, var_i) /* [] on */; +var19 = ((val* (*)(val*, long))(var_o->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_o, var_i) /* [] on */; +if (var18 == NULL) { +var20 = (var19 != NULL); +} else { +var20 = ((short int (*)(val*, val*))(var18->class->vft[COLOR_kernel__Object___33d_61d]))(var18, var19) /* != on */; +} +if (var20){ +var21 = 0; +var = var21; goto RET_LABEL; } else { } -var25 = 1; -{ /* Inline kernel#Int#+ (var_i,var25) */ -var28 = var_i + var25; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var22 = 1; +{ /* Inline kernel#Int#+ (var_i,var22) */ +var25 = var_i + var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var_i = var26; +var_i = var23; CONTINUE_label: (void)0; } BREAK_label: (void)0; -var29 = 1; -var = var29; +var26 = 1; +var = var26; goto RET_LABEL; RET_LABEL:; return var; @@ -2454,6 +2568,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; long var1 /* : Int */; /* Covariant cast for argument 0 (item) isa Sequence#0 */ @@ -2472,8 +2587,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 494); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 473); +show_backtrace(1); } var_item = p0; var1 = 0; @@ -2492,6 +2609,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_item /* var item: nullable Object */; long var1 /* : Int */; long var_l /* var l: Int */; @@ -2500,11 +2618,12 @@ short int var3 /* : Bool */; short int var5 /* : Bool */; int cltype6; int idtype7; -short int var8 /* : Bool */; -long var9 /* : Int */; +const char* var_class_name8; +short int var9 /* : Bool */; long var10 /* : Int */; -long var12 /* : Int */; +long var11 /* : Int */; long var13 /* : Int */; +long var14 /* : Int */; /* Covariant cast for argument 0 (item) isa Sequence#0 */ /* isa Sequence#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0]; @@ -2521,8 +2640,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 499); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 478); +show_backtrace(1); } var_item = p0; var1 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; @@ -2533,26 +2654,28 @@ var2 = 0; /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (!var5) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +var_class_name8 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); +show_backtrace(1); } -var8 = var_l > var2; -var3 = var8; +var9 = var_l > var2; +var3 = var9; goto RET_LABEL4; RET_LABEL4:(void)0; } if (var3){ -var9 = 1; -{ /* Inline kernel#Int#- (var_l,var9) */ -var12 = var_l - var9; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var10 = 1; +{ /* Inline kernel#Int#- (var_l,var10) */ +var13 = var_l - var10; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } -((void (*)(val*, long, val*))(self->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(self, var10, var_item) /* []= on */; +((void (*)(val*, long, val*))(self->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(self, var11, var_item) /* []= on */; } else { -var13 = 0; -((void (*)(val*, long, val*))(self->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(self, var13, var_item) /* []= on */; +var14 = 0; +((void (*)(val*, long, val*))(self->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(self, var14, var_item) /* []= on */; } RET_LABEL:; } @@ -2568,6 +2691,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; val* var_e /* var e: nullable Object */; /* Covariant cast for argument 0 (e) isa SimpleCollection#0 */ /* isa SimpleCollection#0 */ @@ -2585,8 +2709,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 511); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 490); +show_backtrace(1); } var_e = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__Sequence__push]))(self, var_e) /* push on */; @@ -2604,6 +2730,8 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; +const char* var_class_name1; /* Covariant cast for argument 0 (e) isa Sequence#0 */ /* isa Sequence#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0]; @@ -2620,11 +2748,15 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 514); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 493); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 514); -exit(1); +var_class_name1 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "push", var_class_name1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 493); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Sequence#push for (self: Object, nullable Object) */ @@ -2638,6 +2770,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_coll /* var coll: Collection[nullable Object] */; val* var1 /* : Iterator[nullable Object] */; short int var2 /* : Bool */; @@ -2654,8 +2787,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 517); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 496); +show_backtrace(1); } var_coll = p0; var1 = ((val* (*)(val*))(var_coll->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_coll) /* iterator on */; @@ -2679,8 +2814,11 @@ RET_LABEL:; /* method abstract_collection#Sequence#pop for (self: Sequence[nullable Object]): nullable Object */ val* abstract_collection__Sequence__pop(val* self) { val* var /* : nullable Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 520); -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`", "pop", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 499); +show_backtrace(1); RET_LABEL:; return var; } @@ -2700,6 +2838,8 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; +const char* var_class_name1; /* Covariant cast for argument 0 (e) isa Sequence#0 */ /* isa Sequence#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0]; @@ -2716,11 +2856,15 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 523); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 502); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 523); -exit(1); +var_class_name1 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "unshift", var_class_name1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 502); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Sequence#unshift for (self: Object, nullable Object) */ @@ -2731,8 +2875,11 @@ RET_LABEL:; /* method abstract_collection#Sequence#shift for (self: Sequence[nullable Object]): nullable Object */ val* abstract_collection__Sequence__shift(val* self) { val* var /* : nullable Object */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 526); -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`", "shift", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 505); +show_backtrace(1); RET_LABEL:; return var; } @@ -2752,6 +2899,8 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; +const char* var_class_name1; /* Covariant cast for argument 1 (item) isa Sequence#0 */ /* isa Sequence#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Sequence_FT0]; @@ -2768,11 +2917,15 @@ var = p1->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 530); -exit(1); +var_class_name = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 509); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 530); -exit(1); +var_class_name1 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "[]=", var_class_name1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 509); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Sequence#[]= for (self: Object, Int, nullable Object) */ @@ -2782,8 +2935,11 @@ RET_LABEL:; } /* method abstract_collection#Sequence#remove_at for (self: Sequence[nullable Object], Int) */ void abstract_collection__Sequence__remove_at(val* self, long p0) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 533); -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`", "remove_at", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 512); +show_backtrace(1); RET_LABEL:; } /* method abstract_collection#Sequence#remove_at for (self: Object, Int) */ @@ -2794,8 +2950,11 @@ RET_LABEL:; /* method abstract_collection#IndexedIterator#index for (self: IndexedIterator[nullable Object]): Int */ long abstract_collection__IndexedIterator__index(val* self) { long var /* : Int */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 540); -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`", "index", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 519); +show_backtrace(1); RET_LABEL:; return var; } @@ -2815,6 +2974,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 (key) isa CoupleMap#0 */ /* isa CoupleMap#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__CoupleMap_FT0]; @@ -2826,11 +2987,15 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 547); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "CoupleMap#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 526); +show_backtrace(1); } -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/abstract_collection.nit", 547); -exit(1); +var_class_name2 = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "couple_at", var_class_name2); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 526); +show_backtrace(1); RET_LABEL:; return var; } @@ -2850,6 +3015,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_key /* var key: Object */; val* var2 /* : nullable Couple[Object, nullable Object] */; val* var_c /* var c: nullable Couple[Object, nullable Object] */; @@ -2867,8 +3033,10 @@ var1 = 0; var1 = p0->type->type_table[cltype] == idtype; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 551); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 530); +show_backtrace(1); } var_key = p0; var2 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_collection__CoupleMap__couple_at]))(self, var_key) /* couple_at on */; @@ -2880,8 +3048,9 @@ var4 = 1; /* is null */ var4 = 0; /* arg is null but recv is not */ } if (var4){ -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "lib/standard/collection/abstract_collection.nit", 555); -exit(1); +fprintf(stderr, "Runtime error: %s", "Aborted"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 534); +show_backtrace(1); } else { var5 = ((val* (*)(val*))(var_c->class->vft[COLOR_abstract_collection__Couple__second]))(var_c) /* second on */; var = var5; @@ -2907,8 +3076,9 @@ val* var2 /* : nullable Object */; val* var3 /* : nullable Object */; var1 = self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val; /* _iter on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/abstract_collection.nit", 567); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _iter"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 546); +show_backtrace(1); } var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Couple__second]))(var2) /* second on */; @@ -2934,8 +3104,9 @@ val* var2 /* : nullable Object */; val* var3 /* : nullable Object */; var1 = self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val; /* _iter on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/abstract_collection.nit", 571); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _iter"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 550); +show_backtrace(1); } var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__item]))(var1) /* item on */; var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Couple__first]))(var2) /* first on */; @@ -2960,8 +3131,9 @@ val* var1 /* : Iterator[Couple[Object, nullable Object]] */; short int var2 /* : Bool */; var1 = self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val; /* _iter on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/abstract_collection.nit", 573); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _iter"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 552); +show_backtrace(1); } var2 = ((short int (*)(val*))(var1->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var1) /* is_ok on */; var = var2; @@ -2983,8 +3155,9 @@ void abstract_collection__CoupleMapIterator__next(val* self) { val* var /* : Iterator[Couple[Object, nullable Object]] */; var = self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val; /* _iter on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/abstract_collection.nit", 577); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _iter"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 556); +show_backtrace(1); } ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on */; RET_LABEL:; @@ -3000,6 +3173,7 @@ short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_i /* var i: Iterator[Couple[Object, nullable Object]] */; /* Covariant cast for argument 0 (i) isa Iterator[Couple[CoupleMapIterator#0, CoupleMapIterator#1]] */ /* isa Iterator[Couple[CoupleMapIterator#0, CoupleMapIterator#1]] */ @@ -3012,8 +3186,10 @@ var = 0; var = p0->type->type_table[cltype] == idtype; } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 582); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Iterator[Couple[CoupleMapIterator#0, CoupleMapIterator#1]]", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 561); +show_backtrace(1); } var_i = p0; self->attrs[COLOR_abstract_collection__CoupleMapIterator___iter].val = var_i; /* _iter on */ @@ -3049,6 +3225,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; /* Covariant cast for argument 0 (first) isa Couple#0 */ /* isa Couple#0 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Couple_FT0]; @@ -3065,8 +3242,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 590); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Couple#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 569); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__Couple___first].val = p0; /* _first on */ RET_LABEL:; @@ -3101,6 +3280,7 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; /* Covariant cast for argument 0 (second) isa Couple#1 */ /* isa Couple#1 */ type_struct = self->type->resolution_table->types[COLOR_abstract_collection__Couple_FT1]; @@ -3117,8 +3297,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 593); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Couple#1", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 572); +show_backtrace(1); } self->attrs[COLOR_abstract_collection__Couple___second].val = p0; /* _second on */ RET_LABEL:; @@ -3135,11 +3317,13 @@ int cltype; int idtype; const struct type* type_struct; short int is_nullable; +const char* var_class_name; short int var1 /* : Bool */; int cltype2; int idtype3; const struct type* type_struct4; short int is_nullable5; +const char* var_class_name6; val* var_f /* var f: nullable Object */; val* var_s /* var s: nullable Object */; /* Covariant cast for argument 0 (f) isa Couple#0 */ @@ -3158,8 +3342,10 @@ var = p0->type->type_table[cltype] == idtype; } } if (!var) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 596); -exit(1); +var_class_name = p0 == NULL ? "null" : p0->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Couple#0", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 575); +show_backtrace(1); } /* Covariant cast for argument 1 (s) isa Couple#1 */ /* isa Couple#1 */ @@ -3177,8 +3363,10 @@ var1 = p1->type->type_table[cltype2] == idtype3; } } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/abstract_collection.nit", 596); -exit(1); +var_class_name6 = p1 == NULL ? "null" : p1->type->name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Couple#1", var_class_name6); +fprintf(stderr, " (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 575); +show_backtrace(1); } var_f = p0; var_s = p1;