X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__abstract_compiler.sep.3.c b/c_src/nit__abstract_compiler.sep.3.c index 2687e35..0dc1a41 100644 --- a/c_src/nit__abstract_compiler.sep.3.c +++ b/c_src/nit__abstract_compiler.sep.3.c @@ -1,828 +1,4 @@ #include "nit__abstract_compiler.sep.0.h" -/* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */ -val* nit___nit__AbstractCompilerVisitor___string_instance(val* self, val* p0) { -val* var /* : RuntimeVariable */; -val* var_string /* var string: String */; -static val* varonce; -val* var1 /* : String */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -val* var5 /* : MClass */; -val* var6 /* : MClassType */; -val* var8 /* : MClassType */; -val* var_mtype /* var mtype: MClassType */; -static val* varonce9; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -val* var14 /* : String */; -val* var_name /* var name: String */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -val* var20 /* : String */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : FlatString */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -val* var31 /* : Array[Object] */; -long var32 /* : Int */; -val* var33 /* : NativeArray[Object] */; -val* var34 /* : String */; -val* var35 /* : RuntimeVariable */; -val* var_res /* var res: RuntimeVariable */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -long var44 /* : Int */; -val* var45 /* : FlatString */; -val* var46 /* : Array[Object] */; -long var47 /* : Int */; -val* var48 /* : NativeArray[Object] */; -val* var49 /* : String */; -static val* varonce50; -val* var51 /* : String */; -char* var52 /* : NativeString */; -long var53 /* : Int */; -val* var54 /* : FlatString */; -static val* varonce55; -val* var56 /* : String */; -char* var57 /* : NativeString */; -long var58 /* : Int */; -val* var59 /* : FlatString */; -val* var60 /* : Array[Object] */; -long var61 /* : Int */; -val* var62 /* : NativeArray[Object] */; -val* var63 /* : String */; -static val* varonce64; -val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : FlatString */; -val* var74 /* : MClass */; -val* var75 /* : MClassType */; -val* var77 /* : MClassType */; -val* var_native_mtype /* var native_mtype: MClassType */; -val* var78 /* : RuntimeVariable */; -val* var_nat /* var nat: RuntimeVariable */; -static val* varonce79; -val* var80 /* : String */; -char* var81 /* : NativeString */; -long var82 /* : Int */; -val* var83 /* : FlatString */; -val* var84 /* : String */; -static val* varonce85; -val* var86 /* : String */; -char* var87 /* : NativeString */; -long var88 /* : Int */; -val* var89 /* : FlatString */; -val* var90 /* : Array[Object] */; -long var91 /* : Int */; -val* var92 /* : NativeArray[Object] */; -val* var93 /* : String */; -long var94 /* : Int */; -val* var95 /* : RuntimeVariable */; -val* var_length /* var length: RuntimeVariable */; -static val* varonce96; -val* var97 /* : String */; -char* var98 /* : NativeString */; -long var99 /* : Int */; -val* var100 /* : FlatString */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : FlatString */; -val* var106 /* : MMethod */; -val* var107 /* : Array[RuntimeVariable] */; -long var108 /* : Int */; -val* var_ /* var : Array[RuntimeVariable] */; -val* var109 /* : nullable RuntimeVariable */; -static val* varonce110; -val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : FlatString */; -val* var115 /* : Array[Object] */; -long var116 /* : Int */; -val* var117 /* : NativeArray[Object] */; -val* var118 /* : String */; -static val* varonce119; -val* var120 /* : String */; -char* var121 /* : NativeString */; -long var122 /* : Int */; -val* var123 /* : FlatString */; -static val* varonce124; -val* var125 /* : String */; -char* var126 /* : NativeString */; -long var127 /* : Int */; -val* var128 /* : FlatString */; -val* var129 /* : Array[Object] */; -long var130 /* : Int */; -val* var131 /* : NativeArray[Object] */; -val* var132 /* : String */; -static val* varonce133; -val* var134 /* : String */; -char* var135 /* : NativeString */; -long var136 /* : Int */; -val* var137 /* : FlatString */; -var_string = p0; -if (varonce) { -var1 = varonce; -} else { -var2 = "String"; -var3 = 6; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; -varonce = var1; -} -{ -var5 = nit___nit__AbstractCompilerVisitor___get_class(self, var1); -} -{ -{ /* Inline model#MClass#mclass_type (var5) on */ -var8 = var5->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var6 = var8; -RET_LABEL7:(void)0; -} -} -var_mtype = var6; -if (varonce9) { -var10 = varonce9; -} else { -var11 = "varonce"; -var12 = 7; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce9 = var10; -} -{ -var14 = nit___nit__AbstractCompilerVisitor___get_name(self, var10); -} -var_name = var14; -if (varonce15) { -var16 = varonce15; -} else { -var17 = "static "; -var18 = 7; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce15 = var16; -} -{ -var20 = nit__abstract_compiler___MClassType___MType__ctype(var_mtype); -} -if (varonce21) { -var22 = varonce21; -} else { -var23 = " "; -var24 = 1; -var25 = standard___standard__NativeString___to_s_with_length(var23, var24); -var22 = var25; -varonce21 = var22; -} -if (varonce26) { -var27 = varonce26; -} else { -var28 = ";"; -var29 = 1; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; -} -var31 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var31 = array_instance Array[Object] */ -var32 = 5; -var33 = NEW_standard__NativeArray(var32, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var33)->values[0] = (val*) var16; -((struct instance_standard__NativeArray*)var33)->values[1] = (val*) var20; -((struct instance_standard__NativeArray*)var33)->values[2] = (val*) var22; -((struct instance_standard__NativeArray*)var33)->values[3] = (val*) var_name; -((struct instance_standard__NativeArray*)var33)->values[4] = (val*) var27; -{ -((void (*)(val* self, val* p0, long p1))(var31->class->vft[COLOR_standard__array__Array__with_native]))(var31, var33, var32) /* with_native on */; -} -} -{ -var34 = ((val* (*)(val* self))(var31->class->vft[COLOR_standard__string__Object__to_s]))(var31) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add_decl(self, var34); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on */ -} -{ -var35 = nit___nit__AbstractCompilerVisitor___new_var(self, var_mtype); -} -var_res = var35; -if (varonce36) { -var37 = varonce36; -} else { -var38 = "if ("; -var39 = 4; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; -} -if (varonce41) { -var42 = varonce41; -} else { -var43 = ") {"; -var44 = 3; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; -} -var46 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var46 = array_instance Array[Object] */ -var47 = 3; -var48 = NEW_standard__NativeArray(var47, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var48)->values[0] = (val*) var37; -((struct instance_standard__NativeArray*)var48)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var48)->values[2] = (val*) var42; -{ -((void (*)(val* self, val* p0, long p1))(var46->class->vft[COLOR_standard__array__Array__with_native]))(var46, var48, var47) /* with_native on */; -} -} -{ -var49 = ((val* (*)(val* self))(var46->class->vft[COLOR_standard__string__Object__to_s]))(var46) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var49); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce50) { -var51 = varonce50; -} else { -var52 = " = "; -var53 = 3; -var54 = standard___standard__NativeString___to_s_with_length(var52, var53); -var51 = var54; -varonce50 = var51; -} -if (varonce55) { -var56 = varonce55; -} else { -var57 = ";"; -var58 = 1; -var59 = standard___standard__NativeString___to_s_with_length(var57, var58); -var56 = var59; -varonce55 = var56; -} -var60 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var60 = array_instance Array[Object] */ -var61 = 4; -var62 = NEW_standard__NativeArray(var61, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var62)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var62)->values[1] = (val*) var51; -((struct instance_standard__NativeArray*)var62)->values[2] = (val*) var_name; -((struct instance_standard__NativeArray*)var62)->values[3] = (val*) var56; -{ -((void (*)(val* self, val* p0, long p1))(var60->class->vft[COLOR_standard__array__Array__with_native]))(var60, var62, var61) /* with_native on */; -} -} -{ -var63 = ((val* (*)(val* self))(var60->class->vft[COLOR_standard__string__Object__to_s]))(var60) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var63); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce64) { -var65 = varonce64; -} else { -var66 = "} else {"; -var67 = 8; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var65); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce69) { -var70 = varonce69; -} else { -var71 = "NativeString"; -var72 = 12; -var73 = standard___standard__NativeString___to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; -} -{ -var74 = nit___nit__AbstractCompilerVisitor___get_class(self, var70); -} -{ -{ /* Inline model#MClass#mclass_type (var74) on */ -var77 = var74->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var77 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 438); -show_backtrace(1); -} -var75 = var77; -RET_LABEL76:(void)0; -} -} -var_native_mtype = var75; -{ -var78 = nit___nit__AbstractCompilerVisitor___new_var(self, var_native_mtype); -} -var_nat = var78; -if (varonce79) { -var80 = varonce79; -} else { -var81 = " = \""; -var82 = 4; -var83 = standard___standard__NativeString___to_s_with_length(var81, var82); -var80 = var83; -varonce79 = var80; -} -{ -var84 = standard___standard__Text___escape_to_c(var_string); -} -if (varonce85) { -var86 = varonce85; -} else { -var87 = "\";"; -var88 = 2; -var89 = standard___standard__NativeString___to_s_with_length(var87, var88); -var86 = var89; -varonce85 = var86; -} -var90 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var90 = array_instance Array[Object] */ -var91 = 4; -var92 = NEW_standard__NativeArray(var91, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var92)->values[0] = (val*) var_nat; -((struct instance_standard__NativeArray*)var92)->values[1] = (val*) var80; -((struct instance_standard__NativeArray*)var92)->values[2] = (val*) var84; -((struct instance_standard__NativeArray*)var92)->values[3] = (val*) var86; -{ -((void (*)(val* self, val* p0, long p1))(var90->class->vft[COLOR_standard__array__Array__with_native]))(var90, var92, var91) /* with_native on */; -} -} -{ -var93 = ((val* (*)(val* self))(var90->class->vft[COLOR_standard__string__Object__to_s]))(var90) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var93); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -{ -var94 = ((long (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string) /* length on */; -} -{ -var95 = nit___nit__AbstractCompilerVisitor___int_instance(self, var94); -} -var_length = var95; -if (varonce96) { -var97 = varonce96; -} else { -var98 = " = "; -var99 = 3; -var100 = standard___standard__NativeString___to_s_with_length(var98, var99); -var97 = var100; -varonce96 = var97; -} -if (varonce101) { -var102 = varonce101; -} else { -var103 = "to_s_with_length"; -var104 = 16; -var105 = standard___standard__NativeString___to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; -} -{ -var106 = nit___nit__AbstractCompilerVisitor___get_property(self, var102, var_native_mtype); -} -var107 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var108 = 2; -{ -standard___standard__Array___with_capacity(var107, var108); /* Direct call array#Array#with_capacity on */ -} -var_ = var107; -{ -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_nat); /* Direct call array#AbstractArray#push on */ -} -{ -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_length); /* Direct call array#AbstractArray#push on */ -} -{ -var109 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self, var106, var_); -} -if (unlikely(var109 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1453); -show_backtrace(1); -} -if (varonce110) { -var111 = varonce110; -} else { -var112 = ";"; -var113 = 1; -var114 = standard___standard__NativeString___to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; -} -var115 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var115 = array_instance Array[Object] */ -var116 = 4; -var117 = NEW_standard__NativeArray(var116, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var117)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var117)->values[1] = (val*) var97; -((struct instance_standard__NativeArray*)var117)->values[2] = (val*) var109; -((struct instance_standard__NativeArray*)var117)->values[3] = (val*) var111; -{ -((void (*)(val* self, val* p0, long p1))(var115->class->vft[COLOR_standard__array__Array__with_native]))(var115, var117, var116) /* with_native on */; -} -} -{ -var118 = ((val* (*)(val* self))(var115->class->vft[COLOR_standard__string__Object__to_s]))(var115) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var118); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce119) { -var120 = varonce119; -} else { -var121 = " = "; -var122 = 3; -var123 = standard___standard__NativeString___to_s_with_length(var121, var122); -var120 = var123; -varonce119 = var120; -} -if (varonce124) { -var125 = varonce124; -} else { -var126 = ";"; -var127 = 1; -var128 = standard___standard__NativeString___to_s_with_length(var126, var127); -var125 = var128; -varonce124 = var125; -} -var129 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var129 = array_instance Array[Object] */ -var130 = 4; -var131 = NEW_standard__NativeArray(var130, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var131)->values[0] = (val*) var_name; -((struct instance_standard__NativeArray*)var131)->values[1] = (val*) var120; -((struct instance_standard__NativeArray*)var131)->values[2] = (val*) var_res; -((struct instance_standard__NativeArray*)var131)->values[3] = (val*) var125; -{ -((void (*)(val* self, val* p0, long p1))(var129->class->vft[COLOR_standard__array__Array__with_native]))(var129, var131, var130) /* with_native on */; -} -} -{ -var132 = ((val* (*)(val* self))(var129->class->vft[COLOR_standard__string__Object__to_s]))(var129) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var132); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -if (varonce133) { -var134 = varonce133; -} else { -var135 = "}"; -var136 = 1; -var137 = standard___standard__NativeString___to_s_with_length(var135, var136); -var134 = var137; -varonce133 = var134; -} -{ -nit___nit__AbstractCompilerVisitor___add(self, var134); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -var = var_res; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method abstract_compiler#AbstractCompilerVisitor#value_instance for (self: AbstractCompilerVisitor, Object): RuntimeVariable */ -val* nit___nit__AbstractCompilerVisitor___value_instance(val* self, val* p0) { -val* var /* : RuntimeVariable */; -val* var_object /* var object: Object */; -short int var1 /* : Bool */; -int cltype; -int idtype; -val* var2 /* : RuntimeVariable */; -long var3 /* : Int */; -short int var4 /* : Bool */; -int cltype5; -int idtype6; -val* var7 /* : RuntimeVariable */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -val* var12 /* : RuntimeVariable */; -var_object = p0; -/* isa Int */ -cltype = type_standard__Int.color; -idtype = type_standard__Int.id; -if(cltype >= var_object->type->table_size) { -var1 = 0; -} else { -var1 = var_object->type->type_table[cltype] == idtype; -} -if (var1){ -{ -var3 = ((struct instance_standard__Int*)var_object)->value; /* autounbox from Object to Int */; -var2 = nit___nit__AbstractCompilerVisitor___int_instance(self, var3); -} -var = var2; -goto RET_LABEL; -} else { -/* isa Bool */ -cltype5 = type_standard__Bool.color; -idtype6 = type_standard__Bool.id; -if(cltype5 >= var_object->type->table_size) { -var4 = 0; -} else { -var4 = var_object->type->type_table[cltype5] == idtype6; -} -if (var4){ -{ -var8 = ((struct instance_standard__Bool*)var_object)->value; /* autounbox from Object to Bool */; -var7 = nit___nit__AbstractCompilerVisitor___bool_instance(self, var8); -} -var = var7; -goto RET_LABEL; -} else { -/* isa String */ -cltype10 = type_standard__String.color; -idtype11 = type_standard__String.id; -if(cltype10 >= var_object->type->table_size) { -var9 = 0; -} else { -var9 = var_object->type->type_table[cltype10] == idtype11; -} -if (var9){ -{ -var12 = nit___nit__AbstractCompilerVisitor___string_instance(self, var_object); -} -var = var12; -goto RET_LABEL; -} else { -PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1468); -show_backtrace(1); -} -} -} -RET_LABEL:; -return var; -} -/* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */ -void nit___nit__AbstractCompilerVisitor___add(val* self, val* p0) { -val* var_s /* var s: String */; -val* var /* : CodeWriter */; -val* var2 /* : CodeWriter */; -val* var3 /* : List[String] */; -val* var5 /* : List[String] */; -var_s = p0; -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ -var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -{ /* Inline abstract_compiler#CodeWriter#lines (var) on */ -var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___lines].val; /* _lines on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1038); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -standard___standard__Sequence___SimpleCollection__add(var3, var_s); /* Direct call abstract_collection#Sequence#add on */ -} -RET_LABEL:; -} -/* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */ -void nit___nit__AbstractCompilerVisitor___add_decl(val* self, val* p0) { -val* var_s /* var s: String */; -val* var /* : CodeWriter */; -val* var2 /* : CodeWriter */; -val* var3 /* : List[String] */; -val* var5 /* : List[String] */; -var_s = p0; -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ -var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -{ /* Inline abstract_compiler#CodeWriter#decl_lines (var) on */ -var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1039); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -standard___standard__Sequence___SimpleCollection__add(var3, var_s); /* Direct call abstract_collection#Sequence#add on */ -} -RET_LABEL:; -} -/* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */ -void nit___nit__AbstractCompilerVisitor___require_declaration(val* self, val* p0) { -val* var_key /* var key: String */; -val* var /* : CodeWriter */; -val* var2 /* : CodeWriter */; -val* var3 /* : CodeFile */; -val* var5 /* : CodeFile */; -val* var6 /* : HashSet[String] */; -val* var8 /* : HashSet[String] */; -val* var_reqs /* var reqs: HashSet[String] */; -short int var9 /* : Bool */; -val* var10 /* : nullable ANode */; -val* var12 /* : nullable ANode */; -val* var_node /* var node: nullable ANode */; -val* var13 /* : null */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -val* var19 /* : AbstractCompiler */; -val* var21 /* : AbstractCompiler */; -val* var22 /* : HashMap[String, ANode] */; -val* var24 /* : HashMap[String, ANode] */; -var_key = p0; -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on */ -var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1074); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -{ /* Inline abstract_compiler#CodeWriter#file (var) on */ -var5 = var->attrs[COLOR_nit__abstract_compiler__CodeWriter___file].val; /* _file on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1037); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; -} -} -{ -{ /* Inline abstract_compiler#CodeFile#required_declarations (var3) on */ -var8 = var3->attrs[COLOR_nit__abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on */ -if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1032); -show_backtrace(1); -} -var6 = var8; -RET_LABEL7:(void)0; -} -} -var_reqs = var6; -{ -var9 = standard___standard__HashSet___standard__abstract_collection__Collection__has(var_reqs, var_key); -} -if (var9){ -goto RET_LABEL; -} else { -} -{ -standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_reqs, var_key); /* Direct call hash_collection#HashSet#add on */ -} -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var12 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var10 = var12; -RET_LABEL11:(void)0; -} -} -var_node = var10; -var13 = NULL; -if (var_node == NULL) { -var14 = 0; /* is null */ -} else { -var14 = 1; /* arg is null and recv is not */ -} -if (0) { -{ /* Inline kernel#Object#!= (var_node,var13) on */ -var_other = var13; -{ -var17 = ((short int (*)(val* self, val* p0))(var_node->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_node, var_other) /* == on */; -} -var18 = !var17; -var15 = var18; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -var14 = var15; -} -if (var14){ -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var21 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var21 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); -} -var19 = var21; -RET_LABEL20:(void)0; -} -} -{ -{ /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var19) on */ -var24 = var19->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations].val; /* _requirers_of_declarations on */ -if (unlikely(var24 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 541); -show_backtrace(1); -} -var22 = var24; -RET_LABEL23:(void)0; -} -} -{ -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var22, var_key, var_node); /* Direct call hash_collection#HashMap#[]= on */ -} -} else { -} -RET_LABEL:; -} -/* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */ -void nit___nit__AbstractCompilerVisitor___declare_once(val* self, val* p0) { -val* var_s /* var s: String */; -val* var /* : AbstractCompiler */; -val* var2 /* : AbstractCompiler */; -var_s = p0; -{ -{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var2 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); -} -var = var2; -RET_LABEL1:(void)0; -} -} -{ -nit___nit__AbstractCompiler___provide_declaration(var, var_s, var_s); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on */ -} -{ -nit___nit__AbstractCompilerVisitor___require_declaration(self, var_s); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on */ -} -RET_LABEL:; -} /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, MModule) */ void nit___nit__AbstractCompilerVisitor___add_extern(val* self, val* p0) { val* var_mmodule /* var mmodule: MModule */; @@ -836,118 +12,103 @@ val* var_file /* var file: String */; static val* varonce; val* var9 /* : String */; char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; -val* var13 /* : String */; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -val* var19 /* : String */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +val* var17 /* : String */; val* var_tryfile /* var tryfile: String */; -short int var20 /* : Bool */; +short int var18 /* : Bool */; +val* var20 /* : NativeArray[String] */; +static val* varonce19; static val* varonce21; val* var22 /* : String */; char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : FlatString */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; -val* var30 /* : FlatString */; -val* var31 /* : String */; -static val* varonce32; +val* var24 /* : FlatString */; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +val* var28 /* : FlatString */; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : FlatString */; -val* var37 /* : Array[Object] */; -long var38 /* : Int */; -val* var39 /* : NativeArray[Object] */; -val* var40 /* : String */; -val* var41 /* : AbstractCompiler */; -val* var43 /* : AbstractCompiler */; -val* var44 /* : Array[String] */; -val* var46 /* : Array[String] */; +val* var34 /* : String */; +val* var35 /* : AbstractCompiler */; +val* var37 /* : AbstractCompiler */; +val* var38 /* : Array[String] */; +val* var40 /* : Array[String] */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; +val* var44 /* : FlatString */; +val* var45 /* : String */; +short int var46 /* : Bool */; +val* var48 /* : NativeArray[String] */; static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : FlatString */; -val* var52 /* : String */; -short int var53 /* : Bool */; -static val* varonce54; -val* var55 /* : String */; -char* var56 /* : NativeString */; -long var57 /* : Int */; -val* var58 /* : FlatString */; -static val* varonce59; -val* var60 /* : String */; -char* var61 /* : NativeString */; -long var62 /* : Int */; -val* var63 /* : FlatString */; -val* var64 /* : String */; -static val* varonce65; -val* var66 /* : String */; -char* var67 /* : NativeString */; -long var68 /* : Int */; -val* var69 /* : FlatString */; -val* var70 /* : Array[Object] */; -long var71 /* : Int */; -val* var72 /* : NativeArray[Object] */; -val* var73 /* : String */; -val* var74 /* : AbstractCompiler */; +static val* varonce49; +val* var50 /* : String */; +char* var51 /* : NativeString */; +val* var52 /* : FlatString */; +static val* varonce53; +val* var54 /* : String */; +char* var55 /* : NativeString */; +val* var56 /* : FlatString */; +static val* varonce57; +val* var58 /* : String */; +char* var59 /* : NativeString */; +val* var60 /* : FlatString */; +val* var61 /* : String */; +val* var62 /* : String */; +val* var63 /* : AbstractCompiler */; +val* var65 /* : AbstractCompiler */; +val* var66 /* : Array[String] */; +val* var68 /* : Array[String] */; +val* var69 /* : AbstractCompiler */; +val* var71 /* : AbstractCompiler */; +val* var72 /* : ArraySet[String] */; +val* var74 /* : ArraySet[String] */; +short int var75 /* : Bool */; val* var76 /* : AbstractCompiler */; -val* var77 /* : Array[String] */; -val* var79 /* : Array[String] */; -val* var80 /* : AbstractCompiler */; -val* var82 /* : AbstractCompiler */; -val* var83 /* : ArraySet[String] */; -val* var85 /* : ArraySet[String] */; -short int var86 /* : Bool */; -val* var87 /* : AbstractCompiler */; -val* var89 /* : AbstractCompiler */; -val* var90 /* : ArraySet[String] */; -val* var92 /* : ArraySet[String] */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; -val* var97 /* : FlatString */; +val* var78 /* : AbstractCompiler */; +val* var79 /* : ArraySet[String] */; +val* var81 /* : ArraySet[String] */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : NativeString */; +val* var85 /* : FlatString */; +val* var86 /* : String */; +short int var87 /* : Bool */; +short int var88 /* : Bool */; +static val* varonce89; +val* var90 /* : String */; +char* var91 /* : NativeString */; +val* var92 /* : FlatString */; +val* var93 /* : String */; +short int var94 /* : Bool */; +short int var95 /* : Bool */; +val* var96 /* : ExternCFile */; +static val* varonce97; val* var98 /* : String */; -short int var99 /* : Bool */; -short int var100 /* : Bool */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; +char* var99 /* : NativeString */; +val* var100 /* : FlatString */; +val* var101 /* : String */; +static val* varonce102; +val* var103 /* : String */; +char* var104 /* : NativeString */; val* var105 /* : FlatString */; -val* var106 /* : String */; -short int var107 /* : Bool */; -short int var108 /* : Bool */; -val* var109 /* : ExternCFile */; -static val* varonce110; -val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : FlatString */; -val* var115 /* : String */; -static val* varonce116; -val* var117 /* : String */; -char* var118 /* : NativeString */; -long var119 /* : Int */; -val* var120 /* : FlatString */; val* var_f /* var f: ExternCFile */; -val* var121 /* : AbstractCompiler */; -val* var123 /* : AbstractCompiler */; -val* var124 /* : Array[ExternFile] */; -val* var126 /* : Array[ExternFile] */; -val* var127 /* : AbstractCompiler */; -val* var129 /* : AbstractCompiler */; -val* var130 /* : Array[String] */; -val* var132 /* : Array[String] */; +val* var106 /* : AbstractCompiler */; +val* var108 /* : AbstractCompiler */; +val* var109 /* : Array[ExternFile] */; +val* var111 /* : Array[ExternFile] */; +val* var112 /* : AbstractCompiler */; +val* var114 /* : AbstractCompiler */; +val* var115 /* : Array[String] */; +val* var117 /* : Array[String] */; var_mmodule = p0; { { /* Inline mmodule#MModule#location (var_mmodule) on */ @@ -955,7 +116,7 @@ var2 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___location].val; /* _locat if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 90); -show_backtrace(1); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -970,409 +131,394 @@ RET_LABEL4:(void)0; } if (var3 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1509); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1597); +fatal_exit(1); } else { { /* Inline location#SourceFile#filename (var3) on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } var8 = var3->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22); -show_backtrace(1); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; } } var_file = var6; -if (varonce) { +if (likely(varonce!=NULL)) { var9 = varonce; } else { var10 = ".nit"; -var11 = 4; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; +var11 = standard___standard__NativeString___to_s_with_length(var10, 4l); +var9 = var11; varonce = var9; } { -var13 = standard__file___String___strip_extension(var_file, var9); +var12 = standard__file___String___strip_extension(var_file, var9); } -var_file = var13; -if (varonce14) { -var15 = varonce14; +var_file = var12; +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var16 = ".nit.h"; -var17 = 6; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; +var15 = ".nit.h"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 6l); +var14 = var16; +varonce13 = var14; } { -var19 = ((val* (*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var15) /* + on */; +var17 = ((val*(*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var14); /* + on */ } -var_tryfile = var19; +var_tryfile = var17; { -var20 = standard__file___String___file_exists(var_tryfile); +var18 = standard__file___String___file_exists(var_tryfile); } -if (var20){ -if (varonce21) { +if (var18){ +if (unlikely(varonce19==NULL)) { +var20 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce21!=NULL)) { var22 = varonce21; } else { var23 = "#include \""; -var24 = 10; -var25 = standard___standard__NativeString___to_s_with_length(var23, var24); -var22 = var25; +var24 = standard___standard__NativeString___to_s_with_length(var23, 10l); +var22 = var24; varonce21 = var22; } -if (varonce26) { -var27 = varonce26; +((struct instance_standard__NativeArray*)var20)->values[0]=var22; +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var28 = ""; -var29 = 0; -var30 = standard___standard__NativeString___to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; +var27 = "\""; +var28 = standard___standard__NativeString___to_s_with_length(var27, 1l); +var26 = var28; +varonce25 = var26; } -{ -var31 = standard__file___String___basename(var_tryfile, var27); +((struct instance_standard__NativeArray*)var20)->values[2]=var26; +} else { +var20 = varonce19; +varonce19 = NULL; } -if (varonce32) { -var33 = varonce32; +if (likely(varonce29!=NULL)) { +var30 = varonce29; } else { -var34 = "\""; -var35 = 1; -var36 = standard___standard__NativeString___to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; +var31 = ""; +var32 = standard___standard__NativeString___to_s_with_length(var31, 0l); +var30 = var32; +varonce29 = var30; } -var37 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var37 = array_instance Array[Object] */ -var38 = 3; -var39 = NEW_standard__NativeArray(var38, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var39)->values[0] = (val*) var22; -((struct instance_standard__NativeArray*)var39)->values[1] = (val*) var31; -((struct instance_standard__NativeArray*)var39)->values[2] = (val*) var33; { -((void (*)(val* self, val* p0, long p1))(var37->class->vft[COLOR_standard__array__Array__with_native]))(var37, var39, var38) /* with_native on */; -} +var33 = standard__file___String___basename(var_tryfile, var30); } +((struct instance_standard__NativeArray*)var20)->values[1]=var33; { -var40 = ((val* (*)(val* self))(var37->class->vft[COLOR_standard__string__Object__to_s]))(var37) /* to_s on */; +var34 = ((val*(*)(val* self))(var20->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var20); /* native_to_s on */ } +varonce19 = var20; { -nit___nit__AbstractCompilerVisitor___declare_once(self, var40); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on */ +nit___nit__AbstractCompilerVisitor___declare_once(self, var34); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var43 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var43 == NULL)) { +var37 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var41) on */ -var46 = var41->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ -if (unlikely(var46 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var35) on */ +var40 = var35->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ +if (unlikely(var40 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 931); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 982); +fatal_exit(1); } -var44 = var46; -RET_LABEL45:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var44, var_tryfile); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var38, var_tryfile); /* Direct call array#Array#add on */ } } else { } -if (varonce47) { -var48 = varonce47; +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var49 = "_nit.h"; -var50 = 6; -var51 = standard___standard__NativeString___to_s_with_length(var49, var50); -var48 = var51; -varonce47 = var48; +var43 = "_nit.h"; +var44 = standard___standard__NativeString___to_s_with_length(var43, 6l); +var42 = var44; +varonce41 = var42; } { -var52 = ((val* (*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var48) /* + on */; +var45 = ((val*(*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var42); /* + on */ } -var_tryfile = var52; +var_tryfile = var45; { -var53 = standard__file___String___file_exists(var_tryfile); +var46 = standard__file___String___file_exists(var_tryfile); } -if (var53){ -if (varonce54) { -var55 = varonce54; +if (var46){ +if (unlikely(varonce47==NULL)) { +var48 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce49!=NULL)) { +var50 = varonce49; } else { -var56 = "#include \""; -var57 = 10; -var58 = standard___standard__NativeString___to_s_with_length(var56, var57); -var55 = var58; -varonce54 = var55; +var51 = "#include \""; +var52 = standard___standard__NativeString___to_s_with_length(var51, 10l); +var50 = var52; +varonce49 = var50; } -if (varonce59) { -var60 = varonce59; +((struct instance_standard__NativeArray*)var48)->values[0]=var50; +if (likely(varonce53!=NULL)) { +var54 = varonce53; } else { -var61 = ""; -var62 = 0; -var63 = standard___standard__NativeString___to_s_with_length(var61, var62); -var60 = var63; -varonce59 = var60; +var55 = "\""; +var56 = standard___standard__NativeString___to_s_with_length(var55, 1l); +var54 = var56; +varonce53 = var54; } -{ -var64 = standard__file___String___basename(var_tryfile, var60); +((struct instance_standard__NativeArray*)var48)->values[2]=var54; +} else { +var48 = varonce47; +varonce47 = NULL; } -if (varonce65) { -var66 = varonce65; +if (likely(varonce57!=NULL)) { +var58 = varonce57; } else { -var67 = "\""; -var68 = 1; -var69 = standard___standard__NativeString___to_s_with_length(var67, var68); -var66 = var69; -varonce65 = var66; +var59 = ""; +var60 = standard___standard__NativeString___to_s_with_length(var59, 0l); +var58 = var60; +varonce57 = var58; } -var70 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var70 = array_instance Array[Object] */ -var71 = 3; -var72 = NEW_standard__NativeArray(var71, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var72)->values[0] = (val*) var55; -((struct instance_standard__NativeArray*)var72)->values[1] = (val*) var64; -((struct instance_standard__NativeArray*)var72)->values[2] = (val*) var66; { -((void (*)(val* self, val* p0, long p1))(var70->class->vft[COLOR_standard__array__Array__with_native]))(var70, var72, var71) /* with_native on */; -} +var61 = standard__file___String___basename(var_tryfile, var58); } +((struct instance_standard__NativeArray*)var48)->values[1]=var61; { -var73 = ((val* (*)(val* self))(var70->class->vft[COLOR_standard__string__Object__to_s]))(var70) /* to_s on */; +var62 = ((val*(*)(val* self))(var48->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var48); /* native_to_s on */ } +varonce47 = var48; { -nit___nit__AbstractCompilerVisitor___declare_once(self, var73); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on */ +nit___nit__AbstractCompilerVisitor___declare_once(self, var62); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var76 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var76 == NULL)) { +var65 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var74 = var76; -RET_LABEL75:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var74) on */ -var79 = var74->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ -if (unlikely(var79 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var63) on */ +var68 = var63->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ +if (unlikely(var68 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 931); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 982); +fatal_exit(1); } -var77 = var79; -RET_LABEL78:(void)0; +var66 = var68; +RET_LABEL67:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var77, var_tryfile); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var66, var_tryfile); /* Direct call array#Array#add on */ } } else { } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var82 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var82 == NULL)) { +var71 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var71 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var80 = var82; -RET_LABEL81:(void)0; +var69 = var71; +RET_LABEL70:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#seen_extern (var80) on */ -var85 = var80->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on */ -if (unlikely(var85 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#seen_extern (var69) on */ +var74 = var69->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on */ +if (unlikely(var74 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 934); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 985); +fatal_exit(1); } -var83 = var85; -RET_LABEL84:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } { -var86 = standard___standard__ArraySet___standard__abstract_collection__Collection__has(var83, var_file); +var75 = standard___standard__ArraySet___standard__abstract_collection__Collection__has(var72, var_file); } -if (var86){ +if (var75){ goto RET_LABEL; } else { } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var89 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var89 == NULL)) { +var78 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var78 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var87 = var89; -RET_LABEL88:(void)0; +var76 = var78; +RET_LABEL77:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#seen_extern (var87) on */ -var92 = var87->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on */ -if (unlikely(var92 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#seen_extern (var76) on */ +var81 = var76->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern].val; /* _seen_extern on */ +if (unlikely(var81 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 934); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 985); +fatal_exit(1); } -var90 = var92; -RET_LABEL91:(void)0; +var79 = var81; +RET_LABEL80:(void)0; } } { -standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var90, var_file); /* Direct call array#ArraySet#add on */ +standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var79, var_file); /* Direct call array#ArraySet#add on */ } -if (varonce93) { -var94 = varonce93; +if (likely(varonce82!=NULL)) { +var83 = varonce82; } else { -var95 = ".nit.c"; -var96 = 6; -var97 = standard___standard__NativeString___to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; +var84 = ".nit.c"; +var85 = standard___standard__NativeString___to_s_with_length(var84, 6l); +var83 = var85; +varonce82 = var83; } { -var98 = ((val* (*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var94) /* + on */; +var86 = ((val*(*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var83); /* + on */ } -var_tryfile = var98; +var_tryfile = var86; { -var99 = standard__file___String___file_exists(var_tryfile); +var87 = standard__file___String___file_exists(var_tryfile); } -var100 = !var99; -if (var100){ -if (varonce101) { -var102 = varonce101; +var88 = !var87; +if (var88){ +if (likely(varonce89!=NULL)) { +var90 = varonce89; } else { -var103 = "_nit.c"; -var104 = 6; -var105 = standard___standard__NativeString___to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; +var91 = "_nit.c"; +var92 = standard___standard__NativeString___to_s_with_length(var91, 6l); +var90 = var92; +varonce89 = var90; } { -var106 = ((val* (*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var102) /* + on */; +var93 = ((val*(*)(val* self, val* p0))(var_file->class->vft[COLOR_standard__string__String___43d]))(var_file, var90); /* + on */ } -var_tryfile = var106; +var_tryfile = var93; { -var107 = standard__file___String___file_exists(var_tryfile); +var94 = standard__file___String___file_exists(var_tryfile); } -var108 = !var107; -if (var108){ +var95 = !var94; +if (var95){ goto RET_LABEL; } else { } } else { } -var109 = NEW_nit__ExternCFile(&type_nit__ExternCFile); -if (varonce110) { -var111 = varonce110; +var96 = NEW_nit__ExternCFile(&type_nit__ExternCFile); +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var112 = ""; -var113 = 0; -var114 = standard___standard__NativeString___to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; +var99 = ""; +var100 = standard___standard__NativeString___to_s_with_length(var99, 0l); +var98 = var100; +varonce97 = var98; } { -var115 = standard__file___String___basename(var_tryfile, var111); +var101 = standard__file___String___basename(var_tryfile, var98); } -if (varonce116) { -var117 = varonce116; +if (likely(varonce102!=NULL)) { +var103 = varonce102; } else { -var118 = ""; -var119 = 0; -var120 = standard___standard__NativeString___to_s_with_length(var118, var119); -var117 = var120; -varonce116 = var117; +var104 = ""; +var105 = standard___standard__NativeString___to_s_with_length(var104, 0l); +var103 = var105; +varonce102 = var103; } { -((void (*)(val* self, val* p0))(var109->class->vft[COLOR_nit__c_tools__ExternFile__filename_61d]))(var109, var115) /* filename= on */; +((void(*)(val* self, val* p0))(var96->class->vft[COLOR_nit__c_tools__ExternFile__filename_61d]))(var96, var101); /* filename= on */ } { -((void (*)(val* self, val* p0))(var109->class->vft[COLOR_nit__c_tools__ExternCFile__cflags_61d]))(var109, var117) /* cflags= on */; +((void(*)(val* self, val* p0))(var96->class->vft[COLOR_nit__c_tools__ExternCFile__cflags_61d]))(var96, var103); /* cflags= on */ } { -((void (*)(val* self))(var109->class->vft[COLOR_standard__kernel__Object__init]))(var109) /* init on */; +((void(*)(val* self))(var96->class->vft[COLOR_standard__kernel__Object__init]))(var96); /* init on */ } -var_f = var109; +var_f = var96; { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var123 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var123 == NULL)) { +var108 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var108 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var121 = var123; -RET_LABEL122:(void)0; +var106 = var108; +RET_LABEL107:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var121) on */ -var126 = var121->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies].val; /* _extern_bodies on */ -if (unlikely(var126 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var106) on */ +var111 = var106->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies].val; /* _extern_bodies on */ +if (unlikely(var111 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 928); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 979); +fatal_exit(1); } -var124 = var126; -RET_LABEL125:(void)0; +var109 = var111; +RET_LABEL110:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var124, var_f); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var109, var_f); /* Direct call array#Array#add on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var129 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var129 == NULL)) { +var114 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var114 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var127 = var129; -RET_LABEL128:(void)0; +var112 = var114; +RET_LABEL113:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var127) on */ -var132 = var127->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ -if (unlikely(var132 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var112) on */ +var117 = var112->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy].val; /* _files_to_copy on */ +if (unlikely(var117 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 931); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 982); +fatal_exit(1); } -var130 = var132; -RET_LABEL131:(void)0; +var115 = var117; +RET_LABEL116:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var130, var_tryfile); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var115, var_tryfile); /* Direct call array#Array#add on */ } RET_LABEL:; } @@ -1383,61 +529,59 @@ val* var_cexpr /* var cexpr: String */; val* var_mtype /* var mtype: MType */; val* var1 /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; +val* var2 /* : NativeArray[String] */; static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -static val* varonce6; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; +static val* varonce3; +val* var4 /* : String */; +char* var5 /* : NativeString */; +val* var6 /* : FlatString */; +static val* varonce7; +val* var8 /* : String */; +char* var9 /* : NativeString */; val* var10 /* : FlatString */; -val* var11 /* : Array[Object] */; -long var12 /* : Int */; -val* var13 /* : NativeArray[Object] */; -val* var14 /* : String */; +val* var11 /* : String */; +val* var12 /* : String */; var_cexpr = p0; var_mtype = p1; { var1 = nit___nit__AbstractCompilerVisitor___new_var(self, var_mtype); } var_res = var1; -if (varonce) { -var2 = varonce; +if (unlikely(varonce==NULL)) { +var2 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce3!=NULL)) { +var4 = varonce3; } else { -var3 = " = "; -var4 = 3; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; +var5 = " = "; +var6 = standard___standard__NativeString___to_s_with_length(var5, 3l); +var4 = var6; +varonce3 = var4; } -if (varonce6) { -var7 = varonce6; +((struct instance_standard__NativeArray*)var2)->values[1]=var4; +if (likely(varonce7!=NULL)) { +var8 = varonce7; } else { -var8 = ";"; -var9 = 1; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; -varonce6 = var7; +var9 = ";"; +var10 = standard___standard__NativeString___to_s_with_length(var9, 1l); +var8 = var10; +varonce7 = var8; } -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var11 = array_instance Array[Object] */ -var12 = 4; -var13 = NEW_standard__NativeArray(var12, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var13)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var13)->values[1] = (val*) var2; -((struct instance_standard__NativeArray*)var13)->values[2] = (val*) var_cexpr; -((struct instance_standard__NativeArray*)var13)->values[3] = (val*) var7; -{ -((void (*)(val* self, val* p0, long p1))(var11->class->vft[COLOR_standard__array__Array__with_native]))(var11, var13, var12) /* with_native on */; +((struct instance_standard__NativeArray*)var2)->values[3]=var8; +} else { +var2 = varonce; +varonce = NULL; } +{ +var11 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ } +((struct instance_standard__NativeArray*)var2)->values[0]=var11; +((struct instance_standard__NativeArray*)var2)->values[2]=var_cexpr; { -var14 = ((val* (*)(val* self))(var11->class->vft[COLOR_standard__string__Object__to_s]))(var11) /* to_s on */; +var12 = ((val*(*)(val* self))(var2->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var2); /* native_to_s on */ } +varonce = var2; { -nit___nit__AbstractCompilerVisitor___add(self, var14); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var12); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } var = var_res; goto RET_LABEL; @@ -1447,59 +591,53 @@ return var; /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */ void nit___nit__AbstractCompilerVisitor___add_abort(val* self, val* p0) { val* var_message /* var message: String */; +val* var /* : NativeArray[String] */; static val* varonce; -val* var /* : String */; -char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; -val* var4 /* : String */; +static val* varonce1; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : FlatString */; static val* varonce5; val* var6 /* : String */; char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -val* var10 /* : Array[Object] */; -long var11 /* : Int */; -val* var12 /* : NativeArray[Object] */; -val* var13 /* : String */; +val* var8 /* : FlatString */; +val* var9 /* : String */; +val* var10 /* : String */; var_message = p0; -if (varonce) { -var = varonce; +if (unlikely(varonce==NULL)) { +var = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce1!=NULL)) { +var2 = varonce1; } else { -var1 = "PRINT_ERROR(\"Runtime error: %s\", \""; -var2 = 34; -var3 = standard___standard__NativeString___to_s_with_length(var1, var2); -var = var3; -varonce = var; -} -{ -var4 = standard___standard__Text___escape_to_c(var_message); +var3 = "PRINT_ERROR(\"Runtime error: %s\", \""; +var4 = standard___standard__NativeString___to_s_with_length(var3, 34l); +var2 = var4; +varonce1 = var2; } -if (varonce5) { +((struct instance_standard__NativeArray*)var)->values[0]=var2; +if (likely(varonce5!=NULL)) { var6 = varonce5; } else { var7 = "\");"; -var8 = 3; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; +var8 = standard___standard__NativeString___to_s_with_length(var7, 3l); +var6 = var8; varonce5 = var6; } -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var10 = array_instance Array[Object] */ -var11 = 3; -var12 = NEW_standard__NativeArray(var11, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var12)->values[0] = (val*) var; -((struct instance_standard__NativeArray*)var12)->values[1] = (val*) var4; -((struct instance_standard__NativeArray*)var12)->values[2] = (val*) var6; -{ -((void (*)(val* self, val* p0, long p1))(var10->class->vft[COLOR_standard__array__Array__with_native]))(var10, var12, var11) /* with_native on */; +((struct instance_standard__NativeArray*)var)->values[2]=var6; +} else { +var = varonce; +varonce = NULL; } +{ +var9 = standard___standard__Text___escape_to_c(var_message); } +((struct instance_standard__NativeArray*)var)->values[1]=var9; { -var13 = ((val* (*)(val* self))(var10->class->vft[COLOR_standard__string__Object__to_s]))(var10) /* to_s on */; +var10 = ((val*(*)(val* self))(var->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var); /* native_to_s on */ } +varonce = var; { -nit___nit__AbstractCompilerVisitor___add(self, var13); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var10); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { nit___nit__AbstractCompilerVisitor___add_raw_abort(self); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on */ @@ -1512,93 +650,82 @@ short int var /* : Bool */; short int var1 /* : Bool */; val* var2 /* : nullable ANode */; val* var4 /* : nullable ANode */; -val* var5 /* : null */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; short int var_ /* var : Bool */; -val* var11 /* : nullable ANode */; -val* var13 /* : nullable ANode */; -val* var14 /* : Location */; -val* var16 /* : Location */; -val* var17 /* : nullable SourceFile */; -val* var19 /* : nullable SourceFile */; -val* var20 /* : null */; -short int var21 /* : Bool */; +val* var10 /* : nullable ANode */; +val* var12 /* : nullable ANode */; +val* var13 /* : Location */; +val* var15 /* : Location */; +val* var16 /* : nullable SourceFile */; +val* var18 /* : nullable SourceFile */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; short int var22 /* : Bool */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -short int var_26 /* var : Bool */; +short int var23 /* : Bool */; +short int var_24 /* var : Bool */; +val* var25 /* : nullable ANode */; val* var27 /* : nullable ANode */; -val* var29 /* : nullable ANode */; +val* var28 /* : Location */; val* var30 /* : Location */; -val* var32 /* : Location */; +val* var31 /* : nullable SourceFile */; val* var33 /* : nullable SourceFile */; -val* var35 /* : nullable SourceFile */; +val* var34 /* : nullable MModule */; val* var36 /* : nullable MModule */; -val* var38 /* : nullable MModule */; -val* var39 /* : null */; +short int var37 /* : Bool */; +short int var38 /* : Bool */; short int var40 /* : Bool */; short int var41 /* : Bool */; -short int var43 /* : Bool */; -short int var44 /* : Bool */; +val* var42 /* : NativeArray[String] */; static val* varonce; -val* var45 /* : String */; -char* var46 /* : NativeString */; -long var47 /* : Int */; -val* var48 /* : FlatString */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +val* var46 /* : FlatString */; +val* var47 /* : nullable ANode */; val* var49 /* : nullable ANode */; -val* var51 /* : nullable ANode */; +val* var50 /* : Location */; val* var52 /* : Location */; -val* var54 /* : Location */; +val* var53 /* : nullable SourceFile */; val* var55 /* : nullable SourceFile */; -val* var57 /* : nullable SourceFile */; +val* var56 /* : nullable MModule */; val* var58 /* : nullable MModule */; -val* var60 /* : nullable MModule */; -val* var61 /* : String */; -val* var62 /* : Array[Object] */; -long var63 /* : Int */; -val* var64 /* : NativeArray[Object] */; -val* var65 /* : String */; +val* var59 /* : String */; +val* var60 /* : String */; val* var_f /* var f: String */; -static val* varonce66; -val* var67 /* : String */; -char* var68 /* : NativeString */; -long var69 /* : Int */; +val* var62 /* : NativeArray[String] */; +static val* varonce61; +static val* varonce63; +val* var64 /* : String */; +char* var65 /* : NativeString */; +val* var66 /* : FlatString */; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : NativeString */; val* var70 /* : FlatString */; static val* varonce71; val* var72 /* : String */; char* var73 /* : NativeString */; -long var74 /* : Int */; -val* var75 /* : FlatString */; -val* var76 /* : nullable ANode */; -val* var78 /* : nullable ANode */; -val* var79 /* : Location */; -val* var81 /* : Location */; -long var82 /* : Int */; -long var84 /* : Int */; -static val* varonce85; -val* var86 /* : String */; -char* var87 /* : NativeString */; -long var88 /* : Int */; +val* var74 /* : FlatString */; +val* var75 /* : nullable ANode */; +val* var77 /* : nullable ANode */; +val* var78 /* : Location */; +val* var80 /* : Location */; +long var81 /* : Int */; +long var83 /* : Int */; +val* var84 /* : String */; +val* var85 /* : String */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; val* var89 /* : FlatString */; -val* var90 /* : Array[Object] */; -long var91 /* : Int */; -val* var92 /* : NativeArray[Object] */; -val* var93 /* : Object */; -val* var94 /* : String */; -static val* varonce95; -val* var96 /* : String */; -char* var97 /* : NativeString */; -long var98 /* : Int */; -val* var99 /* : FlatString */; -static val* varonce100; -val* var101 /* : String */; -char* var102 /* : NativeString */; -long var103 /* : Int */; -val* var104 /* : FlatString */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ var4 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ @@ -1606,353 +733,342 @@ var2 = var4; RET_LABEL3:(void)0; } } -var5 = NULL; if (var2 == NULL) { -var6 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var6 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var2,var5) on */ -var_other = var5; +{ /* Inline kernel#Object#!= (var2,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var9 = ((short int (*)(val* self, val* p0))(var2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var2, var_other) /* == on */; +var8 = ((short int(*)(val* self, val* p0))(var2->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var2, var_other); /* == on */ } -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var6 = var7; +var5 = var6; } -var_ = var6; -if (var6){ +var_ = var5; +if (var5){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var13 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var11 = var13; -RET_LABEL12:(void)0; +var12 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var10 = var12; +RET_LABEL11:(void)0; } } -if (var11 == NULL) { +if (var10 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1552); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1640); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ANode#location (var11) on */ -if (unlikely(var11 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var10) on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var16 = var11->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var16 == NULL)) { +var15 = var10->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var14 = var16; -RET_LABEL15:(void)0; +var13 = var15; +RET_LABEL14:(void)0; } } { -{ /* Inline location#Location#file (var14) on */ -var19 = var14->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var17 = var19; -RET_LABEL18:(void)0; +{ /* Inline location#Location#file (var13) on */ +var18 = var13->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var16 = var18; +RET_LABEL17:(void)0; } } -var20 = NULL; -if (var17 == NULL) { -var21 = 0; /* is null */ +if (var16 == NULL) { +var19 = 0; /* is null */ } else { -var21 = 1; /* arg is null and recv is not */ +var19 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var17,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#!= (var16,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var24 = ((short int (*)(val* self, val* p0))(var17->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var17, var_other) /* == on */; +var22 = ((short int(*)(val* self, val* p0))(var16->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var16, var_other); /* == on */ } -var25 = !var24; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var23 = !var22; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var21 = var22; +var19 = var20; } -var1 = var21; +var1 = var19; } else { var1 = var_; } -var_26 = var1; +var_24 = var1; if (var1){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var29 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var27 = var29; -RET_LABEL28:(void)0; +var27 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var25 = var27; +RET_LABEL26:(void)0; } } -if (var27 == NULL) { +if (var25 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1553); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1641); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ANode#location (var27) on */ -if (unlikely(var27 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var25) on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var32 = var27->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var32 == NULL)) { +var30 = var25->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var30 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var30 = var32; -RET_LABEL31:(void)0; +var28 = var30; +RET_LABEL29:(void)0; } } { -{ /* Inline location#Location#file (var30) on */ -var35 = var30->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var33 = var35; -RET_LABEL34:(void)0; +{ /* Inline location#Location#file (var28) on */ +var33 = var28->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var31 = var33; +RET_LABEL32:(void)0; } } -if (var33 == NULL) { +if (var31 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1553); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1641); +fatal_exit(1); } else { -{ /* Inline loader#SourceFile#mmodule (var33) on */ -if (unlikely(var33 == NULL)) { +{ /* Inline loader#SourceFile#mmodule (var31) on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 696); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 820); +fatal_exit(1); } -var38 = var33->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ -var36 = var38; -RET_LABEL37:(void)0; +var36 = var31->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ +var34 = var36; +RET_LABEL35:(void)0; } } -var39 = NULL; -if (var36 == NULL) { -var40 = 0; /* is null */ +if (var34 == NULL) { +var37 = 0; /* is null */ } else { -var40 = 1; /* arg is null and recv is not */ +var37 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var36,var39) on */ -var_other = var39; +{ /* Inline kernel#Object#!= (var34,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var43 = ((short int (*)(val* self, val* p0))(var36->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var36, var_other) /* == on */; +var40 = ((short int(*)(val* self, val* p0))(var34->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var34, var_other); /* == on */ } -var44 = !var43; -var41 = var44; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var41 = !var40; +var38 = var41; +goto RET_LABEL39; +RET_LABEL39:(void)0; } -var40 = var41; +var37 = var38; } -var = var40; +var = var37; } else { -var = var_26; +var = var_24; } if (var){ -if (varonce) { -var45 = varonce; +if (unlikely(varonce==NULL)) { +var42 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var46 = "FILE_"; -var47 = 5; -var48 = standard___standard__NativeString___to_s_with_length(var46, var47); -var45 = var48; -varonce = var45; +var45 = "FILE_"; +var46 = standard___standard__NativeString___to_s_with_length(var45, 5l); +var44 = var46; +varonce43 = var44; +} +((struct instance_standard__NativeArray*)var42)->values[0]=var44; +} else { +var42 = varonce; +varonce = NULL; } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var51 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var49 = var51; -RET_LABEL50:(void)0; +var49 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var47 = var49; +RET_LABEL48:(void)0; } } -if (var49 == NULL) { +if (var47 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1554); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1642); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ANode#location (var49) on */ -if (unlikely(var49 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var47) on */ +if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var54 = var49->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var54 == NULL)) { +var52 = var47->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var52 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var52 = var54; -RET_LABEL53:(void)0; +var50 = var52; +RET_LABEL51:(void)0; } } { -{ /* Inline location#Location#file (var52) on */ -var57 = var52->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var55 = var57; -RET_LABEL56:(void)0; +{ /* Inline location#Location#file (var50) on */ +var55 = var50->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var53 = var55; +RET_LABEL54:(void)0; } } -if (var55 == NULL) { +if (var53 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1554); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1642); +fatal_exit(1); } else { -{ /* Inline loader#SourceFile#mmodule (var55) on */ -if (unlikely(var55 == NULL)) { +{ /* Inline loader#SourceFile#mmodule (var53) on */ +if (unlikely(var53 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 696); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 820); +fatal_exit(1); } -var60 = var55->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ -var58 = var60; -RET_LABEL59:(void)0; +var58 = var53->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ +var56 = var58; +RET_LABEL57:(void)0; } } -if (var58 == NULL) { +if (var56 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1554); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1642); +fatal_exit(1); } else { -var61 = nit___nit__MModule___nit__model_base__MEntity__c_name(var58); -} -var62 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var62 = array_instance Array[Object] */ -var63 = 2; -var64 = NEW_standard__NativeArray(var63, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var64)->values[0] = (val*) var45; -((struct instance_standard__NativeArray*)var64)->values[1] = (val*) var61; -{ -((void (*)(val* self, val* p0, long p1))(var62->class->vft[COLOR_standard__array__Array__with_native]))(var62, var64, var63) /* with_native on */; -} +var59 = nit___nit__MModule___nit__model_base__MEntity__c_name(var56); } +((struct instance_standard__NativeArray*)var42)->values[1]=var59; { -var65 = ((val* (*)(val* self))(var62->class->vft[COLOR_standard__string__Object__to_s]))(var62) /* to_s on */; +var60 = ((val*(*)(val* self))(var42->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var42); /* native_to_s on */ } -var_f = var65; +varonce = var42; +var_f = var60; { nit___nit__AbstractCompilerVisitor___require_declaration(self, var_f); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on */ } -if (varonce66) { -var67 = varonce66; +if (unlikely(varonce61==NULL)) { +var62 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce63!=NULL)) { +var64 = varonce63; } else { -var68 = "PRINT_ERROR(\" (%s:%d)\\n\", "; -var69 = 26; -var70 = standard___standard__NativeString___to_s_with_length(var68, var69); -var67 = var70; -varonce66 = var67; +var65 = "PRINT_ERROR(\" (%s:%d)\\n\", "; +var66 = standard___standard__NativeString___to_s_with_length(var65, 26l); +var64 = var66; +varonce63 = var64; +} +((struct instance_standard__NativeArray*)var62)->values[0]=var64; +if (likely(varonce67!=NULL)) { +var68 = varonce67; +} else { +var69 = ", "; +var70 = standard___standard__NativeString___to_s_with_length(var69, 2l); +var68 = var70; +varonce67 = var68; } -if (varonce71) { +((struct instance_standard__NativeArray*)var62)->values[2]=var68; +if (likely(varonce71!=NULL)) { var72 = varonce71; } else { -var73 = ", "; -var74 = 2; -var75 = standard___standard__NativeString___to_s_with_length(var73, var74); -var72 = var75; +var73 = ");"; +var74 = standard___standard__NativeString___to_s_with_length(var73, 2l); +var72 = var74; varonce71 = var72; } +((struct instance_standard__NativeArray*)var62)->values[4]=var72; +} else { +var62 = varonce61; +varonce61 = NULL; +} +((struct instance_standard__NativeArray*)var62)->values[1]=var_f; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var78 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var76 = var78; -RET_LABEL77:(void)0; +var77 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var75 = var77; +RET_LABEL76:(void)0; } } -if (var76 == NULL) { +if (var75 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1556); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1644); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ANode#location (var76) on */ -if (unlikely(var76 == NULL)) { +{ /* Inline parser_nodes#ANode#location (var75) on */ +if (unlikely(var75 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var81 = var76->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var81 == NULL)) { +var80 = var75->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var80 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); -} -var79 = var81; -RET_LABEL80:(void)0; -} -} -{ -{ /* Inline location#Location#line_start (var79) on */ -var84 = var79->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ -var82 = var84; -RET_LABEL83:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } +var78 = var80; +RET_LABEL79:(void)0; } -if (varonce85) { -var86 = varonce85; -} else { -var87 = ");"; -var88 = 2; -var89 = standard___standard__NativeString___to_s_with_length(var87, var88); -var86 = var89; -varonce85 = var86; } -var90 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var90 = array_instance Array[Object] */ -var91 = 5; -var92 = NEW_standard__NativeArray(var91, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var92)->values[0] = (val*) var67; -((struct instance_standard__NativeArray*)var92)->values[1] = (val*) var_f; -((struct instance_standard__NativeArray*)var92)->values[2] = (val*) var72; -var93 = BOX_standard__Int(var82); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var92)->values[3] = (val*) var93; -((struct instance_standard__NativeArray*)var92)->values[4] = (val*) var86; { -((void (*)(val* self, val* p0, long p1))(var90->class->vft[COLOR_standard__array__Array__with_native]))(var90, var92, var91) /* with_native on */; +{ /* Inline location#Location#line_start (var78) on */ +var83 = var78->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on */ +var81 = var83; +RET_LABEL82:(void)0; } } +var84 = standard__string___Int___Object__to_s(var81); +((struct instance_standard__NativeArray*)var62)->values[3]=var84; { -var94 = ((val* (*)(val* self))(var90->class->vft[COLOR_standard__string__Object__to_s]))(var90) /* to_s on */; +var85 = ((val*(*)(val* self))(var62->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var62); /* native_to_s on */ } +varonce61 = var62; { -nit___nit__AbstractCompilerVisitor___add(self, var94); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var85); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } else { -if (varonce95) { -var96 = varonce95; +if (likely(varonce86!=NULL)) { +var87 = varonce86; } else { -var97 = "PRINT_ERROR(\"\\n\");"; -var98 = 18; -var99 = standard___standard__NativeString___to_s_with_length(var97, var98); -var96 = var99; -varonce95 = var96; +var88 = "PRINT_ERROR(\"\\n\");"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 18l); +var87 = var89; +varonce86 = var87; } { -nit___nit__AbstractCompilerVisitor___add(self, var96); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var87); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } } -if (varonce100) { -var101 = varonce100; +if (likely(varonce90!=NULL)) { +var91 = varonce90; } else { -var102 = "show_backtrace(1);"; -var103 = 18; -var104 = standard___standard__NativeString___to_s_with_length(var102, var103); -var101 = var104; -varonce100 = var101; +var92 = "fatal_exit(1);"; +var93 = standard___standard__NativeString___to_s_with_length(var92, 14l); +var91 = var93; +varonce90 = var91; } { -nit___nit__AbstractCompilerVisitor___add(self, var101); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var91); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -1963,160 +1079,148 @@ val* var_mtype /* var mtype: MType */; val* var_tag /* var tag: String */; val* var /* : RuntimeVariable */; val* var_res /* var res: RuntimeVariable */; +val* var1 /* : NativeArray[String] */; static val* varonce; -val* var1 /* : String */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -static val* varonce5; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; +static val* varonce2; +val* var3 /* : String */; +char* var4 /* : NativeString */; +val* var5 /* : FlatString */; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; val* var9 /* : FlatString */; -val* var10 /* : Array[Object] */; -long var11 /* : Int */; -val* var12 /* : NativeArray[Object] */; -val* var13 /* : String */; -val* var14 /* : String */; +val* var10 /* : String */; +val* var11 /* : String */; +val* var12 /* : String */; val* var_cn /* var cn: String */; +val* var14 /* : NativeArray[String] */; +static val* varonce13; static val* varonce15; val* var16 /* : String */; char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; +val* var18 /* : FlatString */; +static val* varonce19; val* var20 /* : String */; -val* var21 /* : String */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; +char* var21 /* : NativeString */; +val* var22 /* : FlatString */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; val* var26 /* : FlatString */; -static val* varonce27; +val* var27 /* : String */; val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; -val* var32 /* : Array[Object] */; -long var33 /* : Int */; -val* var34 /* : NativeArray[Object] */; -val* var35 /* : String */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; +val* var29 /* : String */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +val* var33 /* : FlatString */; var_value = p0; var_mtype = p1; var_tag = p2; { -var = ((val* (*)(val* self, val* p0, val* p1, val* p2))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__type_test]))(self, var_value, var_mtype, var_tag) /* type_test on */; +var = ((val*(*)(val* self, val* p0, val* p1, val* p2))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__type_test]))(self, var_value, var_mtype, var_tag); /* type_test on */ } var_res = var; -if (varonce) { -var1 = varonce; +if (unlikely(varonce==NULL)) { +var1 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce2!=NULL)) { +var3 = varonce2; } else { -var2 = "if (unlikely(!"; -var3 = 14; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; -varonce = var1; +var4 = "if (unlikely(!"; +var5 = standard___standard__NativeString___to_s_with_length(var4, 14l); +var3 = var5; +varonce2 = var3; } -if (varonce5) { -var6 = varonce5; +((struct instance_standard__NativeArray*)var1)->values[0]=var3; +if (likely(varonce6!=NULL)) { +var7 = varonce6; } else { -var7 = ")) {"; -var8 = 4; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; -varonce5 = var6; +var8 = ")) {"; +var9 = standard___standard__NativeString___to_s_with_length(var8, 4l); +var7 = var9; +varonce6 = var7; } -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var10 = array_instance Array[Object] */ -var11 = 3; -var12 = NEW_standard__NativeArray(var11, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var12)->values[0] = (val*) var1; -((struct instance_standard__NativeArray*)var12)->values[1] = (val*) var_res; -((struct instance_standard__NativeArray*)var12)->values[2] = (val*) var6; -{ -((void (*)(val* self, val* p0, long p1))(var10->class->vft[COLOR_standard__array__Array__with_native]))(var10, var12, var11) /* with_native on */; +((struct instance_standard__NativeArray*)var1)->values[2]=var7; +} else { +var1 = varonce; +varonce = NULL; } +{ +var10 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ } +((struct instance_standard__NativeArray*)var1)->values[1]=var10; { -var13 = ((val* (*)(val* self))(var10->class->vft[COLOR_standard__string__Object__to_s]))(var10) /* to_s on */; +var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on */ } +varonce = var1; { -nit___nit__AbstractCompilerVisitor___add(self, var13); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var11); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { -var14 = ((val* (*)(val* self, val* p0))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(self, var_value) /* class_name_string on */; +var12 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(self, var_value); /* class_name_string on */ } -var_cn = var14; -if (varonce15) { +var_cn = var12; +if (unlikely(varonce13==NULL)) { +var14 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce15!=NULL)) { var16 = varonce15; } else { var17 = "PRINT_ERROR(\"Runtime error: Cast failed. Expected `%s`, got `%s`\", \""; -var18 = 68; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; +var18 = standard___standard__NativeString___to_s_with_length(var17, 68l); +var16 = var18; varonce15 = var16; } -{ -var20 = ((val* (*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype) /* to_s on */; -} -{ -var21 = standard___standard__Text___escape_to_c(var20); +((struct instance_standard__NativeArray*)var14)->values[0]=var16; +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = "\", "; +var22 = standard___standard__NativeString___to_s_with_length(var21, 3l); +var20 = var22; +varonce19 = var20; } -if (varonce22) { -var23 = varonce22; +((struct instance_standard__NativeArray*)var14)->values[2]=var20; +if (likely(varonce23!=NULL)) { +var24 = varonce23; } else { -var24 = "\", "; -var25 = 3; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce22 = var23; +var25 = ");"; +var26 = standard___standard__NativeString___to_s_with_length(var25, 2l); +var24 = var26; +varonce23 = var24; } -if (varonce27) { -var28 = varonce27; +((struct instance_standard__NativeArray*)var14)->values[4]=var24; } else { -var29 = ");"; -var30 = 2; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; +var14 = varonce13; +varonce13 = NULL; } -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var32 = array_instance Array[Object] */ -var33 = 5; -var34 = NEW_standard__NativeArray(var33, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var34)->values[0] = (val*) var16; -((struct instance_standard__NativeArray*)var34)->values[1] = (val*) var21; -((struct instance_standard__NativeArray*)var34)->values[2] = (val*) var23; -((struct instance_standard__NativeArray*)var34)->values[3] = (val*) var_cn; -((struct instance_standard__NativeArray*)var34)->values[4] = (val*) var28; { -((void (*)(val* self, val* p0, long p1))(var32->class->vft[COLOR_standard__array__Array__with_native]))(var32, var34, var33) /* with_native on */; +var27 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +{ +var28 = standard___standard__Text___escape_to_c(var27); } +((struct instance_standard__NativeArray*)var14)->values[1]=var28; +((struct instance_standard__NativeArray*)var14)->values[3]=var_cn; { -var35 = ((val* (*)(val* self))(var32->class->vft[COLOR_standard__string__Object__to_s]))(var32) /* to_s on */; +var29 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on */ } +varonce13 = var14; { -nit___nit__AbstractCompilerVisitor___add(self, var35); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { nit___nit__AbstractCompilerVisitor___add_raw_abort(self); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on */ } -if (varonce36) { -var37 = varonce36; +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var38 = "}"; -var39 = 1; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var32 = "}"; +var33 = standard___standard__NativeString___to_s_with_length(var32, 1l); +var31 = var33; +varonce30 = var31; } { -nit___nit__AbstractCompilerVisitor___add(self, var37); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var31); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -2127,24 +1231,21 @@ val* var /* : nullable StaticFrame */; val* var2 /* : nullable StaticFrame */; val* var3 /* : nullable RuntimeVariable */; val* var5 /* : nullable RuntimeVariable */; +val* var6 /* : NativeArray[String] */; static val* varonce; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -val* var10 /* : nullable StaticFrame */; -val* var12 /* : nullable StaticFrame */; -val* var13 /* : nullable String */; -val* var15 /* : nullable String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -val* var21 /* : Array[Object] */; -long var22 /* : Int */; -val* var23 /* : NativeArray[Object] */; -val* var24 /* : String */; +static val* varonce7; +val* var8 /* : String */; +char* var9 /* : NativeString */; +val* var10 /* : FlatString */; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : NativeString */; +val* var14 /* : FlatString */; +val* var15 /* : nullable StaticFrame */; +val* var17 /* : nullable StaticFrame */; +val* var18 /* : nullable String */; +val* var20 /* : nullable String */; +val* var21 /* : String */; var_s = p0; { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ @@ -2155,14 +1256,14 @@ RET_LABEL1:(void)0; } if (var == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1577); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1665); +fatal_exit(1); } else { { /* Inline abstract_compiler#StaticFrame#returnvar (var) on */ if (unlikely(var == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1734); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1838); +fatal_exit(1); } var5 = var->attrs[COLOR_nit__abstract_compiler__StaticFrame___returnvar].val; /* _returnvar on */ var3 = var5; @@ -2171,492 +1272,662 @@ RET_LABEL4:(void)0; } if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1577); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1665); +fatal_exit(1); } { nit___nit__AbstractCompilerVisitor___assign(self, var3, var_s); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -if (varonce) { -var6 = varonce; +if (unlikely(varonce==NULL)) { +var6 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce7!=NULL)) { +var8 = varonce7; } else { -var7 = "goto "; -var8 = 5; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; -varonce = var6; +var9 = "goto "; +var10 = standard___standard__NativeString___to_s_with_length(var9, 5l); +var8 = var10; +varonce7 = var8; +} +((struct instance_standard__NativeArray*)var6)->values[0]=var8; +if (likely(varonce11!=NULL)) { +var12 = varonce11; +} else { +var13 = ";"; +var14 = standard___standard__NativeString___to_s_with_length(var13, 1l); +var12 = var14; +varonce11 = var12; +} +((struct instance_standard__NativeArray*)var6)->values[2]=var12; +} else { +var6 = varonce; +varonce = NULL; } { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ -var12 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var10 = var12; -RET_LABEL11:(void)0; +var17 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var15 = var17; +RET_LABEL16:(void)0; } } -if (var10 == NULL) { +if (var15 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1578); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1666); +fatal_exit(1); } else { -{ /* Inline abstract_compiler#StaticFrame#returnlabel (var10) on */ -if (unlikely(var10 == NULL)) { +{ /* Inline abstract_compiler#StaticFrame#returnlabel (var15) on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1737); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1841); +fatal_exit(1); } -var15 = var10->attrs[COLOR_nit__abstract_compiler__StaticFrame___returnlabel].val; /* _returnlabel on */ -var13 = var15; -RET_LABEL14:(void)0; +var20 = var15->attrs[COLOR_nit__abstract_compiler__StaticFrame___returnlabel].val; /* _returnlabel on */ +var18 = var20; +RET_LABEL19:(void)0; } } -if (unlikely(var13 == NULL)) { +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1578); -show_backtrace(1); -} -if (varonce16) { -var17 = varonce16; -} else { -var18 = ";"; -var19 = 1; -var20 = standard___standard__NativeString___to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; -} -var21 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var21 = array_instance Array[Object] */ -var22 = 3; -var23 = NEW_standard__NativeArray(var22, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var23)->values[0] = (val*) var6; -((struct instance_standard__NativeArray*)var23)->values[1] = (val*) var13; -((struct instance_standard__NativeArray*)var23)->values[2] = (val*) var17; -{ -((void (*)(val* self, val* p0, long p1))(var21->class->vft[COLOR_standard__array__Array__with_native]))(var21, var23, var22) /* with_native on */; -} +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1666); +fatal_exit(1); } +((struct instance_standard__NativeArray*)var6)->values[1]=var18; { -var24 = ((val* (*)(val* self))(var21->class->vft[COLOR_standard__string__Object__to_s]))(var21) /* to_s on */; +var21 = ((val*(*)(val* self))(var6->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var6); /* native_to_s on */ } +varonce = var6; { -nit___nit__AbstractCompilerVisitor___add(self, var24); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var21); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */ void nit___nit__AbstractCompilerVisitor___stmt(val* self, val* p0) { val* var_nexpr /* var nexpr: nullable AExpr */; -val* var /* : null */; +short int var /* : Bool */; short int var1 /* : Bool */; -short int var2 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var4 /* : Bool */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : nullable AArrayExpr */; -val* var9 /* : nullable AArrayExpr */; -val* var_narray /* var narray: nullable AArrayExpr */; -val* var10 /* : null */; +val* var7 /* : nullable MType */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; short int var11 /* : Bool */; -short int var12 /* : Bool */; -val* var_other14 /* var other: nullable Object */; -short int var15 /* : Bool */; +short int var13 /* : Bool */; +short int var_ /* var : Bool */; +short int var14 /* : Bool */; short int var16 /* : Bool */; -val* var17 /* : nullable StaticFrame */; -val* var19 /* : nullable StaticFrame */; -val* var20 /* : nullable RuntimeVariable */; -val* var22 /* : nullable RuntimeVariable */; +short int var17 /* : Bool */; +static val* varonce; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : FlatString */; +val* var21 /* : nullable AArrayExpr */; +val* var23 /* : nullable AArrayExpr */; +val* var_narray /* var narray: nullable AArrayExpr */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +val* var_other27 /* var other: nullable Object */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +val* var30 /* : nullable StaticFrame */; +val* var32 /* : nullable StaticFrame */; +val* var33 /* : nullable RuntimeVariable */; +val* var35 /* : nullable RuntimeVariable */; val* var_recv /* var recv: RuntimeVariable */; -val* var23 /* : nullable MType */; -val* var25 /* : nullable MType */; -val* var26 /* : RuntimeVariable */; +val* var36 /* : nullable MType */; +val* var38 /* : nullable MType */; +val* var39 /* : RuntimeVariable */; val* var_val /* var val: RuntimeVariable */; -val* var27 /* : nullable CallSite */; -val* var29 /* : nullable CallSite */; -val* var30 /* : Array[RuntimeVariable] */; -long var31 /* : Int */; -val* var_ /* var : Array[RuntimeVariable] */; -val* var32 /* : nullable RuntimeVariable */; -val* var33 /* : nullable ANode */; -val* var35 /* : nullable ANode */; +val* var40 /* : nullable CallSite */; +val* var42 /* : nullable CallSite */; +val* var43 /* : Array[RuntimeVariable] */; +val* var_44 /* var : Array[RuntimeVariable] */; +val* var45 /* : nullable RuntimeVariable */; +val* var46 /* : nullable ANode */; +val* var48 /* : nullable ANode */; val* var_old /* var old: nullable ANode */; var_nexpr = p0; -var = NULL; if (var_nexpr == NULL) { -var1 = 1; /* is null */ +var = 1; /* is null */ } else { -var1 = 0; /* arg is null but recv is not */ +var = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nexpr,var) on */ -var_other = var; +{ /* Inline kernel#Object#== (var_nexpr,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_nexpr,var_other) on */ -var6 = var_nexpr == var_other; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var5 = var_nexpr == var_other; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } -var1 = var2; +var = var1; +} +if (var){ +goto RET_LABEL; +} else { +} +{ +var7 = ((val*(*)(val* self))(var_nexpr->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_nexpr); /* mtype on */ +} +if (var7 == NULL) { +var8 = 1; /* is null */ +} else { +var8 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var7,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var7,var_other) on */ +var13 = var7 == var_other; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +var8 = var9; +} +var_ = var8; +if (var8){ +{ +{ /* Inline typing#AExpr#is_typed (var_nexpr) on */ +var16 = var_nexpr->attrs[COLOR_nit__typing__AExpr___is_typed].s; /* _is_typed on */ +var14 = var16; +RET_LABEL15:(void)0; +} +} +var17 = !var14; +var6 = var17; +} else { +var6 = var_; +} +if (var6){ +if (likely(varonce!=NULL)) { +var18 = varonce; +} else { +var19 = "FATAL: bad statement executed."; +var20 = standard___standard__NativeString___to_s_with_length(var19, 30l); +var18 = var20; +varonce = var18; +} +{ +nit___nit__AbstractCompilerVisitor___add_abort(self, var18); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on */ } -if (var1){ goto RET_LABEL; } else { } { { /* Inline typing#AExpr#comprehension (var_nexpr) on */ -var9 = var_nexpr->attrs[COLOR_nit__typing__AExpr___comprehension].val; /* _comprehension on */ -var7 = var9; -RET_LABEL8:(void)0; +var23 = var_nexpr->attrs[COLOR_nit__typing__AExpr___comprehension].val; /* _comprehension on */ +var21 = var23; +RET_LABEL22:(void)0; } } -var_narray = var7; -var10 = NULL; +var_narray = var21; if (var_narray == NULL) { -var11 = 0; /* is null */ +var24 = 0; /* is null */ } else { -var11 = 1; /* arg is null and recv is not */ +var24 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_narray,var10) on */ -var_other14 = var10; +{ /* Inline kernel#Object#!= (var_narray,((val*)NULL)) on */ +var_other27 = ((val*)NULL); { -var15 = ((short int (*)(val* self, val* p0))(var_narray->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_narray, var_other14) /* == on */; +var28 = ((short int(*)(val* self, val* p0))(var_narray->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_narray, var_other27); /* == on */ } -var16 = !var15; -var12 = var16; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var29 = !var28; +var25 = var29; +goto RET_LABEL26; +RET_LABEL26:(void)0; } -var11 = var12; +var24 = var25; } -if (var11){ +if (var24){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on */ -var19 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ -var17 = var19; -RET_LABEL18:(void)0; +var32 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on */ +var30 = var32; +RET_LABEL31:(void)0; } } -if (var17 == NULL) { +if (var30 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1588); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); +fatal_exit(1); } else { -{ /* Inline abstract_compiler#StaticFrame#comprehension (var17) on */ -if (unlikely(var17 == NULL)) { +{ /* Inline abstract_compiler#StaticFrame#comprehension (var30) on */ +if (unlikely(var30 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1744); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1848); +fatal_exit(1); } -var22 = var17->attrs[COLOR_nit__abstract_compiler__StaticFrame___comprehension].val; /* _comprehension on */ -var20 = var22; -RET_LABEL21:(void)0; +var35 = var30->attrs[COLOR_nit__abstract_compiler__StaticFrame___comprehension].val; /* _comprehension on */ +var33 = var35; +RET_LABEL34:(void)0; } } -if (unlikely(var20 == NULL)) { +if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1588); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); +fatal_exit(1); } -var_recv = var20; +var_recv = var33; { { /* Inline typing#AArrayExpr#element_mtype (var_narray) on */ -var25 = var_narray->attrs[COLOR_nit__typing__AArrayExpr___element_mtype].val; /* _element_mtype on */ -var23 = var25; -RET_LABEL24:(void)0; +var38 = var_narray->attrs[COLOR_nit__typing__AArrayExpr___element_mtype].val; /* _element_mtype on */ +var36 = var38; +RET_LABEL37:(void)0; } } { -var26 = nit___nit__AbstractCompilerVisitor___expr(self, var_nexpr, var23); +var39 = nit___nit__AbstractCompilerVisitor___expr(self, var_nexpr, var36); } -var_val = var26; +var_val = var39; { { /* Inline typing#AArrayExpr#push_callsite (var_narray) on */ -var29 = var_narray->attrs[COLOR_nit__typing__AArrayExpr___push_callsite].val; /* _push_callsite on */ -var27 = var29; -RET_LABEL28:(void)0; +var42 = var_narray->attrs[COLOR_nit__typing__AArrayExpr___push_callsite].val; /* _push_callsite on */ +var40 = var42; +RET_LABEL41:(void)0; } } -if (unlikely(var27 == NULL)) { +if (unlikely(var40 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1590); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1685); +fatal_exit(1); } -var30 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var31 = 2; +var43 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var30, var31); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var43, 2l); /* Direct call array#Array#with_capacity on */ } -var_ = var30; +var_44 = var43; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_recv); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_44, var_recv); /* Direct call array#AbstractArray#push on */ } { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_val); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_44, var_val); /* Direct call array#AbstractArray#push on */ } { -var32 = ((val* (*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(self, var27, var_) /* compile_callsite on */; +var45 = ((val*(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(self, var40, var_44); /* compile_callsite on */ } goto RET_LABEL; } else { } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var35 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var33 = var35; -RET_LABEL34:(void)0; +var48 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var46 = var48; +RET_LABEL47:(void)0; } } -var_old = var33; +var_old = var46; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_nexpr; /* _current_node on */ -RET_LABEL36:(void)0; +RET_LABEL49:(void)0; } } { -((void (*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_nit__abstract_compiler__AExpr__stmt]))(var_nexpr, self) /* stmt on */; +((void(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_nit__abstract_compiler__AExpr__stmt]))(var_nexpr, self); /* stmt on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_old; /* _current_node on */ -RET_LABEL37:(void)0; +RET_LABEL50:(void)0; } } RET_LABEL:; } -/* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */ -val* nit___nit__AbstractCompilerVisitor___expr(val* self, val* p0, val* p1) { -val* var /* : RuntimeVariable */; -val* var_nexpr /* var nexpr: AExpr */; -val* var_mtype /* var mtype: nullable MType */; -val* var1 /* : nullable ANode */; -val* var3 /* : nullable ANode */; -val* var_old /* var old: nullable ANode */; -val* var5 /* : nullable RuntimeVariable */; -val* var_res /* var res: RuntimeVariable */; -val* var6 /* : null */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; -val* var12 /* : MType */; -val* var13 /* : RuntimeVariable */; -val* var14 /* : nullable MType */; -val* var15 /* : RuntimeVariable */; -val* var16 /* : nullable MType */; -val* var18 /* : nullable MType */; -val* var_implicit_cast_to /* var implicit_cast_to: nullable MType */; -short int var19 /* : Bool */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -short int var_ /* var : Bool */; -val* var26 /* : AbstractCompiler */; -val* var28 /* : AbstractCompiler */; -val* var29 /* : ModelBuilder */; -val* var31 /* : ModelBuilder */; -val* var32 /* : ToolContext */; -val* var34 /* : ToolContext */; -val* var35 /* : OptionBool */; -val* var37 /* : OptionBool */; -val* var38 /* : nullable Object */; -val* var40 /* : nullable Object */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -static val* varonce; -val* var43 /* : String */; -char* var44 /* : NativeString */; -long var45 /* : Int */; -val* var46 /* : FlatString */; -val* var47 /* : RuntimeVariable */; -var_nexpr = p0; -var_mtype = p1; +/* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */ +val* nit___nit__AbstractCompilerVisitor___expr(val* self, val* p0, val* p1) { +val* var /* : RuntimeVariable */; +val* var_nexpr /* var nexpr: AExpr */; +val* var_mtype /* var mtype: nullable MType */; +val* var1 /* : nullable MType */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +static val* varonce; +val* var8 /* : String */; +char* var9 /* : NativeString */; +val* var10 /* : FlatString */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : AbstractCompiler */; +val* var19 /* : AbstractCompiler */; +val* var20 /* : MModule */; +val* var22 /* : MModule */; +val* var23 /* : MClassType */; +val* var24 /* : RuntimeVariable */; +val* var25 /* : nullable ANode */; +val* var27 /* : nullable ANode */; +val* var_old /* var old: nullable ANode */; +val* var29 /* : nullable RuntimeVariable */; +val* var_res /* var res: RuntimeVariable */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +val* var_other33 /* var other: nullable Object */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +val* var36 /* : MType */; +val* var37 /* : RuntimeVariable */; +val* var38 /* : nullable MType */; +val* var39 /* : RuntimeVariable */; +val* var40 /* : nullable MType */; +val* var42 /* : nullable MType */; +val* var_implicit_cast_to /* var implicit_cast_to: nullable MType */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +short int var_ /* var : Bool */; +val* var49 /* : AbstractCompiler */; +val* var51 /* : AbstractCompiler */; +val* var52 /* : ModelBuilder */; +val* var54 /* : ModelBuilder */; +val* var55 /* : ToolContext */; +val* var57 /* : ToolContext */; +val* var58 /* : OptionBool */; +val* var60 /* : OptionBool */; +val* var61 /* : nullable Object */; +val* var63 /* : nullable Object */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +val* var69 /* : FlatString */; +val* var70 /* : RuntimeVariable */; +var_nexpr = p0; +var_mtype = p1; +{ +var1 = ((val*(*)(val* self))(var_nexpr->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_nexpr); /* mtype on */ +} +if (var1 == NULL) { +var2 = 1; /* is null */ +} else { +var2 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ +var7 = var1 == var_other; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +var2 = var3; +} +if (var2){ +if (likely(varonce!=NULL)) { +var8 = varonce; +} else { +var9 = "FATAL: bad expression executed."; +var10 = standard___standard__NativeString___to_s_with_length(var9, 31l); +var8 = var10; +varonce = var8; +} +{ +nit___nit__AbstractCompilerVisitor___add_abort(self, var8); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on */ +} +if (var_mtype == NULL) { +var11 = 1; /* is null */ +} else { +var11 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mtype,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mtype,var_other) on */ +var16 = var_mtype == var_other; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +} +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +var11 = var12; +} +if (var11){ +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ +var19 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); +} +var17 = var19; +RET_LABEL18:(void)0; +} +} +{ +{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var17) on */ +var22 = var17->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 515); +fatal_exit(1); +} +var20 = var22; +RET_LABEL21:(void)0; +} +} +{ +var23 = nit__model___MModule___object_type(var20); +} +var_mtype = var23; +} else { +} +{ +var24 = nit___nit__AbstractCompilerVisitor___new_var(self, var_mtype); +} +var = var24; +goto RET_LABEL; +} else { +} { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ -var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var1 = var3; -RET_LABEL2:(void)0; +var27 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var25 = var27; +RET_LABEL26:(void)0; } } -var_old = var1; +var_old = var25; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_nexpr) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_nexpr; /* _current_node on */ -RET_LABEL4:(void)0; +RET_LABEL28:(void)0; } } { -var5 = ((val* (*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_nit__abstract_compiler__AExpr__expr]))(var_nexpr, self) /* expr on */; +var29 = ((val*(*)(val* self, val* p0))(var_nexpr->class->vft[COLOR_nit__abstract_compiler__AExpr__expr]))(var_nexpr, self); /* expr on */ } -if (unlikely(var5 == NULL)) { +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1606); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1710); +fatal_exit(1); } -var_res = var5; -var6 = NULL; +var_res = var29; if (var_mtype == NULL) { -var7 = 0; /* is null */ +var30 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var30 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mtype,var6) on */ -var_other = var6; +{ /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -var10 = ((short int (*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other) /* == on */; +var34 = ((short int(*)(val* self, val* p0))(var_mtype->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mtype, var_other33); /* == on */ } -var11 = !var10; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var35 = !var34; +var31 = var35; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -var7 = var8; +var30 = var31; } -if (var7){ +if (var30){ { -var12 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); +var36 = nit___nit__AbstractCompilerVisitor___anchor(self, var_mtype); } -var_mtype = var12; +var_mtype = var36; { -var13 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self, var_res, var_mtype); +var37 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self, var_res, var_mtype); } -var_res = var13; +var_res = var37; } else { } { -var14 = ((val* (*)(val* self))(var_nexpr->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_nexpr) /* mtype on */; +var38 = ((val*(*)(val* self))(var_nexpr->class->vft[COLOR_nit__typing__AExpr__mtype]))(var_nexpr); /* mtype on */ } -if (unlikely(var14 == NULL)) { +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1611); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1715); +fatal_exit(1); } { -var15 = nit___nit__AbstractCompilerVisitor___autoadapt(self, var_res, var14); +var39 = nit___nit__AbstractCompilerVisitor___autoadapt(self, var_res, var38); } -var_res = var15; +var_res = var39; { { /* Inline typing#AExpr#implicit_cast_to (var_nexpr) on */ -var18 = var_nexpr->attrs[COLOR_nit__typing__AExpr___implicit_cast_to].val; /* _implicit_cast_to on */ -var16 = var18; -RET_LABEL17:(void)0; +var42 = var_nexpr->attrs[COLOR_nit__typing__AExpr___implicit_cast_to].val; /* _implicit_cast_to on */ +var40 = var42; +RET_LABEL41:(void)0; } } -var_implicit_cast_to = var16; -var20 = NULL; +var_implicit_cast_to = var40; if (var_implicit_cast_to == NULL) { -var21 = 0; /* is null */ +var44 = 0; /* is null */ } else { -var21 = 1; /* arg is null and recv is not */ +var44 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_implicit_cast_to,var20) on */ -var_other = var20; +{ /* Inline kernel#Object#!= (var_implicit_cast_to,((val*)NULL)) on */ +var_other33 = ((val*)NULL); { -var24 = ((short int (*)(val* self, val* p0))(var_implicit_cast_to->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_implicit_cast_to, var_other) /* == on */; +var47 = ((short int(*)(val* self, val* p0))(var_implicit_cast_to->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_implicit_cast_to, var_other33); /* == on */ } -var25 = !var24; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var48 = !var47; +var45 = var48; +goto RET_LABEL46; +RET_LABEL46:(void)0; } -var21 = var22; +var44 = var45; } -var_ = var21; -if (var21){ +var_ = var44; +if (var44){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on */ -var28 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var28 == NULL)) { +var51 = self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var26 = var28; -RET_LABEL27:(void)0; +var49 = var51; +RET_LABEL50:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var26) on */ -var31 = var26->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var31 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var49) on */ +var54 = var49->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var29 = var31; -RET_LABEL30:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var29) on */ -var34 = var29->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var34 == NULL)) { +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (var52) on */ +var57 = var52->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var32 = var34; -RET_LABEL33:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -{ /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (var32) on */ -var37 = var32->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast].val; /* _opt_no_check_autocast on */ -if (unlikely(var37 == NULL)) { +{ /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (var55) on */ +var60 = var55->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast].val; /* _opt_no_check_autocast on */ +if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 53); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 54); +fatal_exit(1); } -var35 = var37; -RET_LABEL36:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -{ /* Inline opts#Option#value (var35) on */ -var40 = var35->attrs[COLOR_opts__Option___value].val; /* _value on */ -var38 = var40; -RET_LABEL39:(void)0; +{ /* Inline opts#Option#value (var58) on */ +var63 = var58->attrs[COLOR_opts__Option___value].val; /* _value on */ +var61 = var63; +RET_LABEL62:(void)0; } } -var41 = ((struct instance_standard__Bool*)var38)->value; /* autounbox from nullable Object to Bool */; -var42 = !var41; -var19 = var42; +var64 = (short int)((long)(var61)>>2); +var65 = !var64; +var43 = var65; } else { -var19 = var_; +var43 = var_; } -if (var19){ -if (varonce) { -var43 = varonce; +if (var43){ +if (likely(varonce66!=NULL)) { +var67 = varonce66; } else { -var44 = "auto"; -var45 = 4; -var46 = standard___standard__NativeString___to_s_with_length(var44, var45); -var43 = var46; -varonce = var43; +var68 = "auto"; +var69 = standard___standard__NativeString___to_s_with_length(var68, 4l); +var67 = var69; +varonce66 = var67; } { -nit___nit__AbstractCompilerVisitor___add_cast(self, var_res, var_implicit_cast_to, var43); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on */ +nit___nit__AbstractCompilerVisitor___add_cast(self, var_res, var_implicit_cast_to, var67); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on */ } { -var47 = nit___nit__AbstractCompilerVisitor___autoadapt(self, var_res, var_implicit_cast_to); +var70 = nit___nit__AbstractCompilerVisitor___autoadapt(self, var_res, var_implicit_cast_to); } -var_res = var47; +var_res = var70; } else { } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,var_old) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_old; /* _current_node on */ -RET_LABEL48:(void)0; +RET_LABEL71:(void)0; } } var = var_res; @@ -2688,35 +1959,30 @@ val* var_message /* var message: String */; val* var /* : nullable ANode */; val* var2 /* : nullable ANode */; val* var_node /* var node: nullable ANode */; -val* var3 /* : null */; +short int var3 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : Sys */; +val* var10 /* : NativeArray[String] */; static val* varonce; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; -val* var14 /* : Array[Object] */; -long var15 /* : Int */; -val* var16 /* : NativeArray[Object] */; -val* var17 /* : String */; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : NativeString */; +val* var14 /* : FlatString */; +val* var15 /* : String */; +val* var17 /* : NativeArray[String] */; +static val* varonce16; static val* varonce18; val* var19 /* : String */; char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : FlatString */; -static val* varonce23; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -val* var28 /* : Array[Object] */; -long var29 /* : Int */; -val* var30 /* : NativeArray[Object] */; -val* var31 /* : String */; +val* var21 /* : FlatString */; +static val* varonce22; +val* var23 /* : String */; +char* var24 /* : NativeString */; +val* var25 /* : FlatString */; +val* var26 /* : String */; var_message = p0; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on */ @@ -2726,94 +1992,89 @@ RET_LABEL1:(void)0; } } var_node = var; -var3 = NULL; if (var_node == NULL) { -var4 = 1; /* is null */ +var3 = 1; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var3 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,var3) on */ -var_other = var3; +{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ -var9 = var_node == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var8 = var_node == var_other; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var4 = var5; +var3 = var4; } -if (var4){ -if (varonce) { -var10 = varonce; +if (var3){ +var9 = glob_sys; +if (unlikely(varonce==NULL)) { +var10 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce11!=NULL)) { +var12 = varonce11; } else { -var11 = "?: "; -var12 = 3; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce = var10; -} -var14 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var14 = array_instance Array[Object] */ -var15 = 2; -var16 = NEW_standard__NativeArray(var15, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var16)->values[0] = (val*) var10; -((struct instance_standard__NativeArray*)var16)->values[1] = (val*) var_message; -{ -((void (*)(val* self, val* p0, long p1))(var14->class->vft[COLOR_standard__array__Array__with_native]))(var14, var16, var15) /* with_native on */; +var13 = "?: "; +var14 = standard___standard__NativeString___to_s_with_length(var13, 3l); +var12 = var14; +varonce11 = var12; } +((struct instance_standard__NativeArray*)var10)->values[0]=var12; +} else { +var10 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var10)->values[1]=var_message; { -var17 = ((val* (*)(val* self))(var14->class->vft[COLOR_standard__string__Object__to_s]))(var14) /* to_s on */; +var15 = ((val*(*)(val* self))(var10->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var10); /* native_to_s on */ } +varonce = var10; { -standard__file___Object___print(self, var17); /* Direct call file#Object#print on */ +standard__file___Sys___print(var9, var15); /* Direct call file#Sys#print on */ } } else { { nit___nit__ANode___debug(var_node, var_message); /* Direct call parser_nodes#ANode#debug on */ } } -if (varonce18) { +if (unlikely(varonce16==NULL)) { +var17 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce18!=NULL)) { var19 = varonce18; } else { var20 = "/* DEBUG: "; -var21 = 10; -var22 = standard___standard__NativeString___to_s_with_length(var20, var21); -var19 = var22; +var21 = standard___standard__NativeString___to_s_with_length(var20, 10l); +var19 = var21; varonce18 = var19; } -if (varonce23) { -var24 = varonce23; +((struct instance_standard__NativeArray*)var17)->values[0]=var19; +if (likely(varonce22!=NULL)) { +var23 = varonce22; } else { -var25 = " */"; -var26 = 3; -var27 = standard___standard__NativeString___to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; -} -var28 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var28 = array_instance Array[Object] */ -var29 = 3; -var30 = NEW_standard__NativeArray(var29, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var30)->values[0] = (val*) var19; -((struct instance_standard__NativeArray*)var30)->values[1] = (val*) var_message; -((struct instance_standard__NativeArray*)var30)->values[2] = (val*) var24; -{ -((void (*)(val* self, val* p0, long p1))(var28->class->vft[COLOR_standard__array__Array__with_native]))(var28, var30, var29) /* with_native on */; +var24 = " */"; +var25 = standard___standard__NativeString___to_s_with_length(var24, 3l); +var23 = var25; +varonce22 = var23; } +((struct instance_standard__NativeArray*)var17)->values[2]=var23; +} else { +var17 = varonce16; +varonce16 = NULL; } +((struct instance_standard__NativeArray*)var17)->values[1]=var_message; { -var31 = ((val* (*)(val* self))(var28->class->vft[COLOR_standard__string__Object__to_s]))(var28) /* to_s on */; +var26 = ((val*(*)(val* self))(var17->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var17); /* native_to_s on */ } +varonce16 = var17; { -nit___nit__AbstractCompilerVisitor___add(self, var31); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(self, var26); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } RET_LABEL:; } @@ -2824,8 +2085,8 @@ val* var1 /* : MMethodDef */; var1 = self->attrs[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___mmethoddef].val; /* _mmethoddef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1644); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1748); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2842,14 +2103,13 @@ val* var /* : String */; val* var1 /* : nullable String */; val* var3 /* : nullable String */; val* var_res /* var res: nullable String */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : String */; -val* var12 /* : String */; +val* var9 /* : String */; +val* var11 /* : String */; { { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache (self) on */ var3 = self->attrs[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___c_name_cache].val; /* _c_name_cache on */ @@ -2858,47 +2118,46 @@ RET_LABEL2:(void)0; } } var_res = var1; -var4 = NULL; if (var_res == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ var = var_res; goto RET_LABEL; } else { } { { /* Inline separate_compiler#SeparateRuntimeFunction#build_c_name (self) on */ -var12 = self->attrs[COLOR_nit__separate_compiler__SeparateRuntimeFunction___build_c_name].val; /* _build_c_name on */ -if (unlikely(var12 == NULL)) { +var11 = self->attrs[COLOR_nit__separate_compiler__SeparateRuntimeFunction___build_c_name].val; /* _build_c_name on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _build_c_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 1851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler, 2176); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } -var_res = var10; +var_res = var9; { { /* Inline abstract_compiler#AbstractRuntimeFunction#c_name_cache= (self,var_res) on */ self->attrs[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___c_name_cache].val = var_res; /* _c_name_cache on */ -RET_LABEL13:(void)0; +RET_LABEL12:(void)0; } } var = var_res; @@ -2923,7 +2182,7 @@ RET_LABEL:; /* method abstract_compiler#AbstractRuntimeFunction#init for (self: AbstractRuntimeFunction) */ void nit___nit__AbstractRuntimeFunction___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__AbstractRuntimeFunction___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__AbstractRuntimeFunction___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -2934,8 +2193,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1677); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1781); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2953,8 +2212,8 @@ val* var1 /* : MType */; var1 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2972,8 +2231,8 @@ val* var1 /* : MType */; var1 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3013,42 +2272,42 @@ short int var9 /* : Bool */; var2 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; } } { -var3 = ((short int (*)(val* self))(var->class->vft[COLOR_nit__model__MType__need_anchor]))(var) /* need_anchor on */; +var3 = ((short int(*)(val* self))(var->class->vft[COLOR_nit__model__MType__need_anchor]))(var); /* need_anchor on */ } var4 = !var3; if (unlikely(!var4)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1692); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1796); +fatal_exit(1); } { { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on */ var7 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; } } { -var8 = ((short int (*)(val* self))(var5->class->vft[COLOR_nit__model__MType__need_anchor]))(var5) /* need_anchor on */; +var8 = ((short int(*)(val* self))(var5->class->vft[COLOR_nit__model__MType__need_anchor]))(var5); /* need_anchor on */ } var9 = !var8; if (unlikely(!var9)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1693); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1797); +fatal_exit(1); } RET_LABEL:; } @@ -3062,8 +2321,8 @@ val* var3 /* : String */; var3 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1677); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1781); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -3082,68 +2341,61 @@ short int var3 /* : Bool */; static val* varonce; val* var4 /* : String */; char* var5 /* : NativeString */; -long var6 /* : Int */; -val* var7 /* : FlatString */; +val* var6 /* : FlatString */; val* var_exact_str /* var exact_str: nullable Object */; -static val* varonce8; -val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : FlatString */; +static val* varonce7; +val* var8 /* : String */; +char* var9 /* : NativeString */; +val* var10 /* : FlatString */; +val* var11 /* : MType */; val* var13 /* : MType */; -val* var15 /* : MType */; +val* var14 /* : MType */; val* var16 /* : MType */; -val* var18 /* : MType */; -short int var19 /* : Bool */; +short int var17 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var19 /* : Bool */; short int var21 /* : Bool */; -short int var23 /* : Bool */; +val* var23 /* : NativeArray[String] */; +static val* varonce22; val* var24 /* : MType */; val* var26 /* : MType */; -val* var27 /* : Array[Object] */; -long var28 /* : Int */; -val* var29 /* : NativeArray[Object] */; -val* var30 /* : String */; +val* var27 /* : String */; +val* var28 /* : String */; val* var_type_str /* var type_str: nullable Object */; -val* var31 /* : MType */; -val* var33 /* : MType */; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; -long var37 /* : Int */; +val* var30 /* : NativeArray[String] */; +static val* varonce29; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; val* var38 /* : FlatString */; val* var39 /* : MType */; val* var41 /* : MType */; -static val* varonce42; -val* var43 /* : String */; -char* var44 /* : NativeString */; -long var45 /* : Int */; -val* var46 /* : FlatString */; -val* var47 /* : Array[Object] */; -long var48 /* : Int */; -val* var49 /* : NativeArray[Object] */; -val* var50 /* : String */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -val* var56 /* : String */; -val* var58 /* : String */; -static val* varonce59; -val* var60 /* : String */; -char* var61 /* : NativeString */; -long var62 /* : Int */; -val* var63 /* : FlatString */; -static val* varonce64; +val* var42 /* : String */; +val* var43 /* : MType */; +val* var45 /* : MType */; +val* var46 /* : String */; +val* var47 /* : String */; +val* var49 /* : NativeArray[String] */; +static val* varonce48; +static val* varonce50; +val* var51 /* : String */; +char* var52 /* : NativeString */; +val* var53 /* : FlatString */; +static val* varonce54; +val* var55 /* : String */; +char* var56 /* : NativeString */; +val* var57 /* : FlatString */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : NativeString */; +val* var61 /* : FlatString */; +val* var62 /* : String */; +val* var64 /* : String */; val* var65 /* : String */; -char* var66 /* : NativeString */; -long var67 /* : Int */; -val* var68 /* : FlatString */; -val* var69 /* : Array[Object] */; -long var70 /* : Int */; -val* var71 /* : NativeArray[Object] */; -val* var72 /* : String */; { { /* Inline abstract_compiler#RuntimeVariable#is_exact (self) on */ var3 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact].s; /* _is_exact on */ @@ -3152,212 +2404,211 @@ RET_LABEL2:(void)0; } } if (var1){ -if (varonce) { +if (likely(varonce!=NULL)) { var4 = varonce; } else { var5 = " exact"; -var6 = 6; -var7 = standard___standard__NativeString___to_s_with_length(var5, var6); -var4 = var7; +var6 = standard___standard__NativeString___to_s_with_length(var5, 6l); +var4 = var6; varonce = var4; } var_exact_str = var4; } else { -if (varonce8) { -var9 = varonce8; +if (likely(varonce7!=NULL)) { +var8 = varonce7; } else { -var10 = ""; -var11 = 0; -var12 = standard___standard__NativeString___to_s_with_length(var10, var11); -var9 = var12; -varonce8 = var9; +var9 = ""; +var10 = standard___standard__NativeString___to_s_with_length(var9, 0l); +var8 = var10; +varonce7 = var8; } -var_exact_str = var9; +var_exact_str = var8; } { { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on */ -var15 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var15 == NULL)) { +var13 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on */ -var18 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ -if (unlikely(var18 == NULL)) { +var16 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline kernel#Object#== (var13,var16) on */ -var_other = var16; +{ /* Inline kernel#Object#== (var11,var14) on */ +var_other = var14; { -{ /* Inline kernel#Object#is_same_instance (var13,var_other) on */ -var23 = var13 == var_other; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; -} -} +{ /* Inline kernel#Object#is_same_instance (var11,var_other) on */ +var21 = var11 == var_other; var19 = var21; goto RET_LABEL20; RET_LABEL20:(void)0; } } -if (var19){ +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; +} +} +if (var17){ +if (unlikely(varonce22==NULL)) { +var23 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +} else { +var23 = varonce22; +varonce22 = NULL; +} { { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on */ var26 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } var24 = var26; RET_LABEL25:(void)0; } } -var27 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var27 = array_instance Array[Object] */ -var28 = 2; -var29 = NEW_standard__NativeArray(var28, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var29)->values[0] = (val*) var24; -((struct instance_standard__NativeArray*)var29)->values[1] = (val*) var_exact_str; { -((void (*)(val* self, val* p0, long p1))(var27->class->vft[COLOR_standard__array__Array__with_native]))(var27, var29, var28) /* with_native on */; -} +var27 = ((val*(*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24); /* to_s on */ } +((struct instance_standard__NativeArray*)var23)->values[0]=var27; +((struct instance_standard__NativeArray*)var23)->values[1]=var_exact_str; { -var30 = ((val* (*)(val* self))(var27->class->vft[COLOR_standard__string__Object__to_s]))(var27) /* to_s on */; +var28 = ((val*(*)(val* self))(var23->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var23); /* native_to_s on */ +} +varonce22 = var23; +var_type_str = var28; +} else { +if (unlikely(varonce29==NULL)) { +var30 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce31!=NULL)) { +var32 = varonce31; +} else { +var33 = "("; +var34 = standard___standard__NativeString___to_s_with_length(var33, 1l); +var32 = var34; +varonce31 = var32; +} +((struct instance_standard__NativeArray*)var30)->values[1]=var32; +if (likely(varonce35!=NULL)) { +var36 = varonce35; +} else { +var37 = ")"; +var38 = standard___standard__NativeString___to_s_with_length(var37, 1l); +var36 = var38; +varonce35 = var36; } -var_type_str = var30; +((struct instance_standard__NativeArray*)var30)->values[4]=var36; } else { +var30 = varonce29; +varonce29 = NULL; +} { { /* Inline abstract_compiler#RuntimeVariable#mtype (self) on */ -var33 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var33 == NULL)) { +var41 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var41 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var39 = var41; +RET_LABEL40:(void)0; } } -if (varonce34) { -var35 = varonce34; -} else { -var36 = "("; -var37 = 1; -var38 = standard___standard__NativeString___to_s_with_length(var36, var37); -var35 = var38; -varonce34 = var35; +{ +var42 = ((val*(*)(val* self))(var39->class->vft[COLOR_standard__string__Object__to_s]))(var39); /* to_s on */ } +((struct instance_standard__NativeArray*)var30)->values[0]=var42; { { /* Inline abstract_compiler#RuntimeVariable#mcasttype (self) on */ -var41 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ -if (unlikely(var41 == NULL)) { +var45 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype].val; /* _mcasttype on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1683); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1787); +fatal_exit(1); } -var39 = var41; -RET_LABEL40:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } -if (varonce42) { -var43 = varonce42; -} else { -var44 = ")"; -var45 = 1; -var46 = standard___standard__NativeString___to_s_with_length(var44, var45); -var43 = var46; -varonce42 = var43; -} -var47 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var47 = array_instance Array[Object] */ -var48 = 5; -var49 = NEW_standard__NativeArray(var48, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var49)->values[0] = (val*) var31; -((struct instance_standard__NativeArray*)var49)->values[1] = (val*) var35; -((struct instance_standard__NativeArray*)var49)->values[2] = (val*) var39; -((struct instance_standard__NativeArray*)var49)->values[3] = (val*) var_exact_str; -((struct instance_standard__NativeArray*)var49)->values[4] = (val*) var43; { -((void (*)(val* self, val* p0, long p1))(var47->class->vft[COLOR_standard__array__Array__with_native]))(var47, var49, var48) /* with_native on */; -} +var46 = ((val*(*)(val* self))(var43->class->vft[COLOR_standard__string__Object__to_s]))(var43); /* to_s on */ } +((struct instance_standard__NativeArray*)var30)->values[2]=var46; +((struct instance_standard__NativeArray*)var30)->values[3]=var_exact_str; { -var50 = ((val* (*)(val* self))(var47->class->vft[COLOR_standard__string__Object__to_s]))(var47) /* to_s on */; +var47 = ((val*(*)(val* self))(var30->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var30); /* native_to_s on */ } -var_type_str = var50; +varonce29 = var30; +var_type_str = var47; } -if (varonce51) { -var52 = varonce51; +if (unlikely(varonce48==NULL)) { +var49 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce50!=NULL)) { +var51 = varonce50; } else { -var53 = "<"; -var54 = 1; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; -} -{ -{ /* Inline abstract_compiler#RuntimeVariable#name (self) on */ -var58 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ -if (unlikely(var58 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1677); -show_backtrace(1); -} -var56 = var58; -RET_LABEL57:(void)0; +var52 = "<"; +var53 = standard___standard__NativeString___to_s_with_length(var52, 1l); +var51 = var53; +varonce50 = var51; } +((struct instance_standard__NativeArray*)var49)->values[0]=var51; +if (likely(varonce54!=NULL)) { +var55 = varonce54; +} else { +var56 = ":"; +var57 = standard___standard__NativeString___to_s_with_length(var56, 1l); +var55 = var57; +varonce54 = var55; } -if (varonce59) { -var60 = varonce59; +((struct instance_standard__NativeArray*)var49)->values[2]=var55; +if (likely(varonce58!=NULL)) { +var59 = varonce58; } else { -var61 = ":"; -var62 = 1; -var63 = standard___standard__NativeString___to_s_with_length(var61, var62); -var60 = var63; -varonce59 = var60; +var60 = ">"; +var61 = standard___standard__NativeString___to_s_with_length(var60, 1l); +var59 = var61; +varonce58 = var59; } -if (varonce64) { -var65 = varonce64; +((struct instance_standard__NativeArray*)var49)->values[4]=var59; } else { -var66 = ">"; -var67 = 1; -var68 = standard___standard__NativeString___to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +var49 = varonce48; +varonce48 = NULL; } -var69 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var69 = array_instance Array[Object] */ -var70 = 5; -var71 = NEW_standard__NativeArray(var70, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var71)->values[0] = (val*) var52; -((struct instance_standard__NativeArray*)var71)->values[1] = (val*) var56; -((struct instance_standard__NativeArray*)var71)->values[2] = (val*) var60; -((struct instance_standard__NativeArray*)var71)->values[3] = (val*) var_type_str; -((struct instance_standard__NativeArray*)var71)->values[4] = (val*) var65; { -((void (*)(val* self, val* p0, long p1))(var69->class->vft[COLOR_standard__array__Array__with_native]))(var69, var71, var70) /* with_native on */; +{ /* Inline abstract_compiler#RuntimeVariable#name (self) on */ +var64 = self->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___name].val; /* _name on */ +if (unlikely(var64 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1781); +fatal_exit(1); } +var62 = var64; +RET_LABEL63:(void)0; } +} +((struct instance_standard__NativeArray*)var49)->values[1]=var62; +((struct instance_standard__NativeArray*)var49)->values[3]=var_type_str; { -var72 = ((val* (*)(val* self))(var69->class->vft[COLOR_standard__string__Object__to_s]))(var69) /* to_s on */; +var65 = ((val*(*)(val* self))(var49->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var49); /* native_to_s on */ } -var = var72; +varonce48 = var49; +var = var65; goto RET_LABEL; RET_LABEL:; return var; @@ -3382,8 +2633,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1721); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1825); +fatal_exit(1); } self->attrs[COLOR_nit__abstract_compiler__StaticFrame___visitor].val = p0; /* _visitor on */ RET_LABEL:; @@ -3395,8 +2646,8 @@ val* var1 /* : MPropDef */; var1 = self->attrs[COLOR_nit__abstract_compiler__StaticFrame___mpropdef].val; /* _mpropdef on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1724); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1828); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3414,8 +2665,8 @@ val* var1 /* : MClassType */; var1 = self->attrs[COLOR_nit__abstract_compiler__StaticFrame___receiver].val; /* _receiver on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1728); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1832); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3433,8 +2684,8 @@ val* var1 /* : Array[RuntimeVariable] */; var1 = self->attrs[COLOR_nit__abstract_compiler__StaticFrame___arguments].val; /* _arguments on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1731); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1835); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3480,8 +2731,8 @@ val* var1 /* : HashMap[EscapeMark, String] */; var1 = self->attrs[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names].val; /* _escapemark_names on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1740); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1844); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3504,7 +2755,7 @@ RET_LABEL:; /* method abstract_compiler#StaticFrame#init for (self: StaticFrame) */ void nit___nit__StaticFrame___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__StaticFrame___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__StaticFrame___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -3514,15 +2765,13 @@ val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "val*"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var3 = standard___standard__NativeString___to_s_with_length(var2, 4l); +var1 = var3; varonce = var1; } var = var1; @@ -3536,15 +2785,13 @@ val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "val*"; -var3 = 4; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var3 = standard___standard__NativeString___to_s_with_length(var2, 4l); +var1 = var3; varonce = var1; } var = var1; @@ -3558,15 +2805,13 @@ val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -if (varonce) { +val* var3 /* : FlatString */; +if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "val"; -var3 = 3; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var3 = standard___standard__NativeString___to_s_with_length(var2, 3l); +var1 = var3; varonce = var1; } var = var1; @@ -3574,38 +2819,45 @@ goto RET_LABEL; RET_LABEL:; return var; } +/* method abstract_compiler#MType#is_c_primitive for (self: MType): Bool */ +short int nit__abstract_compiler___MType___is_c_primitive(val* self) { +short int var /* : Bool */; +var = 0; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method abstract_compiler#MClassType#ctype for (self: MClassType): String */ val* nit__abstract_compiler___MClassType___MType__ctype(val* self) { val* var /* : String */; -val* var1 /* : MClass */; -val* var3 /* : MClass */; -val* var4 /* : String */; -val* var6 /* : String */; +short int var1 /* : Bool */; +val* var2 /* : String */; +val* var3 /* : String */; +val* var5 /* : MClass */; +val* var7 /* : MClass */; +val* var8 /* : String */; +val* var10 /* : String */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -short int var11 /* : Bool */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -val* var17 /* : MClass */; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +short int var14 /* : Bool */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; val* var19 /* : MClass */; -val* var20 /* : String */; +val* var21 /* : MClass */; val* var22 /* : String */; -static val* varonce23; val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -short int var28 /* : Bool */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +val* var28 /* : FlatString */; +short int var29 /* : Bool */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; val* var33 /* : FlatString */; val* var34 /* : MClass */; val* var36 /* : MClass */; @@ -3614,169 +2866,179 @@ val* var39 /* : String */; static val* varonce40; val* var41 /* : String */; char* var42 /* : NativeString */; -long var43 /* : Int */; -val* var44 /* : FlatString */; -short int var45 /* : Bool */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -long var49 /* : Int */; -val* var50 /* : FlatString */; +val* var43 /* : FlatString */; +short int var44 /* : Bool */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +val* var48 /* : FlatString */; +val* var49 /* : MClass */; val* var51 /* : MClass */; -val* var53 /* : MClass */; +val* var52 /* : String */; val* var54 /* : String */; +static val* varonce55; val* var56 /* : String */; -static val* varonce57; -val* var58 /* : String */; -char* var59 /* : NativeString */; -long var60 /* : Int */; -val* var61 /* : FlatString */; -short int var62 /* : Bool */; -static val* varonce63; -val* var64 /* : String */; -char* var65 /* : NativeString */; -long var66 /* : Int */; -val* var67 /* : FlatString */; -val* var68 /* : MClass */; -val* var70 /* : MClass */; +char* var57 /* : NativeString */; +val* var58 /* : FlatString */; +short int var59 /* : Bool */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +val* var64 /* : MClass */; +val* var66 /* : MClass */; +val* var67 /* : String */; +val* var69 /* : String */; +static val* varonce70; val* var71 /* : String */; -val* var73 /* : String */; -static val* varonce74; -val* var75 /* : String */; -char* var76 /* : NativeString */; -long var77 /* : Int */; +char* var72 /* : NativeString */; +val* var73 /* : FlatString */; +short int var74 /* : Bool */; +static val* varonce75; +val* var76 /* : String */; +char* var77 /* : NativeString */; val* var78 /* : FlatString */; -short int var79 /* : Bool */; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; -val* var84 /* : FlatString */; -val* var85 /* : MClass */; -val* var87 /* : MClass */; -val* var88 /* : String */; -val* var90 /* : String */; -static val* varonce91; -val* var92 /* : String */; -char* var93 /* : NativeString */; -long var94 /* : Int */; -val* var95 /* : FlatString */; -short int var96 /* : Bool */; -static val* varonce97; -val* var98 /* : String */; -char* var99 /* : NativeString */; -long var100 /* : Int */; -val* var101 /* : FlatString */; -static val* varonce102; -val* var103 /* : String */; -char* var104 /* : NativeString */; -long var105 /* : Int */; -val* var106 /* : FlatString */; +val* var79 /* : MClass */; +val* var81 /* : MClass */; +val* var82 /* : String */; +val* var84 /* : String */; +static val* varonce85; +val* var86 /* : String */; +char* var87 /* : NativeString */; +val* var88 /* : FlatString */; +short int var89 /* : Bool */; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +val* var94 /* : MClass */; +val* var96 /* : MClass */; +val* var97 /* : String */; +val* var99 /* : String */; +static val* varonce100; +val* var101 /* : String */; +char* var102 /* : NativeString */; +val* var103 /* : FlatString */; +short int var104 /* : Bool */; +static val* varonce105; +val* var106 /* : String */; +char* var107 /* : NativeString */; +val* var108 /* : FlatString */; +static val* varonce109; +val* var110 /* : String */; +char* var111 /* : NativeString */; +val* var112 /* : FlatString */; +var1 = self->attrs[COLOR_nit__abstract_compiler__MClassType___ctype].val != NULL; /* _ctype on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__abstract_compiler__MClassType___ctype].val; /* _ctype on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ctype"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1870); +fatal_exit(1); +} +} else { +{ { { /* Inline model#MClassType#mclass (self) on */ -var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var3 == NULL)) { +var7 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline model#MClass#name (var1) on */ -var6 = var1->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var6 == NULL)) { +{ /* Inline model#MClass#name (var5) on */ +var10 = var5->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var4 = var6; -RET_LABEL5:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } -if (varonce) { -var7 = varonce; +if (likely(varonce!=NULL)) { +var11 = varonce; } else { -var8 = "Int"; -var9 = 3; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; +var12 = "Int"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 3l); +var11 = var13; +varonce = var11; } { -var11 = ((short int (*)(val* self, val* p0))(var4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var4, var7) /* == on */; +var14 = ((short int(*)(val* self, val* p0))(var8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var8, var11); /* == on */ } -if (var11){ -if (varonce12) { -var13 = varonce12; +if (var14){ +if (likely(varonce15!=NULL)) { +var16 = varonce15; } else { -var14 = "long"; -var15 = 4; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var17 = "long"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 4l); +var16 = var18; +varonce15 = var16; } -var = var13; -goto RET_LABEL; +var3 = var16; +goto RET_LABEL4; } else { { { /* Inline model#MClassType#mclass (self) on */ -var19 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var19 == NULL)) { +var21 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var19 = var21; +RET_LABEL20:(void)0; } } { -{ /* Inline model#MClass#name (var17) on */ -var22 = var17->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var22 == NULL)) { +{ /* Inline model#MClass#name (var19) on */ +var24 = var19->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var20 = var22; -RET_LABEL21:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } -if (varonce23) { -var24 = varonce23; +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var25 = "Bool"; -var26 = 4; -var27 = standard___standard__NativeString___to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; +var27 = "Bool"; +var28 = standard___standard__NativeString___to_s_with_length(var27, 4l); +var26 = var28; +varonce25 = var26; } { -var28 = ((short int (*)(val* self, val* p0))(var20->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var20, var24) /* == on */; +var29 = ((short int(*)(val* self, val* p0))(var22->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var22, var26); /* == on */ } -if (var28){ -if (varonce29) { -var30 = varonce29; +if (var29){ +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var31 = "short int"; -var32 = 9; -var33 = standard___standard__NativeString___to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; +var32 = "short int"; +var33 = standard___standard__NativeString___to_s_with_length(var32, 9l); +var31 = var33; +varonce30 = var31; } -var = var30; -goto RET_LABEL; +var3 = var31; +goto RET_LABEL4; } else { { { /* Inline model#MClassType#mclass (self) on */ var36 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var36 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } var34 = var36; RET_LABEL35:(void)0; @@ -3787,202 +3049,302 @@ RET_LABEL35:(void)0; var39 = var34->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } var37 = var39; RET_LABEL38:(void)0; } } -if (varonce40) { +if (likely(varonce40!=NULL)) { var41 = varonce40; } else { var42 = "Char"; -var43 = 4; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; +var43 = standard___standard__NativeString___to_s_with_length(var42, 4l); +var41 = var43; varonce40 = var41; } { -var45 = ((short int (*)(val* self, val* p0))(var37->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var37, var41) /* == on */; +var44 = ((short int(*)(val* self, val* p0))(var37->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var37, var41); /* == on */ } -if (var45){ -if (varonce46) { -var47 = varonce46; +if (var44){ +if (likely(varonce45!=NULL)) { +var46 = varonce45; } else { -var48 = "char"; -var49 = 4; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; -varonce46 = var47; +var47 = "uint32_t"; +var48 = standard___standard__NativeString___to_s_with_length(var47, 8l); +var46 = var48; +varonce45 = var46; } -var = var47; -goto RET_LABEL; +var3 = var46; +goto RET_LABEL4; } else { { { /* Inline model#MClassType#mclass (self) on */ -var53 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var53 == NULL)) { +var51 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var51 = var53; -RET_LABEL52:(void)0; +var49 = var51; +RET_LABEL50:(void)0; } } { -{ /* Inline model#MClass#name (var51) on */ -var56 = var51->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var56 == NULL)) { +{ /* Inline model#MClass#name (var49) on */ +var54 = var49->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var54 = var56; -RET_LABEL55:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } -if (varonce57) { -var58 = varonce57; +if (likely(varonce55!=NULL)) { +var56 = varonce55; } else { -var59 = "Float"; -var60 = 5; -var61 = standard___standard__NativeString___to_s_with_length(var59, var60); -var58 = var61; -varonce57 = var58; +var57 = "Float"; +var58 = standard___standard__NativeString___to_s_with_length(var57, 5l); +var56 = var58; +varonce55 = var56; } { -var62 = ((short int (*)(val* self, val* p0))(var54->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var54, var58) /* == on */; +var59 = ((short int(*)(val* self, val* p0))(var52->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var52, var56); /* == on */ } -if (var62){ -if (varonce63) { -var64 = varonce63; +if (var59){ +if (likely(varonce60!=NULL)) { +var61 = varonce60; } else { -var65 = "double"; -var66 = 6; -var67 = standard___standard__NativeString___to_s_with_length(var65, var66); -var64 = var67; -varonce63 = var64; +var62 = "double"; +var63 = standard___standard__NativeString___to_s_with_length(var62, 6l); +var61 = var63; +varonce60 = var61; } -var = var64; -goto RET_LABEL; +var3 = var61; +goto RET_LABEL4; } else { { { /* Inline model#MClassType#mclass (self) on */ -var70 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var70 == NULL)) { +var66 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var66 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var68 = var70; -RET_LABEL69:(void)0; +var64 = var66; +RET_LABEL65:(void)0; } } { -{ /* Inline model#MClass#name (var68) on */ -var73 = var68->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var73 == NULL)) { +{ /* Inline model#MClass#name (var64) on */ +var69 = var64->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); +} +var67 = var69; +RET_LABEL68:(void)0; } +} +if (likely(varonce70!=NULL)) { +var71 = varonce70; +} else { +var72 = "Byte"; +var73 = standard___standard__NativeString___to_s_with_length(var72, 4l); var71 = var73; -RET_LABEL72:(void)0; +varonce70 = var71; } +{ +var74 = ((short int(*)(val* self, val* p0))(var67->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var67, var71); /* == on */ } -if (varonce74) { -var75 = varonce74; +if (var74){ +if (likely(varonce75!=NULL)) { +var76 = varonce75; } else { -var76 = "NativeString"; -var77 = 12; -var78 = standard___standard__NativeString___to_s_with_length(var76, var77); -var75 = var78; -varonce74 = var75; +var77 = "unsigned char"; +var78 = standard___standard__NativeString___to_s_with_length(var77, 13l); +var76 = var78; +varonce75 = var76; +} +var3 = var76; +goto RET_LABEL4; +} else { +{ +{ /* Inline model#MClassType#mclass (self) on */ +var81 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var81 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var79 = var81; +RET_LABEL80:(void)0; +} +} +{ +{ /* Inline model#MClass#name (var79) on */ +var84 = var79->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var84 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); +} +var82 = var84; +RET_LABEL83:(void)0; +} +} +if (likely(varonce85!=NULL)) { +var86 = varonce85; +} else { +var87 = "NativeString"; +var88 = standard___standard__NativeString___to_s_with_length(var87, 12l); +var86 = var88; +varonce85 = var86; } { -var79 = ((short int (*)(val* self, val* p0))(var71->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var71, var75) /* == on */; +var89 = ((short int(*)(val* self, val* p0))(var82->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var82, var86); /* == on */ } -if (var79){ -if (varonce80) { -var81 = varonce80; +if (var89){ +if (likely(varonce90!=NULL)) { +var91 = varonce90; } else { -var82 = "char*"; -var83 = 5; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; +var92 = "char*"; +var93 = standard___standard__NativeString___to_s_with_length(var92, 5l); +var91 = var93; +varonce90 = var91; } -var = var81; -goto RET_LABEL; +var3 = var91; +goto RET_LABEL4; } else { { { /* Inline model#MClassType#mclass (self) on */ -var87 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var87 == NULL)) { +var96 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var96 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var94 = var96; +RET_LABEL95:(void)0; +} +} +{ +{ /* Inline model#MClass#name (var94) on */ +var99 = var94->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var99 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); +} +var97 = var99; +RET_LABEL98:(void)0; +} +} +if (likely(varonce100!=NULL)) { +var101 = varonce100; +} else { +var102 = "NativeArray"; +var103 = standard___standard__NativeString___to_s_with_length(var102, 11l); +var101 = var103; +varonce100 = var101; +} +{ +var104 = ((short int(*)(val* self, val* p0))(var97->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var97, var101); /* == on */ +} +if (var104){ +if (likely(varonce105!=NULL)) { +var106 = varonce105; +} else { +var107 = "val*"; +var108 = standard___standard__NativeString___to_s_with_length(var107, 4l); +var106 = var108; +varonce105 = var106; +} +var3 = var106; +goto RET_LABEL4; +} else { +if (likely(varonce109!=NULL)) { +var110 = varonce109; +} else { +var111 = "val*"; +var112 = standard___standard__NativeString___to_s_with_length(var111, 4l); +var110 = var112; +varonce109 = var110; } -var85 = var87; -RET_LABEL86:(void)0; +var3 = var110; +goto RET_LABEL4; } } -{ -{ /* Inline model#MClass#name (var85) on */ -var90 = var85->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var90 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); } -var88 = var90; -RET_LABEL89:(void)0; } } -if (varonce91) { -var92 = varonce91; -} else { -var93 = "NativeArray"; -var94 = 11; -var95 = standard___standard__NativeString___to_s_with_length(var93, var94); -var92 = var95; -varonce91 = var92; } -{ -var96 = ((short int (*)(val* self, val* p0))(var88->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var88, var92) /* == on */; } -if (var96){ -if (varonce97) { -var98 = varonce97; -} else { -var99 = "val*"; -var100 = 4; -var101 = standard___standard__NativeString___to_s_with_length(var99, var100); -var98 = var101; -varonce97 = var98; +RET_LABEL4:(void)0; } -var = var98; -goto RET_LABEL; -} else { -if (varonce102) { -var103 = varonce102; +self->attrs[COLOR_nit__abstract_compiler__MClassType___ctype].val = var3; /* _ctype on */ +var2 = var3; +} +var = var2; +RET_LABEL:; +return var; +} +/* method abstract_compiler#MClassType#is_c_primitive for (self: MClassType): Bool */ +short int nit__abstract_compiler___MClassType___MType__is_c_primitive(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var5 /* : String */; +static val* varonce; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +var1 = self->attrs[COLOR_nit__abstract_compiler__MClassType__lazy_32d_is_c_primitive].s; /* lazy _is_c_primitive on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_nit__abstract_compiler__MClassType___is_c_primitive].s; /* _is_c_primitive on */ } else { -var104 = "val*"; -var105 = 4; -var106 = standard___standard__NativeString___to_s_with_length(var104, var105); -var103 = var106; -varonce102 = var103; +{ +{ +var5 = nit__abstract_compiler___MClassType___MType__ctype(self); } -var = var103; -goto RET_LABEL; +if (likely(varonce!=NULL)) { +var6 = varonce; +} else { +var7 = "val*"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 4l); +var6 = var8; +varonce = var6; } +{ +{ /* Inline kernel#Object#!= (var5,var6) on */ +var_other = var6; +{ +var11 = ((short int(*)(val* self, val* p0))(var5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var5, var_other); /* == on */ } +var12 = !var11; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } +var3 = var9; +goto RET_LABEL4; +RET_LABEL4:(void)0; } +self->attrs[COLOR_nit__abstract_compiler__MClassType___is_c_primitive].s = var3; /* _is_c_primitive on */ +var2 = var3; +self->attrs[COLOR_nit__abstract_compiler__MClassType__lazy_32d_is_c_primitive].s = 1; /* lazy _is_c_primitive on */ } +var = var2; RET_LABEL:; return var; } @@ -3993,15 +3355,15 @@ val* var1 /* : MClass */; val* var3 /* : MClass */; val* var4 /* : MClassKind */; val* var6 /* : MClassKind */; -val* var7 /* : MClassKind */; -short int var8 /* : Bool */; +val* var7 /* : Sys */; +val* var8 /* : MClassKind */; +short int var9 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; +val* var14 /* : String */; +char* var15 /* : NativeString */; val* var16 /* : FlatString */; val* var17 /* : String */; { @@ -4009,8 +3371,8 @@ val* var17 /* : String */; var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4021,43 +3383,43 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 399); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; } } +var7 = glob_sys; { -var7 = nit__model___standard__Object___extern_kind(self); +var8 = nit__model___standard__Sys___extern_kind(var7); } { -{ /* Inline kernel#Object#== (var4,var7) on */ -var_other = var7; +{ /* Inline kernel#Object#== (var4,var8) on */ +var_other = var8; { { /* Inline kernel#Object#is_same_instance (var4,var_other) on */ -var12 = var4 == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var13 = var4 == var_other; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -if (var8){ -if (varonce) { -var13 = varonce; +if (var9){ +if (likely(varonce!=NULL)) { +var14 = varonce; } else { -var14 = "void*"; -var15 = 5; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; +var15 = "void*"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 5l); +var14 = var16; +varonce = var14; } -var = var13; +var = var14; goto RET_LABEL; } else { { @@ -4079,101 +3441,101 @@ val* var6 /* : String */; static val* varonce; val* var7 /* : String */; char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -short int var11 /* : Bool */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; +val* var9 /* : FlatString */; +short int var10 /* : Bool */; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : NativeString */; +val* var14 /* : FlatString */; +val* var15 /* : MClass */; val* var17 /* : MClass */; -val* var19 /* : MClass */; +val* var18 /* : String */; val* var20 /* : String */; +static val* varonce21; val* var22 /* : String */; -static val* varonce23; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -short int var28 /* : Bool */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -long var32 /* : Int */; -val* var33 /* : FlatString */; -val* var34 /* : MClass */; -val* var36 /* : MClass */; +char* var23 /* : NativeString */; +val* var24 /* : FlatString */; +short int var25 /* : Bool */; +static val* varonce26; +val* var27 /* : String */; +char* var28 /* : NativeString */; +val* var29 /* : FlatString */; +val* var30 /* : MClass */; +val* var32 /* : MClass */; +val* var33 /* : String */; +val* var35 /* : String */; +static val* varonce36; val* var37 /* : String */; -val* var39 /* : String */; -static val* varonce40; -val* var41 /* : String */; -char* var42 /* : NativeString */; -long var43 /* : Int */; +char* var38 /* : NativeString */; +val* var39 /* : FlatString */; +short int var40 /* : Bool */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; val* var44 /* : FlatString */; -short int var45 /* : Bool */; -static val* varonce46; -val* var47 /* : String */; -char* var48 /* : NativeString */; -long var49 /* : Int */; -val* var50 /* : FlatString */; -val* var51 /* : MClass */; -val* var53 /* : MClass */; -val* var54 /* : String */; -val* var56 /* : String */; -static val* varonce57; -val* var58 /* : String */; -char* var59 /* : NativeString */; -long var60 /* : Int */; -val* var61 /* : FlatString */; -short int var62 /* : Bool */; -static val* varonce63; -val* var64 /* : String */; -char* var65 /* : NativeString */; -long var66 /* : Int */; -val* var67 /* : FlatString */; -val* var68 /* : MClass */; -val* var70 /* : MClass */; -val* var71 /* : String */; -val* var73 /* : String */; -static val* varonce74; -val* var75 /* : String */; -char* var76 /* : NativeString */; -long var77 /* : Int */; -val* var78 /* : FlatString */; -short int var79 /* : Bool */; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; +val* var45 /* : MClass */; +val* var47 /* : MClass */; +val* var48 /* : String */; +val* var50 /* : String */; +static val* varonce51; +val* var52 /* : String */; +char* var53 /* : NativeString */; +val* var54 /* : FlatString */; +short int var55 /* : Bool */; +static val* varonce56; +val* var57 /* : String */; +char* var58 /* : NativeString */; +val* var59 /* : FlatString */; +val* var60 /* : MClass */; +val* var62 /* : MClass */; +val* var63 /* : String */; +val* var65 /* : String */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +val* var69 /* : FlatString */; +short int var70 /* : Bool */; +static val* varonce71; +val* var72 /* : String */; +char* var73 /* : NativeString */; +val* var74 /* : FlatString */; +val* var75 /* : MClass */; +val* var77 /* : MClass */; +val* var78 /* : String */; +val* var80 /* : String */; +static val* varonce81; +val* var82 /* : String */; +char* var83 /* : NativeString */; val* var84 /* : FlatString */; -val* var85 /* : MClass */; -val* var87 /* : MClass */; -val* var88 /* : String */; -val* var90 /* : String */; -static val* varonce91; -val* var92 /* : String */; -char* var93 /* : NativeString */; -long var94 /* : Int */; -val* var95 /* : FlatString */; -short int var96 /* : Bool */; -static val* varonce97; -val* var98 /* : String */; -char* var99 /* : NativeString */; -long var100 /* : Int */; -val* var101 /* : FlatString */; -static val* varonce102; -val* var103 /* : String */; -char* var104 /* : NativeString */; -long var105 /* : Int */; -val* var106 /* : FlatString */; +short int var85 /* : Bool */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +val* var90 /* : MClass */; +val* var92 /* : MClass */; +val* var93 /* : String */; +val* var95 /* : String */; +static val* varonce96; +val* var97 /* : String */; +char* var98 /* : NativeString */; +val* var99 /* : FlatString */; +short int var100 /* : Bool */; +static val* varonce101; +val* var102 /* : String */; +char* var103 /* : NativeString */; +val* var104 /* : FlatString */; +static val* varonce105; +val* var106 /* : String */; +char* var107 /* : NativeString */; +val* var108 /* : FlatString */; { { /* Inline model#MClassType#mclass (self) on */ var3 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4184,293 +3546,327 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; } } -if (varonce) { +if (likely(varonce!=NULL)) { var7 = varonce; } else { var8 = "Int"; -var9 = 3; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; +var9 = standard___standard__NativeString___to_s_with_length(var8, 3l); +var7 = var9; varonce = var7; } { -var11 = ((short int (*)(val* self, val* p0))(var4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var4, var7) /* == on */; +var10 = ((short int(*)(val* self, val* p0))(var4->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var4, var7); /* == on */ } -if (var11){ -if (varonce12) { -var13 = varonce12; +if (var10){ +if (likely(varonce11!=NULL)) { +var12 = varonce11; } else { -var14 = "l"; -var15 = 1; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var13 = "l"; +var14 = standard___standard__NativeString___to_s_with_length(var13, 1l); +var12 = var14; +varonce11 = var12; } -var = var13; +var = var12; goto RET_LABEL; } else { { { /* Inline model#MClassType#mclass (self) on */ -var19 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var19 == NULL)) { +var17 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var17 = var19; -RET_LABEL18:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline model#MClass#name (var17) on */ -var22 = var17->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var22 == NULL)) { +{ /* Inline model#MClass#name (var15) on */ +var20 = var15->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var20 = var22; -RET_LABEL21:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } -if (varonce23) { -var24 = varonce23; +if (likely(varonce21!=NULL)) { +var22 = varonce21; } else { -var25 = "Bool"; -var26 = 4; -var27 = standard___standard__NativeString___to_s_with_length(var25, var26); -var24 = var27; -varonce23 = var24; +var23 = "Bool"; +var24 = standard___standard__NativeString___to_s_with_length(var23, 4l); +var22 = var24; +varonce21 = var22; } { -var28 = ((short int (*)(val* self, val* p0))(var20->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var20, var24) /* == on */; +var25 = ((short int(*)(val* self, val* p0))(var18->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var18, var22); /* == on */ } -if (var28){ -if (varonce29) { -var30 = varonce29; +if (var25){ +if (likely(varonce26!=NULL)) { +var27 = varonce26; } else { -var31 = "s"; -var32 = 1; -var33 = standard___standard__NativeString___to_s_with_length(var31, var32); -var30 = var33; -varonce29 = var30; +var28 = "s"; +var29 = standard___standard__NativeString___to_s_with_length(var28, 1l); +var27 = var29; +varonce26 = var27; } -var = var30; +var = var27; goto RET_LABEL; } else { { { /* Inline model#MClassType#mclass (self) on */ -var36 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var36 == NULL)) { +var32 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var32 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var30 = var32; +RET_LABEL31:(void)0; } } { -{ /* Inline model#MClass#name (var34) on */ -var39 = var34->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var39 == NULL)) { +{ /* Inline model#MClass#name (var30) on */ +var35 = var30->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var35 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); +} +var33 = var35; +RET_LABEL34:(void)0; } +} +if (likely(varonce36!=NULL)) { +var37 = varonce36; +} else { +var38 = "Char"; +var39 = standard___standard__NativeString___to_s_with_length(var38, 4l); var37 = var39; -RET_LABEL38:(void)0; +varonce36 = var37; } +{ +var40 = ((short int(*)(val* self, val* p0))(var33->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var33, var37); /* == on */ } -if (varonce40) { -var41 = varonce40; +if (var40){ +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var42 = "Char"; -var43 = 4; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; -varonce40 = var41; +var43 = "c"; +var44 = standard___standard__NativeString___to_s_with_length(var43, 1l); +var42 = var44; +varonce41 = var42; +} +var = var42; +goto RET_LABEL; +} else { +{ +{ /* Inline model#MClassType#mclass (self) on */ +var47 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +{ +{ /* Inline model#MClass#name (var45) on */ +var50 = var45->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var50 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); +} +var48 = var50; +RET_LABEL49:(void)0; +} +} +if (likely(varonce51!=NULL)) { +var52 = varonce51; +} else { +var53 = "Float"; +var54 = standard___standard__NativeString___to_s_with_length(var53, 5l); +var52 = var54; +varonce51 = var52; } { -var45 = ((short int (*)(val* self, val* p0))(var37->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var37, var41) /* == on */; +var55 = ((short int(*)(val* self, val* p0))(var48->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var48, var52); /* == on */ } -if (var45){ -if (varonce46) { -var47 = varonce46; +if (var55){ +if (likely(varonce56!=NULL)) { +var57 = varonce56; } else { -var48 = "c"; -var49 = 1; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; -varonce46 = var47; +var58 = "d"; +var59 = standard___standard__NativeString___to_s_with_length(var58, 1l); +var57 = var59; +varonce56 = var57; } -var = var47; +var = var57; goto RET_LABEL; } else { { { /* Inline model#MClassType#mclass (self) on */ -var53 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var53 == NULL)) { +var62 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var62 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var51 = var53; -RET_LABEL52:(void)0; +var60 = var62; +RET_LABEL61:(void)0; } } { -{ /* Inline model#MClass#name (var51) on */ -var56 = var51->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var56 == NULL)) { +{ /* Inline model#MClass#name (var60) on */ +var65 = var60->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var54 = var56; -RET_LABEL55:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } -if (varonce57) { -var58 = varonce57; +if (likely(varonce66!=NULL)) { +var67 = varonce66; } else { -var59 = "Float"; -var60 = 5; -var61 = standard___standard__NativeString___to_s_with_length(var59, var60); -var58 = var61; -varonce57 = var58; +var68 = "Byte"; +var69 = standard___standard__NativeString___to_s_with_length(var68, 4l); +var67 = var69; +varonce66 = var67; } { -var62 = ((short int (*)(val* self, val* p0))(var54->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var54, var58) /* == on */; +var70 = ((short int(*)(val* self, val* p0))(var63->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var63, var67); /* == on */ } -if (var62){ -if (varonce63) { -var64 = varonce63; +if (var70){ +if (likely(varonce71!=NULL)) { +var72 = varonce71; } else { -var65 = "d"; -var66 = 1; -var67 = standard___standard__NativeString___to_s_with_length(var65, var66); -var64 = var67; -varonce63 = var64; +var73 = "b"; +var74 = standard___standard__NativeString___to_s_with_length(var73, 1l); +var72 = var74; +varonce71 = var72; } -var = var64; +var = var72; goto RET_LABEL; } else { { { /* Inline model#MClassType#mclass (self) on */ -var70 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var70 == NULL)) { +var77 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var77 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var68 = var70; -RET_LABEL69:(void)0; +var75 = var77; +RET_LABEL76:(void)0; } } { -{ /* Inline model#MClass#name (var68) on */ -var73 = var68->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var73 == NULL)) { +{ /* Inline model#MClass#name (var75) on */ +var80 = var75->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var80 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var71 = var73; -RET_LABEL72:(void)0; +var78 = var80; +RET_LABEL79:(void)0; } } -if (varonce74) { -var75 = varonce74; +if (likely(varonce81!=NULL)) { +var82 = varonce81; } else { -var76 = "NativeString"; -var77 = 12; -var78 = standard___standard__NativeString___to_s_with_length(var76, var77); -var75 = var78; -varonce74 = var75; +var83 = "NativeString"; +var84 = standard___standard__NativeString___to_s_with_length(var83, 12l); +var82 = var84; +varonce81 = var82; } { -var79 = ((short int (*)(val* self, val* p0))(var71->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var71, var75) /* == on */; +var85 = ((short int(*)(val* self, val* p0))(var78->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var78, var82); /* == on */ } -if (var79){ -if (varonce80) { -var81 = varonce80; +if (var85){ +if (likely(varonce86!=NULL)) { +var87 = varonce86; } else { -var82 = "str"; -var83 = 3; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; +var88 = "str"; +var89 = standard___standard__NativeString___to_s_with_length(var88, 3l); +var87 = var89; +varonce86 = var87; } -var = var81; +var = var87; goto RET_LABEL; } else { { { /* Inline model#MClassType#mclass (self) on */ -var87 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var87 == NULL)) { +var92 = self->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1058); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138); +fatal_exit(1); } -var85 = var87; -RET_LABEL86:(void)0; +var90 = var92; +RET_LABEL91:(void)0; } } { -{ /* Inline model#MClass#name (var85) on */ -var90 = var85->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var90 == NULL)) { +{ /* Inline model#MClass#name (var90) on */ +var95 = var90->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var95 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var88 = var90; -RET_LABEL89:(void)0; +var93 = var95; +RET_LABEL94:(void)0; } } -if (varonce91) { -var92 = varonce91; +if (likely(varonce96!=NULL)) { +var97 = varonce96; } else { -var93 = "NativeArray"; -var94 = 11; -var95 = standard___standard__NativeString___to_s_with_length(var93, var94); -var92 = var95; -varonce91 = var92; +var98 = "NativeArray"; +var99 = standard___standard__NativeString___to_s_with_length(var98, 11l); +var97 = var99; +varonce96 = var97; } { -var96 = ((short int (*)(val* self, val* p0))(var88->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var88, var92) /* == on */; +var100 = ((short int(*)(val* self, val* p0))(var93->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var93, var97); /* == on */ } -if (var96){ -if (varonce97) { -var98 = varonce97; +if (var100){ +if (likely(varonce101!=NULL)) { +var102 = varonce101; } else { -var99 = "val"; -var100 = 3; -var101 = standard___standard__NativeString___to_s_with_length(var99, var100); -var98 = var101; -varonce97 = var98; +var103 = "val"; +var104 = standard___standard__NativeString___to_s_with_length(var103, 3l); +var102 = var104; +varonce101 = var102; } -var = var98; +var = var102; goto RET_LABEL; } else { -if (varonce102) { -var103 = varonce102; +if (likely(varonce105!=NULL)) { +var106 = varonce105; } else { -var104 = "val"; -var105 = 3; -var106 = standard___standard__NativeString___to_s_with_length(var104, var105); -var103 = var106; -varonce102 = var103; +var107 = "val"; +var108 = standard___standard__NativeString___to_s_with_length(var107, 3l); +var106 = var108; +varonce105 = var106; } -var = var103; +var = var106; goto RET_LABEL; } } @@ -4478,6 +3874,7 @@ goto RET_LABEL; } } } +} RET_LABEL:; return var; } @@ -4492,22 +3889,20 @@ const char* var_class_name; val* var_v /* var v: AbstractCompilerVisitor */; short int var2 /* : Bool */; short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var6 /* : AbstractCompiler */; -val* var8 /* : AbstractCompiler */; -val* var9 /* : ModelBuilder */; -val* var11 /* : ModelBuilder */; +val* var5 /* : AbstractCompiler */; +val* var7 /* : AbstractCompiler */; +val* var8 /* : ModelBuilder */; +val* var10 /* : ModelBuilder */; val* var_modelbuilder /* var modelbuilder: ModelBuilder */; -val* var12 /* : nullable ANode */; +val* var11 /* : nullable ANode */; val* var_node /* var node: nullable ANode */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +short int var15 /* : Bool */; short int var16 /* : Bool */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -short int var20 /* : Bool */; +int cltype17; +int idtype18; /* Covariant cast for argument 0 (v) isa VISITOR */ /* isa VISITOR */ type_struct = self->type->resolution_table->types[COLOR_nit__abstract_compiler__MPropDef__VISITOR]; @@ -4521,8 +3916,8 @@ var1 = p0->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1815); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1929); +fatal_exit(1); } var_v = p0; { @@ -4533,79 +3928,77 @@ RET_LABEL3:(void)0; } } if (var2){ -var5 = 1; -var = var5; +var = 1; goto RET_LABEL; } else { } { { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on */ -var8 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ -if (unlikely(var8 == NULL)) { +var7 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } -var6 = var8; -RET_LABEL7:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on */ -var11 = var6->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ -if (unlikely(var11 == NULL)) { +{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on */ +var10 = var5->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } -var_modelbuilder = var9; +var_modelbuilder = var8; { -var12 = nit__modelize_property___ModelBuilder___mpropdef2node(var_modelbuilder, self); +var11 = nit__modelize_property___ModelBuilder___mpropdef2node(var_modelbuilder, self); } -var_node = var12; +var_node = var11; /* isa APropdef */ -cltype14 = type_nit__APropdef.color; -idtype15 = type_nit__APropdef.id; +cltype13 = type_nit__APropdef.color; +idtype14 = type_nit__APropdef.id; if(var_node == NULL) { -var13 = 0; +var12 = 0; } else { -if(cltype14 >= var_node->type->table_size) { -var13 = 0; +if(cltype13 >= var_node->type->table_size) { +var12 = 0; } else { -var13 = var_node->type->type_table[cltype14] == idtype15; +var12 = var_node->type->type_table[cltype13] == idtype14; } } -if (var13){ +if (var12){ { -var16 = ((short int (*)(val* self))(var_node->class->vft[COLOR_nit__abstract_compiler__APropdef__can_inline]))(var_node) /* can_inline on */; +var15 = ((short int(*)(val* self))(var_node->class->vft[COLOR_nit__abstract_compiler__APropdef__can_inline]))(var_node); /* can_inline on */ } -var = var16; +var = var15; goto RET_LABEL; } else { /* isa AClassdef */ -cltype18 = type_nit__AClassdef.color; -idtype19 = type_nit__AClassdef.id; +cltype17 = type_nit__AClassdef.color; +idtype18 = type_nit__AClassdef.id; if(var_node == NULL) { -var17 = 0; +var16 = 0; } else { -if(cltype18 >= var_node->type->table_size) { -var17 = 0; +if(cltype17 >= var_node->type->table_size) { +var16 = 0; } else { -var17 = var_node->type->type_table[cltype18] == idtype19; +var16 = var_node->type->type_table[cltype17] == idtype18; } } -if (var17){ -var20 = 1; -var = var20; +if (var16){ +var = 1; goto RET_LABEL; } else { PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1827); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1941); +fatal_exit(1); } } RET_LABEL:; @@ -4632,22 +4025,45 @@ val* var_val /* var val: nullable Object */; val* var11 /* : nullable ANode */; val* var_node /* var node: nullable ANode */; short int var12 /* : Bool */; -int cltype13; -int idtype14; -val* var15 /* : nullable ANode */; -val* var17 /* : nullable ANode */; +short int var14 /* : Bool */; +val* var15 /* : nullable Object */; +val* var16 /* : String */; +val* var_cn /* var cn: String */; +val* var18 /* : NativeArray[String] */; +static val* varonce; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +val* var22 /* : FlatString */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +val* var26 /* : FlatString */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +val* var31 /* : MProperty */; +val* var33 /* : MProperty */; +val* var34 /* : String */; +val* var36 /* : String */; +val* var37 /* : String */; +val* var38 /* : String */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +val* var42 /* : nullable ANode */; +val* var44 /* : nullable ANode */; val* var_oldnode /* var oldnode: nullable ANode */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -val* var23 /* : nullable ANode */; -val* var25 /* : nullable ANode */; -val* var_oldnode26 /* var oldnode: nullable ANode */; -val* var29 /* : null */; -short int var30 /* : Bool */; -short int var31 /* : Bool */; -val* var32 /* : RuntimeVariable */; -val* var33 /* : null */; +short int var47 /* : Bool */; +int cltype48; +int idtype49; +val* var50 /* : nullable ANode */; +val* var52 /* : nullable ANode */; +val* var_oldnode53 /* var oldnode: nullable ANode */; +short int var56 /* : Bool */; +short int var57 /* : Bool */; +val* var58 /* : RuntimeVariable */; /* Covariant cast for argument 0 (v) isa VISITOR */ /* isa VISITOR */ type_struct = self->type->resolution_table->types[COLOR_nit__abstract_compiler__MPropDef__VISITOR]; @@ -4661,8 +4077,8 @@ var1 = p0->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1831); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1945); +fatal_exit(1); } var_v = p0; var_arguments = p1; @@ -4671,8 +4087,8 @@ var_arguments = p1; var4 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -4683,8 +4099,8 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -4703,71 +4119,168 @@ var_val = var8; var11 = nit__modelize_property___ModelBuilder___mpropdef2node(var_modelbuilder, self); } var_node = var11; +{ +{ /* Inline model#MMethodDef#is_abstract (self) on */ +var14 = self->attrs[COLOR_nit__model__MMethodDef___is_abstract].s; /* _is_abstract on */ +var12 = var14; +RET_LABEL13:(void)0; +} +} +if (var12){ +{ +var15 = standard___standard__SequenceRead___Collection__first(var_arguments); +} +{ +var16 = ((val*(*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var15); /* class_name_string on */ +} +var_cn = var16; +{ +{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_node) on */ +var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_node; /* _current_node on */ +RET_LABEL17:(void)0; +} +} +if (unlikely(varonce==NULL)) { +var18 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = "PRINT_ERROR(\"Runtime error: Abstract method `%s` called on `%s`\", \""; +var22 = standard___standard__NativeString___to_s_with_length(var21, 67l); +var20 = var22; +varonce19 = var20; +} +((struct instance_standard__NativeArray*)var18)->values[0]=var20; +if (likely(varonce23!=NULL)) { +var24 = varonce23; +} else { +var25 = "\", "; +var26 = standard___standard__NativeString___to_s_with_length(var25, 3l); +var24 = var26; +varonce23 = var24; +} +((struct instance_standard__NativeArray*)var18)->values[2]=var24; +if (likely(varonce27!=NULL)) { +var28 = varonce27; +} else { +var29 = ");"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 2l); +var28 = var30; +varonce27 = var28; +} +((struct instance_standard__NativeArray*)var18)->values[4]=var28; +} else { +var18 = varonce; +varonce = NULL; +} +{ +{ /* Inline model#MPropDef#mproperty (self) on */ +var33 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); +} +var31 = var33; +RET_LABEL32:(void)0; +} +} +{ +{ /* Inline model#MProperty#name (var31) on */ +var36 = var31->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var36 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); +} +var34 = var36; +RET_LABEL35:(void)0; +} +} +{ +var37 = standard___standard__Text___escape_to_c(var34); +} +((struct instance_standard__NativeArray*)var18)->values[1]=var37; +((struct instance_standard__NativeArray*)var18)->values[3]=var_cn; +{ +var38 = ((val*(*)(val* self))(var18->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var18); /* native_to_s on */ +} +varonce = var18; +{ +nit___nit__AbstractCompilerVisitor___add(var_v, var38); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +} +{ +nit___nit__AbstractCompilerVisitor___add_raw_abort(var_v); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on */ +} +var = ((val*)NULL); +goto RET_LABEL; +} else { +} /* isa APropdef */ -cltype13 = type_nit__APropdef.color; -idtype14 = type_nit__APropdef.id; +cltype40 = type_nit__APropdef.color; +idtype41 = type_nit__APropdef.id; if(var_node == NULL) { -var12 = 0; +var39 = 0; } else { -if(cltype13 >= var_node->type->table_size) { -var12 = 0; +if(cltype40 >= var_node->type->table_size) { +var39 = 0; } else { -var12 = var_node->type->type_table[cltype13] == idtype14; +var39 = var_node->type->type_table[cltype40] == idtype41; } } -if (var12){ +if (var39){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on */ -var17 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var15 = var17; -RET_LABEL16:(void)0; +var44 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var42 = var44; +RET_LABEL43:(void)0; } } -var_oldnode = var15; +var_oldnode = var42; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_node) on */ var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_node; /* _current_node on */ -RET_LABEL18:(void)0; +RET_LABEL45:(void)0; } } { nit__abstract_compiler___MMethodDef___compile_parameter_check(self, var_v, var_arguments); /* Direct call abstract_compiler#MMethodDef#compile_parameter_check on */ } { -((void (*)(val* self, val* p0, val* p1, val* p2))(var_node->class->vft[COLOR_nit__abstract_compiler__APropdef__compile_to_c]))(var_node, var_v, self, var_arguments) /* compile_to_c on */; +((void(*)(val* self, val* p0, val* p1, val* p2))(var_node->class->vft[COLOR_nit__abstract_compiler__APropdef__compile_to_c]))(var_node, var_v, self, var_arguments); /* compile_to_c on */ } { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode) on */ var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_oldnode; /* _current_node on */ -RET_LABEL19:(void)0; +RET_LABEL46:(void)0; } } } else { /* isa AClassdef */ -cltype21 = type_nit__AClassdef.color; -idtype22 = type_nit__AClassdef.id; +cltype48 = type_nit__AClassdef.color; +idtype49 = type_nit__AClassdef.id; if(var_node == NULL) { -var20 = 0; +var47 = 0; } else { -if(cltype21 >= var_node->type->table_size) { -var20 = 0; +if(cltype48 >= var_node->type->table_size) { +var47 = 0; } else { -var20 = var_node->type->type_table[cltype21] == idtype22; +var47 = var_node->type->type_table[cltype48] == idtype49; } } -if (var20){ +if (var47){ { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (var_v) on */ -var25 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ -var23 = var25; -RET_LABEL24:(void)0; +var52 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on */ +var50 = var52; +RET_LABEL51:(void)0; } } -var_oldnode26 = var23; +var_oldnode53 = var50; { { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_node) on */ var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_node; /* _current_node on */ -RET_LABEL27:(void)0; +RET_LABEL54:(void)0; } } { @@ -4777,38 +4290,36 @@ nit__abstract_compiler___MMethodDef___compile_parameter_check(self, var_v, var_a nit__abstract_compiler___AClassdef___compile_to_c(var_node, var_v, self, var_arguments); /* Direct call abstract_compiler#AClassdef#compile_to_c on */ } { -{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode26) on */ -var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_oldnode26; /* _current_node on */ -RET_LABEL28:(void)0; +{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (var_v,var_oldnode53) on */ +var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node].val = var_oldnode53; /* _current_node on */ +RET_LABEL55:(void)0; } } } else { -var29 = NULL; if (var_val == NULL) { -var30 = 0; /* is null */ +var56 = 0; /* is null */ } else { -var30 = 1; /* arg is null and recv is not */ +var56 = 1; /* arg is null and recv is not */ } if (0) { -var31 = ((short int (*)(val* self, val* p0))(var_val->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_val, var29) /* != on */; -var30 = var31; +var57 = ((short int(*)(val* self, val* p0))((((long)var_val&3)?class_info[((long)var_val&3)]:var_val->class)->vft[COLOR_standard__kernel__Object___33d_61d]))(var_val, ((val*)NULL)); /* != on */ +var56 = var57; } -if (var30){ +if (var56){ { -var32 = nit___nit__AbstractCompilerVisitor___value_instance(var_v, var_val); +var58 = nit___nit__AbstractCompilerVisitor___value_instance(var_v, var_val); } { -nit___nit__AbstractCompilerVisitor___ret(var_v, var32); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ +nit___nit__AbstractCompilerVisitor___ret(var_v, var58); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on */ } } else { PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1852); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1975); +fatal_exit(1); } } } -var33 = NULL; -var = var33; +var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; @@ -4833,107 +4344,97 @@ val* var12 /* : OptionBool */; val* var13 /* : nullable Object */; val* var15 /* : nullable Object */; short int var16 /* : Bool */; -long var17 /* : Int */; long var_i /* var i: Int */; -val* var18 /* : nullable MSignature */; -val* var20 /* : nullable MSignature */; -long var21 /* : Int */; +val* var17 /* : nullable MSignature */; +val* var19 /* : nullable MSignature */; +long var20 /* : Int */; long var_ /* var : Int */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -const char* var_class_name27; -short int var28 /* : Bool */; -val* var29 /* : nullable MSignature */; -val* var31 /* : nullable MSignature */; -long var32 /* : Int */; -long var34 /* : Int */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -val* var38 /* : MProperty */; -val* var40 /* : MProperty */; -val* var41 /* : MPropDef */; -val* var43 /* : MPropDef */; -val* var44 /* : nullable MSignature */; -val* var46 /* : nullable MSignature */; -val* var47 /* : Array[MParameter] */; -val* var49 /* : Array[MParameter] */; -val* var50 /* : nullable Object */; -val* var51 /* : MType */; -val* var53 /* : MType */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +const char* var_class_name26; +short int var27 /* : Bool */; +val* var28 /* : nullable MSignature */; +val* var30 /* : nullable MSignature */; +long var31 /* : Int */; +long var33 /* : Int */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +val* var37 /* : MProperty */; +val* var39 /* : MProperty */; +val* var40 /* : MPropDef */; +val* var42 /* : MPropDef */; +val* var43 /* : nullable MSignature */; +val* var45 /* : nullable MSignature */; +val* var46 /* : Array[MParameter] */; +val* var48 /* : Array[MParameter] */; +val* var49 /* : nullable Object */; +val* var50 /* : MType */; +val* var52 /* : MType */; val* var_origmtype /* var origmtype: MType */; +short int var53 /* : Bool */; short int var54 /* : Bool */; -short int var55 /* : Bool */; -val* var56 /* : nullable MSignature */; -val* var58 /* : nullable MSignature */; -val* var59 /* : Array[MParameter] */; -val* var61 /* : Array[MParameter] */; -val* var62 /* : nullable Object */; -val* var63 /* : MType */; -val* var65 /* : MType */; +val* var55 /* : nullable MSignature */; +val* var57 /* : nullable MSignature */; +val* var58 /* : Array[MParameter] */; +val* var60 /* : Array[MParameter] */; +val* var61 /* : nullable Object */; +val* var62 /* : MType */; +val* var64 /* : MType */; val* var_mtype /* var mtype: MType */; +val* var65 /* : NativeArray[String] */; static val* varonce; -val* var66 /* : String */; -char* var67 /* : NativeString */; -long var68 /* : Int */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; val* var69 /* : FlatString */; static val* varonce70; val* var71 /* : String */; char* var72 /* : NativeString */; -long var73 /* : Int */; -val* var74 /* : FlatString */; -val* var75 /* : nullable MSignature */; -val* var77 /* : nullable MSignature */; -val* var78 /* : Array[MParameter] */; -val* var80 /* : Array[MParameter] */; -val* var81 /* : nullable Object */; -val* var82 /* : String */; -val* var84 /* : String */; -static val* varonce85; +val* var73 /* : FlatString */; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : NativeString */; +val* var77 /* : FlatString */; +static val* varonce78; +val* var79 /* : String */; +char* var80 /* : NativeString */; +val* var81 /* : FlatString */; +static val* varonce82; +val* var83 /* : String */; +char* var84 /* : NativeString */; +val* var85 /* : FlatString */; val* var86 /* : String */; -char* var87 /* : NativeString */; -long var88 /* : Int */; -val* var89 /* : FlatString */; -long var90 /* : Int */; -long var91 /* : Int */; -short int var93 /* : Bool */; -int cltype94; -int idtype95; -const char* var_class_name96; +val* var87 /* : nullable MSignature */; +val* var89 /* : nullable MSignature */; +val* var90 /* : Array[MParameter] */; +val* var92 /* : Array[MParameter] */; +val* var93 /* : nullable Object */; +val* var94 /* : String */; +val* var96 /* : String */; long var97 /* : Int */; -val* var98 /* : nullable Object */; -val* var99 /* : String */; -static val* varonce100; -val* var101 /* : String */; -char* var102 /* : NativeString */; +short int var99 /* : Bool */; +int cltype100; +int idtype101; +const char* var_class_name102; long var103 /* : Int */; -val* var104 /* : FlatString */; -static val* varonce105; +val* var104 /* : nullable Object */; +val* var105 /* : String */; val* var106 /* : String */; -char* var107 /* : NativeString */; +val* var107 /* : String */; long var108 /* : Int */; -val* var109 /* : FlatString */; -val* var110 /* : Array[Object] */; -long var111 /* : Int */; -val* var112 /* : NativeArray[Object] */; -val* var113 /* : Object */; -val* var114 /* : String */; -long var115 /* : Int */; -long var116 /* : Int */; -short int var118 /* : Bool */; -int cltype119; -int idtype120; -const char* var_class_name121; -long var122 /* : Int */; -val* var123 /* : nullable Object */; -static val* varonce124; -val* var125 /* : String */; -char* var126 /* : NativeString */; -long var127 /* : Int */; -val* var128 /* : FlatString */; -long var129 /* : Int */; -long var130 /* : Int */; +short int var110 /* : Bool */; +int cltype111; +int idtype112; +const char* var_class_name113; +long var114 /* : Int */; +val* var115 /* : nullable Object */; +static val* varonce116; +val* var117 /* : String */; +char* var118 /* : NativeString */; +val* var119 /* : FlatString */; +long var120 /* : Int */; /* Covariant cast for argument 0 (v) isa VISITOR */ /* isa VISITOR */ type_struct = self->type->resolution_table->types[COLOR_nit__abstract_compiler__MPropDef__VISITOR]; @@ -4947,8 +4448,8 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1857); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1980); +fatal_exit(1); } var_v = p0; var_arguments = p1; @@ -4957,8 +4458,8 @@ var_arguments = p1; var3 = var_v->attrs[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1059); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1102); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4969,8 +4470,8 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 481); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 522); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -4982,7 +4483,7 @@ var9 = var4->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } var7 = var9; RET_LABEL8:(void)0; @@ -4993,8 +4494,8 @@ RET_LABEL8:(void)0; var12 = var7->attrs[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_covariance].val; /* _opt_no_check_covariance on */ if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 47); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 48); +fatal_exit(1); } var10 = var12; RET_LABEL11:(void)0; @@ -5007,382 +4508,374 @@ var13 = var15; RET_LABEL14:(void)0; } } -var16 = ((struct instance_standard__Bool*)var13)->value; /* autounbox from nullable Object to Bool */; +var16 = (short int)((long)(var13)>>2); if (var16){ goto RET_LABEL; } else { } -var17 = 0; -var_i = var17; +var_i = 0l; { { /* Inline model#MMethodDef#msignature (self) on */ -var20 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var18 = var20; -RET_LABEL19:(void)0; +var19 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var17 = var19; +RET_LABEL18:(void)0; } } -if (var18 == NULL) { +if (var17 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1862); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1985); +fatal_exit(1); } else { -var21 = nit___nit__MSignature___arity(var18); +var20 = nit___nit__MSignature___arity(var17); } -var_ = var21; +var_ = var20; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (unlikely(!var24)) { -var_class_name27 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var28 = var_i < var_; -var22 = var28; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var27 = var_i < var_; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (var22){ +if (var21){ { { /* Inline model#MMethodDef#msignature (self) on */ -var31 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var29 = var31; -RET_LABEL30:(void)0; +var30 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var28 = var30; +RET_LABEL29:(void)0; } } -if (var29 == NULL) { +if (var28 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1864); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1987); +fatal_exit(1); } else { -{ /* Inline model#MSignature#vararg_rank (var29) on */ -if (unlikely(var29 == NULL)) { +{ /* Inline model#MSignature#vararg_rank (var28) on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1635); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1808); +fatal_exit(1); } -var34 = var29->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ -var32 = var34; -RET_LABEL33:(void)0; +var33 = var28->attrs[COLOR_nit__model__MSignature___vararg_rank].l; /* _vararg_rank on */ +var31 = var33; +RET_LABEL32:(void)0; } } { -{ /* Inline kernel#Int#== (var32,var_i) on */ -var37 = var32 == var_i; -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; +{ /* Inline kernel#Int#== (var31,var_i) on */ +var36 = var31 == var_i; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -if (var35){ +if (var34){ goto BREAK_label; } else { } { { /* Inline model#MPropDef#mproperty (self) on */ -var40 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var40 == NULL)) { +var39 = self->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var38 = var40; -RET_LABEL39:(void)0; +var37 = var39; +RET_LABEL38:(void)0; } } { -{ /* Inline model#MProperty#intro (var38) on */ -var43 = var38->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ -if (unlikely(var43 == NULL)) { +{ /* Inline model#MProperty#intro (var37) on */ +var42 = var37->attrs[COLOR_nit__model__MProperty___intro].val; /* _intro on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1968); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } { -{ /* Inline model#MMethodDef#msignature (var41) on */ -var46 = var41->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var44 = var46; -RET_LABEL45:(void)0; +{ /* Inline model#MMethodDef#msignature (var40) on */ +var45 = var40->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var43 = var45; +RET_LABEL44:(void)0; } } -if (var44 == NULL) { +if (var43 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1867); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1990); +fatal_exit(1); } else { -{ /* Inline model#MSignature#mparameters (var44) on */ -if (unlikely(var44 == NULL)) { +{ /* Inline model#MSignature#mparameters (var43) on */ +if (unlikely(var43 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var49 = var44->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var49 == NULL)) { +var48 = var43->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var47 = var49; -RET_LABEL48:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } { -var50 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var47, var_i); +var49 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var46, var_i); } { -{ /* Inline model#MParameter#mtype (var50) on */ -var53 = var50->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var53 == NULL)) { +{ /* Inline model#MParameter#mtype (var49) on */ +var52 = var49->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var52 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var51 = var53; -RET_LABEL52:(void)0; +var50 = var52; +RET_LABEL51:(void)0; } } -var_origmtype = var51; +var_origmtype = var50; { -var54 = ((short int (*)(val* self))(var_origmtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_origmtype) /* need_anchor on */; +var53 = ((short int(*)(val* self))(var_origmtype->class->vft[COLOR_nit__model__MType__need_anchor]))(var_origmtype); /* need_anchor on */ } -var55 = !var54; -if (var55){ +var54 = !var53; +if (var54){ goto BREAK_label; } else { } { { /* Inline model#MMethodDef#msignature (self) on */ -var58 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var56 = var58; -RET_LABEL57:(void)0; +var57 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var55 = var57; +RET_LABEL56:(void)0; } } -if (var56 == NULL) { +if (var55 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1871); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1994); +fatal_exit(1); } else { -{ /* Inline model#MSignature#mparameters (var56) on */ -if (unlikely(var56 == NULL)) { +{ /* Inline model#MSignature#mparameters (var55) on */ +if (unlikely(var55 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var61 = var56->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var61 == NULL)) { +var60 = var55->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var59 = var61; -RET_LABEL60:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -var62 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var59, var_i); +var61 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var58, var_i); } { -{ /* Inline model#MParameter#mtype (var62) on */ -var65 = var62->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ -if (unlikely(var65 == NULL)) { +{ /* Inline model#MParameter#mtype (var61) on */ +var64 = var61->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on */ +if (unlikely(var64 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1690); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var62 = var64; +RET_LABEL63:(void)0; } } -var_mtype = var63; -if (varonce) { -var66 = varonce; +var_mtype = var62; +if (unlikely(varonce==NULL)) { +var65 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String); +if (likely(varonce66!=NULL)) { +var67 = varonce66; } else { -var67 = "/* Covariant cast for argument "; -var68 = 31; -var69 = standard___standard__NativeString___to_s_with_length(var67, var68); -var66 = var69; -varonce = var66; +var68 = "/* Covariant cast for argument "; +var69 = standard___standard__NativeString___to_s_with_length(var68, 31l); +var67 = var69; +varonce66 = var67; } -if (varonce70) { +((struct instance_standard__NativeArray*)var65)->values[0]=var67; +if (likely(varonce70!=NULL)) { var71 = varonce70; } else { var72 = " ("; -var73 = 2; -var74 = standard___standard__NativeString___to_s_with_length(var72, var73); -var71 = var74; +var73 = standard___standard__NativeString___to_s_with_length(var72, 2l); +var71 = var73; varonce70 = var71; } +((struct instance_standard__NativeArray*)var65)->values[2]=var71; +if (likely(varonce74!=NULL)) { +var75 = varonce74; +} else { +var76 = ") "; +var77 = standard___standard__NativeString___to_s_with_length(var76, 2l); +var75 = var77; +varonce74 = var75; +} +((struct instance_standard__NativeArray*)var65)->values[4]=var75; +if (likely(varonce78!=NULL)) { +var79 = varonce78; +} else { +var80 = " isa "; +var81 = standard___standard__NativeString___to_s_with_length(var80, 5l); +var79 = var81; +varonce78 = var79; +} +((struct instance_standard__NativeArray*)var65)->values[6]=var79; +if (likely(varonce82!=NULL)) { +var83 = varonce82; +} else { +var84 = " */"; +var85 = standard___standard__NativeString___to_s_with_length(var84, 3l); +var83 = var85; +varonce82 = var83; +} +((struct instance_standard__NativeArray*)var65)->values[8]=var83; +} else { +var65 = varonce; +varonce = NULL; +} +var86 = standard__string___Int___Object__to_s(var_i); +((struct instance_standard__NativeArray*)var65)->values[1]=var86; { { /* Inline model#MMethodDef#msignature (self) on */ -var77 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var75 = var77; -RET_LABEL76:(void)0; +var89 = self->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var87 = var89; +RET_LABEL88:(void)0; } } -if (var75 == NULL) { +if (var87 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1875); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1998); +fatal_exit(1); } else { -{ /* Inline model#MSignature#mparameters (var75) on */ -if (unlikely(var75 == NULL)) { +{ /* Inline model#MSignature#mparameters (var87) on */ +if (unlikely(var87 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var80 = var75->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ -if (unlikely(var80 == NULL)) { +var92 = var87->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on */ +if (unlikely(var92 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756); +fatal_exit(1); } -var78 = var80; -RET_LABEL79:(void)0; +var90 = var92; +RET_LABEL91:(void)0; } } { -var81 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var78, var_i); +var93 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var90, var_i); } { -{ /* Inline model#MParameter#name (var81) on */ -var84 = var81->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ -if (unlikely(var84 == NULL)) { +{ /* Inline model#MParameter#name (var93) on */ +var96 = var93->attrs[COLOR_nit__model__MParameter___name].val; /* _name on */ +if (unlikely(var96 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1687); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876); +fatal_exit(1); } -var82 = var84; -RET_LABEL83:(void)0; +var94 = var96; +RET_LABEL95:(void)0; } } -if (varonce85) { -var86 = varonce85; -} else { -var87 = ") "; -var88 = 2; -var89 = standard___standard__NativeString___to_s_with_length(var87, var88); -var86 = var89; -varonce85 = var86; +((struct instance_standard__NativeArray*)var65)->values[3]=var94; +{ +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var99 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var99)) { +var_class_name102 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name102); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var90 = 1; -{ -{ /* Inline kernel#Int#+ (var_i,var90) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var93 = 1; /* easy isa OTHER*/ -if (unlikely(!var93)) { -var_class_name96 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var97 = var_i + var90; -var91 = var97; -goto RET_LABEL92; -RET_LABEL92:(void)0; +var103 = var_i + 1l; +var97 = var103; +goto RET_LABEL98; +RET_LABEL98:(void)0; } } { -var98 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var91); +var104 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var97); } { -var99 = nit___nit__RuntimeVariable___standard__string__Object__inspect(var98); -} -if (varonce100) { -var101 = varonce100; -} else { -var102 = " isa "; -var103 = 5; -var104 = standard___standard__NativeString___to_s_with_length(var102, var103); -var101 = var104; -varonce100 = var101; -} -if (varonce105) { -var106 = varonce105; -} else { -var107 = " */"; -var108 = 3; -var109 = standard___standard__NativeString___to_s_with_length(var107, var108); -var106 = var109; -varonce105 = var106; +var105 = nit___nit__RuntimeVariable___standard__string__Object__inspect(var104); } -var110 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var110 = array_instance Array[Object] */ -var111 = 9; -var112 = NEW_standard__NativeArray(var111, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var112)->values[0] = (val*) var66; -var113 = BOX_standard__Int(var_i); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var112)->values[1] = (val*) var113; -((struct instance_standard__NativeArray*)var112)->values[2] = (val*) var71; -((struct instance_standard__NativeArray*)var112)->values[3] = (val*) var82; -((struct instance_standard__NativeArray*)var112)->values[4] = (val*) var86; -((struct instance_standard__NativeArray*)var112)->values[5] = (val*) var99; -((struct instance_standard__NativeArray*)var112)->values[6] = (val*) var101; -((struct instance_standard__NativeArray*)var112)->values[7] = (val*) var_mtype; -((struct instance_standard__NativeArray*)var112)->values[8] = (val*) var106; +((struct instance_standard__NativeArray*)var65)->values[5]=var105; { -((void (*)(val* self, val* p0, long p1))(var110->class->vft[COLOR_standard__array__Array__with_native]))(var110, var112, var111) /* with_native on */; -} +var106 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_standard__string__Object__to_s]))(var_mtype); /* to_s on */ } +((struct instance_standard__NativeArray*)var65)->values[7]=var106; { -var114 = ((val* (*)(val* self))(var110->class->vft[COLOR_standard__string__Object__to_s]))(var110) /* to_s on */; +var107 = ((val*(*)(val* self))(var65->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var65); /* native_to_s on */ } +varonce = var65; { -nit___nit__AbstractCompilerVisitor___add(var_v, var114); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var107); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -var115 = 1; { -{ /* Inline kernel#Int#+ (var_i,var115) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var118 = 1; /* easy isa OTHER*/ -if (unlikely(!var118)) { -var_class_name121 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name121); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var110 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var110)) { +var_class_name113 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name113); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var122 = var_i + var115; -var116 = var122; -goto RET_LABEL117; -RET_LABEL117:(void)0; +var114 = var_i + 1l; +var108 = var114; +goto RET_LABEL109; +RET_LABEL109:(void)0; } } { -var123 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var116); +var115 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var108); } -if (varonce124) { -var125 = varonce124; +if (likely(varonce116!=NULL)) { +var117 = varonce116; } else { -var126 = "covariance"; -var127 = 10; -var128 = standard___standard__NativeString___to_s_with_length(var126, var127); -var125 = var128; -varonce124 = var125; +var118 = "covariance"; +var119 = standard___standard__NativeString___to_s_with_length(var118, 10l); +var117 = var119; +varonce116 = var117; } { -nit___nit__AbstractCompilerVisitor___add_cast(var_v, var123, var_mtype, var125); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on */ +nit___nit__AbstractCompilerVisitor___add_cast(var_v, var115, var_mtype, var117); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on */ } BREAK_label: (void)0; -var129 = 1; { -var130 = standard___standard__Int___Discrete__successor(var_i, var129); +var120 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var130; +var_i = var120; } else { -goto BREAK_label131; +goto BREAK_label121; } } -BREAK_label131: (void)0; +BREAK_label121: (void)0; RET_LABEL:; } /* method abstract_compiler#APropdef#compile_to_c for (self: APropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */ @@ -5390,137 +4883,127 @@ void nit__abstract_compiler___APropdef___compile_to_c(val* self, val* p0, val* p val* var_v /* var v: AbstractCompilerVisitor */; val* var_mpropdef /* var mpropdef: MMethodDef */; val* var_arguments /* var arguments: Array[RuntimeVariable] */; +val* var /* : NativeArray[String] */; static val* varonce; -val* var /* : String */; -char* var1 /* : NativeString */; -long var2 /* : Int */; -val* var3 /* : FlatString */; -val* var4 /* : String */; +static val* varonce1; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : FlatString */; static val* varonce5; val* var6 /* : String */; char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -static val* varonce10; -val* var11 /* : String */; -char* var12 /* : NativeString */; -long var13 /* : Int */; -val* var14 /* : FlatString */; -val* var15 /* : Location */; -val* var17 /* : Location */; +val* var8 /* : FlatString */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +val* var12 /* : FlatString */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +val* var17 /* : String */; val* var18 /* : String */; -static val* varonce19; -val* var20 /* : String */; -char* var21 /* : NativeString */; -long var22 /* : Int */; -val* var23 /* : FlatString */; -val* var24 /* : Array[Object] */; -long var25 /* : Int */; -val* var26 /* : NativeArray[Object] */; -val* var27 /* : String */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; +val* var19 /* : Location */; +val* var21 /* : Location */; +val* var22 /* : String */; +val* var23 /* : String */; +static val* varonce24; +val* var25 /* : String */; +char* var26 /* : NativeString */; +val* var27 /* : FlatString */; var_v = p0; var_mpropdef = p1; var_arguments = p2; -if (varonce) { -var = varonce; +if (unlikely(varonce==NULL)) { +var = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce1!=NULL)) { +var2 = varonce1; } else { -var1 = "PRINT_ERROR(\"NOT YET IMPLEMENTED "; -var2 = 33; -var3 = standard___standard__NativeString___to_s_with_length(var1, var2); -var = var3; -varonce = var; -} -{ -var4 = standard__string___Object___class_name(self); +var3 = "PRINT_ERROR(\"NOT YET IMPLEMENTED "; +var4 = standard___standard__NativeString___to_s_with_length(var3, 33l); +var2 = var4; +varonce1 = var2; } -if (varonce5) { +((struct instance_standard__NativeArray*)var)->values[0]=var2; +if (likely(varonce5!=NULL)) { var6 = varonce5; } else { var7 = " "; -var8 = 1; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; +var8 = standard___standard__NativeString___to_s_with_length(var7, 1l); +var6 = var8; varonce5 = var6; } -if (varonce10) { -var11 = varonce10; +((struct instance_standard__NativeArray*)var)->values[2]=var6; +if (likely(varonce9!=NULL)) { +var10 = varonce9; } else { -var12 = " at "; -var13 = 4; -var14 = standard___standard__NativeString___to_s_with_length(var12, var13); -var11 = var14; -varonce10 = var11; -} -{ -{ /* Inline parser_nodes#ANode#location (self) on */ -var17 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var17 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +var11 = " at "; +var12 = standard___standard__NativeString___to_s_with_length(var11, 4l); +var10 = var12; +varonce9 = var10; } -var15 = var17; -RET_LABEL16:(void)0; +((struct instance_standard__NativeArray*)var)->values[4]=var10; +if (likely(varonce13!=NULL)) { +var14 = varonce13; +} else { +var15 = "\\n\");"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 5l); +var14 = var16; +varonce13 = var14; } +((struct instance_standard__NativeArray*)var)->values[6]=var14; +} else { +var = varonce; +varonce = NULL; } { -var18 = nit___nit__Location___standard__string__Object__to_s(var15); +var17 = standard__string___Object___class_name(self); } -if (varonce19) { -var20 = varonce19; -} else { -var21 = "\\n\");"; -var22 = 5; -var23 = standard___standard__NativeString___to_s_with_length(var21, var22); -var20 = var23; -varonce19 = var20; +((struct instance_standard__NativeArray*)var)->values[1]=var17; +{ +var18 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on */ } -var24 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var24 = array_instance Array[Object] */ -var25 = 7; -var26 = NEW_standard__NativeArray(var25, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var26)->values[0] = (val*) var; -((struct instance_standard__NativeArray*)var26)->values[1] = (val*) var4; -((struct instance_standard__NativeArray*)var26)->values[2] = (val*) var6; -((struct instance_standard__NativeArray*)var26)->values[3] = (val*) var_mpropdef; -((struct instance_standard__NativeArray*)var26)->values[4] = (val*) var11; -((struct instance_standard__NativeArray*)var26)->values[5] = (val*) var18; -((struct instance_standard__NativeArray*)var26)->values[6] = (val*) var20; +((struct instance_standard__NativeArray*)var)->values[3]=var18; { -((void (*)(val* self, val* p0, long p1))(var24->class->vft[COLOR_standard__array__Array__with_native]))(var24, var26, var25) /* with_native on */; +{ /* Inline parser_nodes#ANode#location (self) on */ +var21 = self->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} } +{ +var22 = nit___nit__Location___standard__string__Object__to_s(var19); } +((struct instance_standard__NativeArray*)var)->values[5]=var22; { -var27 = ((val* (*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24) /* to_s on */; +var23 = ((val*(*)(val* self))(var->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var); /* native_to_s on */ } +varonce = var; { -nit___nit__AbstractCompilerVisitor___add(var_v, var27); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var23); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } -if (varonce28) { -var29 = varonce28; +if (likely(varonce24!=NULL)) { +var25 = varonce24; } else { -var30 = "Not yet implemented"; -var31 = 19; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; +var26 = "Not yet implemented"; +var27 = standard___standard__NativeString___to_s_with_length(var26, 19l); +var25 = var27; +varonce24 = var25; } { -nit___nit__ANode___debug(self, var29); /* Direct call parser_nodes#ANode#debug on */ +nit___nit__ANode___debug(self, var25); /* Direct call parser_nodes#ANode#debug on */ } RET_LABEL:; } /* method abstract_compiler#APropdef#can_inline for (self: APropdef): Bool */ short int nit__abstract_compiler___APropdef___can_inline(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = 1; -var = var1; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -5530,441 +5013,300 @@ void nit__abstract_compiler___AMethPropdef___APropdef__compile_to_c(val* self, v val* var_v /* var v: AbstractCompilerVisitor */; val* var_mpropdef /* var mpropdef: MMethodDef */; val* var_arguments /* var arguments: Array[RuntimeVariable] */; -short int var /* : Bool */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -val* var4 /* : String */; -val* var_cn /* var cn: String */; -static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -val* var9 /* : MProperty */; -val* var11 /* : MProperty */; -val* var12 /* : String */; -val* var14 /* : String */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : FlatString */; -val* var26 /* : Array[Object] */; -long var27 /* : Int */; -val* var28 /* : NativeArray[Object] */; -val* var29 /* : String */; -val* var30 /* : nullable Array[CallSite] */; -val* var32 /* : nullable Array[CallSite] */; +val* var /* : nullable Array[CallSite] */; +val* var2 /* : nullable Array[CallSite] */; val* var_auto_super_inits /* var auto_super_inits: nullable Array[CallSite] */; -val* var33 /* : null */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -val* var39 /* : Array[RuntimeVariable] */; -long var40 /* : Int */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : Array[RuntimeVariable] */; val* var_ /* var : Array[RuntimeVariable] */; -val* var41 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_args /* var args: Array[RuntimeVariable] */; -val* var_42 /* var : Array[CallSite] */; -val* var43 /* : ArrayIterator[nullable Object] */; -val* var_44 /* var : ArrayIterator[CallSite] */; -short int var45 /* : Bool */; -val* var46 /* : nullable Object */; +val* var_10 /* var : Array[CallSite] */; +val* var11 /* : ArrayIterator[nullable Object] */; +val* var_12 /* var : ArrayIterator[CallSite] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; val* var_auto_super_init /* var auto_super_init: CallSite */; -val* var47 /* : MMethod */; -val* var49 /* : MMethod */; -val* var50 /* : MProperty */; -val* var52 /* : MProperty */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -long var57 /* : Int */; +val* var15 /* : MMethod */; +val* var17 /* : MMethod */; +val* var18 /* : MProperty */; +val* var20 /* : MProperty */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; long var_i /* var i: Int */; -val* var58 /* : MSignature */; -val* var60 /* : MSignature */; -long var61 /* : Int */; -long var62 /* : Int */; -long var63 /* : Int */; -short int var65 /* : Bool */; +val* var25 /* : MSignature */; +val* var27 /* : MSignature */; +long var28 /* : Int */; +long var29 /* : Int */; +short int var31 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var66 /* : Int */; -long var_67 /* var : Int */; -short int var68 /* : Bool */; +long var32 /* : Int */; +long var_33 /* var : Int */; +short int var34 /* : Bool */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +const char* var_class_name39; +short int var40 /* : Bool */; +val* var41 /* : nullable Object */; +long var42 /* : Int */; +val* var43 /* : MMethod */; +val* var45 /* : MMethod */; +val* var46 /* : MProperty */; +val* var48 /* : MProperty */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +val* var53 /* : nullable RuntimeVariable */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +val* var58 /* : nullable Object */; +val* var59 /* : MType */; +val* var61 /* : MType */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; +val* var66 /* : nullable RuntimeVariable */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; short int var70 /* : Bool */; -int cltype71; -int idtype72; -const char* var_class_name73; -short int var74 /* : Bool */; -val* var75 /* : nullable Object */; -long var76 /* : Int */; -long var77 /* : Int */; -val* var78 /* : MMethod */; -val* var80 /* : MMethod */; -val* var81 /* : MProperty */; -val* var83 /* : MProperty */; -short int var84 /* : Bool */; +short int var71 /* : Bool */; +short int var73 /* : Bool */; +val* var74 /* : MProperty */; +val* var76 /* : MProperty */; +short int var77 /* : Bool */; +short int var79 /* : Bool */; +short int var80 /* : Bool */; +short int var81 /* : Bool */; +val* var82 /* : nullable AExpr */; +val* var84 /* : nullable AExpr */; +val* var_n_block /* var n_block: nullable AExpr */; +short int var85 /* : Bool */; short int var86 /* : Bool */; -short int var87 /* : Bool */; -val* var88 /* : nullable RuntimeVariable */; -short int var91 /* : Bool */; -short int var93 /* : Bool */; -val* var94 /* : nullable Object */; -val* var95 /* : MType */; -val* var97 /* : MType */; +short int var88 /* : Bool */; +short int var89 /* : Bool */; +long var_i90 /* var i: Int */; +val* var91 /* : nullable MSignature */; +val* var93 /* : nullable MSignature */; +long var94 /* : Int */; +long var_95 /* var : Int */; +short int var96 /* : Bool */; short int var98 /* : Bool */; -int cltype99; -int idtype100; -const char* var_class_name101; -val* var102 /* : nullable RuntimeVariable */; -short int var103 /* : Bool */; -short int var105 /* : Bool */; -short int var106 /* : Bool */; -short int var107 /* : Bool */; -short int var109 /* : Bool */; -val* var110 /* : MProperty */; -val* var112 /* : MProperty */; -short int var113 /* : Bool */; -short int var115 /* : Bool */; -short int var116 /* : Bool */; -short int var117 /* : Bool */; -val* var118 /* : nullable AExpr */; -val* var120 /* : nullable AExpr */; -val* var_n_block /* var n_block: nullable AExpr */; -val* var121 /* : null */; -short int var122 /* : Bool */; -short int var123 /* : Bool */; -short int var125 /* : Bool */; -short int var126 /* : Bool */; -long var127 /* : Int */; -long var_i128 /* var i: Int */; -val* var129 /* : nullable MSignature */; -val* var131 /* : nullable MSignature */; -long var132 /* : Int */; -long var_133 /* var : Int */; -short int var134 /* : Bool */; -short int var136 /* : Bool */; -int cltype137; -int idtype138; -const char* var_class_name139; -short int var140 /* : Bool */; -val* var141 /* : nullable ASignature */; -val* var143 /* : nullable ASignature */; -val* var144 /* : ANodes[AParam] */; -val* var146 /* : ANodes[AParam] */; -val* var147 /* : ANode */; -val* var148 /* : nullable Variable */; -val* var150 /* : nullable Variable */; -val* var_variable /* var variable: Variable */; -val* var151 /* : RuntimeVariable */; -long var152 /* : Int */; -long var153 /* : Int */; -short int var155 /* : Bool */; -int cltype156; -int idtype157; -const char* var_class_name158; -long var159 /* : Int */; -val* var160 /* : nullable Object */; -long var161 /* : Int */; -long var162 /* : Int */; -val* var164 /* : nullable Object */; -val* var165 /* : String */; -val* var_cn166 /* var cn: String */; -static val* varonce167; -val* var168 /* : String */; -char* var169 /* : NativeString */; -long var170 /* : Int */; -val* var171 /* : FlatString */; -val* var172 /* : MProperty */; -val* var174 /* : MProperty */; -val* var175 /* : String */; -val* var177 /* : String */; -val* var178 /* : String */; -static val* varonce179; -val* var180 /* : String */; -char* var181 /* : NativeString */; -long var182 /* : Int */; -val* var183 /* : FlatString */; -static val* varonce184; -val* var185 /* : String */; -char* var186 /* : NativeString */; -long var187 /* : Int */; -val* var188 /* : FlatString */; -val* var189 /* : Array[Object] */; -long var190 /* : Int */; -val* var191 /* : NativeArray[Object] */; -val* var192 /* : String */; -var_v = p0; -var_mpropdef = p1; -var_arguments = p2; -{ -{ /* Inline model#MMethodDef#is_abstract (var_mpropdef) on */ -var2 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_abstract].s; /* _is_abstract on */ -var = var2; -RET_LABEL1:(void)0; -} -} -if (var){ -{ -var3 = standard___standard__SequenceRead___Collection__first(var_arguments); -} -{ -var4 = ((val* (*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var3) /* class_name_string on */; -} -var_cn = var4; -if (varonce) { -var5 = varonce; -} else { -var6 = "PRINT_ERROR(\"Runtime error: Abstract method `%s` called on `%s`\", \""; -var7 = 67; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; -} -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var11 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var11 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); -} -var9 = var11; -RET_LABEL10:(void)0; -} -} -{ -{ /* Inline model#MProperty#name (var9) on */ -var14 = var9->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var14 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); -} -var12 = var14; -RET_LABEL13:(void)0; -} -} -{ -var15 = standard___standard__Text___escape_to_c(var12); -} -if (varonce16) { -var17 = varonce16; -} else { -var18 = "\", "; -var19 = 3; -var20 = standard___standard__NativeString___to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; -} -if (varonce21) { -var22 = varonce21; -} else { -var23 = ");"; -var24 = 2; -var25 = standard___standard__NativeString___to_s_with_length(var23, var24); -var22 = var25; -varonce21 = var22; -} -var26 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var26 = array_instance Array[Object] */ -var27 = 5; -var28 = NEW_standard__NativeArray(var27, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var28)->values[0] = (val*) var5; -((struct instance_standard__NativeArray*)var28)->values[1] = (val*) var15; -((struct instance_standard__NativeArray*)var28)->values[2] = (val*) var17; -((struct instance_standard__NativeArray*)var28)->values[3] = (val*) var_cn; -((struct instance_standard__NativeArray*)var28)->values[4] = (val*) var22; -{ -((void (*)(val* self, val* p0, long p1))(var26->class->vft[COLOR_standard__array__Array__with_native]))(var26, var28, var27) /* with_native on */; -} -} -{ -var29 = ((val* (*)(val* self))(var26->class->vft[COLOR_standard__string__Object__to_s]))(var26) /* to_s on */; -} -{ -nit___nit__AbstractCompilerVisitor___add(var_v, var29); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ -} -{ -nit___nit__AbstractCompilerVisitor___add_raw_abort(var_v); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on */ -} -goto RET_LABEL; -} else { -} +int cltype99; +int idtype100; +const char* var_class_name101; +short int var102 /* : Bool */; +val* var103 /* : nullable ASignature */; +val* var105 /* : nullable ASignature */; +val* var106 /* : ANodes[AParam] */; +val* var108 /* : ANodes[AParam] */; +val* var109 /* : ANode */; +val* var110 /* : nullable Variable */; +val* var112 /* : nullable Variable */; +val* var_variable /* var variable: Variable */; +val* var113 /* : RuntimeVariable */; +long var114 /* : Int */; +short int var116 /* : Bool */; +int cltype117; +int idtype118; +const char* var_class_name119; +long var120 /* : Int */; +val* var121 /* : nullable Object */; +long var122 /* : Int */; +val* var124 /* : nullable Object */; +val* var125 /* : String */; +val* var_cn /* var cn: String */; +val* var126 /* : NativeArray[String] */; +static val* varonce; +static val* varonce127; +val* var128 /* : String */; +char* var129 /* : NativeString */; +val* var130 /* : FlatString */; +static val* varonce131; +val* var132 /* : String */; +char* var133 /* : NativeString */; +val* var134 /* : FlatString */; +static val* varonce135; +val* var136 /* : String */; +char* var137 /* : NativeString */; +val* var138 /* : FlatString */; +val* var139 /* : MProperty */; +val* var141 /* : MProperty */; +val* var142 /* : String */; +val* var144 /* : String */; +val* var145 /* : String */; +val* var146 /* : String */; +var_v = p0; +var_mpropdef = p1; +var_arguments = p2; { { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on */ -var32 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val; /* _auto_super_inits on */ -var30 = var32; -RET_LABEL31:(void)0; +var2 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val; /* _auto_super_inits on */ +var = var2; +RET_LABEL1:(void)0; } } -var_auto_super_inits = var30; -var33 = NULL; +var_auto_super_inits = var; if (var_auto_super_inits == NULL) { -var34 = 0; /* is null */ +var3 = 0; /* is null */ } else { -var34 = 1; /* arg is null and recv is not */ +var3 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_auto_super_inits,var33) on */ -var_other = var33; +{ /* Inline kernel#Object#!= (var_auto_super_inits,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var37 = ((short int (*)(val* self, val* p0))(var_auto_super_inits->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_auto_super_inits, var_other) /* == on */; +var6 = ((short int(*)(val* self, val* p0))(var_auto_super_inits->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_auto_super_inits, var_other); /* == on */ } -var38 = !var37; -var35 = var38; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var7 = !var6; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } -var34 = var35; +var3 = var4; } -if (var34){ -var39 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); -var40 = 1; +if (var3){ +var8 = NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable); { -standard___standard__Array___with_capacity(var39, var40); /* Direct call array#Array#with_capacity on */ +standard___standard__Array___with_capacity(var8, 1l); /* Direct call array#Array#with_capacity on */ } -var_ = var39; +var_ = var8; { -var41 = standard___standard__SequenceRead___Collection__first(var_arguments); +var9 = standard___standard__SequenceRead___Collection__first(var_arguments); } { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var41); /* Direct call array#AbstractArray#push on */ +standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var9); /* Direct call array#AbstractArray#push on */ } var_args = var_; -var_42 = var_auto_super_inits; +var_10 = var_auto_super_inits; { -var43 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_42); +var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_10); } -var_44 = var43; +var_12 = var11; for(;;) { { -var45 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_44); +var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); } -if (var45){ +if (var13){ { -var46 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_44); +var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); } -var_auto_super_init = var46; +var_auto_super_init = var14; { { /* Inline typing#CallSite#mproperty (var_auto_super_init) on */ -var49 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ -if (unlikely(var49 == NULL)) { +var17 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 487); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); } -var47 = var49; -RET_LABEL48:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var52 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var52 == NULL)) { +var20 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var50 = var52; -RET_LABEL51:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { -{ /* Inline kernel#Object#!= (var47,var50) on */ -var_other = var50; +{ /* Inline kernel#Object#!= (var15,var18) on */ +var_other = var18; { -var55 = ((short int (*)(val* self, val* p0))(var47->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var47, var_other) /* == on */; +var23 = ((short int(*)(val* self, val* p0))(var15->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var15, var_other); /* == on */ } -var56 = !var55; -var53 = var56; -goto RET_LABEL54; -RET_LABEL54:(void)0; +var24 = !var23; +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (unlikely(!var53)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1908); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2024); +fatal_exit(1); } { standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var_args); /* Direct call array#AbstractArray#clear on */ } -var57 = 0; -var_i = var57; +var_i = 0l; { { /* Inline typing#CallSite#msignature (var_auto_super_init) on */ -var60 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on */ -if (unlikely(var60 == NULL)) { +var27 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on */ +if (unlikely(var27 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 494); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 631); +fatal_exit(1); } -var58 = var60; -RET_LABEL59:(void)0; +var25 = var27; +RET_LABEL26:(void)0; } } { -var61 = nit___nit__MSignature___arity(var58); +var28 = nit___nit__MSignature___arity(var25); } -var62 = 1; { -{ /* Inline kernel#Int#+ (var61,var62) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var65 = 1; /* easy isa OTHER*/ -if (unlikely(!var65)) { +{ /* Inline kernel#Int#+ (var28,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var31 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var31)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var66 = var61 + var62; -var63 = var66; -goto RET_LABEL64; -RET_LABEL64:(void)0; +var32 = var28 + 1l; +var29 = var32; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var_67 = var63; +var_33 = var29; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_67) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var70 = 1; /* easy isa OTHER*/ -if (unlikely(!var70)) { -var_class_name73 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var74 = var_i < var_67; -var68 = var74; -goto RET_LABEL69; -RET_LABEL69:(void)0; +{ /* Inline kernel#Int#< (var_i,var_33) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var36 = 1; /* easy isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var40 = var_i < var_33; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -if (var68){ +if (var34){ { -var75 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); +var41 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var_i); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args, var75); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args, var41); /* Direct call array#Array#add on */ } -var76 = 1; { -var77 = standard___standard__Int___Discrete__successor(var_i, var76); +var42 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var77; +var_i = var42; } else { goto BREAK_label; } @@ -5972,161 +5314,159 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline typing#CallSite#mproperty (var_auto_super_init) on */ -var80 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ -if (unlikely(var80 == NULL)) { +var45 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 487); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624); +fatal_exit(1); } -var78 = var80; -RET_LABEL79:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var83 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var83 == NULL)) { +var48 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var81 = var83; -RET_LABEL82:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } { -{ /* Inline kernel#Object#!= (var78,var81) on */ -var_other = var81; +{ /* Inline kernel#Object#!= (var43,var46) on */ +var_other = var46; { -var86 = ((short int (*)(val* self, val* p0))(var78->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var78, var_other) /* == on */; +var51 = ((short int(*)(val* self, val* p0))(var43->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var43, var_other); /* == on */ } -var87 = !var86; -var84 = var87; -goto RET_LABEL85; -RET_LABEL85:(void)0; +var52 = !var51; +var49 = var52; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -if (unlikely(!var84)) { +if (unlikely(!var49)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1913); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2029); +fatal_exit(1); } { -var88 = ((val* (*)(val* self, val* p0, val* p1))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(var_v, var_auto_super_init, var_args) /* compile_callsite on */; +var53 = ((val*(*)(val* self, val* p0, val* p1))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(var_v, var_auto_super_init, var_args); /* compile_callsite on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_44); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label89; +goto BREAK_label54; } } -BREAK_label89: (void)0; +BREAK_label54: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_44) on */ -RET_LABEL90:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ } } else { } { { /* Inline auto_super_init#AMethPropdef#auto_super_call (self) on */ -var93 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_call].s; /* _auto_super_call on */ -var91 = var93; -RET_LABEL92:(void)0; +var57 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_call].s; /* _auto_super_call on */ +var55 = var57; +RET_LABEL56:(void)0; } } -if (var91){ +if (var55){ { -var94 = standard___standard__SequenceRead___Collection__first(var_arguments); +var58 = standard___standard__SequenceRead___Collection__first(var_arguments); } { -{ /* Inline abstract_compiler#RuntimeVariable#mtype (var94) on */ -var97 = var94->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ -if (unlikely(var97 == NULL)) { +{ /* Inline abstract_compiler#RuntimeVariable#mtype (var58) on */ +var61 = var58->attrs[COLOR_nit__abstract_compiler__RuntimeVariable___mtype].val; /* _mtype on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1680); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1784); +fatal_exit(1); } -var95 = var97; -RET_LABEL96:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } -/* isa MClassType */ -cltype99 = type_nit__MClassType.color; -idtype100 = type_nit__MClassType.id; -if(cltype99 >= var95->type->table_size) { -var98 = 0; +/* isa MClassType */ +cltype63 = type_nit__MClassType.color; +idtype64 = type_nit__MClassType.id; +if(cltype63 >= var59->type->table_size) { +var62 = 0; } else { -var98 = var95->type->type_table[cltype99] == idtype100; +var62 = var59->type->type_table[cltype63] == idtype64; } -if (unlikely(!var98)) { -var_class_name101 = var95 == NULL ? "null" : var95->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name101); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1918); -show_backtrace(1); +if (unlikely(!var62)) { +var_class_name65 = var59 == NULL ? "null" : var59->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2034); +fatal_exit(1); } { -var102 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__supercall(var_v, var_mpropdef, var95, var_arguments); +var66 = nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__supercall(var_v, var_mpropdef, var59, var_arguments); } } else { } { { /* Inline model#MMethodDef#is_intern (var_mpropdef) on */ -var105 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_intern].s; /* _is_intern on */ -var103 = var105; -RET_LABEL104:(void)0; +var69 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_intern].s; /* _is_intern on */ +var67 = var69; +RET_LABEL68:(void)0; } } -if (var103){ +if (var67){ { -var106 = nit__abstract_compiler___AMethPropdef___compile_intern_to_c(self, var_v, var_mpropdef, var_arguments); +var70 = nit__abstract_compiler___AMethPropdef___compile_intern_to_c(self, var_v, var_mpropdef, var_arguments); } -if (var106){ +if (var70){ goto RET_LABEL; } else { } } else { { { /* Inline model#MMethodDef#is_extern (var_mpropdef) on */ -var109 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_extern].s; /* _is_extern on */ -var107 = var109; -RET_LABEL108:(void)0; +var73 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___is_extern].s; /* _is_extern on */ +var71 = var73; +RET_LABEL72:(void)0; } } -if (var107){ +if (var71){ { { /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var112 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var112 == NULL)) { +var76 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var76 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var110 = var112; -RET_LABEL111:(void)0; +var74 = var76; +RET_LABEL75:(void)0; } } { -{ /* Inline model#MMethod#is_init (var110) on */ -var115 = var110->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ -var113 = var115; -RET_LABEL114:(void)0; +{ /* Inline model#MMethod#is_init (var74) on */ +var79 = var74->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on */ +var77 = var79; +RET_LABEL78:(void)0; } } -if (var113){ +if (var77){ { -var116 = nit__abstract_compiler___AMethPropdef___compile_externinit_to_c(self, var_v, var_mpropdef, var_arguments); +var80 = nit__light___AMethPropdef___compile_externinit_to_c(self, var_v, var_mpropdef, var_arguments); } -if (var116){ +if (var80){ goto RET_LABEL; } else { } } else { { -var117 = nit__abstract_compiler___AMethPropdef___compile_externmeth_to_c(self, var_v, var_mpropdef, var_arguments); +var81 = nit__light___AMethPropdef___compile_externmeth_to_c(self, var_v, var_mpropdef, var_arguments); } -if (var117){ +if (var81){ goto RET_LABEL; } else { } @@ -6136,149 +5476,145 @@ goto RET_LABEL; } { { /* Inline parser_nodes#AMethPropdef#n_block (self) on */ -var120 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ -var118 = var120; -RET_LABEL119:(void)0; +var84 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +var82 = var84; +RET_LABEL83:(void)0; } } -var_n_block = var118; -var121 = NULL; +var_n_block = var82; if (var_n_block == NULL) { -var122 = 0; /* is null */ +var85 = 0; /* is null */ } else { -var122 = 1; /* arg is null and recv is not */ +var85 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n_block,var121) on */ -var_other = var121; +{ /* Inline kernel#Object#!= (var_n_block,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var125 = ((short int (*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other) /* == on */; +var88 = ((short int(*)(val* self, val* p0))(var_n_block->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_n_block, var_other); /* == on */ } -var126 = !var125; -var123 = var126; -goto RET_LABEL124; -RET_LABEL124:(void)0; +var89 = !var88; +var86 = var89; +goto RET_LABEL87; +RET_LABEL87:(void)0; } -var122 = var123; +var85 = var86; } -if (var122){ -var127 = 0; -var_i128 = var127; +if (var85){ +var_i90 = 0l; { { /* Inline model#MMethodDef#msignature (var_mpropdef) on */ -var131 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ -var129 = var131; -RET_LABEL130:(void)0; +var93 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on */ +var91 = var93; +RET_LABEL92:(void)0; } } -if (var129 == NULL) { +if (var91 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1935); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2051); +fatal_exit(1); } else { -var132 = nit___nit__MSignature___arity(var129); +var94 = nit___nit__MSignature___arity(var91); } -var_133 = var132; +var_95 = var94; for(;;) { { -{ /* Inline kernel#Int#< (var_i128,var_133) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var136 = 1; /* easy isa OTHER*/ -if (unlikely(!var136)) { -var_class_name139 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_i90,var_95) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var98 = 1; /* easy isa OTHER*/ +if (unlikely(!var98)) { +var_class_name101 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name101); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var140 = var_i128 < var_133; -var134 = var140; -goto RET_LABEL135; -RET_LABEL135:(void)0; +var102 = var_i90 < var_95; +var96 = var102; +goto RET_LABEL97; +RET_LABEL97:(void)0; } } -if (var134){ +if (var96){ { { /* Inline parser_nodes#AMethPropdef#n_signature (self) on */ -var143 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ -var141 = var143; -RET_LABEL142:(void)0; +var105 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_signature].val; /* _n_signature on */ +var103 = var105; +RET_LABEL104:(void)0; } } -if (var141 == NULL) { +if (var103 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1936); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2052); +fatal_exit(1); } else { -{ /* Inline parser_nodes#ASignature#n_params (var141) on */ -if (unlikely(var141 == NULL)) { +{ /* Inline parser_nodes#ASignature#n_params (var103) on */ +if (unlikely(var103 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -var146 = var141->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ -if (unlikely(var146 == NULL)) { +var108 = var103->attrs[COLOR_nit__parser_nodes__ASignature___n_params].val; /* _n_params on */ +if (unlikely(var108 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_params"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1506); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1693); +fatal_exit(1); } -var144 = var146; -RET_LABEL145:(void)0; +var106 = var108; +RET_LABEL107:(void)0; } } { -var147 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var144, var_i128); +var109 = nit___nit__ANodes___standard__abstract_collection__SequenceRead___91d_93d(var106, var_i90); } { -{ /* Inline scope#AParam#variable (var147) on */ -var150 = var147->attrs[COLOR_nit__scope__AParam___variable].val; /* _variable on */ -var148 = var150; -RET_LABEL149:(void)0; +{ /* Inline scope#AParam#variable (var109) on */ +var112 = var109->attrs[COLOR_nit__scope__AParam___variable].val; /* _variable on */ +var110 = var112; +RET_LABEL111:(void)0; } } -if (unlikely(var148 == NULL)) { +if (unlikely(var110 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1936); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2052); +fatal_exit(1); } -var_variable = var148; +var_variable = var110; { -var151 = nit___nit__AbstractCompilerVisitor___variable(var_v, var_variable); +var113 = nit___nit__AbstractCompilerVisitor___variable(var_v, var_variable); } -var152 = 1; { -{ /* Inline kernel#Int#+ (var_i128,var152) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var155 = 1; /* easy isa OTHER*/ -if (unlikely(!var155)) { -var_class_name158 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name158); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i90,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var116 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var116)) { +var_class_name119 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name119); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var159 = var_i128 + var152; -var153 = var159; -goto RET_LABEL154; -RET_LABEL154:(void)0; +var120 = var_i90 + 1l; +var114 = var120; +goto RET_LABEL115; +RET_LABEL115:(void)0; } } { -var160 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var153); +var121 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments, var114); } { -nit___nit__AbstractCompilerVisitor___assign(var_v, var151, var160); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ +nit___nit__AbstractCompilerVisitor___assign(var_v, var113, var121); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on */ } -var161 = 1; { -var162 = standard___standard__Int___Discrete__successor(var_i128, var161); +var122 = standard___standard__Int___Discrete__successor(var_i90, 1l); } -var_i128 = var162; +var_i90 = var122; } else { -goto BREAK_label163; +goto BREAK_label123; } } -BREAK_label163: (void)0; +BREAK_label123: (void)0; { nit___nit__AbstractCompilerVisitor___stmt(var_v, var_n_block); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on */ } @@ -6286,84 +5622,80 @@ goto RET_LABEL; } else { } { -var164 = standard___standard__SequenceRead___Collection__first(var_arguments); +var124 = standard___standard__SequenceRead___Collection__first(var_arguments); } { -var165 = ((val* (*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var164) /* class_name_string on */; +var125 = ((val*(*)(val* self, val* p0))(var_v->class->vft[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var124); /* class_name_string on */ } -var_cn166 = var165; -if (varonce167) { -var168 = varonce167; +var_cn = var125; +if (unlikely(varonce==NULL)) { +var126 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce127!=NULL)) { +var128 = varonce127; } else { -var169 = "PRINT_ERROR(\"Runtime error: uncompiled method `%s` called on `%s`. NOT YET IMPLEMENTED\", \""; -var170 = 90; -var171 = standard___standard__NativeString___to_s_with_length(var169, var170); -var168 = var171; -varonce167 = var168; +var129 = "PRINT_ERROR(\"Runtime error: uncompiled method `%s` called on `%s`. NOT YET IMPLEMENTED\", \""; +var130 = standard___standard__NativeString___to_s_with_length(var129, 90l); +var128 = var130; +varonce127 = var128; } -{ -{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ -var174 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var174 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +((struct instance_standard__NativeArray*)var126)->values[0]=var128; +if (likely(varonce131!=NULL)) { +var132 = varonce131; +} else { +var133 = "\", "; +var134 = standard___standard__NativeString___to_s_with_length(var133, 3l); +var132 = var134; +varonce131 = var132; } -var172 = var174; -RET_LABEL173:(void)0; +((struct instance_standard__NativeArray*)var126)->values[2]=var132; +if (likely(varonce135!=NULL)) { +var136 = varonce135; +} else { +var137 = ");"; +var138 = standard___standard__NativeString___to_s_with_length(var137, 2l); +var136 = var138; +varonce135 = var136; } +((struct instance_standard__NativeArray*)var126)->values[4]=var136; +} else { +var126 = varonce; +varonce = NULL; } { -{ /* Inline model#MProperty#name (var172) on */ -var177 = var172->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var177 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +{ /* Inline model#MPropDef#mproperty (var_mpropdef) on */ +var141 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var141 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var175 = var177; -RET_LABEL176:(void)0; +var139 = var141; +RET_LABEL140:(void)0; } } { -var178 = standard___standard__Text___escape_to_c(var175); +{ /* Inline model#MProperty#name (var139) on */ +var144 = var139->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var144 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -if (varonce179) { -var180 = varonce179; -} else { -var181 = "\", "; -var182 = 3; -var183 = standard___standard__NativeString___to_s_with_length(var181, var182); -var180 = var183; -varonce179 = var180; +var142 = var144; +RET_LABEL143:(void)0; } -if (varonce184) { -var185 = varonce184; -} else { -var186 = ");"; -var187 = 2; -var188 = standard___standard__NativeString___to_s_with_length(var186, var187); -var185 = var188; -varonce184 = var185; } -var189 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var189 = array_instance Array[Object] */ -var190 = 5; -var191 = NEW_standard__NativeArray(var190, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var191)->values[0] = (val*) var168; -((struct instance_standard__NativeArray*)var191)->values[1] = (val*) var178; -((struct instance_standard__NativeArray*)var191)->values[2] = (val*) var180; -((struct instance_standard__NativeArray*)var191)->values[3] = (val*) var_cn166; -((struct instance_standard__NativeArray*)var191)->values[4] = (val*) var185; { -((void (*)(val* self, val* p0, long p1))(var189->class->vft[COLOR_standard__array__Array__with_native]))(var189, var191, var190) /* with_native on */; -} +var145 = standard___standard__Text___escape_to_c(var142); } +((struct instance_standard__NativeArray*)var126)->values[1]=var145; +((struct instance_standard__NativeArray*)var126)->values[3]=var_cn; { -var192 = ((val* (*)(val* self))(var189->class->vft[COLOR_standard__string__Object__to_s]))(var189) /* to_s on */; +var146 = ((val*(*)(val* self))(var126->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var126); /* native_to_s on */ } +varonce = var126; { -nit___nit__AbstractCompilerVisitor___add(var_v, var192); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ +nit___nit__AbstractCompilerVisitor___add(var_v, var146); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on */ } { nit___nit__AbstractCompilerVisitor___add_raw_abort(var_v); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_raw_abort on */ @@ -6375,79 +5707,68 @@ short int nit__abstract_compiler___AMethPropdef___APropdef__can_inline(val* self short int var /* : Bool */; val* var1 /* : nullable Array[CallSite] */; val* var3 /* : nullable Array[CallSite] */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; +val* var9 /* : nullable AExpr */; val* var11 /* : nullable AExpr */; -val* var13 /* : nullable AExpr */; val* var_nblock /* var nblock: nullable AExpr */; -val* var14 /* : null */; -short int var15 /* : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +val* var_other15 /* var other: nullable Object */; short int var16 /* : Bool */; -val* var_other18 /* var other: nullable Object */; +short int var18 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -val* var25 /* : nullable MPropDef */; -val* var27 /* : nullable MPropDef */; -val* var28 /* : MProperty */; -val* var30 /* : MProperty */; -val* var31 /* : String */; -val* var33 /* : String */; +short int var20 /* : Bool */; +val* var21 /* : nullable MPropDef */; +val* var23 /* : nullable MPropDef */; +val* var24 /* : MProperty */; +val* var26 /* : MProperty */; +val* var27 /* : String */; +val* var29 /* : String */; static val* varonce; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : FlatString */; -short int var38 /* : Bool */; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; +short int var33 /* : Bool */; short int var_ /* var : Bool */; -val* var39 /* : nullable MPropDef */; -val* var41 /* : nullable MPropDef */; -val* var42 /* : MProperty */; -val* var44 /* : MProperty */; -val* var45 /* : String */; -val* var47 /* : String */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -short int var53 /* : Bool */; -short int var_54 /* var : Bool */; -val* var55 /* : nullable MPropDef */; -val* var57 /* : nullable MPropDef */; -val* var58 /* : MClassDef */; -val* var60 /* : MClassDef */; -val* var61 /* : MClass */; -val* var63 /* : MClass */; -val* var64 /* : String */; -val* var66 /* : String */; -static val* varonce67; -val* var68 /* : String */; -char* var69 /* : NativeString */; -long var70 /* : Int */; -val* var71 /* : FlatString */; -short int var72 /* : Bool */; -short int var73 /* : Bool */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; +val* var34 /* : nullable MPropDef */; +val* var36 /* : nullable MPropDef */; +val* var37 /* : MProperty */; +val* var39 /* : MProperty */; +val* var40 /* : String */; +val* var42 /* : String */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +val* var46 /* : FlatString */; +short int var47 /* : Bool */; +short int var_48 /* var : Bool */; +val* var49 /* : nullable MPropDef */; +val* var51 /* : nullable MPropDef */; +val* var52 /* : MClassDef */; +val* var54 /* : MClassDef */; +val* var55 /* : MClass */; +val* var57 /* : MClass */; +val* var58 /* : String */; +val* var60 /* : String */; +static val* varonce61; +val* var62 /* : String */; +char* var63 /* : NativeString */; +val* var64 /* : FlatString */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +short int var67 /* : Bool */; int cltype; int idtype; -short int var_76 /* var : Bool */; -val* var77 /* : ANodes[AExpr] */; -val* var79 /* : ANodes[AExpr] */; -long var80 /* : Int */; -long var81 /* : Int */; -short int var82 /* : Bool */; -short int var84 /* : Bool */; -short int var85 /* : Bool */; -short int var86 /* : Bool */; +short int var_68 /* var : Bool */; +val* var69 /* : ANodes[AExpr] */; +val* var71 /* : ANodes[AExpr] */; +long var72 /* : Int */; +short int var73 /* : Bool */; +short int var75 /* : Bool */; { { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on */ var3 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val; /* _auto_super_inits on */ @@ -6455,251 +5776,243 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = NULL; if (var1 == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var1,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ -var10 = 0; -var = var10; +if (var4){ +var = 0; goto RET_LABEL; } else { } { { /* Inline parser_nodes#AMethPropdef#n_block (self) on */ -var13 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ -var11 = var13; -RET_LABEL12:(void)0; +var11 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on */ +var9 = var11; +RET_LABEL10:(void)0; } } -var_nblock = var11; -var14 = NULL; +var_nblock = var9; if (var_nblock == NULL) { -var15 = 1; /* is null */ +var12 = 1; /* is null */ } else { -var15 = 0; /* arg is null but recv is not */ +var12 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nblock,var14) on */ -var_other18 = var14; +{ /* Inline kernel#Object#== (var_nblock,((val*)NULL)) on */ +var_other15 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nblock,var_other18) on */ -var21 = var_nblock == var_other18; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; -} -} -var16 = var19; +{ /* Inline kernel#Object#is_same_instance (var_nblock,var_other15) on */ +var18 = var_nblock == var_other15; +var16 = var18; goto RET_LABEL17; RET_LABEL17:(void)0; } -var15 = var16; } -if (var15){ -var22 = 1; -var = var22; +var13 = var16; +goto RET_LABEL14; +RET_LABEL14:(void)0; +} +var12 = var13; +} +if (var12){ +var = 1; goto RET_LABEL; } else { } { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var27 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var25 = var27; -RET_LABEL26:(void)0; +var23 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var21 = var23; +RET_LABEL22:(void)0; } } -if (var25 == NULL) { +if (var21 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1954); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2070); +fatal_exit(1); } else { -{ /* Inline model#MPropDef#mproperty (var25) on */ -if (unlikely(var25 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var21) on */ +if (unlikely(var21 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var30 = var25->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var30 == NULL)) { +var26 = var21->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var28 = var30; -RET_LABEL29:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline model#MProperty#name (var28) on */ -var33 = var28->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var33 == NULL)) { +{ /* Inline model#MProperty#name (var24) on */ +var29 = var24->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var27 = var29; +RET_LABEL28:(void)0; } } -if (varonce) { -var34 = varonce; +if (likely(varonce!=NULL)) { +var30 = varonce; } else { -var35 = "=="; -var36 = 2; -var37 = standard___standard__NativeString___to_s_with_length(var35, var36); -var34 = var37; -varonce = var34; +var31 = "=="; +var32 = standard___standard__NativeString___to_s_with_length(var31, 2l); +var30 = var32; +varonce = var30; } { -var38 = ((short int (*)(val* self, val* p0))(var31->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var31, var34) /* == on */; +var33 = ((short int(*)(val* self, val* p0))(var27->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var27, var30); /* == on */ } -var_ = var38; -if (var38){ -var24 = var_; +var_ = var33; +if (var33){ +var20 = var_; } else { { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var41 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var39 = var41; -RET_LABEL40:(void)0; +var36 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var34 = var36; +RET_LABEL35:(void)0; } } -if (var39 == NULL) { +if (var34 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1954); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2070); +fatal_exit(1); } else { -{ /* Inline model#MPropDef#mproperty (var39) on */ -if (unlikely(var39 == NULL)) { +{ /* Inline model#MPropDef#mproperty (var34) on */ +if (unlikely(var34 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var44 = var39->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ -if (unlikely(var44 == NULL)) { +var39 = var34->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on */ +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2013); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212); +fatal_exit(1); } -var42 = var44; -RET_LABEL43:(void)0; +var37 = var39; +RET_LABEL38:(void)0; } } { -{ /* Inline model#MProperty#name (var42) on */ -var47 = var42->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ -if (unlikely(var47 == NULL)) { +{ /* Inline model#MProperty#name (var37) on */ +var42 = var37->attrs[COLOR_nit__model__MProperty___name].val; /* _name on */ +if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1741); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933); +fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var40 = var42; +RET_LABEL41:(void)0; } } -if (varonce48) { -var49 = varonce48; +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var50 = "!="; -var51 = 2; -var52 = standard___standard__NativeString___to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; +var45 = "!="; +var46 = standard___standard__NativeString___to_s_with_length(var45, 2l); +var44 = var46; +varonce43 = var44; } { -var53 = ((short int (*)(val* self, val* p0))(var45->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var45, var49) /* == on */; +var47 = ((short int(*)(val* self, val* p0))(var40->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var40, var44); /* == on */ } -var24 = var53; +var20 = var47; } -var_54 = var24; -if (var24){ +var_48 = var20; +if (var20){ { { /* Inline modelize_property#APropdef#mpropdef (self) on */ -var57 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ -var55 = var57; -RET_LABEL56:(void)0; +var51 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on */ +var49 = var51; +RET_LABEL50:(void)0; } } -if (var55 == NULL) { +if (var49 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 1954); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler, 2070); +fatal_exit(1); } else { -{ /* Inline model#MPropDef#mclassdef (var55) on */ -if (unlikely(var55 == NULL)) { +{ /* Inline model#MPropDef#mclassdef (var49) on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var60 = var55->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ -if (unlikely(var60 == NULL)) { +var54 = var49->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2010); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209); +fatal_exit(1); } -var58 = var60; -RET_LABEL59:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var58) on */ -var63 = var58->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var63 == NULL)) { +{ /* Inline model#MClassDef#mclass (var52) on */ +var57 = var52->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 492); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553); +fatal_exit(1); } -var61 = var63; -RET_LABEL62:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -{ /* Inline model#MClass#name (var61) on */ -var66 = var61->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ -if (unlikely(var66 == NULL)) { +{ /* Inline model#MClass#name (var55) on */ +var60 = var55->attrs[COLOR_nit__model__MClass___name].val; /* _name on */ +if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 348); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 362); +fatal_exit(1); } -var64 = var66; -RET_LABEL65:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } -if (varonce67) { -var68 = varonce67; +if (likely(varonce61!=NULL)) { +var62 = varonce61; } else { -var69 = "Object"; -var70 = 6; -var71 = standard___standard__NativeString___to_s_with_length(var69, var70); -var68 = var71; -varonce67 = var68; +var63 = "Object"; +var64 = standard___standard__NativeString___to_s_with_length(var63, 6l); +var62 = var64; +varonce61 = var62; } { -var72 = ((short int (*)(val* self, val* p0))(var64->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var64, var68) /* == on */; +var65 = ((short int(*)(val* self, val* p0))(var58->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var58, var62); /* == on */ } -var23 = var72; +var19 = var65; } else { -var23 = var_54; +var19 = var_48; } -if (var23){ -var73 = 1; -var = var73; +if (var19){ +var = 1; goto RET_LABEL; } else { } @@ -6707,48 +6020,45 @@ goto RET_LABEL; cltype = type_nit__ABlockExpr.color; idtype = type_nit__ABlockExpr.id; if(cltype >= var_nblock->type->table_size) { -var75 = 0; +var67 = 0; } else { -var75 = var_nblock->type->type_table[cltype] == idtype; +var67 = var_nblock->type->type_table[cltype] == idtype; } -var_76 = var75; -if (var75){ +var_68 = var67; +if (var67){ { { /* Inline parser_nodes#ABlockExpr#n_expr (var_nblock) on */ -var79 = var_nblock->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ -if (unlikely(var79 == NULL)) { +var71 = var_nblock->attrs[COLOR_nit__parser_nodes__ABlockExpr___n_expr].val; /* _n_expr on */ +if (unlikely(var71 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1565); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1758); +fatal_exit(1); } -var77 = var79; -RET_LABEL78:(void)0; +var69 = var71; +RET_LABEL70:(void)0; } } { -var80 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var77); +var72 = nit___nit__ANodes___standard__abstract_collection__Collection__length(var69); } -var81 = 0; { -{ /* Inline kernel#Int#== (var80,var81) on */ -var84 = var80 == var81; -var82 = var84; -goto RET_LABEL83; -RET_LABEL83:(void)0; +{ /* Inline kernel#Int#== (var72,0l) on */ +var75 = var72 == 0l; +var73 = var75; +goto RET_LABEL74; +RET_LABEL74:(void)0; } } -var74 = var82; +var66 = var73; } else { -var74 = var_76; +var66 = var_68; } -if (var74){ -var85 = 1; -var = var85; +if (var66){ +var = 1; goto RET_LABEL; } else { } -var86 = 0; -var = var86; +var = 0; goto RET_LABEL; RET_LABEL:; return var;