X-Git-Url: http://nitlanguage.org diff --git a/c_src/global_compiler.sep.1.c b/c_src/global_compiler.sep.1.c index b0ca7f5..95f670b 100644 --- a/c_src/global_compiler.sep.1.c +++ b/c_src/global_compiler.sep.1.c @@ -126,7 +126,6 @@ var6 = 1; ((void (*)(val*, val*, long))(var1->class->vft[COLOR_toolcontext__ToolContext__info]))(var1, var2, var6) /* info on */; var7 = NEW_global_compiler__GlobalCompiler(&type_global_compiler__GlobalCompiler); ((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_global_compiler__GlobalCompiler__init]))(var7, var_mainmodule, self, var_runtime_type_analysis) /* init on */; -CHECK_NEW_global_compiler__GlobalCompiler(var7); var_compiler = var7; ((void (*)(val*))(var_compiler->class->vft[COLOR_abstract_compiler__AbstractCompiler__compile_header]))(var_compiler) /* compile_header on */; var8 = ((val* (*)(val*))(var_runtime_type_analysis->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types]))(var_runtime_type_analysis) /* live_types on */; @@ -162,7 +161,6 @@ varonce18 = var19; var23 = ((short int (*)(val*, val*))(var17->class->vft[COLOR_kernel__Object___61d_61d]))(var17, var19) /* == on */; if (var23){ ((void (*)(val*, val*))(var_compiler->class->vft[COLOR_global_compiler__GlobalCompiler__generate_init_instance]))(var_compiler, var_t16) /* generate_init_instance on */; -((void (*)(val*, val*))(var_compiler->class->vft[COLOR_abstract_compiler__AbstractCompiler__generate_check_init_instance]))(var_compiler, var_t16) /* generate_check_init_instance on */; } else { ((void (*)(val*, val*))(var_compiler->class->vft[COLOR_global_compiler__GlobalCompiler__generate_box_instance]))(var_compiler, var_t16) /* generate_box_instance on */; } @@ -242,7 +240,6 @@ var64 = BOX_kernel__Int(var54); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var62)->values[5] = (val*) var64; ((struct instance_array__NativeArray*)var62)->values[6] = (val*) var56; ((void (*)(val*, val*, long))(var60->class->vft[COLOR_array__Array__with_native]))(var60, var62, var61) /* with_native on */; -CHECK_NEW_array__Array(var60); } var65 = ((val* (*)(val*))(var60->class->vft[COLOR_string__Object__to_s]))(var60) /* to_s on */; var66 = 3; @@ -271,7 +268,6 @@ var78 = NEW_array__NativeArray(var77, &type_array__NativeArraykernel__Object); var79 = BOX_kernel__Int(var75); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var78)->values[1] = (val*) var79; ((void (*)(val*, val*, long))(var76->class->vft[COLOR_array__Array__with_native]))(var76, var78, var77) /* with_native on */; -CHECK_NEW_array__Array(var76); } var80 = ((val* (*)(val*))(var76->class->vft[COLOR_string__Object__to_s]))(var76) /* to_s on */; var81 = 2; @@ -313,7 +309,6 @@ var100 = BOX_kernel__Int(var89); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var99)->values[1] = (val*) var100; ((struct instance_array__NativeArray*)var99)->values[2] = (val*) var93; ((void (*)(val*, val*, long))(var97->class->vft[COLOR_array__Array__with_native]))(var97, var99, var98) /* with_native on */; -CHECK_NEW_array__Array(var97); } var101 = ((val* (*)(val*))(var97->class->vft[COLOR_string__Object__to_s]))(var97) /* to_s on */; var102 = 2; @@ -334,7 +329,7 @@ var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64druntime_type_analy if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @runtime_type_analysis"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 85); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -395,7 +390,7 @@ var_mainmodule = p0; var_modelbuilder = p1; var_runtime_type_analysis = p2; ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__init]))(self, var_mainmodule, var_modelbuilder) /* init on */; -var = ((val* (*)(val*))(var_mainmodule->class->vft[COLOR_model_base__MModule__name]))(var_mainmodule) /* name on */; +var = ((val* (*)(val*))(var_mainmodule->class->vft[COLOR_mmodule__MModule__name]))(var_mainmodule) /* name on */; if (varonce) { var1 = varonce; } else { @@ -412,19 +407,16 @@ var7 = NEW_array__NativeArray(var6, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var7)->values[0] = (val*) var; ((struct instance_array__NativeArray*)var7)->values[1] = (val*) var1; ((void (*)(val*, val*, long))(var5->class->vft[COLOR_array__Array__with_native]))(var5, var7, var6) /* with_native on */; -CHECK_NEW_array__Array(var5); } var8 = ((val* (*)(val*))(var5->class->vft[COLOR_string__Object__to_s]))(var5) /* to_s on */; var9 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_file]))(self, var8) /* new_file on */; var_file = var9; var10 = NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter); ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_compiler__CodeWriter__init]))(var10, var_file) /* init on */; -CHECK_NEW_abstract_compiler__CodeWriter(var10); ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__header_61d]))(self, var10) /* header= on */; ((void (*)(val*, val*))(self->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis_61d]))(self, var_runtime_type_analysis) /* runtime_type_analysis= on */; var11 = NEW_array__Array(&type_array__Arraymodel__MClassType); ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on */; -CHECK_NEW_array__Array(var11); ((void (*)(val*, val*))(self->class->vft[COLOR_global_compiler__GlobalCompiler__live_primitive_types_61d]))(self, var11) /* live_primitive_types= on */; var12 = ((val* (*)(val*))(var_runtime_type_analysis->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types]))(var_runtime_type_analysis) /* live_types on */; var13 = ((val* (*)(val*))(var12->class->vft[COLOR_abstract_collection__Collection__iterator]))(var12) /* iterator on */; @@ -575,7 +567,6 @@ var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var34)->values[3] = (val*) var26; ((struct instance_array__NativeArray*)var34)->values[4] = (val*) var28; ((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on */; -CHECK_NEW_array__Array(var32); } var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var35) /* add on */; @@ -643,13 +634,12 @@ var11 = NEW_array__NativeArray(var10, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var11)->values[0] = (val*) var5; ((struct instance_array__NativeArray*)var11)->values[1] = (val*) var_mtype; ((void (*)(val*, val*, long))(var9->class->vft[COLOR_array__Array__with_native]))(var9, var11, var10) /* with_native on */; -CHECK_NEW_array__Array(var9); } var12 = ((val* (*)(val*))(var9->class->vft[COLOR_string__Object__to_s]))(var9) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var12) /* print on */; fprintf(stderr, "Runtime error: %s", "Aborted"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 121); -exit(1); +show_backtrace(1); RET_LABEL:; return var; } @@ -670,7 +660,7 @@ var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64dclassids].val; /* if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @classids"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 124); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -729,7 +719,7 @@ var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64dlive_primitive_typ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @live_primitive_types"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 135); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -787,7 +777,7 @@ var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64dtodos].val; /* @to if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @todos"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 147); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -820,7 +810,7 @@ var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64dseen].val; /* @see if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @seen"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 150); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1031,7 +1021,7 @@ var3 = ((short int (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__ if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 157); -exit(1); +show_backtrace(1); } if (varonce) { var4 = varonce; @@ -1059,7 +1049,6 @@ var15 = NEW_array__NativeArray(var14, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var15)->values[1] = (val*) var_mtype; ((struct instance_array__NativeArray*)var15)->values[2] = (val*) var9; ((void (*)(val*, val*, long))(var13->class->vft[COLOR_array__Array__with_native]))(var13, var15, var14) /* with_native on */; -CHECK_NEW_array__Array(var13); } var16 = ((val* (*)(val*))(var13->class->vft[COLOR_string__Object__to_s]))(var13) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var16) /* add_decl on */; @@ -1129,7 +1118,6 @@ var50 = BOX_kernel__Int(var_idnum); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var49)->values[5] = (val*) var_mtype; ((struct instance_array__NativeArray*)var49)->values[6] = (val*) var43; ((void (*)(val*, val*, long))(var47->class->vft[COLOR_array__Array__with_native]))(var47, var49, var48) /* with_native on */; -CHECK_NEW_array__Array(var47); } var51 = ((val* (*)(val*))(var47->class->vft[COLOR_string__Object__to_s]))(var47) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var51) /* add_decl on */; @@ -1160,7 +1148,6 @@ var65 = NEW_array__NativeArray(var64, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var65)->values[1] = (val*) var57; ((struct instance_array__NativeArray*)var65)->values[2] = (val*) var59; ((void (*)(val*, val*, long))(var63->class->vft[COLOR_array__Array__with_native]))(var63, var65, var64) /* with_native on */; -CHECK_NEW_array__Array(var63); } var66 = ((val* (*)(val*))(var63->class->vft[COLOR_string__Object__to_s]))(var63) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var66) /* add_decl on */; @@ -1190,7 +1177,6 @@ var79 = NEW_array__NativeArray(var78, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var79)->values[1] = (val*) var_idname; ((struct instance_array__NativeArray*)var79)->values[2] = (val*) var73; ((void (*)(val*, val*, long))(var77->class->vft[COLOR_array__Array__with_native]))(var77, var79, var78) /* with_native on */; -CHECK_NEW_array__Array(var77); } var80 = ((val* (*)(val*))(var77->class->vft[COLOR_string__Object__to_s]))(var77) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var80) /* add_decl on */; @@ -1226,7 +1212,6 @@ var99 = NEW_array__NativeArray(var98, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var99)->values[0] = (val*) var91; ((struct instance_array__NativeArray*)var99)->values[1] = (val*) var93; ((void (*)(val*, val*, long))(var97->class->vft[COLOR_array__Array__with_native]))(var97, var99, var98) /* with_native on */; -CHECK_NEW_array__Array(var97); } var100 = ((val* (*)(val*))(var97->class->vft[COLOR_string__Object__to_s]))(var97) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var100) /* add_decl on */; @@ -1261,7 +1246,6 @@ var116 = NEW_array__NativeArray(var115, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var116)->values[0] = (val*) var108; ((struct instance_array__NativeArray*)var116)->values[1] = (val*) var110; ((void (*)(val*, val*, long))(var114->class->vft[COLOR_array__Array__with_native]))(var114, var116, var115) /* with_native on */; -CHECK_NEW_array__Array(var114); } var117 = ((val* (*)(val*))(var114->class->vft[COLOR_string__Object__to_s]))(var114) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var117) /* add_decl on */; @@ -1300,7 +1284,7 @@ var130 = ((val* (*)(val*))(var129->class->vft[COLOR_model__MAttributeDef__static if (var130 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 184); -exit(1); +show_backtrace(1); } var_t = var130; var131 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(self) /* mainmodule on */; @@ -1358,7 +1342,6 @@ var158 = NEW_array__NativeArray(var157, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var158)->values[6] = (val*) var_t; ((struct instance_array__NativeArray*)var158)->values[7] = (val*) var152; ((void (*)(val*, val*, long))(var156->class->vft[COLOR_array__Array__with_native]))(var156, var158, var157) /* with_native on */; -CHECK_NEW_array__Array(var156); } var159 = ((val* (*)(val*))(var156->class->vft[COLOR_string__Object__to_s]))(var156) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var_v, var159) /* add_decl on */; @@ -1562,7 +1545,7 @@ var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__ if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 195); -exit(1); +show_backtrace(1); } var3 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; if (varonce) { @@ -1578,7 +1561,7 @@ var8 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_kernel__Object___61d_ if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 196); -exit(1); +show_backtrace(1); } var9 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on */; var_v = var9; @@ -1659,7 +1642,6 @@ var48 = NEW_array__NativeArray(var47, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var48)->values[4] = (val*) var_sig; ((struct instance_array__NativeArray*)var48)->values[5] = (val*) var42; ((void (*)(val*, val*, long))(var46->class->vft[COLOR_array__Array__with_native]))(var46, var48, var47) /* with_native on */; -CHECK_NEW_array__Array(var46); } var49 = ((val* (*)(val*))(var46->class->vft[COLOR_string__Object__to_s]))(var46) /* to_s on */; ((void (*)(val*, val*))(var28->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var28, var49) /* add_decl on */; @@ -1689,7 +1671,6 @@ var62 = NEW_array__NativeArray(var61, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var62)->values[1] = (val*) var_mtype; ((struct instance_array__NativeArray*)var62)->values[2] = (val*) var56; ((void (*)(val*, val*, long))(var60->class->vft[COLOR_array__Array__with_native]))(var60, var62, var61) /* with_native on */; -CHECK_NEW_array__Array(var60); } var63 = ((val* (*)(val*))(var60->class->vft[COLOR_string__Object__to_s]))(var60) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var63) /* add_decl on */; @@ -1733,7 +1714,6 @@ var83 = NEW_array__NativeArray(var82, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var83)->values[4] = (val*) var_sig; ((struct instance_array__NativeArray*)var83)->values[5] = (val*) var77; ((void (*)(val*, val*, long))(var81->class->vft[COLOR_array__Array__with_native]))(var81, var83, var82) /* with_native on */; -CHECK_NEW_array__Array(var81); } var84 = ((val* (*)(val*))(var81->class->vft[COLOR_string__Object__to_s]))(var81) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var84) /* add_decl on */; @@ -1785,7 +1765,6 @@ var108 = NEW_array__NativeArray(var107, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var108)->values[4] = (val*) var100; ((struct instance_array__NativeArray*)var108)->values[5] = (val*) var102; ((void (*)(val*, val*, long))(var106->class->vft[COLOR_array__Array__with_native]))(var106, var108, var107) /* with_native on */; -CHECK_NEW_array__Array(var106); } var109 = ((val* (*)(val*))(var106->class->vft[COLOR_string__Object__to_s]))(var106) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var109) /* add on */; @@ -1818,7 +1797,6 @@ var123 = NEW_array__NativeArray(var122, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var123)->values[2] = (val*) var115; ((struct instance_array__NativeArray*)var123)->values[3] = (val*) var117; ((void (*)(val*, val*, long))(var121->class->vft[COLOR_array__Array__with_native]))(var121, var123, var122) /* with_native on */; -CHECK_NEW_array__Array(var121); } var124 = ((val* (*)(val*))(var121->class->vft[COLOR_string__Object__to_s]))(var121) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var124) /* add on */; @@ -1851,7 +1829,6 @@ var138 = NEW_array__NativeArray(var137, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var138)->values[2] = (val*) var130; ((struct instance_array__NativeArray*)var138)->values[3] = (val*) var132; ((void (*)(val*, val*, long))(var136->class->vft[COLOR_array__Array__with_native]))(var136, var138, var137) /* with_native on */; -CHECK_NEW_array__Array(var136); } var139 = ((val* (*)(val*))(var136->class->vft[COLOR_string__Object__to_s]))(var136) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var139) /* add on */; @@ -1882,7 +1859,6 @@ var152 = NEW_array__NativeArray(var151, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var152)->values[1] = (val*) var_res; ((struct instance_array__NativeArray*)var152)->values[2] = (val*) var146; ((void (*)(val*, val*, long))(var150->class->vft[COLOR_array__Array__with_native]))(var150, var152, var151) /* with_native on */; -CHECK_NEW_array__Array(var150); } var153 = ((val* (*)(val*))(var150->class->vft[COLOR_string__Object__to_s]))(var150) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var153) /* add on */; @@ -1903,261 +1879,6 @@ void VIRTUAL_global_compiler__GlobalCompiler__generate_init_instance(val* self, global_compiler__GlobalCompiler__generate_init_instance(self, p0); RET_LABEL:; } -/* method global_compiler#GlobalCompiler#generate_check_init_instance for (self: GlobalCompiler, MClassType) */ -void global_compiler__GlobalCompiler__generate_check_init_instance(val* self, val* p0) { -val* var_mtype /* var mtype: MClassType */; -val* var /* : ModelBuilder */; -val* var1 /* : ToolContext */; -val* var2 /* : OptionBool */; -val* var3 /* : nullable Object */; -short int var4 /* : Bool */; -val* var5 /* : AbstractCompilerVisitor */; -val* var_v /* var v: GlobalCompilerVisitor */; -val* var6 /* : RuntimeVariable */; -static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : String */; -val* var_res /* var res: RuntimeVariable */; -val* var11 /* : CodeWriter */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : String */; -val* var17 /* : String */; -static val* varonce18; -val* var19 /* : String */; -char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : String */; -val* var23 /* : String */; -static val* varonce24; -val* var25 /* : String */; -char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : String */; -val* var29 /* : Array[Object] */; -long var30 /* : Int */; -val* var31 /* : NativeArray[Object] */; -val* var32 /* : String */; -static val* varonce33; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : String */; -static val* varonce38; -val* var39 /* : String */; -char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : String */; -val* var43 /* : Array[Object] */; -long var44 /* : Int */; -val* var45 /* : NativeArray[Object] */; -val* var46 /* : String */; -static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : String */; -val* var52 /* : String */; -static val* varonce53; -val* var54 /* : String */; -char* var55 /* : NativeString */; -long var56 /* : Int */; -val* var57 /* : String */; -val* var58 /* : String */; -static val* varonce59; -val* var60 /* : String */; -char* var61 /* : NativeString */; -long var62 /* : Int */; -val* var63 /* : String */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : String */; -val* var69 /* : Array[Object] */; -long var70 /* : Int */; -val* var71 /* : NativeArray[Object] */; -val* var72 /* : String */; -static val* varonce73; -val* var74 /* : String */; -char* var75 /* : NativeString */; -long var76 /* : Int */; -val* var77 /* : String */; -var_mtype = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__modelbuilder]))(self) /* modelbuilder on */; -var1 = ((val* (*)(val*))(var->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var) /* toolcontext on */; -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization]))(var1) /* opt_no_check_initialization on */; -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_opts__Option__value]))(var2) /* value on */; -var4 = ((struct instance_kernel__Bool*)var3)->value; /* autounbox from nullable Object to Bool */; -if (var4){ -goto RET_LABEL; -} else { -} -var5 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on */; -var_v = var5; -var6 = NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable); -if (varonce) { -var7 = varonce; -} else { -var8 = "self"; -var9 = 4; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; -} -((void (*)(val*, val*, val*, val*))(var6->class->vft[COLOR_abstract_compiler__RuntimeVariable__init]))(var6, var7, var_mtype, var_mtype) /* init on */; -CHECK_NEW_abstract_compiler__RuntimeVariable(var6); -var_res = var6; -var11 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__header]))(self) /* header on */; -if (varonce12) { -var13 = varonce12; -} else { -var14 = "void CHECK_NEW_"; -var15 = 15; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; -} -var17 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__c_name]))(var_mtype) /* c_name on */; -if (varonce18) { -var19 = varonce18; -} else { -var20 = "("; -var21 = 1; -var22 = string__NativeString__to_s_with_length(var20, var21); -var19 = var22; -varonce18 = var19; -} -var23 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; -if (varonce24) { -var25 = varonce24; -} else { -var26 = ");"; -var27 = 2; -var28 = string__NativeString__to_s_with_length(var26, var27); -var25 = var28; -varonce24 = var25; -} -var29 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var29 = array_instance Array[Object] */ -var30 = 5; -var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var31)->values[0] = (val*) var13; -((struct instance_array__NativeArray*)var31)->values[1] = (val*) var17; -((struct instance_array__NativeArray*)var31)->values[2] = (val*) var19; -((struct instance_array__NativeArray*)var31)->values[3] = (val*) var23; -((struct instance_array__NativeArray*)var31)->values[4] = (val*) var25; -((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; -CHECK_NEW_array__Array(var29); -} -var32 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on */; -((void (*)(val*, val*))(var11->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var11, var32) /* add_decl on */; -if (varonce33) { -var34 = varonce33; -} else { -var35 = "/* allocate "; -var36 = 12; -var37 = string__NativeString__to_s_with_length(var35, var36); -var34 = var37; -varonce33 = var34; -} -if (varonce38) { -var39 = varonce38; -} else { -var40 = " */"; -var41 = 3; -var42 = string__NativeString__to_s_with_length(var40, var41); -var39 = var42; -varonce38 = var39; -} -var43 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var43 = array_instance Array[Object] */ -var44 = 3; -var45 = NEW_array__NativeArray(var44, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var45)->values[0] = (val*) var34; -((struct instance_array__NativeArray*)var45)->values[1] = (val*) var_mtype; -((struct instance_array__NativeArray*)var45)->values[2] = (val*) var39; -((void (*)(val*, val*, long))(var43->class->vft[COLOR_array__Array__with_native]))(var43, var45, var44) /* with_native on */; -CHECK_NEW_array__Array(var43); -} -var46 = ((val* (*)(val*))(var43->class->vft[COLOR_string__Object__to_s]))(var43) /* to_s on */; -((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var46) /* add_decl on */; -if (varonce47) { -var48 = varonce47; -} else { -var49 = "void CHECK_NEW_"; -var50 = 15; -var51 = string__NativeString__to_s_with_length(var49, var50); -var48 = var51; -varonce47 = var48; -} -var52 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__c_name]))(var_mtype) /* c_name on */; -if (varonce53) { -var54 = varonce53; -} else { -var55 = "("; -var56 = 1; -var57 = string__NativeString__to_s_with_length(var55, var56); -var54 = var57; -varonce53 = var54; -} -var58 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; -if (varonce59) { -var60 = varonce59; -} else { -var61 = " "; -var62 = 1; -var63 = string__NativeString__to_s_with_length(var61, var62); -var60 = var63; -varonce59 = var60; -} -if (varonce64) { -var65 = varonce64; -} else { -var66 = ") {"; -var67 = 3; -var68 = string__NativeString__to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; -} -var69 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var69 = array_instance Array[Object] */ -var70 = 7; -var71 = NEW_array__NativeArray(var70, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var71)->values[0] = (val*) var48; -((struct instance_array__NativeArray*)var71)->values[1] = (val*) var52; -((struct instance_array__NativeArray*)var71)->values[2] = (val*) var54; -((struct instance_array__NativeArray*)var71)->values[3] = (val*) var58; -((struct instance_array__NativeArray*)var71)->values[4] = (val*) var60; -((struct instance_array__NativeArray*)var71)->values[5] = (val*) var_res; -((struct instance_array__NativeArray*)var71)->values[6] = (val*) var65; -((void (*)(val*, val*, long))(var69->class->vft[COLOR_array__Array__with_native]))(var69, var71, var70) /* with_native on */; -CHECK_NEW_array__Array(var69); -} -var72 = ((val* (*)(val*))(var69->class->vft[COLOR_string__Object__to_s]))(var69) /* to_s on */; -((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var72) /* add_decl on */; -((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__generate_check_attr]))(self, var_v, var_res, var_mtype) /* generate_check_attr on */; -if (varonce73) { -var74 = varonce73; -} else { -var75 = "}"; -var76 = 1; -var77 = string__NativeString__to_s_with_length(var75, var76); -var74 = var77; -varonce73 = var74; -} -((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var74) /* add on */; -RET_LABEL:; -} -/* method global_compiler#GlobalCompiler#generate_check_init_instance for (self: Object, MClassType) */ -void VIRTUAL_global_compiler__GlobalCompiler__generate_check_init_instance(val* self, val* p0) { -global_compiler__GlobalCompiler__generate_check_init_instance(self, p0); -RET_LABEL:; -} /* method global_compiler#GlobalCompiler#generate_box_instance for (self: GlobalCompiler, MClassType) */ void global_compiler__GlobalCompiler__generate_box_instance(val* self, val* p0) { val* var_mtype /* var mtype: MClassType */; @@ -2287,8 +2008,8 @@ var1 = ((val* (*)(val*))(var->class->vft[COLOR_rapid_type_analysis__RapidTypeAna var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__Collection__has]))(var1, var_mtype) /* has on */; if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 241); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 228); +show_backtrace(1); } var3 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__ctype]))(var_mtype) /* ctype on */; if (varonce) { @@ -2303,8 +2024,8 @@ varonce = var4; var8 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_kernel__Object___33d_61d]))(var3, var4) /* != on */; if (!var8) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 242); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 229); +show_backtrace(1); } var9 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(self) /* new_visitor on */; var_v = var9; @@ -2348,7 +2069,6 @@ var30 = NEW_array__NativeArray(var29, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var30)->values[3] = (val*) var22; ((struct instance_array__NativeArray*)var30)->values[4] = (val*) var24; ((void (*)(val*, val*, long))(var28->class->vft[COLOR_array__Array__with_native]))(var28, var30, var29) /* with_native on */; -CHECK_NEW_array__Array(var28); } var31 = ((val* (*)(val*))(var28->class->vft[COLOR_string__Object__to_s]))(var28) /* to_s on */; ((void (*)(val*, val*))(var10->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var10, var31) /* add_decl on */; @@ -2378,7 +2098,6 @@ var44 = NEW_array__NativeArray(var43, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var44)->values[1] = (val*) var_mtype; ((struct instance_array__NativeArray*)var44)->values[2] = (val*) var38; ((void (*)(val*, val*, long))(var42->class->vft[COLOR_array__Array__with_native]))(var42, var44, var43) /* with_native on */; -CHECK_NEW_array__Array(var42); } var45 = ((val* (*)(val*))(var42->class->vft[COLOR_string__Object__to_s]))(var42) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var45) /* add_decl on */; @@ -2421,7 +2140,6 @@ var65 = NEW_array__NativeArray(var64, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var65)->values[3] = (val*) var57; ((struct instance_array__NativeArray*)var65)->values[4] = (val*) var59; ((void (*)(val*, val*, long))(var63->class->vft[COLOR_array__Array__with_native]))(var63, var65, var64) /* with_native on */; -CHECK_NEW_array__Array(var63); } var66 = ((val* (*)(val*))(var63->class->vft[COLOR_string__Object__to_s]))(var63) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var66) /* add_decl on */; @@ -2464,7 +2182,6 @@ var86 = NEW_array__NativeArray(var85, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var86)->values[3] = (val*) var78; ((struct instance_array__NativeArray*)var86)->values[4] = (val*) var80; ((void (*)(val*, val*, long))(var84->class->vft[COLOR_array__Array__with_native]))(var84, var86, var85) /* with_native on */; -CHECK_NEW_array__Array(var84); } var87 = ((val* (*)(val*))(var84->class->vft[COLOR_string__Object__to_s]))(var84) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var87) /* add on */; @@ -2495,7 +2212,6 @@ var101 = NEW_array__NativeArray(var100, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var101)->values[1] = (val*) var93; ((struct instance_array__NativeArray*)var101)->values[2] = (val*) var95; ((void (*)(val*, val*, long))(var99->class->vft[COLOR_array__Array__with_native]))(var99, var101, var100) /* with_native on */; -CHECK_NEW_array__Array(var99); } var102 = ((val* (*)(val*))(var99->class->vft[COLOR_string__Object__to_s]))(var99) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var102) /* add on */; @@ -2547,7 +2263,6 @@ const struct type* type_struct; const char* var_class_name; var1 = NEW_global_compiler__GlobalCompilerVisitor(&type_global_compiler__GlobalCompilerVisitor); ((void (*)(val*, val*))(var1->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__init]))(var1, self) /* init on */; -CHECK_NEW_global_compiler__GlobalCompilerVisitor(var1); /* isa VISITOR */ type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR]; cltype = type_struct->color; @@ -2560,8 +2275,8 @@ var2 = var1->type->type_table[cltype] == idtype; if (!var2) { var_class_name = var1 == NULL ? "null" : var1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 256); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 242); +show_backtrace(1); } var = var1; goto RET_LABEL; @@ -2584,8 +2299,8 @@ val* var1 /* : HashMap[MType, Array[MClassType]] */; var1 = self->attrs[COLOR_global_compiler__GlobalCompiler___64dcollect_types_cache].val; /* @collect_types_cache on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @collect_types_cache"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 258); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 244); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -2610,6 +2325,32 @@ void VIRTUAL_global_compiler__GlobalCompiler__collect_types_cache_61d(val* self, global_compiler__GlobalCompiler__collect_types_cache_61d(self, p0); RET_LABEL:; } +/* method global_compiler#GlobalCompiler#compile_nitni_structs for (self: GlobalCompiler) */ +void global_compiler__GlobalCompiler__compile_nitni_structs(val* self) { +val* var /* : CodeWriter */; +static val* varonce; +val* var1 /* : String */; +char* var2 /* : NativeString */; +long var3 /* : Int */; +val* var4 /* : String */; +var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompiler__header]))(self) /* header on */; +if (varonce) { +var1 = varonce; +} else { +var2 = "struct nitni_instance { val *value; };"; +var3 = 38; +var4 = string__NativeString__to_s_with_length(var2, var3); +var1 = var4; +varonce = var1; +} +((void (*)(val*, val*))(var->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var, var1) /* add_decl on */; +RET_LABEL:; +} +/* method global_compiler#GlobalCompiler#compile_nitni_structs for (self: Object) */ +void VIRTUAL_global_compiler__GlobalCompiler__compile_nitni_structs(val* self) { +global_compiler__GlobalCompiler__compile_nitni_structs(self); +RET_LABEL:; +} /* method global_compiler#GlobalCompilerVisitor#autobox for (self: GlobalCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */ val* global_compiler__GlobalCompilerVisitor__autobox(val* self, val* p0, val* p1) { val* var /* : RuntimeVariable */; @@ -2756,53 +2497,70 @@ val* var131 /* : Array[Object] */; long var132 /* : Int */; val* var133 /* : NativeArray[Object] */; val* var134 /* : String */; -val* var135 /* : RuntimeVariable */; -val* var_res136 /* var res: RuntimeVariable */; -static val* varonce137; -val* var138 /* : String */; -char* var139 /* : NativeString */; -long var140 /* : Int */; -val* var141 /* : String */; -static val* varonce142; -val* var143 /* : String */; -char* var144 /* : NativeString */; -long var145 /* : Int */; -val* var146 /* : String */; -val* var147 /* : MType */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; -long var151 /* : Int */; -val* var152 /* : String */; -static val* varonce153; -val* var154 /* : String */; -char* var155 /* : NativeString */; -long var156 /* : Int */; -val* var157 /* : String */; -val* var158 /* : Array[Object] */; -long var159 /* : Int */; -val* var160 /* : NativeArray[Object] */; -val* var161 /* : String */; -static val* varonce162; +short int var135 /* : Bool */; +val* var136 /* : MType */; +val* var137 /* : String */; +static val* varonce138; +val* var139 /* : String */; +char* var140 /* : NativeString */; +long var141 /* : Int */; +val* var142 /* : String */; +short int var143 /* : Bool */; +short int var_144 /* var : Bool */; +val* var145 /* : String */; +static val* varonce146; +val* var147 /* : String */; +char* var148 /* : NativeString */; +long var149 /* : Int */; +val* var150 /* : String */; +short int var151 /* : Bool */; +val* var152 /* : RuntimeVariable */; +val* var_res153 /* var res: RuntimeVariable */; +static val* varonce154; +val* var155 /* : String */; +char* var156 /* : NativeString */; +long var157 /* : Int */; +val* var158 /* : String */; +static val* varonce159; +val* var160 /* : String */; +char* var161 /* : NativeString */; +long var162 /* : Int */; val* var163 /* : String */; -char* var164 /* : NativeString */; -long var165 /* : Int */; +val* var164 /* : MType */; +static val* varonce165; val* var166 /* : String */; -val* var167 /* : MType */; -static val* varonce168; +char* var167 /* : NativeString */; +long var168 /* : Int */; val* var169 /* : String */; -char* var170 /* : NativeString */; -long var171 /* : Int */; -val* var172 /* : String */; -static val* varonce173; +static val* varonce170; +val* var171 /* : String */; +char* var172 /* : NativeString */; +long var173 /* : Int */; val* var174 /* : String */; -char* var175 /* : NativeString */; +val* var175 /* : Array[Object] */; long var176 /* : Int */; -val* var177 /* : String */; -val* var178 /* : Array[Object] */; -long var179 /* : Int */; -val* var180 /* : NativeArray[Object] */; -val* var181 /* : String */; +val* var177 /* : NativeArray[Object] */; +val* var178 /* : String */; +static val* varonce179; +val* var180 /* : String */; +char* var181 /* : NativeString */; +long var182 /* : Int */; +val* var183 /* : String */; +val* var184 /* : MType */; +static val* varonce185; +val* var186 /* : String */; +char* var187 /* : NativeString */; +long var188 /* : Int */; +val* var189 /* : String */; +static val* varonce190; +val* var191 /* : String */; +char* var192 /* : NativeString */; +long var193 /* : Int */; +val* var194 /* : String */; +val* var195 /* : Array[Object] */; +long var196 /* : Int */; +val* var197 /* : NativeArray[Object] */; +val* var198 /* : String */; var_value = p0; var_mtype = p1; var1 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; @@ -2918,7 +2676,6 @@ var55 = NEW_array__NativeArray(var54, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var55)->values[7] = (val*) var_mtype; ((struct instance_array__NativeArray*)var55)->values[8] = (val*) var49; ((void (*)(val*, val*, long))(var53->class->vft[COLOR_array__Array__with_native]))(var53, var55, var54) /* with_native on */; -CHECK_NEW_array__Array(var53); } var56 = ((val* (*)(val*))(var53->class->vft[COLOR_string__Object__to_s]))(var53) /* to_s on */; var57 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var56, var_mtype) /* new_expr on */; @@ -2949,8 +2706,8 @@ var66 = var65->type->type_table[cltype] == idtype; if (!var66) { var_class_name = var65 == NULL ? "null" : var65->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 277); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 268); +show_backtrace(1); } var_valtype = var65; var67 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var_mtype) /* new_var on */; @@ -3011,15 +2768,14 @@ var97 = NEW_array__NativeArray(var96, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var97)->values[5] = (val*) var89; ((struct instance_array__NativeArray*)var97)->values[6] = (val*) var91; ((void (*)(val*, val*, long))(var95->class->vft[COLOR_array__Array__with_native]))(var95, var97, var96) /* with_native on */; -CHECK_NEW_array__Array(var95); } var98 = ((val* (*)(val*))(var95->class->vft[COLOR_string__Object__to_s]))(var95) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var98) /* add on */; if (varonce99) { var100 = varonce99; } else { -var101 = "printf(\"Dead code executed!\\n\"); exit(1);"; -var102 = 41; +var101 = "printf(\"Dead code executed!\\n\"); show_backtrace(1);"; +var102 = 51; var103 = string__NativeString__to_s_with_length(var101, var102); var100 = var103; varonce99 = var100; @@ -3091,116 +2847,147 @@ var133 = NEW_array__NativeArray(var132, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var133)->values[8] = (val*) var_mtype; ((struct instance_array__NativeArray*)var133)->values[9] = (val*) var127; ((void (*)(val*, val*, long))(var131->class->vft[COLOR_array__Array__with_native]))(var131, var133, var132) /* with_native on */; -CHECK_NEW_array__Array(var131); } var134 = ((val* (*)(val*))(var131->class->vft[COLOR_string__Object__to_s]))(var131) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var134) /* add on */; var = var_res; goto RET_LABEL; } else { -var135 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var_mtype) /* new_var on */; -var_res136 = var135; -if (varonce137) { -var138 = varonce137; +var136 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; +var137 = ((val* (*)(val*))(var136->class->vft[COLOR_nitni_base__MType__cname_blind]))(var136) /* cname_blind on */; +if (varonce138) { +var139 = varonce138; } else { -var139 = "/* "; -var140 = 3; -var141 = string__NativeString__to_s_with_length(var139, var140); -var138 = var141; -varonce137 = var138; +var140 = "void*"; +var141 = 5; +var142 = string__NativeString__to_s_with_length(var140, var141); +var139 = var142; +varonce138 = var139; } -if (varonce142) { -var143 = varonce142; +var143 = ((short int (*)(val*, val*))(var137->class->vft[COLOR_kernel__Object___61d_61d]))(var137, var139) /* == on */; +var_144 = var143; +if (var143){ +var145 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_nitni_base__MType__cname_blind]))(var_mtype) /* cname_blind on */; +if (varonce146) { +var147 = varonce146; } else { -var144 = " left unintialized (cannot convert "; -var145 = 35; -var146 = string__NativeString__to_s_with_length(var144, var145); -var143 = var146; -varonce142 = var143; +var148 = "void*"; +var149 = 5; +var150 = string__NativeString__to_s_with_length(var148, var149); +var147 = var150; +varonce146 = var147; } -var147 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; -if (varonce148) { -var149 = varonce148; +var151 = ((short int (*)(val*, val*))(var145->class->vft[COLOR_kernel__Object___61d_61d]))(var145, var147) /* == on */; +var135 = var151; } else { -var150 = " to "; -var151 = 4; -var152 = string__NativeString__to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +var135 = var_144; } -if (varonce153) { -var154 = varonce153; -} else { -var155 = ") */"; -var156 = 4; -var157 = string__NativeString__to_s_with_length(var155, var156); -var154 = var157; -varonce153 = var154; -} -var158 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var158 = array_instance Array[Object] */ -var159 = 7; -var160 = NEW_array__NativeArray(var159, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var160)->values[0] = (val*) var138; -((struct instance_array__NativeArray*)var160)->values[1] = (val*) var_res136; -((struct instance_array__NativeArray*)var160)->values[2] = (val*) var143; -((struct instance_array__NativeArray*)var160)->values[3] = (val*) var147; -((struct instance_array__NativeArray*)var160)->values[4] = (val*) var149; -((struct instance_array__NativeArray*)var160)->values[5] = (val*) var_mtype; -((struct instance_array__NativeArray*)var160)->values[6] = (val*) var154; -((void (*)(val*, val*, long))(var158->class->vft[COLOR_array__Array__with_native]))(var158, var160, var159) /* with_native on */; -CHECK_NEW_array__Array(var158); -} -var161 = ((val* (*)(val*))(var158->class->vft[COLOR_string__Object__to_s]))(var158) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var161) /* add on */; -if (varonce162) { -var163 = varonce162; -} else { -var164 = "printf(\"Cast error: Cannot cast %s to %s.\\n\", \""; -var165 = 47; -var166 = string__NativeString__to_s_with_length(var164, var165); -var163 = var166; -varonce162 = var163; -} -var167 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; -if (varonce168) { -var169 = varonce168; -} else { -var170 = "\", \""; -var171 = 4; -var172 = string__NativeString__to_s_with_length(var170, var171); -var169 = var172; -varonce168 = var169; +if (var135){ +var = var_value; +goto RET_LABEL; +} else { +var152 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var_mtype) /* new_var on */; +var_res153 = var152; +if (varonce154) { +var155 = varonce154; +} else { +var156 = "/* "; +var157 = 3; +var158 = string__NativeString__to_s_with_length(var156, var157); +var155 = var158; +varonce154 = var155; } -if (varonce173) { -var174 = varonce173; +if (varonce159) { +var160 = varonce159; } else { -var175 = "\"); exit(1);"; -var176 = 12; -var177 = string__NativeString__to_s_with_length(var175, var176); -var174 = var177; -varonce173 = var174; +var161 = " left unintialized (cannot convert "; +var162 = 35; +var163 = string__NativeString__to_s_with_length(var161, var162); +var160 = var163; +varonce159 = var160; } -var178 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var178 = array_instance Array[Object] */ -var179 = 5; -var180 = NEW_array__NativeArray(var179, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var180)->values[0] = (val*) var163; -((struct instance_array__NativeArray*)var180)->values[1] = (val*) var167; -((struct instance_array__NativeArray*)var180)->values[2] = (val*) var169; -((struct instance_array__NativeArray*)var180)->values[3] = (val*) var_mtype; -((struct instance_array__NativeArray*)var180)->values[4] = (val*) var174; -((void (*)(val*, val*, long))(var178->class->vft[COLOR_array__Array__with_native]))(var178, var180, var179) /* with_native on */; -CHECK_NEW_array__Array(var178); +var164 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; +if (varonce165) { +var166 = varonce165; +} else { +var167 = " to "; +var168 = 4; +var169 = string__NativeString__to_s_with_length(var167, var168); +var166 = var169; +varonce165 = var166; } -var181 = ((val* (*)(val*))(var178->class->vft[COLOR_string__Object__to_s]))(var178) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var181) /* add on */; -var = var_res136; +if (varonce170) { +var171 = varonce170; +} else { +var172 = ") */"; +var173 = 4; +var174 = string__NativeString__to_s_with_length(var172, var173); +var171 = var174; +varonce170 = var171; +} +var175 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var175 = array_instance Array[Object] */ +var176 = 7; +var177 = NEW_array__NativeArray(var176, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var177)->values[0] = (val*) var155; +((struct instance_array__NativeArray*)var177)->values[1] = (val*) var_res153; +((struct instance_array__NativeArray*)var177)->values[2] = (val*) var160; +((struct instance_array__NativeArray*)var177)->values[3] = (val*) var164; +((struct instance_array__NativeArray*)var177)->values[4] = (val*) var166; +((struct instance_array__NativeArray*)var177)->values[5] = (val*) var_mtype; +((struct instance_array__NativeArray*)var177)->values[6] = (val*) var171; +((void (*)(val*, val*, long))(var175->class->vft[COLOR_array__Array__with_native]))(var175, var177, var176) /* with_native on */; +} +var178 = ((val* (*)(val*))(var175->class->vft[COLOR_string__Object__to_s]))(var175) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var178) /* add on */; +if (varonce179) { +var180 = varonce179; +} else { +var181 = "printf(\"Cast error: Cannot cast %s to %s.\\n\", \""; +var182 = 47; +var183 = string__NativeString__to_s_with_length(var181, var182); +var180 = var183; +varonce179 = var180; +} +var184 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; +if (varonce185) { +var186 = varonce185; +} else { +var187 = "\", \""; +var188 = 4; +var189 = string__NativeString__to_s_with_length(var187, var188); +var186 = var189; +varonce185 = var186; +} +if (varonce190) { +var191 = varonce190; +} else { +var192 = "\"); show_backtrace(1);"; +var193 = 22; +var194 = string__NativeString__to_s_with_length(var192, var193); +var191 = var194; +varonce190 = var191; +} +var195 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var195 = array_instance Array[Object] */ +var196 = 5; +var197 = NEW_array__NativeArray(var196, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var197)->values[0] = (val*) var180; +((struct instance_array__NativeArray*)var197)->values[1] = (val*) var184; +((struct instance_array__NativeArray*)var197)->values[2] = (val*) var186; +((struct instance_array__NativeArray*)var197)->values[3] = (val*) var_mtype; +((struct instance_array__NativeArray*)var197)->values[4] = (val*) var191; +((void (*)(val*, val*, long))(var195->class->vft[COLOR_array__Array__with_native]))(var195, var197, var196) /* with_native on */; +} +var198 = ((val* (*)(val*))(var195->class->vft[COLOR_string__Object__to_s]))(var195) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var198) /* add on */; +var = var_res153; goto RET_LABEL; } } } } +} RET_LABEL:; return var; } @@ -3266,8 +3053,8 @@ var3 = var_mtype->type->type_table[cltype] == idtype; } if (!var3) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 300); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 293); +show_backtrace(1); } var4 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; var5 = ((val* (*)(val*))(var4->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var4) /* runtime_type_analysis on */; @@ -3275,13 +3062,12 @@ var6 = ((val* (*)(val*))(var5->class->vft[COLOR_rapid_type_analysis__RapidTypeAn var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_abstract_collection__Collection__has]))(var6, var_mtype) /* has on */; if (!var7) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 301); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 294); +show_backtrace(1); } var8 = NEW_array__Array(&type_array__Arraymodel__MClassType); var9 = 1; ((void (*)(val*, long))(var8->class->vft[COLOR_array__Array__with_capacity]))(var8, var9) /* with_capacity on */; -CHECK_NEW_array__Array(var8); var_ = var8; ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__Sequence__push]))(var_, var_mtype) /* push on */; var_types = var_; @@ -3301,7 +3087,6 @@ goto RET_LABEL; } var14 = NEW_array__Array(&type_array__Arraymodel__MClassType); ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on */; -CHECK_NEW_array__Array(var14); var_types15 = var14; var16 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; var17 = ((val* (*)(val*))(var16->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(var16) /* mainmodule on */; @@ -3501,7 +3286,6 @@ var_elttype = var1; var2 = NEW_array__Array(&type_array__Arraykernel__Object); var3 = 5; ((void (*)(val*, long))(var2->class->vft[COLOR_array__Array__with_capacity]))(var2, var3) /* with_capacity on */; -CHECK_NEW_array__Array(var2); var_ = var2; if (varonce) { var4 = varonce; @@ -3583,13 +3367,12 @@ var45 = NEW_array__NativeArray(var44, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var45)->values[2] = (val*) var37; ((struct instance_array__NativeArray*)var45)->values[3] = (val*) var39; ((void (*)(val*, val*, long))(var43->class->vft[COLOR_array__Array__with_native]))(var43, var45, var44) /* with_native on */; -CHECK_NEW_array__Array(var43); } var46 = ((val* (*)(val*))(var43->class->vft[COLOR_string__Object__to_s]))(var43) /* to_s on */; if (var_ret_type == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 324); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 317); +show_backtrace(1); } var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var46, var_ret_type) /* new_expr on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(self, var47) /* ret on */; @@ -3648,7 +3431,6 @@ var75 = NEW_array__NativeArray(var74, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var75)->values[4] = (val*) var67; ((struct instance_array__NativeArray*)var75)->values[5] = (val*) var69; ((void (*)(val*, val*, long))(var73->class->vft[COLOR_array__Array__with_native]))(var73, var75, var74) /* with_native on */; -CHECK_NEW_array__Array(var73); } var76 = ((val* (*)(val*))(var73->class->vft[COLOR_string__Object__to_s]))(var73) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var76) /* add on */; @@ -3668,7 +3450,6 @@ if (var82){ var83 = NEW_array__Array(&type_array__Arraykernel__Object); var84 = 5; ((void (*)(val*, long))(var83->class->vft[COLOR_array__Array__with_capacity]))(var83, var84) /* with_capacity on */; -CHECK_NEW_array__Array(var83); var_85 = var83; if (varonce86) { var87 = varonce86; @@ -3772,7 +3553,6 @@ var138 = NEW_array__NativeArray(var137, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var138)->values[7] = (val*) var130; ((struct instance_array__NativeArray*)var138)->values[8] = (val*) var132; ((void (*)(val*, val*, long))(var136->class->vft[COLOR_array__Array__with_native]))(var136, var138, var137) /* with_native on */; -CHECK_NEW_array__Array(var136); } var139 = ((val* (*)(val*))(var136->class->vft[COLOR_string__Object__to_s]))(var136) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var139) /* add on */; @@ -3857,7 +3637,6 @@ var19 = NEW_array__NativeArray(var18, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var19)->values[3] = (val*) var11; ((struct instance_array__NativeArray*)var19)->values[4] = (val*) var13; ((void (*)(val*, val*, long))(var17->class->vft[COLOR_array__Array__with_native]))(var17, var19, var18) /* with_native on */; -CHECK_NEW_array__Array(var17); } var20 = ((val* (*)(val*))(var17->class->vft[COLOR_string__Object__to_s]))(var17) /* to_s on */; var21 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var20, var_ret_type) /* new_expr on */; @@ -4313,9 +4092,9 @@ var_types = var2; var3 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MProperty__intro]))(var_m) /* intro on */; var4 = ((val* (*)(val*))(var3->class->vft[COLOR_model__MMethodDef__msignature]))(var3) /* msignature on */; if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 346); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 339); +show_backtrace(1); } else { var5 = ((val* (*)(val*))(var4->class->vft[COLOR_model__MSignature__return_mtype]))(var4) /* return_mtype on */; } @@ -4384,7 +4163,6 @@ var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var34)->values[3] = (val*) var26; ((struct instance_array__NativeArray*)var34)->values[4] = (val*) var28; ((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on */; -CHECK_NEW_array__Array(var32); } var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var35) /* add on */; @@ -4415,8 +4193,8 @@ var47 = var46->type->type_table[cltype] == idtype; if (!var47) { var_class_name = var46 == NULL ? "null" : var46->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 359); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 352); +show_backtrace(1); } var_mclasstype = var46; var48 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; @@ -4451,7 +4229,6 @@ var65 = NEW_array__NativeArray(var64, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var65)->values[1] = (val*) var_m; ((struct instance_array__NativeArray*)var65)->values[2] = (val*) var59; ((void (*)(val*, val*, long))(var63->class->vft[COLOR_array__Array__with_native]))(var63, var65, var64) /* with_native on */; -CHECK_NEW_array__Array(var63); } var66 = ((val* (*)(val*))(var63->class->vft[COLOR_string__Object__to_s]))(var63) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var66) /* add on */; @@ -4474,8 +4251,8 @@ var72 = 1; /* arg is null and recv is not */ if (var72){ if (var_res2 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 366); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 359); +show_backtrace(1); } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var_res, var_res2) /* assign on */; } else { @@ -4586,7 +4363,6 @@ var124 = NEW_array__NativeArray(var123, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var124)->values[1] = (val*) var116; ((struct instance_array__NativeArray*)var124)->values[2] = (val*) var118; ((void (*)(val*, val*, long))(var122->class->vft[COLOR_array__Array__with_native]))(var122, var124, var123) /* with_native on */; -CHECK_NEW_array__Array(var122); } var125 = ((val* (*)(val*))(var122->class->vft[COLOR_string__Object__to_s]))(var122) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var125) /* add on */; @@ -4610,8 +4386,8 @@ var134 = 1; /* arg is null and recv is not */ } if (!var134) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 374); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 367); +show_backtrace(1); } var135 = 1; var136 = ((val* (*)(val*, long))(var_args->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_args, var135) /* [] on */; @@ -4654,7 +4430,6 @@ var155 = NEW_array__NativeArray(var154, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var155)->values[2] = (val*) var147; ((struct instance_array__NativeArray*)var155)->values[3] = (val*) var149; ((void (*)(val*, val*, long))(var153->class->vft[COLOR_array__Array__with_native]))(var153, var155, var154) /* with_native on */; -CHECK_NEW_array__Array(var153); } var156 = ((val* (*)(val*))(var153->class->vft[COLOR_string__Object__to_s]))(var153) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var156) /* add on */; @@ -4687,7 +4462,6 @@ var170 = NEW_array__NativeArray(var169, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var170)->values[0] = (val*) var_res; ((struct instance_array__NativeArray*)var170)->values[1] = (val*) var164; ((void (*)(val*, val*, long))(var168->class->vft[COLOR_array__Array__with_native]))(var168, var170, var169) /* with_native on */; -CHECK_NEW_array__Array(var168); } var171 = ((val* (*)(val*))(var168->class->vft[COLOR_string__Object__to_s]))(var168) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var171) /* add on */; @@ -4722,7 +4496,6 @@ var187 = NEW_array__NativeArray(var186, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var187)->values[2] = (val*) var179; ((struct instance_array__NativeArray*)var187)->values[3] = (val*) var181; ((void (*)(val*, val*, long))(var185->class->vft[COLOR_array__Array__with_native]))(var185, var187, var186) /* with_native on */; -CHECK_NEW_array__Array(var185); } var188 = ((val* (*)(val*))(var185->class->vft[COLOR_string__Object__to_s]))(var185) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var188) /* add on */; @@ -4749,8 +4522,8 @@ var197 = 1; /* arg is null and recv is not */ } if (!var197) { fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 383); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 376); +show_backtrace(1); } var198 = 1; var199 = ((val* (*)(val*, long))(var_args->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_args, var198) /* [] on */; @@ -4793,7 +4566,6 @@ var218 = NEW_array__NativeArray(var217, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var218)->values[2] = (val*) var210; ((struct instance_array__NativeArray*)var218)->values[3] = (val*) var212; ((void (*)(val*, val*, long))(var216->class->vft[COLOR_array__Array__with_native]))(var216, var218, var217) /* with_native on */; -CHECK_NEW_array__Array(var216); } var219 = ((val* (*)(val*))(var216->class->vft[COLOR_string__Object__to_s]))(var216) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var219) /* add on */; @@ -4826,7 +4598,6 @@ var233 = NEW_array__NativeArray(var232, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var233)->values[0] = (val*) var_res; ((struct instance_array__NativeArray*)var233)->values[1] = (val*) var227; ((void (*)(val*, val*, long))(var231->class->vft[COLOR_array__Array__with_native]))(var231, var233, var232) /* with_native on */; -CHECK_NEW_array__Array(var231); } var234 = ((val* (*)(val*))(var231->class->vft[COLOR_string__Object__to_s]))(var231) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var234) /* add on */; @@ -4861,7 +4632,6 @@ var250 = NEW_array__NativeArray(var249, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var250)->values[2] = (val*) var242; ((struct instance_array__NativeArray*)var250)->values[3] = (val*) var244; ((void (*)(val*, val*, long))(var248->class->vft[COLOR_array__Array__with_native]))(var248, var250, var249) /* with_native on */; -CHECK_NEW_array__Array(var248); } var251 = ((val* (*)(val*))(var248->class->vft[COLOR_string__Object__to_s]))(var248) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var251) /* add on */; @@ -4871,7 +4641,7 @@ var251 = ((val* (*)(val*))(var248->class->vft[COLOR_string__Object__to_s]))(var2 if (varonce252) { var253 = varonce252; } else { -var254 = "Reciever is null"; +var254 = "Receiver is null"; var255 = 16; var256 = string__NativeString__to_s_with_length(var254, var255); var253 = var256; @@ -4943,7 +4713,6 @@ var287 = NEW_array__NativeArray(var286, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var287)->values[3] = (val*) var_m; ((struct instance_array__NativeArray*)var287)->values[4] = (val*) var281; ((void (*)(val*, val*, long))(var285->class->vft[COLOR_array__Array__with_native]))(var285, var287, var286) /* with_native on */; -CHECK_NEW_array__Array(var285); } var288 = ((val* (*)(val*))(var285->class->vft[COLOR_string__Object__to_s]))(var285) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var288) /* add on */; @@ -4990,7 +4759,6 @@ var308 = NEW_array__NativeArray(var307, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var308)->values[1] = (val*) var300; ((struct instance_array__NativeArray*)var308)->values[2] = (val*) var302; ((void (*)(val*, val*, long))(var306->class->vft[COLOR_array__Array__with_native]))(var306, var308, var307) /* with_native on */; -CHECK_NEW_array__Array(var306); } var309 = ((val* (*)(val*))(var306->class->vft[COLOR_string__Object__to_s]))(var306) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var309) /* add on */; @@ -5092,7 +4860,6 @@ var359 = NEW_array__NativeArray(var358, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var359)->values[1] = (val*) var_t; ((struct instance_array__NativeArray*)var359)->values[2] = (val*) var353; ((void (*)(val*, val*, long))(var357->class->vft[COLOR_array__Array__with_native]))(var357, var359, var358) /* with_native on */; -CHECK_NEW_array__Array(var357); } var360 = ((val* (*)(val*))(var357->class->vft[COLOR_string__Object__to_s]))(var357) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var360) /* add on */; @@ -5136,7 +4903,6 @@ var380 = NEW_array__NativeArray(var379, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var380)->values[3] = (val*) var_t; ((struct instance_array__NativeArray*)var380)->values[4] = (val*) var374; ((void (*)(val*, val*, long))(var378->class->vft[COLOR_array__Array__with_native]))(var378, var380, var379) /* with_native on */; -CHECK_NEW_array__Array(var378); } var381 = ((val* (*)(val*))(var378->class->vft[COLOR_string__Object__to_s]))(var378) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var381) /* add on */; @@ -5152,8 +4918,8 @@ var385 = 1; /* arg is null and recv is not */ if (var385){ if (var_res2383 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 419); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 412); +show_backtrace(1); } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var_res, var_res2383) /* assign on */; } else { @@ -5202,8 +4968,8 @@ var403 = 1; /* arg is null and recv is not */ if (var403){ if (var_res2401 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 425); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 418); +show_backtrace(1); } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var_res, var_res2401) /* assign on */; } else { @@ -5320,13 +5086,12 @@ var19 = NEW_array__NativeArray(var18, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var19)->values[0] = (val*) var_recvtype; ((struct instance_array__NativeArray*)var19)->values[1] = (val*) var13; ((void (*)(val*, val*, long))(var17->class->vft[COLOR_array__Array__with_native]))(var17, var19, var18) /* with_native on */; -CHECK_NEW_array__Array(var17); } var20 = ((val* (*)(val*))(var17->class->vft[COLOR_string__Object__to_s]))(var17) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var20) /* print on */; fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 438); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 431); +show_backtrace(1); RET_LABEL:; } /* method global_compiler#GlobalCompilerVisitor#check_valid_reciever for (self: Object, MClassType) */ @@ -5455,62 +5220,39 @@ long var5 /* : Int */; long var7 /* : Int */; short int var8 /* : Bool */; short int var10 /* : Bool */; -short int var11 /* : Bool */; static val* varonce; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : String */; -long var21 /* : Int */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : String */; -val* var27 /* : Array[Object] */; -long var28 /* : Int */; -val* var29 /* : NativeArray[Object] */; -val* var30 /* : Object */; -val* var31 /* : String */; -static val* varonce32; -val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : String */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; -val* var41 /* : String */; -long var42 /* : Int */; -static val* varonce43; -val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : String */; -val* var48 /* : Array[Object] */; -long var49 /* : Int */; -val* var50 /* : NativeArray[Object] */; -val* var51 /* : Object */; -val* var52 /* : String */; -val* var53 /* : null */; -val* var54 /* : CustomizedRuntimeFunction */; +val* var11 /* : String */; +char* var12 /* : NativeString */; +long var13 /* : Int */; +val* var14 /* : String */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +long var18 /* : Int */; +val* var19 /* : String */; +long var20 /* : Int */; +static val* varonce21; +val* var22 /* : String */; +char* var23 /* : NativeString */; +long var24 /* : Int */; +val* var25 /* : String */; +val* var26 /* : Array[Object] */; +long var27 /* : Int */; +val* var28 /* : NativeArray[Object] */; +val* var29 /* : Object */; +val* var30 /* : String */; +val* var31 /* : CustomizedRuntimeFunction */; val* var_rm /* var rm: CustomizedRuntimeFunction */; -val* var55 /* : nullable RuntimeVariable */; +val* var32 /* : nullable RuntimeVariable */; var_m = p0; var_recvtype = p1; var_args = p2; var1 = ((long (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__length]))(var_args) /* length on */; var2 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MMethodDef__msignature]))(var_m) /* msignature on */; if (var2 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 464); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 457); +show_backtrace(1); } else { var3 = ((long (*)(val*))(var2->class->vft[COLOR_model__MSignature__arity]))(var2) /* arity on */; } @@ -5521,111 +5263,64 @@ var5 = var7; goto RET_LABEL6; RET_LABEL6:(void)0; } -{ /* Inline kernel#Int#!= (var1,var5) */ +{ /* Inline kernel#Int#== (var1,var5) */ var10 = var1 == var5; -var11 = !var10; -var8 = var11; +var8 = var10; goto RET_LABEL9; RET_LABEL9:(void)0; } -if (var8){ +if (!var8) { if (varonce) { -var12 = varonce; -} else { -var13 = "printf(\"NOT YET IMPLEMENTED: Invalid arity for "; -var14 = 47; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce = var12; -} -if (varonce16) { -var17 = varonce16; -} else { -var18 = ". "; -var19 = 2; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; -} -var21 = ((long (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__length]))(var_args) /* length on */; -if (varonce22) { -var23 = varonce22; -} else { -var24 = " arguments given.\\n\"); exit(1);"; -var25 = 31; -var26 = string__NativeString__to_s_with_length(var24, var25); -var23 = var26; -varonce22 = var23; -} -var27 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var27 = array_instance Array[Object] */ -var28 = 5; -var29 = NEW_array__NativeArray(var28, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var29)->values[0] = (val*) var12; -((struct instance_array__NativeArray*)var29)->values[1] = (val*) var_m; -((struct instance_array__NativeArray*)var29)->values[2] = (val*) var17; -var30 = BOX_kernel__Int(var21); /* autobox from Int to Object */ -((struct instance_array__NativeArray*)var29)->values[3] = (val*) var30; -((struct instance_array__NativeArray*)var29)->values[4] = (val*) var23; -((void (*)(val*, val*, long))(var27->class->vft[COLOR_array__Array__with_native]))(var27, var29, var28) /* with_native on */; -CHECK_NEW_array__Array(var27); -} -var31 = ((val* (*)(val*))(var27->class->vft[COLOR_string__Object__to_s]))(var27) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var31) /* add on */; -if (varonce32) { -var33 = varonce32; -} else { -var34 = "NOT YET IMPLEMENTED: Invalid arity for "; -var35 = 39; -var36 = string__NativeString__to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; -} -if (varonce37) { -var38 = varonce37; +var11 = varonce; } else { -var39 = ". "; -var40 = 2; -var41 = string__NativeString__to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; +var12 = "Invalid arity for "; +var13 = 18; +var14 = string__NativeString__to_s_with_length(var12, var13); +var11 = var14; +varonce = var11; } -var42 = ((long (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__length]))(var_args) /* length on */; -if (varonce43) { -var44 = varonce43; +if (varonce15) { +var16 = varonce15; } else { -var45 = " arguments given."; -var46 = 17; -var47 = string__NativeString__to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var17 = ". "; +var18 = 2; +var19 = string__NativeString__to_s_with_length(var17, var18); +var16 = var19; +varonce15 = var16; } -var48 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var48 = array_instance Array[Object] */ -var49 = 5; -var50 = NEW_array__NativeArray(var49, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var50)->values[0] = (val*) var33; -((struct instance_array__NativeArray*)var50)->values[1] = (val*) var_m; -((struct instance_array__NativeArray*)var50)->values[2] = (val*) var38; -var51 = BOX_kernel__Int(var42); /* autobox from Int to Object */ -((struct instance_array__NativeArray*)var50)->values[3] = (val*) var51; -((struct instance_array__NativeArray*)var50)->values[4] = (val*) var44; -((void (*)(val*, val*, long))(var48->class->vft[COLOR_array__Array__with_native]))(var48, var50, var49) /* with_native on */; -CHECK_NEW_array__Array(var48); -} -var52 = ((val* (*)(val*))(var48->class->vft[COLOR_string__Object__to_s]))(var48) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var52) /* debug on */; -var53 = NULL; -var = var53; -goto RET_LABEL; +var20 = ((long (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__length]))(var_args) /* length on */; +if (varonce21) { +var22 = varonce21; } else { +var23 = " arguments given."; +var24 = 17; +var25 = string__NativeString__to_s_with_length(var23, var24); +var22 = var25; +varonce21 = var22; } -var54 = NEW_global_compiler__CustomizedRuntimeFunction(&type_global_compiler__CustomizedRuntimeFunction); -((void (*)(val*, val*, val*))(var54->class->vft[COLOR_global_compiler__CustomizedRuntimeFunction__init]))(var54, var_m, var_recvtype) /* init on */; -CHECK_NEW_global_compiler__CustomizedRuntimeFunction(var54); -var_rm = var54; -var55 = ((val* (*)(val*, val*, val*))(var_rm->class->vft[COLOR_abstract_compiler__AbstractRuntimeFunction__call]))(var_rm, self, var_args) /* call on */; -var = var55; +var26 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var26 = array_instance Array[Object] */ +var27 = 5; +var28 = NEW_array__NativeArray(var27, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var28)->values[0] = (val*) var11; +((struct instance_array__NativeArray*)var28)->values[1] = (val*) var_m; +((struct instance_array__NativeArray*)var28)->values[2] = (val*) var16; +var29 = BOX_kernel__Int(var20); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var28)->values[3] = (val*) var29; +((struct instance_array__NativeArray*)var28)->values[4] = (val*) var22; +((void (*)(val*, val*, long))(var26->class->vft[COLOR_array__Array__with_native]))(var26, var28, var27) /* with_native on */; +} +var30 = ((val* (*)(val*))(var26->class->vft[COLOR_string__Object__to_s]))(var26) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var30) /* debug on */; +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 457); +show_backtrace(1); +} +var31 = NEW_global_compiler__CustomizedRuntimeFunction(&type_global_compiler__CustomizedRuntimeFunction); +((void (*)(val*, val*, val*))(var31->class->vft[COLOR_global_compiler__CustomizedRuntimeFunction__init]))(var31, var_m, var_recvtype) /* init on */; +var_rm = var31; +var32 = ((val* (*)(val*, val*, val*))(var_rm->class->vft[COLOR_abstract_compiler__AbstractRuntimeFunction__call]))(var_rm, self, var_args) /* call on */; +var = var32; goto RET_LABEL; RET_LABEL:; return var; @@ -5665,8 +5360,8 @@ var_new_args = var3; var4 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MMethodDef__msignature]))(var_m) /* msignature on */; if (var4 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 479); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 468); +show_backtrace(1); } ((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__varargize]))(self, var_m, var4, var_new_args) /* varargize on */; ((void (*)(val*, val*))(var_new_args->class->vft[COLOR_abstract_collection__Sequence__first_61d]))(var_new_args, var_recv) /* first= on */; @@ -5939,9 +5634,9 @@ var3 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MPropDef__mproperty]))(v var4 = ((val* (*)(val*))(var3->class->vft[COLOR_model__MProperty__intro]))(var3) /* intro on */; var5 = ((val* (*)(val*))(var4->class->vft[COLOR_model__MMethodDef__msignature]))(var4) /* msignature on */; if (var5 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 500); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 489); +show_backtrace(1); } else { var6 = ((val* (*)(val*))(var5->class->vft[COLOR_model__MSignature__return_mtype]))(var5) /* return_mtype on */; } @@ -6001,7 +5696,6 @@ var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var31)->values[3] = (val*) var23; ((struct instance_array__NativeArray*)var31)->values[4] = (val*) var25; ((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; -CHECK_NEW_array__Array(var29); } var32 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var32) /* add on */; @@ -6032,8 +5726,8 @@ var44 = var43->type->type_table[cltype] == idtype; if (!var44) { var_class_name = var43 == NULL ? "null" : var43->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 510); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 499); +show_backtrace(1); } var_mclasstype = var43; var45 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; @@ -6068,7 +5762,6 @@ var62 = NEW_array__NativeArray(var61, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var62)->values[1] = (val*) var_m; ((struct instance_array__NativeArray*)var62)->values[2] = (val*) var56; ((void (*)(val*, val*, long))(var60->class->vft[COLOR_array__Array__with_native]))(var60, var62, var61) /* with_native on */; -CHECK_NEW_array__Array(var60); } var63 = ((val* (*)(val*))(var60->class->vft[COLOR_string__Object__to_s]))(var60) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var63) /* add on */; @@ -6091,8 +5784,8 @@ var69 = 1; /* arg is null and recv is not */ if (var69){ if (var_res2 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 517); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 506); +show_backtrace(1); } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var_res, var_res2) /* assign on */; } else { @@ -6152,7 +5845,6 @@ var95 = NEW_array__NativeArray(var94, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var95)->values[3] = (val*) var_m; ((struct instance_array__NativeArray*)var95)->values[4] = (val*) var89; ((void (*)(val*, val*, long))(var93->class->vft[COLOR_array__Array__with_native]))(var93, var95, var94) /* with_native on */; -CHECK_NEW_array__Array(var93); } var96 = ((val* (*)(val*))(var93->class->vft[COLOR_string__Object__to_s]))(var93) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var96) /* add on */; @@ -6199,7 +5891,6 @@ var116 = NEW_array__NativeArray(var115, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var116)->values[1] = (val*) var108; ((struct instance_array__NativeArray*)var116)->values[2] = (val*) var110; ((void (*)(val*, val*, long))(var114->class->vft[COLOR_array__Array__with_native]))(var114, var116, var115) /* with_native on */; -CHECK_NEW_array__Array(var114); } var117 = ((val* (*)(val*))(var114->class->vft[COLOR_string__Object__to_s]))(var114) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var117) /* add on */; @@ -6252,7 +5943,6 @@ var143 = NEW_array__NativeArray(var142, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var143)->values[1] = (val*) var_t; ((struct instance_array__NativeArray*)var143)->values[2] = (val*) var137; ((void (*)(val*, val*, long))(var141->class->vft[COLOR_array__Array__with_native]))(var141, var143, var142) /* with_native on */; -CHECK_NEW_array__Array(var141); } var144 = ((val* (*)(val*))(var141->class->vft[COLOR_string__Object__to_s]))(var141) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var144) /* add on */; @@ -6296,7 +5986,6 @@ var164 = NEW_array__NativeArray(var163, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var164)->values[3] = (val*) var_t; ((struct instance_array__NativeArray*)var164)->values[4] = (val*) var158; ((void (*)(val*, val*, long))(var162->class->vft[COLOR_array__Array__with_native]))(var162, var164, var163) /* with_native on */; -CHECK_NEW_array__Array(var162); } var165 = ((val* (*)(val*))(var162->class->vft[COLOR_string__Object__to_s]))(var162) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var165) /* add on */; @@ -6312,8 +6001,8 @@ var169 = 1; /* arg is null and recv is not */ if (var169){ if (var_res2167 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 539); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 528); +show_backtrace(1); } ((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var_res, var_res2167) /* assign on */; } else { @@ -6421,16 +6110,15 @@ var1 = NEW_range__Range(&type_range__Rangekernel__Int); var2 = 0; var3 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MMethodDef__msignature]))(var_m) /* msignature on */; if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 553); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 542); +show_backtrace(1); } else { var4 = ((long (*)(val*))(var3->class->vft[COLOR_model__MSignature__arity]))(var3) /* arity on */; } var5 = BOX_kernel__Int(var2); /* autobox from Int to Discrete */ var6 = BOX_kernel__Int(var4); /* autobox from Int to Discrete */ ((void (*)(val*, val*, val*))(var1->class->vft[COLOR_range__Range__without_last]))(var1, var5, var6) /* without_last on */; -CHECK_NEW_range__Range(var1); var7 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on */; for(;;) { var8 = ((short int (*)(val*))(var7->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var7) /* is_ok on */; @@ -6440,9 +6128,9 @@ var10 = ((struct instance_kernel__Int*)var9)->value; /* autounbox from nullable var_i = var10; var11 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MMethodDef__msignature]))(var_m) /* msignature on */; if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 554); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 543); +show_backtrace(1); } else { var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MSignature__mparameters]))(var11) /* mparameters on */; } @@ -6451,9 +6139,9 @@ var14 = ((val* (*)(val*))(var13->class->vft[COLOR_model__MParameter__mtype]))(va var_t = var14; var15 = ((val* (*)(val*))(var_m->class->vft[COLOR_model__MMethodDef__msignature]))(var_m) /* msignature on */; if (var15 == NULL) { -fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 555); -exit(1); +fprintf(stderr, "Runtime error: %s", "Receiver is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 544); +show_backtrace(1); } else { var16 = ((long (*)(val*))(var15->class->vft[COLOR_model__MSignature__vararg_rank]))(var15) /* vararg_rank on */; } @@ -6627,15 +6315,14 @@ var25 = NEW_array__NativeArray(var24, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var25)->values[3] = (val*) var17; ((struct instance_array__NativeArray*)var25)->values[4] = (val*) var19; ((void (*)(val*, val*, long))(var23->class->vft[COLOR_array__Array__with_native]))(var23, var25, var24) /* with_native on */; -CHECK_NEW_array__Array(var23); } var26 = ((val* (*)(val*))(var23->class->vft[COLOR_string__Object__to_s]))(var23) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var26) /* add on */; if (varonce27) { var28 = varonce27; } else { -var29 = "exit(1);"; -var30 = 8; +var29 = "show_backtrace(1);"; +var30 = 18; var31 = string__NativeString__to_s_with_length(var29, var30); var28 = var31; varonce27 = var28; @@ -6886,7 +6573,6 @@ var22 = NEW_array__NativeArray(var21, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var22)->values[3] = (val*) var_a; ((struct instance_array__NativeArray*)var22)->values[4] = (val*) var16; ((void (*)(val*, val*, long))(var20->class->vft[COLOR_array__Array__with_native]))(var20, var22, var21) /* with_native on */; -CHECK_NEW_array__Array(var20); } var23 = ((val* (*)(val*))(var20->class->vft[COLOR_string__Object__to_s]))(var20) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var23) /* add on */; @@ -6933,7 +6619,6 @@ var42 = NEW_array__NativeArray(var41, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var42)->values[3] = (val*) var34; ((struct instance_array__NativeArray*)var42)->values[4] = (val*) var36; ((void (*)(val*, val*, long))(var40->class->vft[COLOR_array__Array__with_native]))(var40, var42, var41) /* with_native on */; -CHECK_NEW_array__Array(var40); } var43 = ((val* (*)(val*))(var40->class->vft[COLOR_string__Object__to_s]))(var40) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var43) /* add on */; @@ -6963,7 +6648,6 @@ var56 = NEW_array__NativeArray(var55, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var56)->values[1] = (val*) var_recv; ((struct instance_array__NativeArray*)var56)->values[2] = (val*) var50; ((void (*)(val*, val*, long))(var54->class->vft[COLOR_array__Array__with_native]))(var54, var56, var55) /* with_native on */; -CHECK_NEW_array__Array(var54); } var57 = ((val* (*)(val*))(var54->class->vft[COLOR_string__Object__to_s]))(var54) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var57) /* add on */; @@ -7014,7 +6698,6 @@ var81 = NEW_array__NativeArray(var80, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var81)->values[1] = (val*) var73; ((struct instance_array__NativeArray*)var81)->values[2] = (val*) var75; ((void (*)(val*, val*, long))(var79->class->vft[COLOR_array__Array__with_native]))(var79, var81, var80) /* with_native on */; -CHECK_NEW_array__Array(var79); } var82 = ((val* (*)(val*))(var79->class->vft[COLOR_string__Object__to_s]))(var79) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var82) /* add on */; @@ -7047,7 +6730,6 @@ var97 = NEW_array__NativeArray(var96, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var97)->values[1] = (val*) var89; ((struct instance_array__NativeArray*)var97)->values[2] = (val*) var91; ((void (*)(val*, val*, long))(var95->class->vft[COLOR_array__Array__with_native]))(var95, var97, var96) /* with_native on */; -CHECK_NEW_array__Array(var95); } var98 = ((val* (*)(val*))(var95->class->vft[COLOR_string__Object__to_s]))(var95) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var98) /* add on */; @@ -7058,8 +6740,8 @@ var100 = ((val* (*)(val*))(var_a->class->vft[COLOR_model__MProperty__intro]))(va var101 = ((val* (*)(val*))(var100->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var100) /* static_mtype on */; if (var101 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 599); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 588); +show_backtrace(1); } var_ta = var101; var102 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for]))(self, var_ta, var_recv2) /* resolve_for on */; @@ -7105,7 +6787,6 @@ var123 = NEW_array__NativeArray(var122, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var123)->values[4] = (val*) var115; ((struct instance_array__NativeArray*)var123)->values[5] = (val*) var120; ((void (*)(val*, val*, long))(var121->class->vft[COLOR_array__Array__with_native]))(var121, var123, var122) /* with_native on */; -CHECK_NEW_array__Array(var121); } var124 = ((val* (*)(val*))(var121->class->vft[COLOR_string__Object__to_s]))(var121) /* to_s on */; var125 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var124, var_ta) /* new_expr on */; @@ -7159,7 +6840,6 @@ var147 = NEW_array__NativeArray(var146, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var147)->values[2] = (val*) var_attr; ((struct instance_array__NativeArray*)var147)->values[3] = (val*) var141; ((void (*)(val*, val*, long))(var145->class->vft[COLOR_array__Array__with_native]))(var145, var147, var146) /* with_native on */; -CHECK_NEW_array__Array(var145); } var148 = ((val* (*)(val*))(var145->class->vft[COLOR_string__Object__to_s]))(var145) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var148) /* add on */; @@ -7180,7 +6860,6 @@ var156 = NEW_array__NativeArray(var155, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var156)->values[0] = (val*) var_res; ((struct instance_array__NativeArray*)var156)->values[1] = (val*) var150; ((void (*)(val*, val*, long))(var154->class->vft[COLOR_array__Array__with_native]))(var154, var156, var155) /* with_native on */; -CHECK_NEW_array__Array(var154); } var157 = ((val* (*)(val*))(var154->class->vft[COLOR_string__Object__to_s]))(var154) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var157) /* add on */; @@ -7463,8 +7142,8 @@ var2 = ((val* (*)(val*))(var_a->class->vft[COLOR_model__MProperty__intro]))(var_ var3 = ((val* (*)(val*))(var2->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var2) /* static_mtype on */; if (var3 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 626); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 615); +show_backtrace(1); } var_ret = var3; var4 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for]))(self, var_ret, var_recv) /* resolve_for on */; @@ -7511,7 +7190,6 @@ var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var24)->values[3] = (val*) var_a; ((struct instance_array__NativeArray*)var24)->values[4] = (val*) var18; ((void (*)(val*, val*, long))(var22->class->vft[COLOR_array__Array__with_native]))(var22, var24, var23) /* with_native on */; -CHECK_NEW_array__Array(var22); } var25 = ((val* (*)(val*))(var22->class->vft[COLOR_string__Object__to_s]))(var22) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var25) /* add on */; @@ -7558,7 +7236,6 @@ var44 = NEW_array__NativeArray(var43, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var44)->values[3] = (val*) var36; ((struct instance_array__NativeArray*)var44)->values[4] = (val*) var38; ((void (*)(val*, val*, long))(var42->class->vft[COLOR_array__Array__with_native]))(var42, var44, var43) /* with_native on */; -CHECK_NEW_array__Array(var42); } var45 = ((val* (*)(val*))(var42->class->vft[COLOR_string__Object__to_s]))(var42) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var45) /* add on */; @@ -7588,7 +7265,6 @@ var58 = NEW_array__NativeArray(var57, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var58)->values[1] = (val*) var_recv; ((struct instance_array__NativeArray*)var58)->values[2] = (val*) var52; ((void (*)(val*, val*, long))(var56->class->vft[COLOR_array__Array__with_native]))(var56, var58, var57) /* with_native on */; -CHECK_NEW_array__Array(var56); } var59 = ((val* (*)(val*))(var56->class->vft[COLOR_string__Object__to_s]))(var56) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var59) /* add on */; @@ -7639,7 +7315,6 @@ var83 = NEW_array__NativeArray(var82, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var83)->values[1] = (val*) var75; ((struct instance_array__NativeArray*)var83)->values[2] = (val*) var77; ((void (*)(val*, val*, long))(var81->class->vft[COLOR_array__Array__with_native]))(var81, var83, var82) /* with_native on */; -CHECK_NEW_array__Array(var81); } var84 = ((val* (*)(val*))(var81->class->vft[COLOR_string__Object__to_s]))(var81) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var84) /* add on */; @@ -7672,7 +7347,6 @@ var99 = NEW_array__NativeArray(var98, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var99)->values[1] = (val*) var91; ((struct instance_array__NativeArray*)var99)->values[2] = (val*) var93; ((void (*)(val*, val*, long))(var97->class->vft[COLOR_array__Array__with_native]))(var97, var99, var98) /* with_native on */; -CHECK_NEW_array__Array(var97); } var100 = ((val* (*)(val*))(var97->class->vft[COLOR_string__Object__to_s]))(var97) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var100) /* add on */; @@ -7683,8 +7357,8 @@ var102 = ((val* (*)(val*))(var_a->class->vft[COLOR_model__MProperty__intro]))(va var103 = ((val* (*)(val*))(var102->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var102) /* static_mtype on */; if (var103 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 645); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 634); +show_backtrace(1); } var_ta = var103; var104 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for]))(self, var_ta, var_recv2) /* resolve_for on */; @@ -7730,7 +7404,6 @@ var125 = NEW_array__NativeArray(var124, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var125)->values[4] = (val*) var117; ((struct instance_array__NativeArray*)var125)->values[5] = (val*) var122; ((void (*)(val*, val*, long))(var123->class->vft[COLOR_array__Array__with_native]))(var123, var125, var124) /* with_native on */; -CHECK_NEW_array__Array(var123); } var126 = ((val* (*)(val*))(var123->class->vft[COLOR_string__Object__to_s]))(var123) /* to_s on */; var127 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var126, var_ta) /* new_expr on */; @@ -7796,7 +7469,6 @@ var158 = NEW_array__NativeArray(var157, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var158)->values[1] = (val*) var_res2; ((struct instance_array__NativeArray*)var158)->values[2] = (val*) var152; ((void (*)(val*, val*, long))(var156->class->vft[COLOR_array__Array__with_native]))(var156, var158, var157) /* with_native on */; -CHECK_NEW_array__Array(var156); } var159 = ((val* (*)(val*))(var156->class->vft[COLOR_string__Object__to_s]))(var156) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var159) /* add on */; @@ -7817,7 +7489,6 @@ var168 = NEW_array__NativeArray(var167, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var168)->values[0] = (val*) var161; ((struct instance_array__NativeArray*)var168)->values[1] = (val*) var165; ((void (*)(val*, val*, long))(var166->class->vft[COLOR_array__Array__with_native]))(var166, var168, var167) /* with_native on */; -CHECK_NEW_array__Array(var166); } var169 = ((val* (*)(val*))(var166->class->vft[COLOR_string__Object__to_s]))(var166) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort]))(self, var169) /* add_abort on */; @@ -8108,7 +7779,6 @@ var19 = NEW_array__NativeArray(var18, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var19)->values[3] = (val*) var_a; ((struct instance_array__NativeArray*)var19)->values[4] = (val*) var13; ((void (*)(val*, val*, long))(var17->class->vft[COLOR_array__Array__with_native]))(var17, var19, var18) /* with_native on */; -CHECK_NEW_array__Array(var17); } var20 = ((val* (*)(val*))(var17->class->vft[COLOR_string__Object__to_s]))(var17) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var20) /* add on */; @@ -8154,7 +7824,6 @@ var39 = NEW_array__NativeArray(var38, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var39)->values[3] = (val*) var31; ((struct instance_array__NativeArray*)var39)->values[4] = (val*) var33; ((void (*)(val*, val*, long))(var37->class->vft[COLOR_array__Array__with_native]))(var37, var39, var38) /* with_native on */; -CHECK_NEW_array__Array(var37); } var40 = ((val* (*)(val*))(var37->class->vft[COLOR_string__Object__to_s]))(var37) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var40) /* add on */; @@ -8184,7 +7853,6 @@ var53 = NEW_array__NativeArray(var52, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var53)->values[1] = (val*) var_recv; ((struct instance_array__NativeArray*)var53)->values[2] = (val*) var47; ((void (*)(val*, val*, long))(var51->class->vft[COLOR_array__Array__with_native]))(var51, var53, var52) /* with_native on */; -CHECK_NEW_array__Array(var51); } var54 = ((val* (*)(val*))(var51->class->vft[COLOR_string__Object__to_s]))(var51) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var54) /* add on */; @@ -8235,7 +7903,6 @@ var78 = NEW_array__NativeArray(var77, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var78)->values[1] = (val*) var70; ((struct instance_array__NativeArray*)var78)->values[2] = (val*) var72; ((void (*)(val*, val*, long))(var76->class->vft[COLOR_array__Array__with_native]))(var76, var78, var77) /* with_native on */; -CHECK_NEW_array__Array(var76); } var79 = ((val* (*)(val*))(var76->class->vft[COLOR_string__Object__to_s]))(var76) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var79) /* add on */; @@ -8268,7 +7935,6 @@ var94 = NEW_array__NativeArray(var93, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var94)->values[1] = (val*) var86; ((struct instance_array__NativeArray*)var94)->values[2] = (val*) var88; ((void (*)(val*, val*, long))(var92->class->vft[COLOR_array__Array__with_native]))(var92, var94, var93) /* with_native on */; -CHECK_NEW_array__Array(var92); } var95 = ((val* (*)(val*))(var92->class->vft[COLOR_string__Object__to_s]))(var92) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var95) /* add on */; @@ -8279,8 +7945,8 @@ var97 = ((val* (*)(val*))(var_a->class->vft[COLOR_model__MProperty__intro]))(var var98 = ((val* (*)(val*))(var97->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var97) /* static_mtype on */; if (var98 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 690); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 679); +show_backtrace(1); } var_ta = var98; var99 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for]))(self, var_ta, var_recv2) /* resolve_for on */; @@ -8348,7 +8014,6 @@ var131 = NEW_array__NativeArray(var130, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var131)->values[7] = (val*) var123; ((struct instance_array__NativeArray*)var131)->values[8] = (val*) var125; ((void (*)(val*, val*, long))(var129->class->vft[COLOR_array__Array__with_native]))(var129, var131, var130) /* with_native on */; -CHECK_NEW_array__Array(var129); } var132 = ((val* (*)(val*))(var129->class->vft[COLOR_string__Object__to_s]))(var129) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var132) /* add on */; @@ -8458,8 +8123,8 @@ var2 = var1->type->type_table[cltype] == idtype; if (!var2) { var_class_name = var1 == NULL ? "null" : var1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 704); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 693); +show_backtrace(1); } var_mtype = var1; var3 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; @@ -8494,7 +8159,6 @@ var19 = NEW_array__NativeArray(var18, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var19)->values[1] = (val*) var_mtype; ((struct instance_array__NativeArray*)var19)->values[2] = (val*) var13; ((void (*)(val*, val*, long))(var17->class->vft[COLOR_array__Array__with_native]))(var17, var19, var18) /* with_native on */; -CHECK_NEW_array__Array(var17); } var20 = ((val* (*)(val*))(var17->class->vft[COLOR_string__Object__to_s]))(var17) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var20) /* debug on */; @@ -8527,7 +8191,6 @@ var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var34)->values[1] = (val*) var26; ((struct instance_array__NativeArray*)var34)->values[2] = (val*) var28; ((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on */; -CHECK_NEW_array__Array(var32); } var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on */; var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(self, var35, var_mtype) /* new_expr on */; @@ -8555,710 +8218,664 @@ val* var_value /* var value: RuntimeVariable */; val* var_mtype /* var mtype: MType */; val* var_tag /* var tag: String */; val* var1 /* : MType */; -val* var_mclasstype /* var mclasstype: MType */; -short int var2 /* : Bool */; -int cltype; -int idtype; -val* var3 /* : MType */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : AbstractCompiler */; -val* var8 /* : RapidTypeAnalysis */; -val* var9 /* : HashSet[MClassType] */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; +val* var2 /* : AbstractCompiler */; +val* var3 /* : RapidTypeAnalysis */; +val* var4 /* : HashSet[MType] */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; static val* varonce; +val* var7 /* : String */; +char* var8 /* : NativeString */; +long var9 /* : Int */; +val* var10 /* : String */; +static val* varonce11; val* var12 /* : String */; char* var13 /* : NativeString */; long var14 /* : Int */; val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : String */; -val* var21 /* : Array[Object] */; -long var22 /* : Int */; -val* var23 /* : NativeArray[Object] */; -val* var24 /* : String */; -val* var25 /* : Array[MClassType] */; +val* var16 /* : Array[Object] */; +long var17 /* : Int */; +val* var18 /* : NativeArray[Object] */; +val* var19 /* : String */; +val* var20 /* : Array[MClassType] */; val* var_types /* var types: Array[MClassType] */; -val* var26 /* : MClassType */; -val* var27 /* : RuntimeVariable */; +val* var21 /* : MClassType */; +val* var22 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +long var26 /* : Int */; +val* var27 /* : String */; static val* varonce28; val* var29 /* : String */; char* var30 /* : NativeString */; long var31 /* : Int */; val* var32 /* : String */; -static val* varonce33; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : String */; +val* var33 /* : String */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +long var37 /* : Int */; val* var38 /* : String */; -static val* varonce39; -val* var40 /* : String */; -char* var41 /* : NativeString */; -long var42 /* : Int */; -val* var43 /* : String */; -val* var44 /* : Array[Object] */; -long var45 /* : Int */; -val* var46 /* : NativeArray[Object] */; -val* var47 /* : String */; -val* var48 /* : MType */; +val* var39 /* : Array[Object] */; +long var40 /* : Int */; +val* var41 /* : NativeArray[Object] */; +val* var42 /* : String */; +val* var43 /* : MType */; +val* var44 /* : String */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +long var48 /* : Int */; val* var49 /* : String */; -static val* varonce50; -val* var51 /* : String */; -char* var52 /* : NativeString */; -long var53 /* : Int */; -val* var54 /* : String */; +short int var50 /* : Bool */; +val* var51 /* : MType */; +val* var52 /* : AbstractCompiler */; +val* var53 /* : MModule */; +val* var54 /* : null */; short int var55 /* : Bool */; -val* var56 /* : MType */; -val* var57 /* : AbstractCompiler */; -val* var58 /* : MModule */; -val* var59 /* : null */; -short int var60 /* : Bool */; -static val* varonce61; -val* var62 /* : String */; -char* var63 /* : NativeString */; -long var64 /* : Int */; -val* var65 /* : String */; -val* var66 /* : Array[Object] */; -long var67 /* : Int */; -val* var68 /* : NativeArray[Object] */; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +long var59 /* : Int */; +val* var60 /* : String */; +val* var61 /* : Array[Object] */; +long var62 /* : Int */; +val* var63 /* : NativeArray[Object] */; +val* var64 /* : String */; +static val* varonce65; +val* var66 /* : String */; +char* var67 /* : NativeString */; +long var68 /* : Int */; val* var69 /* : String */; -static val* varonce70; -val* var71 /* : String */; -char* var72 /* : NativeString */; -long var73 /* : Int */; -val* var74 /* : String */; -val* var75 /* : Array[Object] */; -long var76 /* : Int */; -val* var77 /* : NativeArray[Object] */; -val* var78 /* : String */; -short int var79 /* : Bool */; -val* var80 /* : MType */; -short int var81 /* : Bool */; -int cltype82; -int idtype83; +val* var70 /* : Array[Object] */; +long var71 /* : Int */; +val* var72 /* : NativeArray[Object] */; +val* var73 /* : String */; +short int var74 /* : Bool */; +val* var75 /* : MType */; +short int var76 /* : Bool */; +int cltype; +int idtype; short int var_ /* var : Bool */; -val* var84 /* : MType */; -short int var85 /* : Bool */; -int cltype86; -int idtype87; -static val* varonce88; -val* var89 /* : String */; -char* var90 /* : NativeString */; -long var91 /* : Int */; -val* var92 /* : String */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; -val* var97 /* : String */; -val* var98 /* : Array[Object] */; -long var99 /* : Int */; -val* var100 /* : NativeArray[Object] */; -val* var101 /* : String */; -short int var102 /* : Bool */; -int cltype103; -int idtype104; -static val* varonce105; -val* var106 /* : String */; -char* var107 /* : NativeString */; -long var108 /* : Int */; -val* var109 /* : String */; -static val* varonce110; +val* var77 /* : MType */; +short int var78 /* : Bool */; +int cltype79; +int idtype80; +static val* varonce81; +val* var82 /* : String */; +char* var83 /* : NativeString */; +long var84 /* : Int */; +val* var85 /* : String */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +long var89 /* : Int */; +val* var90 /* : String */; +val* var91 /* : Array[Object] */; +long var92 /* : Int */; +val* var93 /* : NativeArray[Object] */; +val* var94 /* : String */; +short int var95 /* : Bool */; +int cltype96; +int idtype97; +static val* varonce98; +val* var99 /* : String */; +char* var100 /* : NativeString */; +long var101 /* : Int */; +val* var102 /* : String */; +static val* varonce103; +val* var104 /* : String */; +char* var105 /* : NativeString */; +long var106 /* : Int */; +val* var107 /* : String */; +val* var108 /* : Array[Object] */; +long var109 /* : Int */; +val* var110 /* : NativeArray[Object] */; val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : String */; -val* var115 /* : Array[Object] */; -long var116 /* : Int */; -val* var117 /* : NativeArray[Object] */; +static val* varonce112; +val* var113 /* : String */; +char* var114 /* : NativeString */; +long var115 /* : Int */; +val* var116 /* : String */; +static val* varonce117; val* var118 /* : String */; -static val* varonce119; -val* var120 /* : String */; -char* var121 /* : NativeString */; -long var122 /* : Int */; -val* var123 /* : String */; -static val* varonce124; +char* var119 /* : NativeString */; +long var120 /* : Int */; +val* var121 /* : String */; +val* var122 /* : Array[Object] */; +long var123 /* : Int */; +val* var124 /* : NativeArray[Object] */; val* var125 /* : String */; -char* var126 /* : NativeString */; -long var127 /* : Int */; -val* var128 /* : String */; -val* var129 /* : Array[Object] */; -long var130 /* : Int */; -val* var131 /* : NativeArray[Object] */; +static val* varonce126; +val* var127 /* : String */; +char* var128 /* : NativeString */; +long var129 /* : Int */; +val* var130 /* : String */; +static val* varonce131; val* var132 /* : String */; -static val* varonce133; -val* var134 /* : String */; -char* var135 /* : NativeString */; -long var136 /* : Int */; +char* var133 /* : NativeString */; +long var134 /* : Int */; +val* var135 /* : String */; +static val* varonce136; val* var137 /* : String */; -static val* varonce138; -val* var139 /* : String */; -char* var140 /* : NativeString */; -long var141 /* : Int */; -val* var142 /* : String */; -static val* varonce143; +char* var138 /* : NativeString */; +long var139 /* : Int */; +val* var140 /* : String */; +val* var141 /* : Array[Object] */; +long var142 /* : Int */; +val* var143 /* : NativeArray[Object] */; val* var144 /* : String */; -char* var145 /* : NativeString */; -long var146 /* : Int */; -val* var147 /* : String */; -val* var148 /* : Array[Object] */; -long var149 /* : Int */; -val* var150 /* : NativeArray[Object] */; -val* var151 /* : String */; -val* var152 /* : Iterator[nullable Object] */; -short int var153 /* : Bool */; -val* var154 /* : nullable Object */; +val* var145 /* : Iterator[nullable Object] */; +short int var146 /* : Bool */; +val* var147 /* : nullable Object */; val* var_t /* var t: MClassType */; -val* var155 /* : AbstractCompiler */; -val* var156 /* : MModule */; -val* var157 /* : null */; -short int var158 /* : Bool */; +val* var148 /* : AbstractCompiler */; +val* var149 /* : MModule */; +val* var150 /* : null */; +short int var151 /* : Bool */; +static val* varonce152; +val* var153 /* : String */; +char* var154 /* : NativeString */; +long var155 /* : Int */; +val* var156 /* : String */; +val* var157 /* : AbstractCompiler */; +val* var158 /* : String */; static val* varonce159; val* var160 /* : String */; char* var161 /* : NativeString */; long var162 /* : Int */; val* var163 /* : String */; -val* var164 /* : AbstractCompiler */; +static val* varonce164; val* var165 /* : String */; -static val* varonce166; -val* var167 /* : String */; -char* var168 /* : NativeString */; -long var169 /* : Int */; -val* var170 /* : String */; -static val* varonce171; +char* var166 /* : NativeString */; +long var167 /* : Int */; +val* var168 /* : String */; +val* var169 /* : Array[Object] */; +long var170 /* : Int */; +val* var171 /* : NativeArray[Object] */; val* var172 /* : String */; -char* var173 /* : NativeString */; -long var174 /* : Int */; -val* var175 /* : String */; -val* var176 /* : Array[Object] */; -long var177 /* : Int */; -val* var178 /* : NativeArray[Object] */; -val* var179 /* : String */; -static val* varonce180; +static val* varonce173; +val* var174 /* : String */; +char* var175 /* : NativeString */; +long var176 /* : Int */; +val* var177 /* : String */; +val* var178 /* : Array[Object] */; +long var179 /* : Int */; +val* var180 /* : NativeArray[Object] */; val* var181 /* : String */; -char* var182 /* : NativeString */; -long var183 /* : Int */; -val* var184 /* : String */; -val* var185 /* : Array[Object] */; -long var186 /* : Int */; -val* var187 /* : NativeArray[Object] */; +static val* varonce182; +val* var183 /* : String */; +char* var184 /* : NativeString */; +long var185 /* : Int */; +val* var186 /* : String */; +static val* varonce187; val* var188 /* : String */; -static val* varonce189; -val* var190 /* : String */; -char* var191 /* : NativeString */; -long var192 /* : Int */; +char* var189 /* : NativeString */; +long var190 /* : Int */; +val* var191 /* : String */; +static val* varonce192; val* var193 /* : String */; -static val* varonce194; -val* var195 /* : String */; -char* var196 /* : NativeString */; -long var197 /* : Int */; -val* var198 /* : String */; -static val* varonce199; +char* var194 /* : NativeString */; +long var195 /* : Int */; +val* var196 /* : String */; +val* var197 /* : Array[Object] */; +long var198 /* : Int */; +val* var199 /* : NativeArray[Object] */; val* var200 /* : String */; -char* var201 /* : NativeString */; -long var202 /* : Int */; -val* var203 /* : String */; -val* var204 /* : Array[Object] */; -long var205 /* : Int */; -val* var206 /* : NativeArray[Object] */; -val* var207 /* : String */; -static val* varonce208; -val* var209 /* : String */; -char* var210 /* : NativeString */; -long var211 /* : Int */; -val* var212 /* : String */; +static val* varonce201; +val* var202 /* : String */; +char* var203 /* : NativeString */; +long var204 /* : Int */; +val* var205 /* : String */; var_value = p0; var_mtype = p1; var_tag = p2; var1 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor]))(self, var_mtype) /* anchor on */; var_mtype = var1; -var_mclasstype = var_mtype; -/* isa MNullableType */ -cltype = type_model__MNullableType.color; -idtype = type_model__MNullableType.id; -if(cltype >= var_mtype->type->table_size) { -var2 = 0; -} else { -var2 = var_mtype->type->type_table[cltype] == idtype; -} -if (var2){ -var3 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_model__MNullableType__mtype]))(var_mtype) /* mtype on */; -var_mclasstype = var3; -} else { -} -/* isa MClassType */ -cltype5 = type_model__MClassType.color; -idtype6 = type_model__MClassType.id; -if(cltype5 >= var_mclasstype->type->table_size) { -var4 = 0; +var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; +var3 = ((val* (*)(val*))(var2->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var2) /* runtime_type_analysis on */; +var4 = ((val* (*)(val*))(var3->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_cast_types]))(var3) /* live_cast_types on */; +var5 = ((short int (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__Collection__has]))(var4, var_mtype) /* has on */; +var6 = !var5; +if (var6){ +if (varonce) { +var7 = varonce; } else { -var4 = var_mclasstype->type->type_table[cltype5] == idtype6; +var8 = "problem: "; +var9 = 9; +var10 = string__NativeString__to_s_with_length(var8, var9); +var7 = var10; +varonce = var7; } -if (!var4) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 718); -exit(1); -} -var7 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var8 = ((val* (*)(val*))(var7->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var7) /* runtime_type_analysis on */; -var9 = ((val* (*)(val*))(var8->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_cast_types]))(var8) /* live_cast_types on */; -var10 = ((short int (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__Collection__has]))(var9, var_mclasstype) /* has on */; -var11 = !var10; -if (var11){ -if (varonce) { -var12 = varonce; +if (varonce11) { +var12 = varonce11; } else { -var13 = "problem: "; -var14 = 9; +var13 = " was detected cast-dead"; +var14 = 23; var15 = string__NativeString__to_s_with_length(var13, var14); var12 = var15; -varonce = var12; +varonce11 = var12; } -if (varonce16) { -var17 = varonce16; -} else { -var18 = " was detected cast-dead"; -var19 = 23; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var16 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var16 = array_instance Array[Object] */ +var17 = 3; +var18 = NEW_array__NativeArray(var17, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var18)->values[0] = (val*) var7; +((struct instance_array__NativeArray*)var18)->values[1] = (val*) var_mtype; +((struct instance_array__NativeArray*)var18)->values[2] = (val*) var12; +((void (*)(val*, val*, long))(var16->class->vft[COLOR_array__Array__with_native]))(var16, var18, var17) /* with_native on */; } -var21 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var21 = array_instance Array[Object] */ -var22 = 3; -var23 = NEW_array__NativeArray(var22, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var23)->values[0] = (val*) var12; -((struct instance_array__NativeArray*)var23)->values[1] = (val*) var_mtype; -((struct instance_array__NativeArray*)var23)->values[2] = (val*) var17; -((void (*)(val*, val*, long))(var21->class->vft[COLOR_array__Array__with_native]))(var21, var23, var22) /* with_native on */; -CHECK_NEW_array__Array(var21); -} -var24 = ((val* (*)(val*))(var21->class->vft[COLOR_string__Object__to_s]))(var21) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var24) /* debug on */; +var19 = ((val* (*)(val*))(var16->class->vft[COLOR_string__Object__to_s]))(var16) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__debug]))(self, var19) /* debug on */; fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 721); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 707); +show_backtrace(1); } else { } -var25 = ((val* (*)(val*, val*))(self->class->vft[COLOR_global_compiler__GlobalCompilerVisitor__collect_types]))(self, var_value) /* collect_types on */; -var_types = var25; -var26 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type]))(self) /* bool_type on */; -var27 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var26) /* new_var on */; -var_res = var27; +var20 = ((val* (*)(val*, val*))(self->class->vft[COLOR_global_compiler__GlobalCompilerVisitor__collect_types]))(self, var_value) /* collect_types on */; +var_types = var20; +var21 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type]))(self) /* bool_type on */; +var22 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var21) /* new_var on */; +var_res = var22; +if (varonce23) { +var24 = varonce23; +} else { +var25 = "/* isa "; +var26 = 7; +var27 = string__NativeString__to_s_with_length(var25, var26); +var24 = var27; +varonce23 = var24; +} if (varonce28) { var29 = varonce28; } else { -var30 = "/* isa "; -var31 = 7; +var30 = " on "; +var31 = 4; var32 = string__NativeString__to_s_with_length(var30, var31); var29 = var32; varonce28 = var29; } -if (varonce33) { -var34 = varonce33; -} else { -var35 = " on "; -var36 = 4; -var37 = string__NativeString__to_s_with_length(var35, var36); -var34 = var37; -varonce33 = var34; -} -var38 = ((val* (*)(val*))(var_value->class->vft[COLOR_string__Object__inspect]))(var_value) /* inspect on */; -if (varonce39) { -var40 = varonce39; +var33 = ((val* (*)(val*))(var_value->class->vft[COLOR_string__Object__inspect]))(var_value) /* inspect on */; +if (varonce34) { +var35 = varonce34; +} else { +var36 = " */"; +var37 = 3; +var38 = string__NativeString__to_s_with_length(var36, var37); +var35 = var38; +varonce34 = var35; +} +var39 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var39 = array_instance Array[Object] */ +var40 = 5; +var41 = NEW_array__NativeArray(var40, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var41)->values[0] = (val*) var24; +((struct instance_array__NativeArray*)var41)->values[1] = (val*) var_mtype; +((struct instance_array__NativeArray*)var41)->values[2] = (val*) var29; +((struct instance_array__NativeArray*)var41)->values[3] = (val*) var33; +((struct instance_array__NativeArray*)var41)->values[4] = (val*) var35; +((void (*)(val*, val*, long))(var39->class->vft[COLOR_array__Array__with_native]))(var39, var41, var40) /* with_native on */; +} +var42 = ((val* (*)(val*))(var39->class->vft[COLOR_string__Object__to_s]))(var39) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var42) /* add on */; +var43 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; +var44 = ((val* (*)(val*))(var43->class->vft[COLOR_abstract_compiler__MType__ctype]))(var43) /* ctype on */; +if (varonce45) { +var46 = varonce45; +} else { +var47 = "val*"; +var48 = 4; +var49 = string__NativeString__to_s_with_length(var47, var48); +var46 = var49; +varonce45 = var46; +} +var50 = ((short int (*)(val*, val*))(var44->class->vft[COLOR_kernel__Object___33d_61d]))(var44, var46) /* != on */; +if (var50){ +var51 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; +var52 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; +var53 = ((val* (*)(val*))(var52->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(var52) /* mainmodule on */; +var54 = NULL; +var55 = ((short int (*)(val*, val*, val*, val*))(var51->class->vft[COLOR_model__MType__is_subtype]))(var51, var53, var54, var_mtype) /* is_subtype on */; +if (var55){ +if (varonce56) { +var57 = varonce56; +} else { +var58 = " = 1;"; +var59 = 5; +var60 = string__NativeString__to_s_with_length(var58, var59); +var57 = var60; +varonce56 = var57; +} +var61 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var61 = array_instance Array[Object] */ +var62 = 2; +var63 = NEW_array__NativeArray(var62, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var63)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var63)->values[1] = (val*) var57; +((void (*)(val*, val*, long))(var61->class->vft[COLOR_array__Array__with_native]))(var61, var63, var62) /* with_native on */; +} +var64 = ((val* (*)(val*))(var61->class->vft[COLOR_string__Object__to_s]))(var61) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var64) /* add on */; } else { -var41 = " */"; -var42 = 3; -var43 = string__NativeString__to_s_with_length(var41, var42); -var40 = var43; -varonce39 = var40; -} -var44 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var44 = array_instance Array[Object] */ -var45 = 5; -var46 = NEW_array__NativeArray(var45, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var46)->values[0] = (val*) var29; -((struct instance_array__NativeArray*)var46)->values[1] = (val*) var_mtype; -((struct instance_array__NativeArray*)var46)->values[2] = (val*) var34; -((struct instance_array__NativeArray*)var46)->values[3] = (val*) var38; -((struct instance_array__NativeArray*)var46)->values[4] = (val*) var40; -((void (*)(val*, val*, long))(var44->class->vft[COLOR_array__Array__with_native]))(var44, var46, var45) /* with_native on */; -CHECK_NEW_array__Array(var44); -} -var47 = ((val* (*)(val*))(var44->class->vft[COLOR_string__Object__to_s]))(var44) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var47) /* add on */; -var48 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; -var49 = ((val* (*)(val*))(var48->class->vft[COLOR_abstract_compiler__MType__ctype]))(var48) /* ctype on */; -if (varonce50) { -var51 = varonce50; +if (varonce65) { +var66 = varonce65; } else { -var52 = "val*"; -var53 = 4; -var54 = string__NativeString__to_s_with_length(var52, var53); -var51 = var54; -varonce50 = var51; +var67 = " = 0;"; +var68 = 5; +var69 = string__NativeString__to_s_with_length(var67, var68); +var66 = var69; +varonce65 = var66; } -var55 = ((short int (*)(val*, val*))(var49->class->vft[COLOR_kernel__Object___33d_61d]))(var49, var51) /* != on */; -if (var55){ -var56 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_value) /* mtype on */; -var57 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var58 = ((val* (*)(val*))(var57->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(var57) /* mainmodule on */; -var59 = NULL; -var60 = ((short int (*)(val*, val*, val*, val*))(var56->class->vft[COLOR_model__MType__is_subtype]))(var56, var58, var59, var_mtype) /* is_subtype on */; -if (var60){ -if (varonce61) { -var62 = varonce61; -} else { -var63 = " = 1;"; -var64 = 5; -var65 = string__NativeString__to_s_with_length(var63, var64); -var62 = var65; -varonce61 = var62; +var70 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var70 = array_instance Array[Object] */ +var71 = 2; +var72 = NEW_array__NativeArray(var71, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var72)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var72)->values[1] = (val*) var66; +((void (*)(val*, val*, long))(var70->class->vft[COLOR_array__Array__with_native]))(var70, var72, var71) /* with_native on */; } -var66 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var66 = array_instance Array[Object] */ -var67 = 2; -var68 = NEW_array__NativeArray(var67, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var68)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var68)->values[1] = (val*) var62; -((void (*)(val*, val*, long))(var66->class->vft[COLOR_array__Array__with_native]))(var66, var68, var67) /* with_native on */; -CHECK_NEW_array__Array(var66); -} -var69 = ((val* (*)(val*))(var66->class->vft[COLOR_string__Object__to_s]))(var66) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var69) /* add on */; -} else { -if (varonce70) { -var71 = varonce70; -} else { -var72 = " = 0;"; -var73 = 5; -var74 = string__NativeString__to_s_with_length(var72, var73); -var71 = var74; -varonce70 = var71; -} -var75 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var75 = array_instance Array[Object] */ -var76 = 2; -var77 = NEW_array__NativeArray(var76, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var77)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var77)->values[1] = (val*) var71; -((void (*)(val*, val*, long))(var75->class->vft[COLOR_array__Array__with_native]))(var75, var77, var76) /* with_native on */; -CHECK_NEW_array__Array(var75); -} -var78 = ((val* (*)(val*))(var75->class->vft[COLOR_string__Object__to_s]))(var75) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var78) /* add on */; +var73 = ((val* (*)(val*))(var70->class->vft[COLOR_string__Object__to_s]))(var70) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var73) /* add on */; } var = var_res; goto RET_LABEL; } else { } -var80 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mcasttype]))(var_value) /* mcasttype on */; -/* isa MNullableType */ -cltype82 = type_model__MNullableType.color; -idtype83 = type_model__MNullableType.id; -if(cltype82 >= var80->type->table_size) { -var81 = 0; +var75 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mcasttype]))(var_value) /* mcasttype on */; +/* isa MNullableType */ +cltype = type_model__MNullableType.color; +idtype = type_model__MNullableType.id; +if(cltype >= var75->type->table_size) { +var76 = 0; } else { -var81 = var80->type->type_table[cltype82] == idtype83; +var76 = var75->type->type_table[cltype] == idtype; } -var_ = var81; -if (var81){ -var79 = var_; +var_ = var76; +if (var76){ +var74 = var_; } else { -var84 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mcasttype]))(var_value) /* mcasttype on */; -/* isa MNullType */ -cltype86 = type_model__MNullType.color; -idtype87 = type_model__MNullType.id; -if(cltype86 >= var84->type->table_size) { -var85 = 0; +var77 = ((val* (*)(val*))(var_value->class->vft[COLOR_abstract_compiler__RuntimeVariable__mcasttype]))(var_value) /* mcasttype on */; +/* isa MNullType */ +cltype79 = type_model__MNullType.color; +idtype80 = type_model__MNullType.id; +if(cltype79 >= var77->type->table_size) { +var78 = 0; } else { -var85 = var84->type->type_table[cltype86] == idtype87; +var78 = var77->type->type_table[cltype79] == idtype80; } -var79 = var85; +var74 = var78; } -if (var79){ -if (varonce88) { -var89 = varonce88; +if (var74){ +if (varonce81) { +var82 = varonce81; } else { -var90 = "if ("; -var91 = 4; -var92 = string__NativeString__to_s_with_length(var90, var91); -var89 = var92; -varonce88 = var89; +var83 = "if ("; +var84 = 4; +var85 = string__NativeString__to_s_with_length(var83, var84); +var82 = var85; +varonce81 = var82; } -if (varonce93) { -var94 = varonce93; -} else { -var95 = " == NULL) {"; -var96 = 11; -var97 = string__NativeString__to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; -} -var98 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var98 = array_instance Array[Object] */ -var99 = 3; -var100 = NEW_array__NativeArray(var99, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var100)->values[0] = (val*) var89; -((struct instance_array__NativeArray*)var100)->values[1] = (val*) var_value; -((struct instance_array__NativeArray*)var100)->values[2] = (val*) var94; -((void (*)(val*, val*, long))(var98->class->vft[COLOR_array__Array__with_native]))(var98, var100, var99) /* with_native on */; -CHECK_NEW_array__Array(var98); -} -var101 = ((val* (*)(val*))(var98->class->vft[COLOR_string__Object__to_s]))(var98) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var101) /* add on */; +if (varonce86) { +var87 = varonce86; +} else { +var88 = " == NULL) {"; +var89 = 11; +var90 = string__NativeString__to_s_with_length(var88, var89); +var87 = var90; +varonce86 = var87; +} +var91 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var91 = array_instance Array[Object] */ +var92 = 3; +var93 = NEW_array__NativeArray(var92, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var93)->values[0] = (val*) var82; +((struct instance_array__NativeArray*)var93)->values[1] = (val*) var_value; +((struct instance_array__NativeArray*)var93)->values[2] = (val*) var87; +((void (*)(val*, val*, long))(var91->class->vft[COLOR_array__Array__with_native]))(var91, var93, var92) /* with_native on */; +} +var94 = ((val* (*)(val*))(var91->class->vft[COLOR_string__Object__to_s]))(var91) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var94) /* add on */; /* isa MNullableType */ -cltype103 = type_model__MNullableType.color; -idtype104 = type_model__MNullableType.id; -if(cltype103 >= var_mtype->type->table_size) { -var102 = 0; +cltype96 = type_model__MNullableType.color; +idtype97 = type_model__MNullableType.id; +if(cltype96 >= var_mtype->type->table_size) { +var95 = 0; } else { -var102 = var_mtype->type->type_table[cltype103] == idtype104; +var95 = var_mtype->type->type_table[cltype96] == idtype97; } -if (var102){ -if (varonce105) { -var106 = varonce105; +if (var95){ +if (varonce98) { +var99 = varonce98; } else { -var107 = " = 1; /* isa "; -var108 = 13; -var109 = string__NativeString__to_s_with_length(var107, var108); -var106 = var109; -varonce105 = var106; +var100 = " = 1; /* isa "; +var101 = 13; +var102 = string__NativeString__to_s_with_length(var100, var101); +var99 = var102; +varonce98 = var99; } -if (varonce110) { -var111 = varonce110; +if (varonce103) { +var104 = varonce103; } else { -var112 = " */"; -var113 = 3; -var114 = string__NativeString__to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; +var105 = " */"; +var106 = 3; +var107 = string__NativeString__to_s_with_length(var105, var106); +var104 = var107; +varonce103 = var104; } -var115 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var115 = array_instance Array[Object] */ -var116 = 4; -var117 = NEW_array__NativeArray(var116, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var117)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var117)->values[1] = (val*) var106; -((struct instance_array__NativeArray*)var117)->values[2] = (val*) var_mtype; -((struct instance_array__NativeArray*)var117)->values[3] = (val*) var111; -((void (*)(val*, val*, long))(var115->class->vft[COLOR_array__Array__with_native]))(var115, var117, var116) /* with_native on */; -CHECK_NEW_array__Array(var115); -} -var118 = ((val* (*)(val*))(var115->class->vft[COLOR_string__Object__to_s]))(var115) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var118) /* add on */; -} else { -if (varonce119) { -var120 = varonce119; -} else { -var121 = " = 0; /* not isa "; -var122 = 17; -var123 = string__NativeString__to_s_with_length(var121, var122); -var120 = var123; -varonce119 = var120; +var108 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var108 = array_instance Array[Object] */ +var109 = 4; +var110 = NEW_array__NativeArray(var109, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var110)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var110)->values[1] = (val*) var99; +((struct instance_array__NativeArray*)var110)->values[2] = (val*) var_mtype; +((struct instance_array__NativeArray*)var110)->values[3] = (val*) var104; +((void (*)(val*, val*, long))(var108->class->vft[COLOR_array__Array__with_native]))(var108, var110, var109) /* with_native on */; } -if (varonce124) { -var125 = varonce124; +var111 = ((val* (*)(val*))(var108->class->vft[COLOR_string__Object__to_s]))(var108) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var111) /* add on */; } else { -var126 = " */"; -var127 = 3; -var128 = string__NativeString__to_s_with_length(var126, var127); -var125 = var128; -varonce124 = var125; +if (varonce112) { +var113 = varonce112; +} else { +var114 = " = 0; /* not isa "; +var115 = 17; +var116 = string__NativeString__to_s_with_length(var114, var115); +var113 = var116; +varonce112 = var113; } -var129 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var129 = array_instance Array[Object] */ -var130 = 4; -var131 = NEW_array__NativeArray(var130, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var131)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var131)->values[1] = (val*) var120; -((struct instance_array__NativeArray*)var131)->values[2] = (val*) var_mtype; -((struct instance_array__NativeArray*)var131)->values[3] = (val*) var125; -((void (*)(val*, val*, long))(var129->class->vft[COLOR_array__Array__with_native]))(var129, var131, var130) /* with_native on */; -CHECK_NEW_array__Array(var129); +if (varonce117) { +var118 = varonce117; +} else { +var119 = " */"; +var120 = 3; +var121 = string__NativeString__to_s_with_length(var119, var120); +var118 = var121; +varonce117 = var118; } -var132 = ((val* (*)(val*))(var129->class->vft[COLOR_string__Object__to_s]))(var129) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var132) /* add on */; +var122 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var122 = array_instance Array[Object] */ +var123 = 4; +var124 = NEW_array__NativeArray(var123, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var124)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var124)->values[1] = (val*) var113; +((struct instance_array__NativeArray*)var124)->values[2] = (val*) var_mtype; +((struct instance_array__NativeArray*)var124)->values[3] = (val*) var118; +((void (*)(val*, val*, long))(var122->class->vft[COLOR_array__Array__with_native]))(var122, var124, var123) /* with_native on */; } -if (varonce133) { -var134 = varonce133; +var125 = ((val* (*)(val*))(var122->class->vft[COLOR_string__Object__to_s]))(var122) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var125) /* add on */; +} +if (varonce126) { +var127 = varonce126; } else { -var135 = "} else "; -var136 = 7; -var137 = string__NativeString__to_s_with_length(var135, var136); -var134 = var137; -varonce133 = var134; +var128 = "} else "; +var129 = 7; +var130 = string__NativeString__to_s_with_length(var128, var129); +var127 = var130; +varonce126 = var127; } -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var134) /* add on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var127) /* add on */; } else { } -if (varonce138) { -var139 = varonce138; +if (varonce131) { +var132 = varonce131; } else { -var140 = "switch("; -var141 = 7; -var142 = string__NativeString__to_s_with_length(var140, var141); -var139 = var142; -varonce138 = var139; +var133 = "switch("; +var134 = 7; +var135 = string__NativeString__to_s_with_length(var133, var134); +var132 = var135; +varonce131 = var132; } -if (varonce143) { -var144 = varonce143; -} else { -var145 = "->classid) {"; -var146 = 12; -var147 = string__NativeString__to_s_with_length(var145, var146); -var144 = var147; -varonce143 = var144; -} -var148 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var148 = array_instance Array[Object] */ -var149 = 3; -var150 = NEW_array__NativeArray(var149, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var150)->values[0] = (val*) var139; -((struct instance_array__NativeArray*)var150)->values[1] = (val*) var_value; -((struct instance_array__NativeArray*)var150)->values[2] = (val*) var144; -((void (*)(val*, val*, long))(var148->class->vft[COLOR_array__Array__with_native]))(var148, var150, var149) /* with_native on */; -CHECK_NEW_array__Array(var148); -} -var151 = ((val* (*)(val*))(var148->class->vft[COLOR_string__Object__to_s]))(var148) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var151) /* add on */; -var152 = ((val* (*)(val*))(var_types->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_types) /* iterator on */; +if (varonce136) { +var137 = varonce136; +} else { +var138 = "->classid) {"; +var139 = 12; +var140 = string__NativeString__to_s_with_length(var138, var139); +var137 = var140; +varonce136 = var137; +} +var141 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var141 = array_instance Array[Object] */ +var142 = 3; +var143 = NEW_array__NativeArray(var142, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var143)->values[0] = (val*) var132; +((struct instance_array__NativeArray*)var143)->values[1] = (val*) var_value; +((struct instance_array__NativeArray*)var143)->values[2] = (val*) var137; +((void (*)(val*, val*, long))(var141->class->vft[COLOR_array__Array__with_native]))(var141, var143, var142) /* with_native on */; +} +var144 = ((val* (*)(val*))(var141->class->vft[COLOR_string__Object__to_s]))(var141) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var144) /* add on */; +var145 = ((val* (*)(val*))(var_types->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_types) /* iterator on */; for(;;) { -var153 = ((short int (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var152) /* is_ok on */; -if(!var153) break; -var154 = ((val* (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__item]))(var152) /* item on */; -var_t = var154; -var155 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var156 = ((val* (*)(val*))(var155->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(var155) /* mainmodule on */; -var157 = NULL; -var158 = ((short int (*)(val*, val*, val*, val*))(var_t->class->vft[COLOR_model__MType__is_subtype]))(var_t, var156, var157, var_mtype) /* is_subtype on */; -if (var158){ +var146 = ((short int (*)(val*))(var145->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var145) /* is_ok on */; +if(!var146) break; +var147 = ((val* (*)(val*))(var145->class->vft[COLOR_abstract_collection__Iterator__item]))(var145) /* item on */; +var_t = var147; +var148 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; +var149 = ((val* (*)(val*))(var148->class->vft[COLOR_abstract_compiler__AbstractCompiler__mainmodule]))(var148) /* mainmodule on */; +var150 = NULL; +var151 = ((short int (*)(val*, val*, val*, val*))(var_t->class->vft[COLOR_model__MType__is_subtype]))(var_t, var149, var150, var_mtype) /* is_subtype on */; +if (var151){ +if (varonce152) { +var153 = varonce152; +} else { +var154 = "case "; +var155 = 5; +var156 = string__NativeString__to_s_with_length(var154, var155); +var153 = var156; +varonce152 = var153; +} +var157 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; +var158 = ((val* (*)(val*, val*))(var157->class->vft[COLOR_global_compiler__GlobalCompiler__classid]))(var157, var_t) /* classid on */; if (varonce159) { var160 = varonce159; } else { -var161 = "case "; +var161 = ": /* "; var162 = 5; var163 = string__NativeString__to_s_with_length(var161, var162); var160 = var163; varonce159 = var160; } -var164 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var165 = ((val* (*)(val*, val*))(var164->class->vft[COLOR_global_compiler__GlobalCompiler__classid]))(var164, var_t) /* classid on */; -if (varonce166) { -var167 = varonce166; -} else { -var168 = ": /* "; -var169 = 5; -var170 = string__NativeString__to_s_with_length(var168, var169); -var167 = var170; -varonce166 = var167; -} -if (varonce171) { -var172 = varonce171; -} else { -var173 = " */"; -var174 = 3; -var175 = string__NativeString__to_s_with_length(var173, var174); -var172 = var175; -varonce171 = var172; -} -var176 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var176 = array_instance Array[Object] */ -var177 = 5; -var178 = NEW_array__NativeArray(var177, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var178)->values[0] = (val*) var160; -((struct instance_array__NativeArray*)var178)->values[1] = (val*) var165; -((struct instance_array__NativeArray*)var178)->values[2] = (val*) var167; -((struct instance_array__NativeArray*)var178)->values[3] = (val*) var_t; -((struct instance_array__NativeArray*)var178)->values[4] = (val*) var172; -((void (*)(val*, val*, long))(var176->class->vft[COLOR_array__Array__with_native]))(var176, var178, var177) /* with_native on */; -CHECK_NEW_array__Array(var176); -} -var179 = ((val* (*)(val*))(var176->class->vft[COLOR_string__Object__to_s]))(var176) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var179) /* add on */; +if (varonce164) { +var165 = varonce164; +} else { +var166 = " */"; +var167 = 3; +var168 = string__NativeString__to_s_with_length(var166, var167); +var165 = var168; +varonce164 = var165; +} +var169 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var169 = array_instance Array[Object] */ +var170 = 5; +var171 = NEW_array__NativeArray(var170, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var171)->values[0] = (val*) var153; +((struct instance_array__NativeArray*)var171)->values[1] = (val*) var158; +((struct instance_array__NativeArray*)var171)->values[2] = (val*) var160; +((struct instance_array__NativeArray*)var171)->values[3] = (val*) var_t; +((struct instance_array__NativeArray*)var171)->values[4] = (val*) var165; +((void (*)(val*, val*, long))(var169->class->vft[COLOR_array__Array__with_native]))(var169, var171, var170) /* with_native on */; +} +var172 = ((val* (*)(val*))(var169->class->vft[COLOR_string__Object__to_s]))(var169) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var172) /* add on */; } else { } CONTINUE_label: (void)0; -((void (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__next]))(var152) /* next on */; +((void (*)(val*))(var145->class->vft[COLOR_abstract_collection__Iterator__next]))(var145) /* next on */; } BREAK_label: (void)0; -if (varonce180) { -var181 = varonce180; +if (varonce173) { +var174 = varonce173; } else { -var182 = " = 1;"; -var183 = 5; -var184 = string__NativeString__to_s_with_length(var182, var183); -var181 = var184; -varonce180 = var181; +var175 = " = 1;"; +var176 = 5; +var177 = string__NativeString__to_s_with_length(var175, var176); +var174 = var177; +varonce173 = var174; } -var185 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var185 = array_instance Array[Object] */ -var186 = 2; -var187 = NEW_array__NativeArray(var186, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var187)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var187)->values[1] = (val*) var181; -((void (*)(val*, val*, long))(var185->class->vft[COLOR_array__Array__with_native]))(var185, var187, var186) /* with_native on */; -CHECK_NEW_array__Array(var185); +var178 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var178 = array_instance Array[Object] */ +var179 = 2; +var180 = NEW_array__NativeArray(var179, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var180)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var180)->values[1] = (val*) var174; +((void (*)(val*, val*, long))(var178->class->vft[COLOR_array__Array__with_native]))(var178, var180, var179) /* with_native on */; +} +var181 = ((val* (*)(val*))(var178->class->vft[COLOR_string__Object__to_s]))(var178) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var181) /* add on */; +if (varonce182) { +var183 = varonce182; +} else { +var184 = "break;"; +var185 = 6; +var186 = string__NativeString__to_s_with_length(var184, var185); +var183 = var186; +varonce182 = var183; +} +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var183) /* add on */; +if (varonce187) { +var188 = varonce187; +} else { +var189 = "default:"; +var190 = 8; +var191 = string__NativeString__to_s_with_length(var189, var190); +var188 = var191; +varonce187 = var188; } -var188 = ((val* (*)(val*))(var185->class->vft[COLOR_string__Object__to_s]))(var185) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var188) /* add on */; -if (varonce189) { -var190 = varonce189; -} else { -var191 = "break;"; -var192 = 6; -var193 = string__NativeString__to_s_with_length(var191, var192); -var190 = var193; -varonce189 = var190; -} -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var190) /* add on */; -if (varonce194) { -var195 = varonce194; -} else { -var196 = "default:"; -var197 = 8; -var198 = string__NativeString__to_s_with_length(var196, var197); -var195 = var198; -varonce194 = var195; -} -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var195) /* add on */; -if (varonce199) { -var200 = varonce199; -} else { -var201 = " = 0;"; -var202 = 5; -var203 = string__NativeString__to_s_with_length(var201, var202); -var200 = var203; -varonce199 = var200; -} -var204 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var204 = array_instance Array[Object] */ -var205 = 2; -var206 = NEW_array__NativeArray(var205, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var206)->values[0] = (val*) var_res; -((struct instance_array__NativeArray*)var206)->values[1] = (val*) var200; -((void (*)(val*, val*, long))(var204->class->vft[COLOR_array__Array__with_native]))(var204, var206, var205) /* with_native on */; -CHECK_NEW_array__Array(var204); -} -var207 = ((val* (*)(val*))(var204->class->vft[COLOR_string__Object__to_s]))(var204) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var207) /* add on */; -if (varonce208) { -var209 = varonce208; -} else { -var210 = "}"; -var211 = 1; -var212 = string__NativeString__to_s_with_length(var210, var211); -var209 = var212; -varonce208 = var209; -} -((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var209) /* add on */; +if (varonce192) { +var193 = varonce192; +} else { +var194 = " = 0;"; +var195 = 5; +var196 = string__NativeString__to_s_with_length(var194, var195); +var193 = var196; +varonce192 = var193; +} +var197 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var197 = array_instance Array[Object] */ +var198 = 2; +var199 = NEW_array__NativeArray(var198, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var199)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var199)->values[1] = (val*) var193; +((void (*)(val*, val*, long))(var197->class->vft[COLOR_array__Array__with_native]))(var197, var199, var198) /* with_native on */; +} +var200 = ((val* (*)(val*))(var197->class->vft[COLOR_string__Object__to_s]))(var197) /* to_s on */; +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var200) /* add on */; +if (varonce201) { +var202 = varonce201; +} else { +var203 = "}"; +var204 = 1; +var205 = string__NativeString__to_s_with_length(var203, var204); +var202 = var205; +varonce201 = var202; +} +((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var202) /* add on */; var = var_res; goto RET_LABEL; RET_LABEL:; @@ -9466,7 +9083,6 @@ var35 = NEW_array__NativeArray(var34, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var35)->values[4] = (val*) var_value2; ((struct instance_array__NativeArray*)var35)->values[5] = (val*) var29; ((void (*)(val*, val*, long))(var33->class->vft[COLOR_array__Array__with_native]))(var33, var35, var34) /* with_native on */; -CHECK_NEW_array__Array(var33); } var36 = ((val* (*)(val*))(var33->class->vft[COLOR_string__Object__to_s]))(var33) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var36) /* add on */; @@ -9493,8 +9109,8 @@ var44 = var43->type->type_table[cltype] == idtype; if (!var44) { var_class_name = var43 == NULL ? "null" : var43->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 767); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 753); +show_backtrace(1); } var45 = ((val* (*)(val*, val*))(var42->class->vft[COLOR_global_compiler__GlobalCompiler__classid]))(var42, var43) /* classid on */; if (varonce46) { @@ -9526,7 +9142,6 @@ var58 = NEW_array__NativeArray(var57, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var58)->values[4] = (val*) var_value2; ((struct instance_array__NativeArray*)var58)->values[5] = (val*) var52; ((void (*)(val*, val*, long))(var56->class->vft[COLOR_array__Array__with_native]))(var56, var58, var57) /* with_native on */; -CHECK_NEW_array__Array(var56); } var59 = ((val* (*)(val*))(var56->class->vft[COLOR_string__Object__to_s]))(var56) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var59) /* add on */; @@ -9576,8 +9191,8 @@ var80 = var79->type->type_table[cltype81] == idtype82; if (!var80) { var_class_name83 = var79 == NULL ? "null" : var79->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name83); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 771); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 757); +show_backtrace(1); } var84 = ((val* (*)(val*, val*))(var78->class->vft[COLOR_global_compiler__GlobalCompiler__classid]))(var78, var79) /* classid on */; if (varonce85) { @@ -9600,7 +9215,6 @@ var92 = NEW_array__NativeArray(var91, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var92)->values[4] = (val*) var84; ((struct instance_array__NativeArray*)var92)->values[5] = (val*) var86; ((void (*)(val*, val*, long))(var90->class->vft[COLOR_array__Array__with_native]))(var90, var92, var91) /* with_native on */; -CHECK_NEW_array__Array(var90); } var93 = ((val* (*)(val*))(var90->class->vft[COLOR_string__Object__to_s]))(var90) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var93) /* add on */; @@ -9625,7 +9239,6 @@ var104 = NEW_array__NativeArray(var103, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var104)->values[0] = (val*) var_res; ((struct instance_array__NativeArray*)var104)->values[1] = (val*) var98; ((void (*)(val*, val*, long))(var102->class->vft[COLOR_array__Array__with_native]))(var102, var104, var103) /* with_native on */; -CHECK_NEW_array__Array(var102); } var105 = ((val* (*)(val*))(var102->class->vft[COLOR_string__Object__to_s]))(var102) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var105) /* add on */; @@ -9646,7 +9259,6 @@ var113 = NEW_array__NativeArray(var112, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var113)->values[0] = (val*) var_res; ((struct instance_array__NativeArray*)var113)->values[1] = (val*) var107; ((void (*)(val*, val*, long))(var111->class->vft[COLOR_array__Array__with_native]))(var111, var113, var112) /* with_native on */; -CHECK_NEW_array__Array(var111); } var114 = ((val* (*)(val*))(var111->class->vft[COLOR_string__Object__to_s]))(var111) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var114) /* add on */; @@ -9773,7 +9385,6 @@ var18 = NEW_array__NativeArray(var17, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var18)->values[1] = (val*) var_res; ((struct instance_array__NativeArray*)var18)->values[2] = (val*) var12; ((void (*)(val*, val*, long))(var16->class->vft[COLOR_array__Array__with_native]))(var16, var18, var17) /* with_native on */; -CHECK_NEW_array__Array(var16); } var19 = ((val* (*)(val*))(var16->class->vft[COLOR_string__Object__to_s]))(var16) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(self, var19) /* add_decl on */; @@ -9817,7 +9428,6 @@ var40 = NEW_array__NativeArray(var39, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var40)->values[2] = (val*) var_value; ((struct instance_array__NativeArray*)var40)->values[3] = (val*) var34; ((void (*)(val*, val*, long))(var38->class->vft[COLOR_array__Array__with_native]))(var38, var40, var39) /* with_native on */; -CHECK_NEW_array__Array(var38); } var41 = ((val* (*)(val*))(var38->class->vft[COLOR_string__Object__to_s]))(var38) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var41) /* add on */; @@ -9844,8 +9454,8 @@ var49 = var48->type->type_table[cltype] == idtype; if (!var49) { var_class_name = var48 == NULL ? "null" : var48->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 788); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 774); +show_backtrace(1); } var50 = ((val* (*)(val*, val*))(var47->class->vft[COLOR_global_compiler__GlobalCompiler__classid]))(var47, var48) /* classid on */; if (varonce51) { @@ -9866,7 +9476,6 @@ var58 = NEW_array__NativeArray(var57, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var58)->values[2] = (val*) var50; ((struct instance_array__NativeArray*)var58)->values[3] = (val*) var52; ((void (*)(val*, val*, long))(var56->class->vft[COLOR_array__Array__with_native]))(var56, var58, var57) /* with_native on */; -CHECK_NEW_array__Array(var56); } var59 = ((val* (*)(val*))(var56->class->vft[COLOR_string__Object__to_s]))(var56) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var59) /* add on */;