X-Git-Url: http://nitlanguage.org diff --git a/c_src/global_compiler.sep.2.c b/c_src/global_compiler.sep.2.c index c18bf37..d04b166 100644 --- a/c_src/global_compiler.sep.2.c +++ b/c_src/global_compiler.sep.2.c @@ -386,7 +386,6 @@ var47 = NEW_array__NativeArray(var46, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var47)->values[4] = (val*) var_value2; ((struct instance_array__NativeArray*)var47)->values[5] = (val*) var41; ((void (*)(val*, val*, long))(var45->class->vft[COLOR_array__Array__with_native]))(var45, var47, var46) /* with_native on */; -CHECK_NEW_array__Array(var45); } var48 = ((val* (*)(val*))(var45->class->vft[COLOR_string__Object__to_s]))(var45) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var48) /* add on */; @@ -444,7 +443,6 @@ var76 = NEW_array__NativeArray(var75, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var76)->values[4] = (val*) var68; ((struct instance_array__NativeArray*)var76)->values[5] = (val*) var70; ((void (*)(val*, val*, long))(var74->class->vft[COLOR_array__Array__with_native]))(var74, var76, var75) /* with_native on */; -CHECK_NEW_array__Array(var74); } var77 = ((val* (*)(val*))(var74->class->vft[COLOR_string__Object__to_s]))(var74) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var77) /* add on */; @@ -461,8 +459,8 @@ var79 = var78->type->type_table[cltype] == idtype; if (!var79) { var_class_name = var78 == NULL ? "null" : var78->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", 807); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 793); +show_backtrace(1); } var_mtype1 = var78; if (varonce80) { @@ -516,7 +514,6 @@ var104 = NEW_array__NativeArray(var103, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var104)->values[6] = (val*) var96; ((struct instance_array__NativeArray*)var104)->values[7] = (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 */; @@ -546,7 +543,6 @@ var118 = NEW_array__NativeArray(var117, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var118)->values[1] = (val*) var_res; ((struct instance_array__NativeArray*)var118)->values[2] = (val*) var112; ((void (*)(val*, val*, long))(var116->class->vft[COLOR_array__Array__with_native]))(var116, var118, var117) /* with_native on */; -CHECK_NEW_array__Array(var116); } var119 = ((val* (*)(val*))(var116->class->vft[COLOR_string__Object__to_s]))(var116) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var119) /* add on */; @@ -590,7 +586,6 @@ var139 = NEW_array__NativeArray(var138, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var139)->values[4] = (val*) var_value1; ((struct instance_array__NativeArray*)var139)->values[5] = (val*) var133; ((void (*)(val*, val*, long))(var137->class->vft[COLOR_array__Array__with_native]))(var137, var139, var138) /* with_native on */; -CHECK_NEW_array__Array(var137); } var140 = ((val* (*)(val*))(var137->class->vft[COLOR_string__Object__to_s]))(var137) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var140) /* add on */; @@ -609,7 +604,6 @@ varonce141 = var142; } else { var146 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var146->class->vft[COLOR_array__Array__init]))(var146) /* init on */; -CHECK_NEW_array__Array(var146); var_s = var146; var147 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; var148 = ((val* (*)(val*))(var147->class->vft[COLOR_global_compiler__GlobalCompiler__live_primitive_types]))(var147) /* live_primitive_types on */; @@ -724,7 +718,6 @@ var205 = NEW_array__NativeArray(var204, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var205)->values[11] = (val*) var_value2; ((struct instance_array__NativeArray*)var205)->values[12] = (val*) var199; ((void (*)(val*, val*, long))(var203->class->vft[COLOR_array__Array__with_native]))(var203, var205, var204) /* with_native on */; -CHECK_NEW_array__Array(var203); } var206 = ((val* (*)(val*))(var203->class->vft[COLOR_string__Object__to_s]))(var203) /* to_s on */; ((void (*)(val*, val*))(var_s->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_s, var206) /* add on */; @@ -772,7 +765,6 @@ var225 = NEW_array__NativeArray(var224, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var225)->values[4] = (val*) var_value2; ((struct instance_array__NativeArray*)var225)->values[5] = (val*) var219; ((void (*)(val*, val*, long))(var223->class->vft[COLOR_array__Array__with_native]))(var223, var225, var224) /* with_native on */; -CHECK_NEW_array__Array(var223); } var226 = ((val* (*)(val*))(var223->class->vft[COLOR_string__Object__to_s]))(var223) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var226) /* add on */; @@ -880,7 +872,6 @@ var275 = NEW_array__NativeArray(var274, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var275)->values[14] = (val*) var267; ((struct instance_array__NativeArray*)var275)->values[15] = (val*) var269; ((void (*)(val*, val*, long))(var273->class->vft[COLOR_array__Array__with_native]))(var273, var275, var274) /* with_native on */; -CHECK_NEW_array__Array(var273); } var276 = ((val* (*)(val*))(var273->class->vft[COLOR_string__Object__to_s]))(var273) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var276) /* add on */; @@ -900,175 +891,6 @@ var = var1; RET_LABEL:; return var; } -/* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: GlobalCompilerVisitor, RuntimeVariable, MClassType) */ -void global_compiler__GlobalCompilerVisitor__check_init_instance(val* self, val* p0, val* p1) { -val* var_recv /* var recv: RuntimeVariable */; -val* var_mtype /* var mtype: MClassType */; -val* var /* : AbstractCompiler */; -val* var1 /* : ModelBuilder */; -val* var2 /* : ToolContext */; -val* var3 /* : OptionBool */; -val* var4 /* : nullable Object */; -short int var5 /* : Bool */; -val* var6 /* : MType */; -short int var7 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -val* var8 /* : AbstractCompiler */; -val* var9 /* : RapidTypeAnalysis */; -val* var10 /* : HashSet[MClassType] */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : String */; -static val* varonce17; -val* var18 /* : String */; -char* var19 /* : NativeString */; -long var20 /* : Int */; -val* var21 /* : String */; -val* var22 /* : Array[Object] */; -long var23 /* : Int */; -val* var24 /* : NativeArray[Object] */; -val* var25 /* : String */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : String */; -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 */; -val* var42 /* : Array[Object] */; -long var43 /* : Int */; -val* var44 /* : NativeArray[Object] */; -val* var45 /* : String */; -var_recv = p0; -var_mtype = p1; -var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_compiler__AbstractCompiler__modelbuilder]))(var) /* modelbuilder on */; -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var1) /* toolcontext on */; -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization]))(var2) /* opt_no_check_initialization on */; -var4 = ((val* (*)(val*))(var3->class->vft[COLOR_opts__Option__value]))(var3) /* value on */; -var5 = ((struct instance_kernel__Bool*)var4)->value; /* autounbox from nullable Object to Bool */; -if (var5){ -goto RET_LABEL; -} else { -} -var6 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor]))(self, var_mtype) /* anchor on */; -/* isa MClassType */ -cltype = type_model__MClassType.color; -idtype = type_model__MClassType.id; -if(cltype >= var6->type->table_size) { -var7 = 0; -} else { -var7 = var6->type->type_table[cltype] == idtype; -} -if (!var7) { -var_class_name = var6 == NULL ? "null" : var6->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", 833); -exit(1); -} -var_mtype = var6; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on */; -var9 = ((val* (*)(val*))(var8->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var8) /* runtime_type_analysis on */; -var10 = ((val* (*)(val*))(var9->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types]))(var9) /* live_types on */; -var11 = ((short int (*)(val*, val*))(var10->class->vft[COLOR_abstract_collection__Collection__has]))(var10, var_mtype) /* has on */; -var12 = !var11; -if (var12){ -if (varonce) { -var13 = varonce; -} else { -var14 = "problem: "; -var15 = 9; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; -} -if (varonce17) { -var18 = varonce17; -} else { -var19 = " was detected dead"; -var20 = 18; -var21 = string__NativeString__to_s_with_length(var19, var20); -var18 = var21; -varonce17 = var18; -} -var22 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var22 = array_instance Array[Object] */ -var23 = 3; -var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var24)->values[0] = (val*) var13; -((struct instance_array__NativeArray*)var24)->values[1] = (val*) var_mtype; -((struct instance_array__NativeArray*)var24)->values[2] = (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__debug]))(self, var25) /* debug on */; -} else { -} -if (varonce26) { -var27 = varonce26; -} else { -var28 = "CHECK_NEW_"; -var29 = 10; -var30 = string__NativeString__to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; -} -var31 = ((val* (*)(val*))(var_mtype->class->vft[COLOR_abstract_compiler__MType__c_name]))(var_mtype) /* c_name on */; -if (varonce32) { -var33 = varonce32; -} else { -var34 = "("; -var35 = 1; -var36 = string__NativeString__to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; -} -if (varonce37) { -var38 = varonce37; -} else { -var39 = ");"; -var40 = 2; -var41 = string__NativeString__to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; -} -var42 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var42 = array_instance Array[Object] */ -var43 = 5; -var44 = NEW_array__NativeArray(var43, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var44)->values[0] = (val*) var27; -((struct instance_array__NativeArray*)var44)->values[1] = (val*) var31; -((struct instance_array__NativeArray*)var44)->values[2] = (val*) var33; -((struct instance_array__NativeArray*)var44)->values[3] = (val*) var_recv; -((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 */; -RET_LABEL:; -} -/* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */ -void VIRTUAL_global_compiler__GlobalCompilerVisitor__check_init_instance(val* self, val* p0, val* p1) { -global_compiler__GlobalCompilerVisitor__check_init_instance(self, p0, p1); -RET_LABEL:; -} /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: GlobalCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */ val* global_compiler__GlobalCompilerVisitor__array_instance(val* self, val* p0, val* p1) { val* var /* : RuntimeVariable */; @@ -1226,7 +1048,6 @@ var8 = 1; var9 = NEW_array__NativeArray(var8, &type_array__NativeArraymodel__MType); ((struct instance_array__NativeArray*)var9)->values[0] = (val*) var_elttype; ((void (*)(val*, val*, long))(var7->class->vft[COLOR_array__Array__with_native]))(var7, var9, var8) /* with_native on */; -CHECK_NEW_array__Array(var7); } var10 = ((val* (*)(val*, val*))(var6->class->vft[COLOR_model__MClass__get_mtype]))(var6, var7) /* get_mtype on */; var_arraytype = var10; @@ -1269,7 +1090,6 @@ var29 = NEW_array__NativeArray(var28, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var29)->values[3] = (val*) var_elttype; ((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); } var30 = ((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, var30) /* add on */; @@ -1289,7 +1109,6 @@ var38 = 1; var39 = NEW_array__NativeArray(var38, &type_array__NativeArraymodel__MType); ((struct instance_array__NativeArray*)var39)->values[0] = (val*) var_elttype; ((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*, val*))(var36->class->vft[COLOR_model__MClass__get_mtype]))(var36, var37) /* get_mtype on */; var41 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var]))(self, var40) /* new_var on */; @@ -1338,7 +1157,6 @@ var64 = BOX_kernel__Int(var55); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var63)->values[4] = (val*) var64; ((struct instance_array__NativeArray*)var63)->values[5] = (val*) var57; ((void (*)(val*, val*, long))(var61->class->vft[COLOR_array__Array__with_native]))(var61, var63, var62) /* with_native on */; -CHECK_NEW_array__Array(var61); } var65 = ((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, var65) /* add on */; @@ -1348,7 +1166,6 @@ var68 = ((long (*)(val*))(var_array->class->vft[COLOR_abstract_collection__Colle var69 = BOX_kernel__Int(var67); /* autobox from Int to Discrete */ var70 = BOX_kernel__Int(var68); /* autobox from Int to Discrete */ ((void (*)(val*, val*, val*))(var66->class->vft[COLOR_range__Range__without_last]))(var66, var69, var70) /* without_last on */; -CHECK_NEW_range__Range(var66); var71 = ((val* (*)(val*))(var66->class->vft[COLOR_abstract_collection__Collection__iterator]))(var66) /* iterator on */; for(;;) { var72 = ((short int (*)(val*))(var71->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var71) /* is_ok on */; @@ -1421,7 +1238,6 @@ var107 = BOX_kernel__Int(var_i); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var106)->values[7] = (val*) var_r; ((struct instance_array__NativeArray*)var106)->values[8] = (val*) var100; ((void (*)(val*, val*, long))(var104->class->vft[COLOR_array__Array__with_native]))(var104, var106, var105) /* with_native on */; -CHECK_NEW_array__Array(var104); } var108 = ((val* (*)(val*))(var104->class->vft[COLOR_string__Object__to_s]))(var104) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var108) /* add on */; @@ -1450,11 +1266,9 @@ var119 = NEW_array__NativeArray(var118, &type_array__NativeArrayabstract_compile ((struct instance_array__NativeArray*)var119)->values[1] = (val*) var_nat; ((struct instance_array__NativeArray*)var119)->values[2] = (val*) var_length; ((void (*)(val*, val*, long))(var117->class->vft[COLOR_array__Array__with_native]))(var117, var119, var118) /* with_native on */; -CHECK_NEW_array__Array(var117); } var120 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__send]))(self, var116, var117) /* send on */; var120; -((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance]))(self, var_res, var_arraytype) /* check_init_instance on */; if (varonce121) { var122 = varonce121; } else { @@ -1486,8 +1300,8 @@ val* var1 /* : MClassType */; var1 = self->attrs[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv].val; /* @recv on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @recv"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 869); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 842); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1590,7 +1404,6 @@ var_res = var10; var11 = NEW_array__Array(&type_array__Arraykernel__Object); var12 = 5; ((void (*)(val*, long))(var11->class->vft[COLOR_array__Array__with_capacity]))(var11, var12) /* with_capacity on */; -CHECK_NEW_array__Array(var11); var_ = var11; if (varonce) { var13 = varonce; @@ -1795,7 +1608,6 @@ goto RET_LABEL; var8 = NEW_array__Array(&type_array__Arraykernel__Object); var9 = 5; ((void (*)(val*, long))(var8->class->vft[COLOR_array__Array__with_capacity]))(var8, var9) /* with_capacity on */; -CHECK_NEW_array__Array(var8); var_ = var8; if (varonce) { var10 = varonce; @@ -2137,6 +1949,60 @@ val* var266 /* : String */; char* var267 /* : NativeString */; long var268 /* : Int */; val* var269 /* : String */; +val* var270 /* : String */; +static val* varonce271; +val* var272 /* : String */; +char* var273 /* : NativeString */; +long var274 /* : Int */; +val* var275 /* : String */; +long var276 /* : Int */; +short int var277 /* : Bool */; +short int var278 /* : Bool */; +val* var279 /* : HashMap[String, String] */; +val* var280 /* : String */; +val* var281 /* : MClassDef */; +val* var282 /* : MModule */; +val* var283 /* : String */; +static val* varonce284; +val* var285 /* : String */; +char* var286 /* : NativeString */; +long var287 /* : Int */; +val* var288 /* : String */; +val* var289 /* : MClassDef */; +val* var290 /* : MClass */; +val* var291 /* : String */; +static val* varonce292; +val* var293 /* : String */; +char* var294 /* : NativeString */; +long var295 /* : Int */; +val* var296 /* : String */; +val* var297 /* : MProperty */; +val* var298 /* : String */; +static val* varonce299; +val* var300 /* : String */; +char* var301 /* : NativeString */; +long var302 /* : Int */; +val* var303 /* : String */; +val* var304 /* : Location */; +val* var305 /* : nullable SourceFile */; +val* var306 /* : String */; +static val* varonce307; +val* var308 /* : String */; +char* var309 /* : NativeString */; +long var310 /* : Int */; +val* var311 /* : String */; +val* var312 /* : Location */; +long var313 /* : Int */; +static val* varonce314; +val* var315 /* : String */; +char* var316 /* : NativeString */; +long var317 /* : Int */; +val* var318 /* : String */; +val* var319 /* : Array[Object] */; +long var320 /* : Int */; +val* var321 /* : NativeArray[Object] */; +val* var322 /* : Object */; +val* var323 /* : String */; /* Covariant cast for argument 0 (compiler) isa COMPILER */ /* isa COMPILER */ type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER]; @@ -2150,8 +2016,8 @@ var = p0->type->type_table[cltype] == idtype; if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 913); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 886); +show_backtrace(1); } var_compiler = p0; var1 = ((val* (*)(val*))(self->class->vft[COLOR_global_compiler__CustomizedRuntimeFunction__recv]))(self) /* recv on */; @@ -2202,13 +2068,12 @@ var25 = NEW_array__NativeArray(var24, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var25)->values[3] = (val*) var_recv; ((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_file__Object__print]))(self, var26) /* print on */; fprintf(stderr, "Runtime error: %s", "Aborted"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 920); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 893); +show_backtrace(1); } else { } var27 = ((val* (*)(val*))(var_compiler->class->vft[COLOR_abstract_compiler__AbstractCompiler__new_visitor]))(var_compiler) /* new_visitor on */; @@ -2224,7 +2089,6 @@ var30 = var33; varonce29 = var30; } ((void (*)(val*, val*, val*, val*))(var28->class->vft[COLOR_abstract_compiler__RuntimeVariable__init]))(var28, var30, var_recv, var_recv) /* init on */; -CHECK_NEW_abstract_compiler__RuntimeVariable(var28); var_selfvar = var28; var34 = ((val* (*)(val*))(var_compiler->class->vft[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis]))(var_compiler) /* runtime_type_analysis on */; var35 = ((val* (*)(val*))(var34->class->vft[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types]))(var34) /* live_types on */; @@ -2236,26 +2100,22 @@ var37 = 1; } var38 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable); ((void (*)(val*))(var38->class->vft[COLOR_array__Array__init]))(var38) /* init on */; -CHECK_NEW_array__Array(var38); var_arguments = var38; var39 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame); ((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_abstract_compiler__Frame__init]))(var39, var_v, var_mmethoddef, var_recv, var_arguments) /* init on */; -CHECK_NEW_abstract_compiler__Frame(var39); var_frame = var39; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d]))(var_v, var_frame) /* frame= on */; var40 = NEW_string__Buffer(&type_string__Buffer); ((void (*)(val*))(var40->class->vft[COLOR_string__Buffer__init]))(var40) /* init on */; -CHECK_NEW_string__Buffer(var40); var_sig = var40; var41 = NEW_string__Buffer(&type_string__Buffer); ((void (*)(val*))(var41->class->vft[COLOR_string__Buffer__init]))(var41) /* init on */; -CHECK_NEW_string__Buffer(var41); var_comment = var41; var42 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mmethoddef) /* msignature on */; if (var42 == NULL) { fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 934); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 907); +show_backtrace(1); } else { var43 = ((val* (*)(val*))(var42->class->vft[COLOR_model__MSignature__return_mtype]))(var42) /* return_mtype on */; } @@ -2286,7 +2146,6 @@ var55 = NEW_array__NativeArray(var54, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var55)->values[0] = (val*) var47; ((struct instance_array__NativeArray*)var55)->values[1] = (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 */; ((void (*)(val*, val*))(var_sig->class->vft[COLOR_abstract_collection__Sequence__append]))(var_sig, var56) /* append on */; @@ -2312,7 +2171,6 @@ var67 = NEW_array__NativeArray(var66, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var67)->values[0] = (val*) var59; ((struct instance_array__NativeArray*)var67)->values[1] = (val*) var61; ((void (*)(val*, val*, long))(var65->class->vft[COLOR_array__Array__with_native]))(var65, var67, var66) /* with_native on */; -CHECK_NEW_array__Array(var65); } var68 = ((val* (*)(val*))(var65->class->vft[COLOR_string__Object__to_s]))(var65) /* to_s on */; ((void (*)(val*, val*))(var_sig->class->vft[COLOR_abstract_collection__Sequence__append]))(var_sig, var68) /* append on */; @@ -2359,7 +2217,6 @@ var88 = NEW_array__NativeArray(var87, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var88)->values[2] = (val*) var82; ((struct instance_array__NativeArray*)var88)->values[3] = (val*) var_selfvar; ((void (*)(val*, val*, long))(var86->class->vft[COLOR_array__Array__with_native]))(var86, var88, var87) /* with_native on */; -CHECK_NEW_array__Array(var86); } var89 = ((val* (*)(val*))(var86->class->vft[COLOR_string__Object__to_s]))(var86) /* to_s on */; ((void (*)(val*, val*))(var_sig->class->vft[COLOR_abstract_collection__Sequence__append]))(var_sig, var89) /* append on */; @@ -2379,7 +2236,6 @@ var97 = NEW_array__NativeArray(var96, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var97)->values[0] = (val*) var91; ((struct instance_array__NativeArray*)var97)->values[1] = (val*) var_recv; ((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*))(var_comment->class->vft[COLOR_abstract_collection__Sequence__append]))(var_comment, var98) /* append on */; @@ -2389,15 +2245,14 @@ var100 = 0; var101 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mmethoddef) /* msignature on */; if (var101 == NULL) { fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 948); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 921); +show_backtrace(1); } else { var102 = ((long (*)(val*))(var101->class->vft[COLOR_model__MSignature__arity]))(var101) /* arity on */; } var103 = BOX_kernel__Int(var100); /* autobox from Int to Discrete */ var104 = BOX_kernel__Int(var102); /* autobox from Int to Discrete */ ((void (*)(val*, val*, val*))(var99->class->vft[COLOR_range__Range__without_last]))(var99, var103, var104) /* without_last on */; -CHECK_NEW_range__Range(var99); var105 = ((val* (*)(val*))(var99->class->vft[COLOR_abstract_collection__Collection__iterator]))(var99) /* iterator on */; for(;;) { var106 = ((short int (*)(val*))(var105->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var105) /* is_ok on */; @@ -2408,8 +2263,8 @@ var_i = var108; var109 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mmethoddef) /* msignature on */; if (var109 == NULL) { fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 949); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 922); +show_backtrace(1); } else { var110 = ((val* (*)(val*))(var109->class->vft[COLOR_model__MSignature__mparameters]))(var109) /* mparameters on */; } @@ -2419,8 +2274,8 @@ var_mtype = var112; var113 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mmethoddef) /* msignature on */; if (var113 == NULL) { fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 950); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 923); +show_backtrace(1); } else { var114 = ((long (*)(val*))(var113->class->vft[COLOR_model__MSignature__vararg_rank]))(var113) /* vararg_rank on */; } @@ -2447,7 +2302,6 @@ var125 = 1; var126 = NEW_array__NativeArray(var125, &type_array__NativeArraymodel__MType); ((struct instance_array__NativeArray*)var126)->values[0] = (val*) var_mtype; ((void (*)(val*, val*, long))(var124->class->vft[COLOR_array__Array__with_native]))(var124, var126, var125) /* with_native on */; -CHECK_NEW_array__Array(var124); } var127 = ((val* (*)(val*, val*))(var123->class->vft[COLOR_model__MClass__get_mtype]))(var123, var124) /* get_mtype on */; var_mtype = var127; @@ -2471,7 +2325,6 @@ var136 = NEW_array__NativeArray(var135, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var136)->values[0] = (val*) var130; ((struct instance_array__NativeArray*)var136)->values[1] = (val*) var_mtype; ((void (*)(val*, val*, long))(var134->class->vft[COLOR_array__Array__with_native]))(var134, var136, var135) /* with_native on */; -CHECK_NEW_array__Array(var134); } var137 = ((val* (*)(val*))(var134->class->vft[COLOR_string__Object__to_s]))(var134) /* to_s on */; ((void (*)(val*, val*))(var_comment->class->vft[COLOR_abstract_collection__Sequence__append]))(var_comment, var137) /* append on */; @@ -2504,7 +2357,6 @@ var151 = NEW_array__NativeArray(var150, &type_array__NativeArraykernel__Object); var152 = BOX_kernel__Int(var_i); /* autobox from Int to Object */ ((struct instance_array__NativeArray*)var151)->values[3] = (val*) var152; ((void (*)(val*, val*, long))(var149->class->vft[COLOR_array__Array__with_native]))(var149, var151, var150) /* with_native on */; -CHECK_NEW_array__Array(var149); } var153 = ((val* (*)(val*))(var149->class->vft[COLOR_string__Object__to_s]))(var149) /* to_s on */; ((void (*)(val*, val*))(var_sig->class->vft[COLOR_abstract_collection__Sequence__append]))(var_sig, var153) /* append on */; @@ -2512,7 +2364,6 @@ var154 = NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__Runtime var155 = NEW_array__Array(&type_array__Arraykernel__Object); var156 = 3; ((void (*)(val*, long))(var155->class->vft[COLOR_array__Array__with_capacity]))(var155, var156) /* with_capacity on */; -CHECK_NEW_array__Array(var155); var_ = var155; if (varonce157) { var158 = varonce157; @@ -2538,7 +2389,6 @@ varonce163 = var164; ((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var164) /* add on */; var168 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; ((void (*)(val*, val*, val*, val*))(var154->class->vft[COLOR_abstract_compiler__RuntimeVariable__init]))(var154, var168, var_mtype, var_mtype) /* init on */; -CHECK_NEW_abstract_compiler__RuntimeVariable(var154); var_argvar = var154; ((void (*)(val*, val*))(var_arguments->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_arguments, var_argvar) /* add on */; CONTINUE_label: (void)0; @@ -2588,7 +2438,6 @@ var188 = NEW_array__NativeArray(var187, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var188)->values[0] = (val*) var182; ((struct instance_array__NativeArray*)var188)->values[1] = (val*) var_ret; ((void (*)(val*, val*, long))(var186->class->vft[COLOR_array__Array__with_native]))(var186, var188, var187) /* with_native on */; -CHECK_NEW_array__Array(var186); } var189 = ((val* (*)(val*))(var186->class->vft[COLOR_string__Object__to_s]))(var186) /* to_s on */; ((void (*)(val*, val*))(var_comment->class->vft[COLOR_abstract_collection__Sequence__append]))(var_comment, var189) /* append on */; @@ -2611,7 +2460,6 @@ var198 = NEW_array__NativeArray(var197, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var198)->values[0] = (val*) var_sig; ((struct instance_array__NativeArray*)var198)->values[1] = (val*) var192; ((void (*)(val*, val*, long))(var196->class->vft[COLOR_array__Array__with_native]))(var196, var198, var197) /* with_native on */; -CHECK_NEW_array__Array(var196); } var199 = ((val* (*)(val*))(var196->class->vft[COLOR_string__Object__to_s]))(var196) /* to_s on */; ((void (*)(val*, val*))(var190->class->vft[COLOR_abstract_compiler__CodeWriter__add_decl]))(var190, var199) /* add_decl on */; @@ -2652,7 +2500,6 @@ var217 = NEW_array__NativeArray(var216, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var217)->values[3] = (val*) var_comment; ((struct instance_array__NativeArray*)var217)->values[4] = (val*) var211; ((void (*)(val*, val*, long))(var215->class->vft[COLOR_array__Array__with_native]))(var215, var217, var216) /* with_native on */; -CHECK_NEW_array__Array(var215); } var218 = ((val* (*)(val*))(var215->class->vft[COLOR_string__Object__to_s]))(var215) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var218) /* add_decl on */; @@ -2672,7 +2519,6 @@ var226 = NEW_array__NativeArray(var225, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var226)->values[0] = (val*) var_sig; ((struct instance_array__NativeArray*)var226)->values[1] = (val*) var220; ((void (*)(val*, val*, long))(var224->class->vft[COLOR_array__Array__with_native]))(var224, var226, var225) /* with_native on */; -CHECK_NEW_array__Array(var224); } var227 = ((val* (*)(val*))(var224->class->vft[COLOR_string__Object__to_s]))(var224) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl]))(var_v, var227) /* add_decl on */; @@ -2703,8 +2549,8 @@ var237; var238 = ((val* (*)(val*))(var_frame->class->vft[COLOR_abstract_compiler__Frame__returnlabel]))(var_frame) /* returnlabel on */; if (var238 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 976); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 949); +show_backtrace(1); } if (varonce239) { var240 = varonce239; @@ -2722,7 +2568,6 @@ var246 = NEW_array__NativeArray(var245, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var246)->values[0] = (val*) var238; ((struct instance_array__NativeArray*)var246)->values[1] = (val*) var240; ((void (*)(val*, val*, long))(var244->class->vft[COLOR_array__Array__with_native]))(var244, var246, var245) /* with_native on */; -CHECK_NEW_array__Array(var244); } var247 = ((val* (*)(val*))(var244->class->vft[COLOR_string__Object__to_s]))(var244) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var247) /* add on */; @@ -2745,8 +2590,8 @@ varonce250 = var251; var255 = ((val* (*)(val*))(var_frame->class->vft[COLOR_abstract_compiler__Frame__returnvar]))(var_frame) /* returnvar on */; if (var255 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 978); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 951); +show_backtrace(1); } if (varonce256) { var257 = varonce256; @@ -2765,7 +2610,6 @@ var263 = NEW_array__NativeArray(var262, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var263)->values[1] = (val*) var255; ((struct instance_array__NativeArray*)var263)->values[2] = (val*) var257; ((void (*)(val*, val*, long))(var261->class->vft[COLOR_array__Array__with_native]))(var261, var263, var262) /* with_native on */; -CHECK_NEW_array__Array(var261); } var264 = ((val* (*)(val*))(var261->class->vft[COLOR_string__Object__to_s]))(var261) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var264) /* add on */; @@ -2781,6 +2625,107 @@ var266 = var269; varonce265 = var266; } ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var266) /* add on */; +var270 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name]))(self) /* c_name on */; +if (varonce271) { +var272 = varonce271; +} else { +var273 = "VIRTUAL"; +var274 = 7; +var275 = string__NativeString__to_s_with_length(var273, var274); +var272 = var275; +varonce271 = var272; +} +var276 = 0; +var277 = ((short int (*)(val*, val*, long))(var270->class->vft[COLOR_string__AbstractString__has_substring]))(var270, var272, var276) /* has_substring on */; +var278 = !var277; +if (var278){ +var279 = ((val* (*)(val*))(var_compiler->class->vft[COLOR_abstract_compiler__AbstractCompiler__names]))(var_compiler) /* names on */; +var280 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name]))(self) /* c_name on */; +var281 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MPropDef__mclassdef]))(var_mmethoddef) /* mclassdef on */; +var282 = ((val* (*)(val*))(var281->class->vft[COLOR_model__MClassDef__mmodule]))(var281) /* mmodule on */; +var283 = ((val* (*)(val*))(var282->class->vft[COLOR_mmodule__MModule__name]))(var282) /* name on */; +if (varonce284) { +var285 = varonce284; +} else { +var286 = "::"; +var287 = 2; +var288 = string__NativeString__to_s_with_length(var286, var287); +var285 = var288; +varonce284 = var285; +} +var289 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MPropDef__mclassdef]))(var_mmethoddef) /* mclassdef on */; +var290 = ((val* (*)(val*))(var289->class->vft[COLOR_model__MClassDef__mclass]))(var289) /* mclass on */; +var291 = ((val* (*)(val*))(var290->class->vft[COLOR_model__MClass__name]))(var290) /* name on */; +if (varonce292) { +var293 = varonce292; +} else { +var294 = "::"; +var295 = 2; +var296 = string__NativeString__to_s_with_length(var294, var295); +var293 = var296; +varonce292 = var293; +} +var297 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mmethoddef) /* mproperty on */; +var298 = ((val* (*)(val*))(var297->class->vft[COLOR_model__MProperty__name]))(var297) /* name on */; +if (varonce299) { +var300 = varonce299; +} else { +var301 = " ("; +var302 = 2; +var303 = string__NativeString__to_s_with_length(var301, var302); +var300 = var303; +varonce299 = var300; +} +var304 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MPropDef__location]))(var_mmethoddef) /* location on */; +var305 = ((val* (*)(val*))(var304->class->vft[COLOR_location__Location__file]))(var304) /* file on */; +if (var305 == NULL) { +fprintf(stderr, "Runtime error: %s", "Reciever is null"); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 954); +show_backtrace(1); +} else { +var306 = ((val* (*)(val*))(var305->class->vft[COLOR_location__SourceFile__filename]))(var305) /* filename on */; +} +if (varonce307) { +var308 = varonce307; +} else { +var309 = ":"; +var310 = 1; +var311 = string__NativeString__to_s_with_length(var309, var310); +var308 = var311; +varonce307 = var308; +} +var312 = ((val* (*)(val*))(var_mmethoddef->class->vft[COLOR_model__MPropDef__location]))(var_mmethoddef) /* location on */; +var313 = ((long (*)(val*))(var312->class->vft[COLOR_location__Location__line_start]))(var312) /* line_start on */; +if (varonce314) { +var315 = varonce314; +} else { +var316 = ")"; +var317 = 1; +var318 = string__NativeString__to_s_with_length(var316, var317); +var315 = var318; +varonce314 = var315; +} +var319 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var319 = array_instance Array[Object] */ +var320 = 10; +var321 = NEW_array__NativeArray(var320, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var321)->values[0] = (val*) var283; +((struct instance_array__NativeArray*)var321)->values[1] = (val*) var285; +((struct instance_array__NativeArray*)var321)->values[2] = (val*) var291; +((struct instance_array__NativeArray*)var321)->values[3] = (val*) var293; +((struct instance_array__NativeArray*)var321)->values[4] = (val*) var298; +((struct instance_array__NativeArray*)var321)->values[5] = (val*) var300; +((struct instance_array__NativeArray*)var321)->values[6] = (val*) var306; +((struct instance_array__NativeArray*)var321)->values[7] = (val*) var308; +var322 = BOX_kernel__Int(var313); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var321)->values[8] = (val*) var322; +((struct instance_array__NativeArray*)var321)->values[9] = (val*) var315; +((void (*)(val*, val*, long))(var319->class->vft[COLOR_array__Array__with_native]))(var319, var321, var320) /* with_native on */; +} +var323 = ((val* (*)(val*))(var319->class->vft[COLOR_string__Object__to_s]))(var319) /* to_s on */; +((void (*)(val*, val*, val*))(var279->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var279, var280, var323) /* []= on */; +} else { +} RET_LABEL:; } /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */ @@ -2937,8 +2882,8 @@ var1 = p0->type->type_table[cltype] == idtype; if (!var1) { var_class_name = p0 == NULL ? "null" : p0->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", 983); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 957); +show_backtrace(1); } var_v = p0; var_arguments = p1; @@ -2946,8 +2891,8 @@ var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractRunti var3 = ((val* (*)(val*))(var2->class->vft[COLOR_model__MMethodDef__msignature]))(var2) /* msignature on */; if (var3 == NULL) { fprintf(stderr, "Runtime error: %s", "Reciever is null"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 985); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 959); +show_backtrace(1); } else { var4 = ((val* (*)(val*))(var3->class->vft[COLOR_model__MSignature__return_mtype]))(var3) /* return_mtype on */; } @@ -2979,7 +2924,6 @@ var15 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame); var16 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef]))(self) /* mmethoddef on */; var17 = ((val* (*)(val*))(self->class->vft[COLOR_global_compiler__CustomizedRuntimeFunction__recv]))(self) /* recv on */; ((void (*)(val*, val*, val*, val*, val*))(var15->class->vft[COLOR_abstract_compiler__Frame__init]))(var15, var_v, var16, var17, var_arguments) /* init on */; -CHECK_NEW_abstract_compiler__Frame(var15); var_frame = var15; if (varonce) { var18 = varonce; @@ -3053,7 +2997,6 @@ var50 = NEW_array__NativeArray(var49, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var50)->values[3] = (val*) var42; ((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); } var51 = ((val* (*)(val*))(var48->class->vft[COLOR_string__Object__to_s]))(var48) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var51) /* add on */; @@ -3063,8 +3006,8 @@ var53; var54 = ((val* (*)(val*))(var_frame->class->vft[COLOR_abstract_compiler__Frame__returnlabel]))(var_frame) /* returnlabel on */; if (var54 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 1002); -exit(1); +fprintf(stderr, " (%s:%d)\n", "src/global_compiler.nit", 976); +show_backtrace(1); } if (varonce55) { var56 = varonce55; @@ -3082,7 +3025,6 @@ var62 = NEW_array__NativeArray(var61, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var62)->values[0] = (val*) var54; ((struct instance_array__NativeArray*)var62)->values[1] = (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]))(var_v, var63) /* add on */; @@ -3151,7 +3093,6 @@ var93 = NEW_array__NativeArray(var92, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var93)->values[2] = (val*) var85; ((struct instance_array__NativeArray*)var93)->values[3] = (val*) var87; ((void (*)(val*, val*, long))(var91->class->vft[COLOR_array__Array__with_native]))(var91, var93, var92) /* with_native on */; -CHECK_NEW_array__Array(var91); } var94 = ((val* (*)(val*))(var91->class->vft[COLOR_string__Object__to_s]))(var91) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var94) /* add on */; @@ -3210,7 +3151,6 @@ var121 = NEW_array__NativeArray(var120, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var121)->values[4] = (val*) var113; ((struct instance_array__NativeArray*)var121)->values[5] = (val*) var115; ((void (*)(val*, val*, long))(var119->class->vft[COLOR_array__Array__with_native]))(var119, var121, var120) /* with_native on */; -CHECK_NEW_array__Array(var119); } var122 = ((val* (*)(val*))(var119->class->vft[COLOR_string__Object__to_s]))(var119) /* to_s on */; ((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var122) /* add on */;