#include "abstract_compiler.sep.0.h"
+/* method abstract_compiler#AbstractCompilerVisitor#ret for (self: AbstractCompilerVisitor, RuntimeVariable) */
+void abstract_compiler__AbstractCompilerVisitor__ret(val* self, val* p0) {
+val* var_s /* var s: RuntimeVariable */;
+val* var /* : nullable Frame */;
+val* var1 /* : nullable RuntimeVariable */;
+static val* varonce;
+val* var2 /* : String */;
+char* var3 /* : NativeString */;
+long var4 /* : Int */;
+val* var5 /* : String */;
+val* var6 /* : nullable Frame */;
+val* var7 /* : nullable String */;
+static val* varonce8;
+val* var9 /* : String */;
+char* var10 /* : NativeString */;
+long var11 /* : Int */;
+val* var12 /* : String */;
+val* var13 /* : Array[Object] */;
+long var14 /* : Int */;
+val* var15 /* : NativeArray[Object] */;
+val* var16 /* : String */;
+var_s = p0;
+var = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(self) /* frame on <self:AbstractCompilerVisitor>*/;
+if (var == NULL) {
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 925);
+exit(1);
+} else {
+var1 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_compiler__Frame__returnvar]))(var) /* returnvar on <var:nullable Frame>*/;
+}
+if (var1 == NULL) {
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 925);
+exit(1);
+}
+((void (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(self, var1, var_s) /* assign on <self:AbstractCompilerVisitor>*/;
+if (varonce) {
+var2 = varonce;
+} else {
+var3 = "goto ";
+var4 = 5;
+var5 = string__NativeString__to_s_with_length(var3, var4);
+var2 = var5;
+varonce = var2;
+}
+var6 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(self) /* frame on <self:AbstractCompilerVisitor>*/;
+if (var6 == NULL) {
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 926);
+exit(1);
+} else {
+var7 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_compiler__Frame__returnlabel]))(var6) /* returnlabel on <var6:nullable Frame>*/;
+}
+if (var7 == NULL) {
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 926);
+exit(1);
+}
+if (varonce8) {
+var9 = varonce8;
+} else {
+var10 = ";";
+var11 = 1;
+var12 = string__NativeString__to_s_with_length(var10, var11);
+var9 = var12;
+varonce8 = var9;
+}
+var13 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var13 = array_instance Array[Object] */
+var14 = 3;
+var15 = NEW_array__NativeArray(var14, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var15)->values[0] = (val*) var2;
+((struct instance_array__NativeArray*)var15)->values[1] = (val*) var7;
+((struct instance_array__NativeArray*)var15)->values[2] = (val*) var9;
+((void (*)(val*, val*, long))(var13->class->vft[COLOR_array__Array__with_native]))(var13, var15, var14) /* with_native on <var13:Array[Object]>*/;
+CHECK_NEW_array__Array(var13);
+}
+var16 = ((val* (*)(val*))(var13->class->vft[COLOR_string__Object__to_s]))(var13) /* to_s on <var13:Array[Object]>*/;
+((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(self, var16) /* add on <self:AbstractCompilerVisitor>*/;
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#ret for (self: Object, RuntimeVariable) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__ret(val* self, val* p0) {
+abstract_compiler__AbstractCompilerVisitor__ret(self, p0);
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */
+void abstract_compiler__AbstractCompilerVisitor__stmt(val* self, val* p0) {
+val* var_nexpr /* var nexpr: nullable AExpr */;
+val* var /* : null */;
+short int var1 /* : Bool */;
+val* var2 /* : nullable ANode */;
+val* var_old /* var old: nullable ANode */;
+var_nexpr = p0;
+var = NULL;
+if (var_nexpr == NULL) {
+var1 = 1; /* is null */
+} else {
+var1 = 0; /* arg is null but recv is not */
+}
+if (var1){
+goto RET_LABEL;
+} else {
+}
+var2 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node]))(self) /* current_node on <self:AbstractCompilerVisitor>*/;
+var_old = var2;
+((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d]))(self, var_nexpr) /* current_node= on <self:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*))(var_nexpr->class->vft[COLOR_abstract_compiler__AExpr__stmt]))(var_nexpr, self) /* stmt on <var_nexpr:nullable AExpr(AExpr)>*/;
+((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d]))(self, var_old) /* current_node= on <self:AbstractCompilerVisitor>*/;
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: Object, nullable AExpr) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__stmt(val* self, val* p0) {
+abstract_compiler__AbstractCompilerVisitor__stmt(self, p0);
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */
+val* abstract_compiler__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* var_old /* var old: nullable ANode */;
+val* var2 /* : nullable RuntimeVariable */;
+val* var_res /* var res: RuntimeVariable */;
+val* var3 /* : null */;
+short int var4 /* : Bool */;
+val* var5 /* : MType */;
+val* var6 /* : RuntimeVariable */;
+val* var7 /* : nullable MType */;
+val* var8 /* : RuntimeVariable */;
+val* var9 /* : nullable MType */;
+val* var_implicit_cast_to /* var implicit_cast_to: nullable MType */;
+short int var10 /* : Bool */;
+val* var11 /* : null */;
+short int var12 /* : Bool */;
+short int var_ /* var : Bool */;
+val* var13 /* : AbstractCompiler */;
+val* var14 /* : ModelBuilder */;
+val* var15 /* : ToolContext */;
+val* var16 /* : OptionBool */;
+val* var17 /* : nullable Object */;
+short int var18 /* : Bool */;
+short int var19 /* : Bool */;
+static val* varonce;
+val* var20 /* : String */;
+char* var21 /* : NativeString */;
+long var22 /* : Int */;
+val* var23 /* : String */;
+val* var24 /* : RuntimeVariable */;
+var_nexpr = p0;
+var_mtype = p1;
+var1 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node]))(self) /* current_node on <self:AbstractCompilerVisitor>*/;
+var_old = var1;
+((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d]))(self, var_nexpr) /* current_node= on <self:AbstractCompilerVisitor>*/;
+var2 = ((val* (*)(val*, val*))(var_nexpr->class->vft[COLOR_abstract_compiler__AExpr__expr]))(var_nexpr, self) /* expr on <var_nexpr:AExpr>*/;
+if (var2 == NULL) {
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 945);
+exit(1);
+}
+var_res = var2;
+var3 = NULL;
+if (var_mtype == NULL) {
+var4 = 0; /* is null */
+} else {
+var4 = 1; /* arg is null and recv is not */
+}
+if (var4){
+var5 = ((val* (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor]))(self, var_mtype) /* anchor on <self:AbstractCompilerVisitor>*/;
+var_mtype = var5;
+var6 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox]))(self, var_res, var_mtype) /* autobox on <self:AbstractCompilerVisitor>*/;
+var_res = var6;
+} else {
+}
+var7 = ((val* (*)(val*))(var_nexpr->class->vft[COLOR_typing__AExpr__mtype]))(var_nexpr) /* mtype on <var_nexpr:AExpr>*/;
+if (var7 == NULL) {
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 950);
+exit(1);
+}
+var8 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt]))(self, var_res, var7) /* autoadapt on <self:AbstractCompilerVisitor>*/;
+var_res = var8;
+var9 = ((val* (*)(val*))(var_nexpr->class->vft[COLOR_typing__AExpr__implicit_cast_to]))(var_nexpr) /* implicit_cast_to on <var_nexpr:AExpr>*/;
+var_implicit_cast_to = var9;
+var11 = NULL;
+if (var_implicit_cast_to == NULL) {
+var12 = 0; /* is null */
+} else {
+var12 = 1; /* arg is null and recv is not */
+}
+var_ = var12;
+if (var12){
+var13 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler]))(self) /* compiler on <self:AbstractCompilerVisitor>*/;
+var14 = ((val* (*)(val*))(var13->class->vft[COLOR_abstract_compiler__AbstractCompiler__modelbuilder]))(var13) /* modelbuilder on <var13:AbstractCompiler>*/;
+var15 = ((val* (*)(val*))(var14->class->vft[COLOR_modelbuilder__ModelBuilder__toolcontext]))(var14) /* toolcontext on <var14:ModelBuilder>*/;
+var16 = ((val* (*)(val*))(var15->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast]))(var15) /* opt_no_check_autocast on <var15:ToolContext>*/;
+var17 = ((val* (*)(val*))(var16->class->vft[COLOR_opts__Option__value]))(var16) /* value on <var16:OptionBool>*/;
+var18 = ((struct instance_kernel__Bool*)var17)->value; /* autounbox from nullable Object to Bool */;
+var19 = !var18;
+var10 = var19;
+} else {
+var10 = var_;
+}
+if (var10){
+if (varonce) {
+var20 = varonce;
+} else {
+var21 = "auto";
+var22 = 4;
+var23 = string__NativeString__to_s_with_length(var21, var22);
+var20 = var23;
+varonce = var20;
+}
+((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_cast]))(self, var_res, var_implicit_cast_to, var20) /* add_cast on <self:AbstractCompilerVisitor>*/;
+var24 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt]))(self, var_res, var_implicit_cast_to) /* autoadapt on <self:AbstractCompilerVisitor>*/;
+var_res = var24;
+} else {
+}
+((void (*)(val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d]))(self, var_old) /* current_node= on <self:AbstractCompilerVisitor>*/;
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#expr for (self: Object, AExpr, nullable MType): RuntimeVariable */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr(val* self, val* p0, val* p1) {
+val* var /* : RuntimeVariable */;
+val* var1 /* : RuntimeVariable */;
+var1 = abstract_compiler__AbstractCompilerVisitor__expr(self, p0, p1);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: AbstractCompilerVisitor, AExpr): RuntimeVariable */
+val* abstract_compiler__AbstractCompilerVisitor__expr_bool(val* self, val* p0) {
+val* var /* : RuntimeVariable */;
+val* var_nexpr /* var nexpr: AExpr */;
+val* var1 /* : MClassType */;
+val* var2 /* : RuntimeVariable */;
+var_nexpr = p0;
+var1 = ((val* (*)(val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type]))(self) /* bool_type on <self:AbstractCompilerVisitor>*/;
+var2 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__expr]))(self, var_nexpr, var1) /* expr on <self:AbstractCompilerVisitor>*/;
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: Object, AExpr): RuntimeVariable */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr_bool(val* self, val* p0) {
+val* var /* : RuntimeVariable */;
+val* var1 /* : RuntimeVariable */;
+var1 = abstract_compiler__AbstractCompilerVisitor__expr_bool(self, p0);
+var = var1;
+RET_LABEL:;
+return var;
+}
/* method abstract_compiler#AbstractCompilerVisitor#debug for (self: AbstractCompilerVisitor, String) */
void abstract_compiler__AbstractCompilerVisitor__debug(val* self, val* p0) {
val* var_message /* var message: String */;
val* var1 /* : MMethodDef */;
var1 = self->attrs[COLOR_abstract_compiler__AbstractRuntimeFunction___64dmmethoddef].val; /* @mmethoddef on <self:AbstractRuntimeFunction> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mmethoddef", "src/abstract_compiler.nit", 969);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mmethoddef");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 983);
exit(1);
}
var = var1;
/* method abstract_compiler#AbstractRuntimeFunction#build_c_name for (self: AbstractRuntimeFunction): String */
val* abstract_compiler__AbstractRuntimeFunction__build_c_name(val* self) {
val* var /* : String */;
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 983);
+const char* var_class_name;
+var_class_name = self == NULL ? "null" : self->type->name;
+fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "build_c_name", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 997);
exit(1);
RET_LABEL:;
return var;
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
+const char* var_class_name2;
/* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
/* <p0:AbstractCompilerVisitor> isa VISITOR */
type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR];
var1 = p0->type->type_table[cltype] == idtype;
}
if (!var1) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 988);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1002);
exit(1);
}
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 988);
+var_class_name2 = self == NULL ? "null" : self->type->name;
+fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "call", var_class_name2);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1002);
exit(1);
RET_LABEL:;
return var;
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
+const char* var_class_name1;
/* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
/* <p0:AbstractCompiler> isa COMPILER */
type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER];
var = p0->type->type_table[cltype] == idtype;
}
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 992);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1006);
exit(1);
}
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 992);
+var_class_name1 = self == NULL ? "null" : self->type->name;
+fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "compile_to_c", var_class_name1);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1006);
exit(1);
RET_LABEL:;
}
val* var1 /* : String */;
var1 = self->attrs[COLOR_abstract_compiler__RuntimeVariable___64dname].val; /* @name on <self:RuntimeVariable> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/abstract_compiler.nit", 1002);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @name");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1016);
exit(1);
}
var = var1;
val* var1 /* : MType */;
var1 = self->attrs[COLOR_abstract_compiler__RuntimeVariable___64dmtype].val; /* @mtype on <self:RuntimeVariable> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mtype", "src/abstract_compiler.nit", 1005);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mtype");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1019);
exit(1);
}
var = var1;
val* var1 /* : MType */;
var1 = self->attrs[COLOR_abstract_compiler__RuntimeVariable___64dmcasttype].val; /* @mcasttype on <self:RuntimeVariable> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mcasttype", "src/abstract_compiler.nit", 1008);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mcasttype");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1022);
exit(1);
}
var = var1;
var = ((short int (*)(val*))(var_mtype->class->vft[COLOR_model__MType__need_anchor]))(var_mtype) /* need_anchor on <var_mtype:MType>*/;
var1 = !var;
if (!var1) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1020);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1034);
exit(1);
}
var2 = ((short int (*)(val*))(var_mcasttype->class->vft[COLOR_model__MType__need_anchor]))(var_mcasttype) /* need_anchor on <var_mcasttype:MType>*/;
var3 = !var2;
if (!var3) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1021);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1035);
exit(1);
}
RET_LABEL:;
val* var1 /* : AbstractCompilerVisitor */;
var1 = self->attrs[COLOR_abstract_compiler__Frame___64dvisitor].val; /* @visitor on <self:Frame> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @visitor", "src/abstract_compiler.nit", 1049);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @visitor");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1063);
exit(1);
}
var = var1;
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
/* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
/* <p0:AbstractCompilerVisitor> isa VISITOR */
type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__Frame_VTVISITOR];
var = p0->type->type_table[cltype] == idtype;
}
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1049);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1063);
exit(1);
}
self->attrs[COLOR_abstract_compiler__Frame___64dvisitor].val = p0; /* @visitor on <self:Frame> */
val* var1 /* : MPropDef */;
var1 = self->attrs[COLOR_abstract_compiler__Frame___64dmpropdef].val; /* @mpropdef on <self:Frame> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mpropdef", "src/abstract_compiler.nit", 1052);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @mpropdef");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1066);
exit(1);
}
var = var1;
val* var1 /* : MClassType */;
var1 = self->attrs[COLOR_abstract_compiler__Frame___64dreceiver].val; /* @receiver on <self:Frame> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @receiver", "src/abstract_compiler.nit", 1056);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @receiver");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1070);
exit(1);
}
var = var1;
val* var1 /* : Array[RuntimeVariable] */;
var1 = self->attrs[COLOR_abstract_compiler__Frame___64darguments].val; /* @arguments on <self:Frame> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @arguments", "src/abstract_compiler.nit", 1059);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @arguments");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1073);
exit(1);
}
var = var1;
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
/* Covariant cast for argument 0 (visitor) <p0:AbstractCompilerVisitor> isa VISITOR */
/* <p0:AbstractCompilerVisitor> isa VISITOR */
type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__Frame_VTVISITOR];
var = p0->type->type_table[cltype] == idtype;
}
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1044);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1058);
exit(1);
}
self->attrs[COLOR_abstract_compiler__Frame___64dvisitor].val = p0; /* @visitor on <self:Frame> */
val* var1 /* : String */;
var1 = self->attrs[COLOR_abstract_compiler__ExternCFile___64dfilename].val; /* @filename on <self:ExternCFile> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @filename", "src/abstract_compiler.nit", 1071);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @filename");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1085);
exit(1);
}
var = var1;
val* var1 /* : String */;
var1 = self->attrs[COLOR_abstract_compiler__ExternCFile___64dcflags].val; /* @cflags on <self:ExternCFile> */
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @cflags", "src/abstract_compiler.nit", 1073);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @cflags");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1087);
exit(1);
}
var = var1;
/* method abstract_compiler#MType#c_name for (self: MType): String */
val* abstract_compiler__MType__c_name(val* self) {
val* var /* : String */;
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 1083);
+const char* var_class_name;
+var_class_name = self == NULL ? "null" : self->type->name;
+fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "c_name", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1097);
exit(1);
RET_LABEL:;
return var;
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
val* var_v /* var v: AbstractCompilerVisitor */;
val* var2 /* : AbstractCompiler */;
val* var3 /* : ModelBuilder */;
var1 = p0->type->type_table[cltype] == idtype;
}
if (!var1) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1229);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1243);
exit(1);
}
var_v = p0;
var = var16;
goto RET_LABEL;
} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 1240);
+fprintf(stderr, "Runtime error: %s", "Aborted");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1254);
exit(1);
}
}
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
val* var_v /* var v: AbstractCompilerVisitor */;
val* var_arguments /* var arguments: Array[RuntimeVariable] */;
val* var2 /* : AbstractCompiler */;
var1 = p0->type->type_table[cltype] == idtype;
}
if (!var1) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1244);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1258);
exit(1);
}
var_v = p0;
((void (*)(val*, val*, val*, val*))(var_nclassdef->class->vft[COLOR_abstract_compiler__AClassdef__compile_to_c]))(var_nclassdef, var_v, self, var_arguments) /* compile_to_c on <var_nclassdef:AClassdef>*/;
((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d]))(var_v, var_oldnode20) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 1263);
+fprintf(stderr, "Runtime error: %s", "Aborted");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1277);
exit(1);
}
}
int cltype;
int idtype;
const struct type* type_struct;
+const char* var_class_name;
val* var_v /* var v: AbstractCompilerVisitor */;
val* var_arguments /* var arguments: Array[RuntimeVariable] */;
val* var1 /* : AbstractCompiler */;
char* var80 /* : NativeString */;
long var81 /* : Int */;
val* var82 /* : String */;
-val* var83 /* : RuntimeVariable */;
-val* var_cond /* var cond: RuntimeVariable */;
-static val* varonce84;
-val* var85 /* : String */;
-char* var86 /* : NativeString */;
-long var87 /* : Int */;
-val* var88 /* : String */;
-static val* varonce89;
-val* var90 /* : String */;
-char* var91 /* : NativeString */;
-long var92 /* : Int */;
-val* var93 /* : String */;
-val* var94 /* : Array[Object] */;
-long var95 /* : Int */;
-val* var96 /* : NativeArray[Object] */;
-val* var97 /* : String */;
-static val* varonce98;
-val* var99 /* : String */;
-char* var100 /* : NativeString */;
-long var101 /* : Int */;
-val* var102 /* : String */;
-static val* varonce103;
-val* var104 /* : String */;
-char* var105 /* : NativeString */;
-long var106 /* : Int */;
-val* var107 /* : String */;
/* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
/* <p0:AbstractCompilerVisitor> isa VISITOR */
type_struct = self->type->resolution_table->types[COLOR_model__MPropDef_VTVISITOR];
var = p0->type->type_table[cltype] == idtype;
}
if (!var) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1268);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1282);
exit(1);
}
var_v = p0;
var8 = 0;
var9 = ((val* (*)(val*))(self->class->vft[COLOR_model__MMethodDef__msignature]))(self) /* msignature on <self:MMethodDef>*/;
if (var9 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1273);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1287);
exit(1);
} else {
var10 = ((long (*)(val*))(var9->class->vft[COLOR_model__MSignature__arity]))(var9) /* arity on <var9:nullable MSignature>*/;
var_i = var16;
var17 = ((val* (*)(val*))(self->class->vft[COLOR_model__MMethodDef__msignature]))(self) /* msignature on <self:MMethodDef>*/;
if (var17 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1275);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1289);
exit(1);
} else {
var18 = ((long (*)(val*))(var17->class->vft[COLOR_model__MSignature__vararg_rank]))(var17) /* vararg_rank on <var17:nullable MSignature>*/;
var23 = ((val* (*)(val*))(var22->class->vft[COLOR_model__MProperty__intro]))(var22) /* intro on <var22:MProperty(MMethod)>*/;
var24 = ((val* (*)(val*))(var23->class->vft[COLOR_model__MMethodDef__msignature]))(var23) /* msignature on <var23:MPropDef(MMethodDef)>*/;
if (var24 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1278);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1292);
exit(1);
} else {
var25 = ((val* (*)(val*))(var24->class->vft[COLOR_model__MSignature__mparameters]))(var24) /* mparameters on <var24:nullable MSignature>*/;
}
var30 = ((val* (*)(val*))(self->class->vft[COLOR_model__MMethodDef__msignature]))(self) /* msignature on <self:MMethodDef>*/;
if (var30 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1282);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1296);
exit(1);
} else {
var31 = ((val* (*)(val*))(var30->class->vft[COLOR_model__MSignature__mparameters]))(var30) /* mparameters on <var30:nullable MSignature>*/;
}
var43 = ((val* (*)(val*))(self->class->vft[COLOR_model__MMethodDef__msignature]))(self) /* msignature on <self:MMethodDef>*/;
if (var43 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1286);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1300);
exit(1);
} else {
var44 = ((val* (*)(val*))(var43->class->vft[COLOR_model__MSignature__mparameters]))(var43) /* mparameters on <var43:nullable MSignature>*/;
var79 = var82;
varonce78 = var79;
}
-var83 = ((val* (*)(val*, val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test]))(var_v, var77, var_mtype, var79) /* type_test on <var_v:AbstractCompilerVisitor>*/;
-var_cond = var83;
-if (varonce84) {
-var85 = varonce84;
-} else {
-var86 = "if (!";
-var87 = 5;
-var88 = string__NativeString__to_s_with_length(var86, var87);
-var85 = var88;
-varonce84 = var85;
-}
-if (varonce89) {
-var90 = varonce89;
-} else {
-var91 = ") {";
-var92 = 3;
-var93 = string__NativeString__to_s_with_length(var91, var92);
-var90 = var93;
-varonce89 = var90;
-}
-var94 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var94 = array_instance Array[Object] */
-var95 = 3;
-var96 = NEW_array__NativeArray(var95, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var96)->values[0] = (val*) var85;
-((struct instance_array__NativeArray*)var96)->values[1] = (val*) var_cond;
-((struct instance_array__NativeArray*)var96)->values[2] = (val*) var90;
-((void (*)(val*, val*, long))(var94->class->vft[COLOR_array__Array__with_native]))(var94, var96, var95) /* with_native on <var94:Array[Object]>*/;
-CHECK_NEW_array__Array(var94);
-}
-var97 = ((val* (*)(val*))(var94->class->vft[COLOR_string__Object__to_s]))(var94) /* to_s on <var94:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var97) /* add on <var_v:AbstractCompilerVisitor>*/;
-if (varonce98) {
-var99 = varonce98;
-} else {
-var100 = "Cast failed";
-var101 = 11;
-var102 = string__NativeString__to_s_with_length(var100, var101);
-var99 = var102;
-varonce98 = var99;
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort]))(var_v, var99) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
-if (varonce103) {
-var104 = varonce103;
-} else {
-var105 = "}";
-var106 = 1;
-var107 = string__NativeString__to_s_with_length(var105, var106);
-var104 = var107;
-varonce103 = var104;
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var104) /* add on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_cast]))(var_v, var77, var_mtype, var79) /* add_cast on <var_v:AbstractCompilerVisitor>*/;
CONTINUE_label: (void)0;
((void (*)(val*))(var13->class->vft[COLOR_abstract_collection__Iterator__next]))(var13) /* next on <var13:Iterator[nullable Object]>*/;
}
var1 = 0;
var2 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on <var_mpropdef:MMethodDef>*/;
if (var2 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1310);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1321);
exit(1);
} else {
var3 = ((long (*)(val*))(var2->class->vft[COLOR_model__MSignature__arity]))(var2) /* arity on <var2:nullable MSignature>*/;
var_i = var9;
var10 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AMethPropdef__n_signature]))(self) /* n_signature on <self:AConcreteMethPropdef>*/;
if (var10 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1311);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1322);
exit(1);
} else {
var11 = ((val* (*)(val*))(var10->class->vft[COLOR_parser_nodes__ASignature__n_params]))(var10) /* n_params on <var10:nullable ASignature>*/;
var12 = ((val* (*)(val*, long))(var11->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var11, var_i) /* [] on <var11:ANodes[AParam]>*/;
var13 = ((val* (*)(val*))(var12->class->vft[COLOR_scope__AParam__variable]))(var12) /* variable on <var12:nullable Object(AParam)>*/;
if (var13 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1311);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1322);
exit(1);
}
var_variable = var13;
var29 = ((val* (*)(val*))(var_auto_super_init->class->vft[COLOR_model__MProperty__intro]))(var_auto_super_init) /* intro on <var_auto_super_init:MMethod>*/;
var30 = ((val* (*)(val*))(var29->class->vft[COLOR_model__MMethodDef__msignature]))(var29) /* msignature on <var29:MPropDef(MMethodDef)>*/;
if (var30 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1319);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1330);
exit(1);
} else {
var31 = ((long (*)(val*))(var30->class->vft[COLOR_model__MSignature__arity]))(var30) /* arity on <var30:nullable MSignature>*/;
}
var11 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AConcreteMethPropdef>*/;
if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1334);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1345);
exit(1);
} else {
var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MPropDef__mproperty]))(var11) /* mproperty on <var11:nullable MPropDef(nullable MMethodDef)>*/;
} else {
var19 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AConcreteMethPropdef>*/;
if (var19 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1334);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1345);
exit(1);
} else {
var20 = ((val* (*)(val*))(var19->class->vft[COLOR_model__MPropDef__mproperty]))(var19) /* mproperty on <var19:nullable MPropDef(nullable MMethodDef)>*/;
if (var10){
var29 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AConcreteMethPropdef>*/;
if (var29 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1334);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1345);
exit(1);
} else {
var30 = ((val* (*)(val*))(var29->class->vft[COLOR_model__MPropDef__mclassdef]))(var29) /* mclassdef on <var29:nullable MPropDef(nullable MMethodDef)>*/;
long var1284 /* : Int */;
val* var1285 /* : String */;
short int var1286 /* : Bool */;
-val* var1287 /* : nullable Object */;
-val* var1288 /* : String */;
-val* var_nat /* var nat: String */;
-static val* varonce1289;
-val* var1290 /* : String */;
-char* var1291 /* : NativeString */;
-long var1292 /* : Int */;
+long var1287 /* : Int */;
+val* var1288 /* : nullable Object */;
+long var1289 /* : Int */;
+val* var1290 /* : nullable Object */;
+val* var1291 /* : RuntimeVariable */;
+static val* varonce1292;
val* var1293 /* : String */;
-static val* varonce1294;
-val* var1295 /* : String */;
-char* var1296 /* : NativeString */;
-long var1297 /* : Int */;
-val* var1298 /* : String */;
-val* var1299 /* : Array[Object] */;
-long var1300 /* : Int */;
-val* var1301 /* : NativeArray[Object] */;
-val* var1302 /* : String */;
-static val* varonce1303;
+char* var1294 /* : NativeString */;
+long var1295 /* : Int */;
+val* var1296 /* : String */;
+short int var1297 /* : Bool */;
+val* var1298 /* : nullable Object */;
+val* var1299 /* : String */;
+val* var_nat /* var nat: String */;
+static val* varonce1300;
+val* var1301 /* : String */;
+char* var1302 /* : NativeString */;
+long var1303 /* : Int */;
val* var1304 /* : String */;
-char* var1305 /* : NativeString */;
-long var1306 /* : Int */;
-val* var1307 /* : String */;
-short int var1308 /* : Bool */;
-val* var1309 /* : nullable Object */;
-val* var1310 /* : String */;
-val* var_nat1311 /* var nat: String */;
-static val* varonce1312;
+static val* varonce1305;
+val* var1306 /* : String */;
+char* var1307 /* : NativeString */;
+long var1308 /* : Int */;
+val* var1309 /* : String */;
+val* var1310 /* : Array[Object] */;
+long var1311 /* : Int */;
+val* var1312 /* : NativeArray[Object] */;
val* var1313 /* : String */;
-char* var1314 /* : NativeString */;
-long var1315 /* : Int */;
-val* var1316 /* : String */;
-val* var1317 /* : Array[Object] */;
-long var1318 /* : Int */;
-val* var1319 /* : NativeArray[Object] */;
-val* var1320 /* : String */;
-val* var1321 /* : RuntimeVariable */;
-static val* varonce1322;
-val* var1323 /* : String */;
-char* var1324 /* : NativeString */;
-long var1325 /* : Int */;
-val* var1326 /* : String */;
-short int var1327 /* : Bool */;
-static val* varonce1328;
-val* var1329 /* : String */;
-char* var1330 /* : NativeString */;
-long var1331 /* : Int */;
-val* var1332 /* : String */;
+static val* varonce1314;
+val* var1315 /* : String */;
+char* var1316 /* : NativeString */;
+long var1317 /* : Int */;
+val* var1318 /* : String */;
+short int var1319 /* : Bool */;
+val* var1320 /* : nullable Object */;
+val* var1321 /* : String */;
+val* var_nat1322 /* var nat: String */;
+static val* varonce1323;
+val* var1324 /* : String */;
+char* var1325 /* : NativeString */;
+long var1326 /* : Int */;
+val* var1327 /* : String */;
+val* var1328 /* : Array[Object] */;
+long var1329 /* : Int */;
+val* var1330 /* : NativeArray[Object] */;
+val* var1331 /* : String */;
+val* var1332 /* : RuntimeVariable */;
static val* varonce1333;
val* var1334 /* : String */;
char* var1335 /* : NativeString */;
char* var1341 /* : NativeString */;
long var1342 /* : Int */;
val* var1343 /* : String */;
-val* var1344 /* : RuntimeVariable */;
-static val* varonce1345;
-val* var1346 /* : String */;
-char* var1347 /* : NativeString */;
-long var1348 /* : Int */;
-val* var1349 /* : String */;
-short int var1350 /* : Bool */;
-static val* varonce1351;
-val* var1352 /* : String */;
-char* var1353 /* : NativeString */;
-long var1354 /* : Int */;
-val* var1355 /* : String */;
-long var1356 /* : Int */;
-val* var1357 /* : nullable Object */;
-static val* varonce1358;
-val* var1359 /* : String */;
-char* var1360 /* : NativeString */;
-long var1361 /* : Int */;
-val* var1362 /* : String */;
-val* var1363 /* : Array[Object] */;
-long var1364 /* : Int */;
-val* var1365 /* : NativeArray[Object] */;
+static val* varonce1344;
+val* var1345 /* : String */;
+char* var1346 /* : NativeString */;
+long var1347 /* : Int */;
+val* var1348 /* : String */;
+short int var1349 /* : Bool */;
+static val* varonce1350;
+val* var1351 /* : String */;
+char* var1352 /* : NativeString */;
+long var1353 /* : Int */;
+val* var1354 /* : String */;
+val* var1355 /* : RuntimeVariable */;
+static val* varonce1356;
+val* var1357 /* : String */;
+char* var1358 /* : NativeString */;
+long var1359 /* : Int */;
+val* var1360 /* : String */;
+short int var1361 /* : Bool */;
+static val* varonce1362;
+val* var1363 /* : String */;
+char* var1364 /* : NativeString */;
+long var1365 /* : Int */;
val* var1366 /* : String */;
-val* var1367 /* : RuntimeVariable */;
-static val* varonce1368;
-val* var1369 /* : String */;
-char* var1370 /* : NativeString */;
-long var1371 /* : Int */;
-val* var1372 /* : String */;
+long var1367 /* : Int */;
+val* var1368 /* : nullable Object */;
+static val* varonce1369;
+val* var1370 /* : String */;
+char* var1371 /* : NativeString */;
+long var1372 /* : Int */;
val* var1373 /* : String */;
-static val* varonce1374;
-val* var1375 /* : String */;
-char* var1376 /* : NativeString */;
-long var1377 /* : Int */;
-val* var1378 /* : String */;
+val* var1374 /* : Array[Object] */;
+long var1375 /* : Int */;
+val* var1376 /* : NativeArray[Object] */;
+val* var1377 /* : String */;
+val* var1378 /* : RuntimeVariable */;
static val* varonce1379;
val* var1380 /* : String */;
char* var1381 /* : NativeString */;
long var1382 /* : Int */;
val* var1383 /* : String */;
-val* var1384 /* : Location */;
-val* var1385 /* : String */;
-static val* varonce1386;
-val* var1387 /* : String */;
-char* var1388 /* : NativeString */;
-long var1389 /* : Int */;
-val* var1390 /* : String */;
-val* var1391 /* : Array[Object] */;
-long var1392 /* : Int */;
-val* var1393 /* : NativeArray[Object] */;
+val* var1384 /* : String */;
+static val* varonce1385;
+val* var1386 /* : String */;
+char* var1387 /* : NativeString */;
+long var1388 /* : Int */;
+val* var1389 /* : String */;
+static val* varonce1390;
+val* var1391 /* : String */;
+char* var1392 /* : NativeString */;
+long var1393 /* : Int */;
val* var1394 /* : String */;
-static val* varonce1395;
+val* var1395 /* : Location */;
val* var1396 /* : String */;
-char* var1397 /* : NativeString */;
-long var1398 /* : Int */;
-val* var1399 /* : String */;
-val* var1400 /* : Array[Object] */;
-long var1401 /* : Int */;
-val* var1402 /* : NativeArray[Object] */;
-val* var1403 /* : String */;
+static val* varonce1397;
+val* var1398 /* : String */;
+char* var1399 /* : NativeString */;
+long var1400 /* : Int */;
+val* var1401 /* : String */;
+val* var1402 /* : Array[Object] */;
+long var1403 /* : Int */;
+val* var1404 /* : NativeArray[Object] */;
+val* var1405 /* : String */;
+static val* varonce1406;
+val* var1407 /* : String */;
+char* var1408 /* : NativeString */;
+long var1409 /* : Int */;
+val* var1410 /* : String */;
+val* var1411 /* : Array[Object] */;
+long var1412 /* : Int */;
+val* var1413 /* : NativeArray[Object] */;
+val* var1414 /* : String */;
var_v = p0;
var_mpropdef = p1;
var_arguments = p2;
var_cname = var4;
var5 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on <var_mpropdef:MMethodDef>*/;
if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1345);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1356);
exit(1);
} else {
var6 = ((val* (*)(val*))(var5->class->vft[COLOR_model__MSignature__return_mtype]))(var5) /* return_mtype on <var5:nullable MSignature>*/;
}
var75 = ((val* (*)(val*))(var72->class->vft[COLOR_string__Object__to_s]))(var72) /* to_s on <var72:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1360);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1371);
exit(1);
}
var76 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var75, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var95 = ((val* (*)(val*))(var92->class->vft[COLOR_string__Object__to_s]))(var92) /* to_s on <var92:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1363);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1374);
exit(1);
}
var96 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var95, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var113 = ((val* (*)(val*))(var110->class->vft[COLOR_string__Object__to_s]))(var110) /* to_s on <var110:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1366);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1377);
exit(1);
}
var114 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var113, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var131 = ((val* (*)(val*))(var128->class->vft[COLOR_string__Object__to_s]))(var128) /* to_s on <var128:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1369);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1380);
exit(1);
}
var132 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var131, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var149 = ((val* (*)(val*))(var146->class->vft[COLOR_string__Object__to_s]))(var146) /* to_s on <var146:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1372);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1383);
exit(1);
}
var150 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var149, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var169 = ((val* (*)(val*))(var166->class->vft[COLOR_string__Object__to_s]))(var166) /* to_s on <var166:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1375);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1386);
exit(1);
}
var170 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var169, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var189 = ((val* (*)(val*))(var186->class->vft[COLOR_string__Object__to_s]))(var186) /* to_s on <var186:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1378);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1389);
exit(1);
}
var190 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var189, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var209 = ((val* (*)(val*))(var206->class->vft[COLOR_string__Object__to_s]))(var206) /* to_s on <var206:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1381);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1392);
exit(1);
}
var210 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var209, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var229 = ((val* (*)(val*))(var226->class->vft[COLOR_string__Object__to_s]))(var226) /* to_s on <var226:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1384);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1395);
exit(1);
}
var230 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var229, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var249 = ((val* (*)(val*))(var246->class->vft[COLOR_string__Object__to_s]))(var246) /* to_s on <var246:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1387);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1398);
exit(1);
}
var250 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var249, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var281 = ((val* (*)(val*))(var278->class->vft[COLOR_string__Object__to_s]))(var278) /* to_s on <var278:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1394);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1405);
exit(1);
}
var282 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var281, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var301 = ((val* (*)(val*))(var298->class->vft[COLOR_string__Object__to_s]))(var298) /* to_s on <var298:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1397);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1408);
exit(1);
}
var302 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var301, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var321 = ((val* (*)(val*))(var318->class->vft[COLOR_string__Object__to_s]))(var318) /* to_s on <var318:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1400);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1411);
exit(1);
}
var322 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var321, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var341 = ((val* (*)(val*))(var338->class->vft[COLOR_string__Object__to_s]))(var338) /* to_s on <var338:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1403);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1414);
exit(1);
}
var342 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var341, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var361 = ((val* (*)(val*))(var358->class->vft[COLOR_string__Object__to_s]))(var358) /* to_s on <var358:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1406);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1417);
exit(1);
}
var362 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var361, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var379 = ((val* (*)(val*))(var376->class->vft[COLOR_string__Object__to_s]))(var376) /* to_s on <var376:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1409);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1420);
exit(1);
}
var380 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var379, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var392 = ((val* (*)(val*))(var389->class->vft[COLOR_string__Object__to_s]))(var389) /* to_s on <var389:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1412);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1423);
exit(1);
}
var393 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var392, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var436 = ((val* (*)(val*))(var433->class->vft[COLOR_string__Object__to_s]))(var433) /* to_s on <var433:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1420);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1431);
exit(1);
}
var437 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var436, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var456 = ((val* (*)(val*))(var453->class->vft[COLOR_string__Object__to_s]))(var453) /* to_s on <var453:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1423);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1434);
exit(1);
}
var457 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var456, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var476 = ((val* (*)(val*))(var473->class->vft[COLOR_string__Object__to_s]))(var473) /* to_s on <var473:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1426);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1437);
exit(1);
}
var477 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var476, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var509 = ((val* (*)(val*))(var506->class->vft[COLOR_string__Object__to_s]))(var506) /* to_s on <var506:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1433);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1444);
exit(1);
}
var510 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var509, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var527 = ((val* (*)(val*))(var524->class->vft[COLOR_string__Object__to_s]))(var524) /* to_s on <var524:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1436);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1447);
exit(1);
}
var528 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var527, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var545 = ((val* (*)(val*))(var542->class->vft[COLOR_string__Object__to_s]))(var542) /* to_s on <var542:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1439);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1450);
exit(1);
}
var546 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var545, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var565 = ((val* (*)(val*))(var562->class->vft[COLOR_string__Object__to_s]))(var562) /* to_s on <var562:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1442);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1453);
exit(1);
}
var566 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var565, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var585 = ((val* (*)(val*))(var582->class->vft[COLOR_string__Object__to_s]))(var582) /* to_s on <var582:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1445);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1456);
exit(1);
}
var586 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var585, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var605 = ((val* (*)(val*))(var602->class->vft[COLOR_string__Object__to_s]))(var602) /* to_s on <var602:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1448);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1459);
exit(1);
}
var606 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var605, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var625 = ((val* (*)(val*))(var622->class->vft[COLOR_string__Object__to_s]))(var622) /* to_s on <var622:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1451);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1462);
exit(1);
}
var626 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var625, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var643 = ((val* (*)(val*))(var640->class->vft[COLOR_string__Object__to_s]))(var640) /* to_s on <var640:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1454);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1465);
exit(1);
}
var644 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var643, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var661 = ((val* (*)(val*))(var658->class->vft[COLOR_string__Object__to_s]))(var658) /* to_s on <var658:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1457);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1468);
exit(1);
}
var662 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var661, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var705 = ((val* (*)(val*))(var702->class->vft[COLOR_string__Object__to_s]))(var702) /* to_s on <var702:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1465);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1476);
exit(1);
}
var706 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var705, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var738 = ((val* (*)(val*))(var735->class->vft[COLOR_string__Object__to_s]))(var735) /* to_s on <var735:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1472);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1483);
exit(1);
}
var739 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var738, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var782 = ((val* (*)(val*))(var779->class->vft[COLOR_string__Object__to_s]))(var779) /* to_s on <var779:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1480);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1491);
exit(1);
}
var783 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var782, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var802 = ((val* (*)(val*))(var799->class->vft[COLOR_string__Object__to_s]))(var799) /* to_s on <var799:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1483);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1494);
exit(1);
}
var803 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var802, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var822 = ((val* (*)(val*))(var819->class->vft[COLOR_string__Object__to_s]))(var819) /* to_s on <var819:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1486);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1497);
exit(1);
}
var823 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var822, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var840 = ((val* (*)(val*))(var837->class->vft[COLOR_string__Object__to_s]))(var837) /* to_s on <var837:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1489);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1500);
exit(1);
}
var841 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var840, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var858 = ((val* (*)(val*))(var855->class->vft[COLOR_string__Object__to_s]))(var855) /* to_s on <var855:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1492);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1503);
exit(1);
}
var859 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var858, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var876 = ((val* (*)(val*))(var873->class->vft[COLOR_string__Object__to_s]))(var873) /* to_s on <var873:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1495);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1506);
exit(1);
}
var877 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var876, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var896 = ((val* (*)(val*))(var893->class->vft[COLOR_string__Object__to_s]))(var893) /* to_s on <var893:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1498);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1509);
exit(1);
}
var897 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var896, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var916 = ((val* (*)(val*))(var913->class->vft[COLOR_string__Object__to_s]))(var913) /* to_s on <var913:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1501);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1512);
exit(1);
}
var917 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var916, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var949 = ((val* (*)(val*))(var946->class->vft[COLOR_string__Object__to_s]))(var946) /* to_s on <var946:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1508);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1519);
exit(1);
}
var950 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var949, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var969 = ((val* (*)(val*))(var966->class->vft[COLOR_string__Object__to_s]))(var966) /* to_s on <var966:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1511);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1522);
exit(1);
}
var970 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var969, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var989 = ((val* (*)(val*))(var986->class->vft[COLOR_string__Object__to_s]))(var986) /* to_s on <var986:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1514);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1525);
exit(1);
}
var990 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var989, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1009 = ((val* (*)(val*))(var1006->class->vft[COLOR_string__Object__to_s]))(var1006) /* to_s on <var1006:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1517);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1528);
exit(1);
}
var1010 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1009, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1029 = ((val* (*)(val*))(var1026->class->vft[COLOR_string__Object__to_s]))(var1026) /* to_s on <var1026:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1520);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1531);
exit(1);
}
var1030 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1029, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1047 = ((val* (*)(val*))(var1044->class->vft[COLOR_string__Object__to_s]))(var1044) /* to_s on <var1044:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1523);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1534);
exit(1);
}
var1048 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1047, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1078 = ((val* (*)(val*))(var1075->class->vft[COLOR_string__Object__to_s]))(var1075) /* to_s on <var1075:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1528);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1539);
exit(1);
}
var1079 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1078, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1182 = ((val* (*)(val*))(var1179->class->vft[COLOR_string__Object__to_s]))(var1179) /* to_s on <var1179:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1537);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1548);
exit(1);
}
var1183 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1182, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
varonce1218 = var1219;
}
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1548);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1559);
exit(1);
}
var1223 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1219, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
}
var1245 = ((val* (*)(val*))(var1242->class->vft[COLOR_string__Object__to_s]))(var1242) /* to_s on <var1242:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1551);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1562);
exit(1);
}
var1246 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1245, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
var1252 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1248) /* == on <var_pname:String>*/;
if (var1252){
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1554);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1565);
exit(1);
}
((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__calloc_array]))(var_v, var_ret, var_arguments) /* calloc_array on <var_v:AbstractCompilerVisitor>*/;
}
var1268 = ((val* (*)(val*))(var1265->class->vft[COLOR_string__Object__to_s]))(var1265) /* to_s on <var1265:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1557);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1568);
exit(1);
}
var1269 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1268, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
if (varonce1281) {
var1282 = varonce1281;
} else {
-var1283 = "output_class_name";
-var1284 = 17;
+var1283 = "is_same_instance";
+var1284 = 16;
var1285 = string__NativeString__to_s_with_length(var1283, var1284);
var1282 = var1285;
varonce1281 = var1282;
}
var1286 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1282) /* == on <var_pname:String>*/;
if (var1286){
-var1287 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[RuntimeVariable]>*/;
-var1288 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1287) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
-var_nat = var1288;
-if (varonce1289) {
-var1290 = varonce1289;
-} else {
-var1291 = "printf(\"%s\\n\", ";
-var1292 = 15;
-var1293 = string__NativeString__to_s_with_length(var1291, var1292);
-var1290 = var1293;
-varonce1289 = var1290;
-}
-if (varonce1294) {
-var1295 = varonce1294;
-} else {
-var1296 = ");";
-var1297 = 2;
-var1298 = string__NativeString__to_s_with_length(var1296, var1297);
-var1295 = var1298;
-varonce1294 = var1295;
-}
-var1299 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var1299 = array_instance Array[Object] */
-var1300 = 3;
-var1301 = NEW_array__NativeArray(var1300, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var1301)->values[0] = (val*) var1290;
-((struct instance_array__NativeArray*)var1301)->values[1] = (val*) var_nat;
-((struct instance_array__NativeArray*)var1301)->values[2] = (val*) var1295;
-((void (*)(val*, val*, long))(var1299->class->vft[COLOR_array__Array__with_native]))(var1299, var1301, var1300) /* with_native on <var1299:Array[Object]>*/;
-CHECK_NEW_array__Array(var1299);
-}
-var1302 = ((val* (*)(val*))(var1299->class->vft[COLOR_string__Object__to_s]))(var1299) /* to_s on <var1299:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1302) /* add on <var_v:AbstractCompilerVisitor>*/;
-goto RET_LABEL;
-} else {
-if (varonce1303) {
-var1304 = varonce1303;
-} else {
-var1305 = "native_class_name";
-var1306 = 17;
-var1307 = string__NativeString__to_s_with_length(var1305, var1306);
-var1304 = var1307;
-varonce1303 = var1304;
-}
-var1308 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1304) /* == on <var_pname:String>*/;
-if (var1308){
-var1309 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[RuntimeVariable]>*/;
-var1310 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1309) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
-var_nat1311 = var1310;
-if (varonce1312) {
-var1313 = varonce1312;
-} else {
-var1314 = "(char*)";
-var1315 = 7;
-var1316 = string__NativeString__to_s_with_length(var1314, var1315);
-var1313 = var1316;
-varonce1312 = var1313;
-}
-var1317 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var1317 = array_instance Array[Object] */
-var1318 = 2;
-var1319 = NEW_array__NativeArray(var1318, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var1319)->values[0] = (val*) var1313;
-((struct instance_array__NativeArray*)var1319)->values[1] = (val*) var_nat1311;
-((void (*)(val*, val*, long))(var1317->class->vft[COLOR_array__Array__with_native]))(var1317, var1319, var1318) /* with_native on <var1317:Array[Object]>*/;
-CHECK_NEW_array__Array(var1317);
-}
-var1320 = ((val* (*)(val*))(var1317->class->vft[COLOR_string__Object__to_s]))(var1317) /* to_s on <var1317:Array[Object]>*/;
+var1287 = 0;
+var1288 = ((val* (*)(val*, long))(var_arguments->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_arguments, var1287) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
+var1289 = 1;
+var1290 = ((val* (*)(val*, long))(var_arguments->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_arguments, var1289) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
+var1291 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__equal_test]))(var_v, var1288, var1290) /* equal_test on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1291) /* ret on <var_v:AbstractCompilerVisitor>*/;
+goto RET_LABEL;
+} else {
+if (varonce1292) {
+var1293 = varonce1292;
+} else {
+var1294 = "output_class_name";
+var1295 = 17;
+var1296 = string__NativeString__to_s_with_length(var1294, var1295);
+var1293 = var1296;
+varonce1292 = var1293;
+}
+var1297 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1293) /* == on <var_pname:String>*/;
+if (var1297){
+var1298 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[RuntimeVariable]>*/;
+var1299 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1298) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
+var_nat = var1299;
+if (varonce1300) {
+var1301 = varonce1300;
+} else {
+var1302 = "printf(\"%s\\n\", ";
+var1303 = 15;
+var1304 = string__NativeString__to_s_with_length(var1302, var1303);
+var1301 = var1304;
+varonce1300 = var1301;
+}
+if (varonce1305) {
+var1306 = varonce1305;
+} else {
+var1307 = ");";
+var1308 = 2;
+var1309 = string__NativeString__to_s_with_length(var1307, var1308);
+var1306 = var1309;
+varonce1305 = var1306;
+}
+var1310 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var1310 = array_instance Array[Object] */
+var1311 = 3;
+var1312 = NEW_array__NativeArray(var1311, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var1312)->values[0] = (val*) var1301;
+((struct instance_array__NativeArray*)var1312)->values[1] = (val*) var_nat;
+((struct instance_array__NativeArray*)var1312)->values[2] = (val*) var1306;
+((void (*)(val*, val*, long))(var1310->class->vft[COLOR_array__Array__with_native]))(var1310, var1312, var1311) /* with_native on <var1310:Array[Object]>*/;
+CHECK_NEW_array__Array(var1310);
+}
+var1313 = ((val* (*)(val*))(var1310->class->vft[COLOR_string__Object__to_s]))(var1310) /* to_s on <var1310:Array[Object]>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1313) /* add on <var_v:AbstractCompilerVisitor>*/;
+goto RET_LABEL;
+} else {
+if (varonce1314) {
+var1315 = varonce1314;
+} else {
+var1316 = "native_class_name";
+var1317 = 17;
+var1318 = string__NativeString__to_s_with_length(var1316, var1317);
+var1315 = var1318;
+varonce1314 = var1315;
+}
+var1319 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1315) /* == on <var_pname:String>*/;
+if (var1319){
+var1320 = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[RuntimeVariable]>*/;
+var1321 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var1320) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
+var_nat1322 = var1321;
+if (varonce1323) {
+var1324 = varonce1323;
+} else {
+var1325 = "(char*)";
+var1326 = 7;
+var1327 = string__NativeString__to_s_with_length(var1325, var1326);
+var1324 = var1327;
+varonce1323 = var1324;
+}
+var1328 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var1328 = array_instance Array[Object] */
+var1329 = 2;
+var1330 = NEW_array__NativeArray(var1329, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var1330)->values[0] = (val*) var1324;
+((struct instance_array__NativeArray*)var1330)->values[1] = (val*) var_nat1322;
+((void (*)(val*, val*, long))(var1328->class->vft[COLOR_array__Array__with_native]))(var1328, var1330, var1329) /* with_native on <var1328:Array[Object]>*/;
+CHECK_NEW_array__Array(var1328);
+}
+var1331 = ((val* (*)(val*))(var1328->class->vft[COLOR_string__Object__to_s]))(var1328) /* to_s on <var1328:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1568);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1582);
exit(1);
}
-var1321 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1320, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1321) /* ret on <var_v:AbstractCompilerVisitor>*/;
-goto RET_LABEL;
-} else {
-if (varonce1322) {
-var1323 = varonce1322;
-} else {
-var1324 = "force_garbage_collection";
-var1325 = 24;
-var1326 = string__NativeString__to_s_with_length(var1324, var1325);
-var1323 = var1326;
-varonce1322 = var1323;
-}
-var1327 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1323) /* == on <var_pname:String>*/;
-if (var1327){
-if (varonce1328) {
-var1329 = varonce1328;
-} else {
-var1330 = "nit_gcollect();";
-var1331 = 15;
-var1332 = string__NativeString__to_s_with_length(var1330, var1331);
-var1329 = var1332;
-varonce1328 = var1329;
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1329) /* add on <var_v:AbstractCompilerVisitor>*/;
+var1332 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1331, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1332) /* ret on <var_v:AbstractCompilerVisitor>*/;
goto RET_LABEL;
} else {
if (varonce1333) {
var1334 = varonce1333;
} else {
-var1335 = "native_argc";
-var1336 = 11;
+var1335 = "force_garbage_collection";
+var1336 = 24;
var1337 = string__NativeString__to_s_with_length(var1335, var1336);
var1334 = var1337;
varonce1333 = var1334;
if (varonce1339) {
var1340 = varonce1339;
} else {
-var1341 = "glob_argc";
-var1342 = 9;
+var1341 = "nit_gcollect();";
+var1342 = 15;
var1343 = string__NativeString__to_s_with_length(var1341, var1342);
var1340 = var1343;
varonce1339 = var1340;
}
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1340) /* add on <var_v:AbstractCompilerVisitor>*/;
+goto RET_LABEL;
+} else {
+if (varonce1344) {
+var1345 = varonce1344;
+} else {
+var1346 = "native_argc";
+var1347 = 11;
+var1348 = string__NativeString__to_s_with_length(var1346, var1347);
+var1345 = var1348;
+varonce1344 = var1345;
+}
+var1349 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1345) /* == on <var_pname:String>*/;
+if (var1349){
+if (varonce1350) {
+var1351 = varonce1350;
+} else {
+var1352 = "glob_argc";
+var1353 = 9;
+var1354 = string__NativeString__to_s_with_length(var1352, var1353);
+var1351 = var1354;
+varonce1350 = var1351;
+}
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1574);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1588);
exit(1);
}
-var1344 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1340, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1344) /* ret on <var_v:AbstractCompilerVisitor>*/;
-goto RET_LABEL;
-} else {
-if (varonce1345) {
-var1346 = varonce1345;
-} else {
-var1347 = "native_argv";
-var1348 = 11;
-var1349 = string__NativeString__to_s_with_length(var1347, var1348);
-var1346 = var1349;
-varonce1345 = var1346;
-}
-var1350 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1346) /* == on <var_pname:String>*/;
-if (var1350){
-if (varonce1351) {
-var1352 = varonce1351;
-} else {
-var1353 = "glob_argv[";
-var1354 = 10;
-var1355 = string__NativeString__to_s_with_length(var1353, var1354);
-var1352 = var1355;
-varonce1351 = var1352;
-}
-var1356 = 1;
-var1357 = ((val* (*)(val*, long))(var_arguments->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_arguments, var1356) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
-if (varonce1358) {
-var1359 = varonce1358;
-} else {
-var1360 = "]";
-var1361 = 1;
-var1362 = string__NativeString__to_s_with_length(var1360, var1361);
-var1359 = var1362;
-varonce1358 = var1359;
-}
-var1363 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var1363 = array_instance Array[Object] */
-var1364 = 3;
-var1365 = NEW_array__NativeArray(var1364, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var1365)->values[0] = (val*) var1352;
-((struct instance_array__NativeArray*)var1365)->values[1] = (val*) var1357;
-((struct instance_array__NativeArray*)var1365)->values[2] = (val*) var1359;
-((void (*)(val*, val*, long))(var1363->class->vft[COLOR_array__Array__with_native]))(var1363, var1365, var1364) /* with_native on <var1363:Array[Object]>*/;
-CHECK_NEW_array__Array(var1363);
-}
-var1366 = ((val* (*)(val*))(var1363->class->vft[COLOR_string__Object__to_s]))(var1363) /* to_s on <var1363:Array[Object]>*/;
+var1355 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1351, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1355) /* ret on <var_v:AbstractCompilerVisitor>*/;
+goto RET_LABEL;
+} else {
+if (varonce1356) {
+var1357 = varonce1356;
+} else {
+var1358 = "native_argv";
+var1359 = 11;
+var1360 = string__NativeString__to_s_with_length(var1358, var1359);
+var1357 = var1360;
+varonce1356 = var1357;
+}
+var1361 = ((short int (*)(val*, val*))(var_pname->class->vft[COLOR_kernel__Object___61d_61d]))(var_pname, var1357) /* == on <var_pname:String>*/;
+if (var1361){
+if (varonce1362) {
+var1363 = varonce1362;
+} else {
+var1364 = "glob_argv[";
+var1365 = 10;
+var1366 = string__NativeString__to_s_with_length(var1364, var1365);
+var1363 = var1366;
+varonce1362 = var1363;
+}
+var1367 = 1;
+var1368 = ((val* (*)(val*, long))(var_arguments->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_arguments, var1367) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
+if (varonce1369) {
+var1370 = varonce1369;
+} else {
+var1371 = "]";
+var1372 = 1;
+var1373 = string__NativeString__to_s_with_length(var1371, var1372);
+var1370 = var1373;
+varonce1369 = var1370;
+}
+var1374 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var1374 = array_instance Array[Object] */
+var1375 = 3;
+var1376 = NEW_array__NativeArray(var1375, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var1376)->values[0] = (val*) var1363;
+((struct instance_array__NativeArray*)var1376)->values[1] = (val*) var1368;
+((struct instance_array__NativeArray*)var1376)->values[2] = (val*) var1370;
+((void (*)(val*, val*, long))(var1374->class->vft[COLOR_array__Array__with_native]))(var1374, var1376, var1375) /* with_native on <var1374:Array[Object]>*/;
+CHECK_NEW_array__Array(var1374);
+}
+var1377 = ((val* (*)(val*))(var1374->class->vft[COLOR_string__Object__to_s]))(var1374) /* to_s on <var1374:Array[Object]>*/;
if (var_ret == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1577);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1591);
exit(1);
}
-var1367 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1366, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1367) /* ret on <var_v:AbstractCompilerVisitor>*/;
+var1378 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr]))(var_v, var1377, var_ret) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__ret]))(var_v, var1378) /* ret on <var_v:AbstractCompilerVisitor>*/;
goto RET_LABEL;
} else {
}
}
}
}
-if (varonce1368) {
-var1369 = varonce1368;
-} else {
-var1370 = "printf(\"NOT YET IMPLEMENTED ";
-var1371 = 28;
-var1372 = string__NativeString__to_s_with_length(var1370, var1371);
-var1369 = var1372;
-varonce1368 = var1369;
-}
-var1373 = ((val* (*)(val*))(self->class->vft[COLOR_string__Object__class_name]))(self) /* class_name on <self:AInternMethPropdef>*/;
-if (varonce1374) {
-var1375 = varonce1374;
-} else {
-var1376 = ":";
-var1377 = 1;
-var1378 = string__NativeString__to_s_with_length(var1376, var1377);
-var1375 = var1378;
-varonce1374 = var1375;
}
if (varonce1379) {
var1380 = varonce1379;
} else {
-var1381 = " at ";
-var1382 = 4;
+var1381 = "printf(\"NOT YET IMPLEMENTED ";
+var1382 = 28;
var1383 = string__NativeString__to_s_with_length(var1381, var1382);
var1380 = var1383;
varonce1379 = var1380;
}
-var1384 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]))(self) /* location on <self:AInternMethPropdef>*/;
-var1385 = ((val* (*)(val*))(var1384->class->vft[COLOR_string__Object__to_s]))(var1384) /* to_s on <var1384:Location>*/;
-if (varonce1386) {
-var1387 = varonce1386;
-} else {
-var1388 = "\\n\");";
-var1389 = 5;
-var1390 = string__NativeString__to_s_with_length(var1388, var1389);
-var1387 = var1390;
-varonce1386 = var1387;
-}
-var1391 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var1391 = array_instance Array[Object] */
-var1392 = 7;
-var1393 = NEW_array__NativeArray(var1392, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var1393)->values[0] = (val*) var1369;
-((struct instance_array__NativeArray*)var1393)->values[1] = (val*) var1373;
-((struct instance_array__NativeArray*)var1393)->values[2] = (val*) var1375;
-((struct instance_array__NativeArray*)var1393)->values[3] = (val*) var_mpropdef;
-((struct instance_array__NativeArray*)var1393)->values[4] = (val*) var1380;
-((struct instance_array__NativeArray*)var1393)->values[5] = (val*) var1385;
-((struct instance_array__NativeArray*)var1393)->values[6] = (val*) var1387;
-((void (*)(val*, val*, long))(var1391->class->vft[COLOR_array__Array__with_native]))(var1391, var1393, var1392) /* with_native on <var1391:Array[Object]>*/;
-CHECK_NEW_array__Array(var1391);
-}
-var1394 = ((val* (*)(val*))(var1391->class->vft[COLOR_string__Object__to_s]))(var1391) /* to_s on <var1391:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1394) /* add on <var_v:AbstractCompilerVisitor>*/;
-if (varonce1395) {
-var1396 = varonce1395;
-} else {
-var1397 = "Not implemented ";
-var1398 = 16;
-var1399 = string__NativeString__to_s_with_length(var1397, var1398);
-var1396 = var1399;
-varonce1395 = var1396;
-}
-var1400 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var1400 = array_instance Array[Object] */
-var1401 = 2;
-var1402 = NEW_array__NativeArray(var1401, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var1402)->values[0] = (val*) var1396;
-((struct instance_array__NativeArray*)var1402)->values[1] = (val*) var_mpropdef;
-((void (*)(val*, val*, long))(var1400->class->vft[COLOR_array__Array__with_native]))(var1400, var1402, var1401) /* with_native on <var1400:Array[Object]>*/;
-CHECK_NEW_array__Array(var1400);
-}
-var1403 = ((val* (*)(val*))(var1400->class->vft[COLOR_string__Object__to_s]))(var1400) /* to_s on <var1400:Array[Object]>*/;
-((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var1403) /* debug on <self:AInternMethPropdef>*/;
+var1384 = ((val* (*)(val*))(self->class->vft[COLOR_string__Object__class_name]))(self) /* class_name on <self:AInternMethPropdef>*/;
+if (varonce1385) {
+var1386 = varonce1385;
+} else {
+var1387 = ":";
+var1388 = 1;
+var1389 = string__NativeString__to_s_with_length(var1387, var1388);
+var1386 = var1389;
+varonce1385 = var1386;
+}
+if (varonce1390) {
+var1391 = varonce1390;
+} else {
+var1392 = " at ";
+var1393 = 4;
+var1394 = string__NativeString__to_s_with_length(var1392, var1393);
+var1391 = var1394;
+varonce1390 = var1391;
+}
+var1395 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]))(self) /* location on <self:AInternMethPropdef>*/;
+var1396 = ((val* (*)(val*))(var1395->class->vft[COLOR_string__Object__to_s]))(var1395) /* to_s on <var1395:Location>*/;
+if (varonce1397) {
+var1398 = varonce1397;
+} else {
+var1399 = "\\n\");";
+var1400 = 5;
+var1401 = string__NativeString__to_s_with_length(var1399, var1400);
+var1398 = var1401;
+varonce1397 = var1398;
+}
+var1402 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var1402 = array_instance Array[Object] */
+var1403 = 7;
+var1404 = NEW_array__NativeArray(var1403, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var1404)->values[0] = (val*) var1380;
+((struct instance_array__NativeArray*)var1404)->values[1] = (val*) var1384;
+((struct instance_array__NativeArray*)var1404)->values[2] = (val*) var1386;
+((struct instance_array__NativeArray*)var1404)->values[3] = (val*) var_mpropdef;
+((struct instance_array__NativeArray*)var1404)->values[4] = (val*) var1391;
+((struct instance_array__NativeArray*)var1404)->values[5] = (val*) var1396;
+((struct instance_array__NativeArray*)var1404)->values[6] = (val*) var1398;
+((void (*)(val*, val*, long))(var1402->class->vft[COLOR_array__Array__with_native]))(var1402, var1404, var1403) /* with_native on <var1402:Array[Object]>*/;
+CHECK_NEW_array__Array(var1402);
+}
+var1405 = ((val* (*)(val*))(var1402->class->vft[COLOR_string__Object__to_s]))(var1402) /* to_s on <var1402:Array[Object]>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var1405) /* add on <var_v:AbstractCompilerVisitor>*/;
+if (varonce1406) {
+var1407 = varonce1406;
+} else {
+var1408 = "Not implemented ";
+var1409 = 16;
+var1410 = string__NativeString__to_s_with_length(var1408, var1409);
+var1407 = var1410;
+varonce1406 = var1407;
+}
+var1411 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var1411 = array_instance Array[Object] */
+var1412 = 2;
+var1413 = NEW_array__NativeArray(var1412, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var1413)->values[0] = (val*) var1407;
+((struct instance_array__NativeArray*)var1413)->values[1] = (val*) var_mpropdef;
+((void (*)(val*, val*, long))(var1411->class->vft[COLOR_array__Array__with_native]))(var1411, var1413, var1412) /* with_native on <var1411:Array[Object]>*/;
+CHECK_NEW_array__Array(var1411);
+}
+var1414 = ((val* (*)(val*))(var1411->class->vft[COLOR_string__Object__to_s]))(var1411) /* to_s on <var1411:Array[Object]>*/;
+((void (*)(val*, val*))(self->class->vft[COLOR_parser_nodes__ANode__debug]))(self, var1414) /* debug on <self:AInternMethPropdef>*/;
RET_LABEL:;
}
/* method abstract_compiler#AInternMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
var41 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]))(self) /* location on <self:AExternMethPropdef>*/;
var42 = ((val* (*)(val*))(var41->class->vft[COLOR_location__Location__file]))(var41) /* file on <var41:Location>*/;
if (var42 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1597);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1611);
exit(1);
} else {
var43 = ((val* (*)(val*))(var42->class->vft[COLOR_location__SourceFile__filename]))(var42) /* filename on <var42:nullable SourceFile>*/;
var_res = var44;
var45 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on <var_mpropdef:MMethodDef>*/;
if (var45 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1601);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1615);
exit(1);
} else {
var46 = ((val* (*)(val*))(var45->class->vft[COLOR_model__MSignature__return_mtype]))(var45) /* return_mtype on <var45:nullable MSignature>*/;
var41 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__location]))(self) /* location on <self:AExternInitPropdef>*/;
var42 = ((val* (*)(val*))(var41->class->vft[COLOR_location__Location__file]))(var41) /* file on <var41:Location>*/;
if (var42 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1629);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1643);
exit(1);
} else {
var43 = ((val* (*)(val*))(var42->class->vft[COLOR_location__SourceFile__filename]))(var42) /* filename on <var42:nullable SourceFile>*/;
if (var2){
var5 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1647);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1661);
exit(1);
} else {
var6 = ((val* (*)(val*))(var5->class->vft[COLOR_model__MPropDef__mproperty]))(var5) /* mproperty on <var5:nullable MPropDef(nullable MAttributeDef)>*/;
var_res = var8;
var9 = ((val* (*)(val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(var_v) /* frame on <var_v:AbstractCompilerVisitor>*/;
if (var9 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1648);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1662);
exit(1);
} else {
var10 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_compiler__Frame__returnvar]))(var9) /* returnvar on <var9:nullable Frame>*/;
}
if (var10 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1648);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1662);
exit(1);
}
((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(var_v, var10, var_res) /* assign on <var_v:AbstractCompilerVisitor>*/;
} else {
var11 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1650);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1664);
exit(1);
} else {
var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MPropDef__mproperty]))(var11) /* mproperty on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
short int var8 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
val* var9 /* : Array[RuntimeVariable] */;
long var10 /* : Int */;
val* var_ /* var : Array[RuntimeVariable] */;
var5 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame);
var6 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var6 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1661);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1675);
exit(1);
}
var7 = ((val* (*)(val*))(var_recv->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_recv) /* mtype on <var_recv:RuntimeVariable>*/;
var8 = var7->type->type_table[cltype] == idtype;
}
if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1661);
+var_class_name = var7 == NULL ? "null" : var7->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1675);
exit(1);
}
var9 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d]))(var_v, var_frame) /* frame= on <var_v:AbstractCompilerVisitor>*/;
var11 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1663);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1677);
exit(1);
} else {
var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MAttributeDef__static_mtype]))(var11) /* static_mtype on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
var_value = var13;
var14 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var14 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1664);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1678);
exit(1);
} else {
var15 = ((val* (*)(val*))(var14->class->vft[COLOR_model__MPropDef__mproperty]))(var14) /* mproperty on <var14:nullable MPropDef(nullable MAttributeDef)>*/;
short int var8 /* : Bool */;
int cltype;
int idtype;
+const char* var_class_name;
val* var9 /* : Array[RuntimeVariable] */;
long var10 /* : Int */;
val* var_ /* var : Array[RuntimeVariable] */;
var5 = NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame);
var6 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var6 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1678);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1692);
exit(1);
}
var7 = ((val* (*)(val*))(var_recv->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_recv) /* mtype on <var_recv:RuntimeVariable>*/;
var8 = var7->type->type_table[cltype] == idtype;
}
if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1678);
+var_class_name = var7 == NULL ? "null" : var7->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1692);
exit(1);
}
var9 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d]))(var_v, var_frame) /* frame= on <var_v:AbstractCompilerVisitor>*/;
var11 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AAttrPropdef>*/;
if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1681);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1695);
exit(1);
} else {
var12 = ((val* (*)(val*))(var11->class->vft[COLOR_model__MPropDef__mproperty]))(var11) /* mproperty on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
RET_LABEL8:(void)0;
}
if (!var7) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1693);
+fprintf(stderr, "Runtime error: %s", "Assert failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1707);
exit(1);
}
var10 = ((val* (*)(val*))(var_super_inits->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_super_inits) /* iterator on <var_super_inits:nullable Collection[MMethod](Collection[MMethod])>*/;
if (var20){
var25 = ((val* (*)(val*))(var_npropdef->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(var_npropdef) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
if (var25 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1704);
+fprintf(stderr, "Runtime error: %s", "Reciever is null");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1718);
exit(1);
} else {
var26 = ((val* (*)(val*))(var25->class->vft[COLOR_model__MPropDef__mproperty]))(var25) /* mproperty on <var25:nullable MPropDef(nullable MAttributeDef)>*/;
}
BREAK_label32: (void)0;
} else {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 1709);
+fprintf(stderr, "Runtime error: %s", "Aborted");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1723);
exit(1);
}
RET_LABEL:;
val* var_v /* var v: AbstractCompilerVisitor */;
val* var_mpropdef /* var mpropdef: MMethodDef */;
val* var_arguments /* var arguments: Array[RuntimeVariable] */;
+val* var /* : nullable Object */;
+val* var1 /* : String */;
+val* var_cn /* var cn: String */;
static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
-val* var3 /* : String */;
+val* var2 /* : String */;
+char* var3 /* : NativeString */;
+long var4 /* : Int */;
+val* var5 /* : String */;
+val* var6 /* : MProperty */;
+val* var7 /* : String */;
+val* var8 /* : String */;
+static val* varonce9;
+val* var10 /* : String */;
+char* var11 /* : NativeString */;
+long var12 /* : Int */;
+val* var13 /* : String */;
+static val* varonce14;
+val* var15 /* : String */;
+char* var16 /* : NativeString */;
+long var17 /* : Int */;
+val* var18 /* : String */;
+val* var19 /* : Array[Object] */;
+long var20 /* : Int */;
+val* var21 /* : NativeArray[Object] */;
+val* var22 /* : String */;
var_v = p0;
var_mpropdef = p1;
var_arguments = p2;
+var = ((val* (*)(val*))(var_arguments->class->vft[COLOR_abstract_collection__Collection__first]))(var_arguments) /* first on <var_arguments:Array[RuntimeVariable]>*/;
+var1 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string]))(var_v, var) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
+var_cn = var1;
if (varonce) {
-var = varonce;
+var2 = varonce;
} else {
-var1 = "Deferred method called";
-var2 = 22;
-var3 = string__NativeString__to_s_with_length(var1, var2);
-var = var3;
-varonce = var;
+var3 = "fprintf(stderr, \"Runtime error: Abstract method `%s` called on `%s`\", \"";
+var4 = 71;
+var5 = string__NativeString__to_s_with_length(var3, var4);
+var2 = var5;
+varonce = var2;
+}
+var6 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on <var_mpropdef:MMethodDef>*/;
+var7 = ((val* (*)(val*))(var6->class->vft[COLOR_model__MProperty__name]))(var6) /* name on <var6:MProperty(MMethod)>*/;
+var8 = ((val* (*)(val*))(var7->class->vft[COLOR_string__AbstractString__escape_to_c]))(var7) /* escape_to_c on <var7:String>*/;
+if (varonce9) {
+var10 = varonce9;
+} else {
+var11 = "\", ";
+var12 = 3;
+var13 = string__NativeString__to_s_with_length(var11, var12);
+var10 = var13;
+varonce9 = var10;
}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort]))(var_v, var) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
+if (varonce14) {
+var15 = varonce14;
+} else {
+var16 = ");";
+var17 = 2;
+var18 = string__NativeString__to_s_with_length(var16, var17);
+var15 = var18;
+varonce14 = var15;
+}
+var19 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var19 = array_instance Array[Object] */
+var20 = 5;
+var21 = NEW_array__NativeArray(var20, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var21)->values[0] = (val*) var2;
+((struct instance_array__NativeArray*)var21)->values[1] = (val*) var8;
+((struct instance_array__NativeArray*)var21)->values[2] = (val*) var10;
+((struct instance_array__NativeArray*)var21)->values[3] = (val*) var_cn;
+((struct instance_array__NativeArray*)var21)->values[4] = (val*) var15;
+((void (*)(val*, val*, long))(var19->class->vft[COLOR_array__Array__with_native]))(var19, var21, var20) /* with_native on <var19:Array[Object]>*/;
+CHECK_NEW_array__Array(var19);
+}
+var22 = ((val* (*)(val*))(var19->class->vft[COLOR_string__Object__to_s]))(var19) /* to_s on <var19:Array[Object]>*/;
+((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var22) /* add on <var_v:AbstractCompilerVisitor>*/;
+((void (*)(val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort]))(var_v) /* add_raw_abort on <var_v:AbstractCompilerVisitor>*/;
RET_LABEL:;
}
/* method abstract_compiler#ADeferredMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
var_v = p0;
var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVardeclExpr__variable]))(self) /* variable on <self:AVardeclExpr>*/;
if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1763);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1781);
exit(1);
}
var_variable = var;
var_v = p0;
var1 = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on <self:AVarExpr>*/;
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1775);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1793);
exit(1);
}
var2 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__variable]))(var_v, var1) /* variable on <var_v:AbstractCompilerVisitor>*/;
var_res = var2;
var3 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AExpr__mtype]))(self) /* mtype on <self:AVarExpr>*/;
if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1776);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1794);
exit(1);
}
var_mtype = var3;
var_v = p0;
var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on <self:AVarAssignExpr>*/;
if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1784);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1802);
exit(1);
}
var_variable = var;
var_v = p0;
var1 = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on <self:AVarAssignExpr>*/;
if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1790);
+fprintf(stderr, "Runtime error: %s", "Cast failed");
+fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1808);
exit(1);
}
var_variable = var1;
RET_LABEL:;
return var;
}
-/* method abstract_compiler#AVarReassignExpr#stmt for (self: AVarReassignExpr, AbstractCompilerVisitor) */
-void abstract_compiler__AVarReassignExpr__stmt(val* self, val* p0) {
-val* var_v /* var v: AbstractCompilerVisitor */;
-val* var /* : nullable Variable */;
-val* var_variable /* var variable: Variable */;
-val* var1 /* : RuntimeVariable */;
-val* var_vari /* var vari: RuntimeVariable */;
-val* var2 /* : AExpr */;
-val* var3 /* : nullable MType */;
-val* var4 /* : RuntimeVariable */;
-val* var_value /* var value: RuntimeVariable */;
-val* var5 /* : nullable CallSite */;
-val* var6 /* : Array[RuntimeVariable] */;
-long var7 /* : Int */;
-val* var8 /* : NativeArray[RuntimeVariable] */;
-val* var9 /* : nullable RuntimeVariable */;
-val* var_res /* var res: nullable RuntimeVariable */;
-val* var10 /* : null */;
-short int var11 /* : Bool */;
-val* var12 /* : RuntimeVariable */;
-var_v = p0;
-var = ((val* (*)(val*))(self->class->vft[COLOR_scope__AVarFormExpr__variable]))(self) /* variable on <self:AVarReassignExpr>*/;
-if (var == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1800);
-exit(1);
-}
-var_variable = var;
-var1 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__variable]))(var_v, var_variable) /* variable on <var_v:AbstractCompilerVisitor>*/;
-var_vari = var1;
-var2 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AReassignFormExpr__n_value]))(self) /* n_value on <self:AVarReassignExpr>*/;
-var3 = ((val* (*)(val*))(var_variable->class->vft[COLOR_typing__Variable__declared_type]))(var_variable) /* declared_type on <var_variable:Variable>*/;
-var4 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__expr]))(var_v, var2, var3) /* expr on <var_v:AbstractCompilerVisitor>*/;
-var_value = var4;
-var5 = ((val* (*)(val*))(self->class->vft[COLOR_typing__AReassignFormExpr__reassign_callsite]))(self) /* reassign_callsite on <self:AVarReassignExpr>*/;
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1803);
-exit(1);
-}
-var6 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
-{ /* var6 = array_instance Array[RuntimeVariable] */
-var7 = 2;
-var8 = NEW_array__NativeArray(var7, &type_array__NativeArrayabstract_compiler__RuntimeVariable);
-((struct instance_array__NativeArray*)var8)->values[0] = (val*) var_vari;
-((struct instance_array__NativeArray*)var8)->values[1] = (val*) var_value;
-((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on <var6:Array[RuntimeVariable]>*/;
-CHECK_NEW_array__Array(var6);
-}
-var9 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite]))(var_v, var5, var6) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
-var_res = var9;
-var10 = NULL;
-if (var_res == NULL) {
-var11 = 0; /* is null */
-} else {
-var11 = 1; /* arg is null and recv is not */
-}
-if (!var11) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1804);
-exit(1);
-}
-var12 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__variable]))(var_v, var_variable) /* variable on <var_v:AbstractCompilerVisitor>*/;
-((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(var_v, var12, var_res) /* assign on <var_v:AbstractCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method abstract_compiler#AVarReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
-void VIRTUAL_abstract_compiler__AVarReassignExpr__stmt(val* self, val* p0) {
-abstract_compiler__AVarReassignExpr__stmt(self, p0);
-RET_LABEL:;
-}
-/* method abstract_compiler#ASelfExpr#expr for (self: ASelfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
-val* abstract_compiler__ASelfExpr__expr(val* self, val* p0) {
-val* var /* : nullable RuntimeVariable */;
-val* var_v /* var v: AbstractCompilerVisitor */;
-val* var1 /* : nullable Frame */;
-val* var2 /* : Array[RuntimeVariable] */;
-val* var3 /* : nullable Object */;
-var_v = p0;
-var1 = ((val* (*)(val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(var_v) /* frame on <var_v:AbstractCompilerVisitor>*/;
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1810);
-exit(1);
-} else {
-var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_compiler__Frame__arguments]))(var1) /* arguments on <var1:nullable Frame>*/;
-}
-var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__first]))(var2) /* first on <var2:Array[RuntimeVariable]>*/;
-var = var3;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method abstract_compiler#ASelfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
-val* VIRTUAL_abstract_compiler__ASelfExpr__expr(val* self, val* p0) {
-val* var /* : nullable RuntimeVariable */;
-val* var1 /* : nullable RuntimeVariable */;
-var1 = abstract_compiler__ASelfExpr__expr(self, p0);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method abstract_compiler#AContinueExpr#stmt for (self: AContinueExpr, AbstractCompilerVisitor) */
-void abstract_compiler__AContinueExpr__stmt(val* self, val* p0) {
-val* var_v /* var v: AbstractCompilerVisitor */;
-static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
-val* var3 /* : String */;
-val* var4 /* : nullable EscapeMark */;
-val* var5 /* : String */;
-static val* varonce6;
-val* var7 /* : String */;
-char* var8 /* : NativeString */;
-long var9 /* : Int */;
-val* var10 /* : String */;
-val* var11 /* : Array[Object] */;
-long var12 /* : Int */;
-val* var13 /* : NativeArray[Object] */;
-val* var14 /* : String */;
-var_v = p0;
-if (varonce) {
-var = varonce;
-} else {
-var1 = "goto CONTINUE_";
-var2 = 14;
-var3 = string__NativeString__to_s_with_length(var1, var2);
-var = var3;
-varonce = var;
-}
-var4 = ((val* (*)(val*))(self->class->vft[COLOR_scope__AContinueExpr__escapemark]))(self) /* escapemark on <self:AContinueExpr>*/;
-var5 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name]))(var_v, var4) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
-if (varonce6) {
-var7 = varonce6;
-} else {
-var8 = ";";
-var9 = 1;
-var10 = string__NativeString__to_s_with_length(var8, var9);
-var7 = var10;
-varonce6 = var7;
-}
-var11 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var11 = array_instance Array[Object] */
-var12 = 3;
-var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var13)->values[0] = (val*) var;
-((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
-((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
-((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
-CHECK_NEW_array__Array(var11);
-}
-var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var14) /* add on <var_v:AbstractCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method abstract_compiler#AContinueExpr#stmt for (self: Object, AbstractCompilerVisitor) */
-void VIRTUAL_abstract_compiler__AContinueExpr__stmt(val* self, val* p0) {
-abstract_compiler__AContinueExpr__stmt(self, p0);
-RET_LABEL:;
-}
-/* method abstract_compiler#ABreakExpr#stmt for (self: ABreakExpr, AbstractCompilerVisitor) */
-void abstract_compiler__ABreakExpr__stmt(val* self, val* p0) {
-val* var_v /* var v: AbstractCompilerVisitor */;
-static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
-val* var3 /* : String */;
-val* var4 /* : nullable EscapeMark */;
-val* var5 /* : String */;
-static val* varonce6;
-val* var7 /* : String */;
-char* var8 /* : NativeString */;
-long var9 /* : Int */;
-val* var10 /* : String */;
-val* var11 /* : Array[Object] */;
-long var12 /* : Int */;
-val* var13 /* : NativeArray[Object] */;
-val* var14 /* : String */;
-var_v = p0;
-if (varonce) {
-var = varonce;
-} else {
-var1 = "goto BREAK_";
-var2 = 11;
-var3 = string__NativeString__to_s_with_length(var1, var2);
-var = var3;
-varonce = var;
-}
-var4 = ((val* (*)(val*))(self->class->vft[COLOR_scope__ABreakExpr__escapemark]))(self) /* escapemark on <self:ABreakExpr>*/;
-var5 = ((val* (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name]))(var_v, var4) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
-if (varonce6) {
-var7 = varonce6;
-} else {
-var8 = ";";
-var9 = 1;
-var10 = string__NativeString__to_s_with_length(var8, var9);
-var7 = var10;
-varonce6 = var7;
-}
-var11 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var11 = array_instance Array[Object] */
-var12 = 3;
-var13 = NEW_array__NativeArray(var12, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var13)->values[0] = (val*) var;
-((struct instance_array__NativeArray*)var13)->values[1] = (val*) var5;
-((struct instance_array__NativeArray*)var13)->values[2] = (val*) var7;
-((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on <var11:Array[Object]>*/;
-CHECK_NEW_array__Array(var11);
-}
-var14 = ((val* (*)(val*))(var11->class->vft[COLOR_string__Object__to_s]))(var11) /* to_s on <var11:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var14) /* add on <var_v:AbstractCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method abstract_compiler#ABreakExpr#stmt for (self: Object, AbstractCompilerVisitor) */
-void VIRTUAL_abstract_compiler__ABreakExpr__stmt(val* self, val* p0) {
-abstract_compiler__ABreakExpr__stmt(self, p0);
-RET_LABEL:;
-}
-/* method abstract_compiler#AReturnExpr#stmt for (self: AReturnExpr, AbstractCompilerVisitor) */
-void abstract_compiler__AReturnExpr__stmt(val* self, val* p0) {
-val* var_v /* var v: AbstractCompilerVisitor */;
-val* var /* : nullable AExpr */;
-val* var_nexpr /* var nexpr: nullable AExpr */;
-val* var1 /* : null */;
-short int var2 /* : Bool */;
-val* var3 /* : nullable Frame */;
-val* var4 /* : nullable RuntimeVariable */;
-val* var_returnvar /* var returnvar: RuntimeVariable */;
-val* var5 /* : MType */;
-val* var6 /* : RuntimeVariable */;
-val* var_i /* var i: RuntimeVariable */;
-static val* varonce;
-val* var7 /* : String */;
-char* var8 /* : NativeString */;
-long var9 /* : Int */;
-val* var10 /* : String */;
-val* var11 /* : nullable Frame */;
-val* var12 /* : nullable String */;
-static val* varonce13;
-val* var14 /* : String */;
-char* var15 /* : NativeString */;
-long var16 /* : Int */;
-val* var17 /* : String */;
-val* var18 /* : Array[Object] */;
-long var19 /* : Int */;
-val* var20 /* : NativeArray[Object] */;
-val* var21 /* : String */;
-var_v = p0;
-var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AReturnExpr__n_expr]))(self) /* n_expr on <self:AReturnExpr>*/;
-var_nexpr = var;
-var1 = NULL;
-if (var_nexpr == NULL) {
-var2 = 0; /* is null */
-} else {
-var2 = 1; /* arg is null and recv is not */
-}
-if (var2){
-var3 = ((val* (*)(val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(var_v) /* frame on <var_v:AbstractCompilerVisitor>*/;
-if (var3 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1826);
-exit(1);
-} else {
-var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_compiler__Frame__returnvar]))(var3) /* returnvar on <var3:nullable Frame>*/;
-}
-if (var4 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1826);
-exit(1);
-}
-var_returnvar = var4;
-var5 = ((val* (*)(val*))(var_returnvar->class->vft[COLOR_abstract_compiler__RuntimeVariable__mtype]))(var_returnvar) /* mtype on <var_returnvar:RuntimeVariable>*/;
-var6 = ((val* (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__expr]))(var_v, var_nexpr, var5) /* expr on <var_v:AbstractCompilerVisitor>*/;
-var_i = var6;
-((void (*)(val*, val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__assign]))(var_v, var_returnvar, var_i) /* assign on <var_v:AbstractCompilerVisitor>*/;
-} else {
-}
-if (varonce) {
-var7 = varonce;
-} else {
-var8 = "goto ";
-var9 = 5;
-var10 = string__NativeString__to_s_with_length(var8, var9);
-var7 = var10;
-varonce = var7;
-}
-var11 = ((val* (*)(val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__frame]))(var_v) /* frame on <var_v:AbstractCompilerVisitor>*/;
-if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1830);
-exit(1);
-} else {
-var12 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_compiler__Frame__returnlabel]))(var11) /* returnlabel on <var11:nullable Frame>*/;
-}
-if (var12 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1830);
-exit(1);
-}
-if (varonce13) {
-var14 = varonce13;
-} else {
-var15 = ";";
-var16 = 1;
-var17 = string__NativeString__to_s_with_length(var15, var16);
-var14 = var17;
-varonce13 = var14;
-}
-var18 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var18 = array_instance Array[Object] */
-var19 = 3;
-var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var20)->values[0] = (val*) var7;
-((struct instance_array__NativeArray*)var20)->values[1] = (val*) var12;
-((struct instance_array__NativeArray*)var20)->values[2] = (val*) var14;
-((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on <var18:Array[Object]>*/;
-CHECK_NEW_array__Array(var18);
-}
-var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on <var18:Array[Object]>*/;
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add]))(var_v, var21) /* add on <var_v:AbstractCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method abstract_compiler#AReturnExpr#stmt for (self: Object, AbstractCompilerVisitor) */
-void VIRTUAL_abstract_compiler__AReturnExpr__stmt(val* self, val* p0) {
-abstract_compiler__AReturnExpr__stmt(self, p0);
-RET_LABEL:;
-}
-/* method abstract_compiler#AAbortExpr#stmt for (self: AAbortExpr, AbstractCompilerVisitor) */
-void abstract_compiler__AAbortExpr__stmt(val* self, val* p0) {
-val* var_v /* var v: AbstractCompilerVisitor */;
-static val* varonce;
-val* var /* : String */;
-char* var1 /* : NativeString */;
-long var2 /* : Int */;
-val* var3 /* : String */;
-var_v = p0;
-if (varonce) {
-var = varonce;
-} else {
-var1 = "Aborted";
-var2 = 7;
-var3 = string__NativeString__to_s_with_length(var1, var2);
-var = var3;
-varonce = var;
-}
-((void (*)(val*, val*))(var_v->class->vft[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort]))(var_v, var) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
-RET_LABEL:;
-}
-/* method abstract_compiler#AAbortExpr#stmt for (self: Object, AbstractCompilerVisitor) */
-void VIRTUAL_abstract_compiler__AAbortExpr__stmt(val* self, val* p0) {
-abstract_compiler__AAbortExpr__stmt(self, p0);
-RET_LABEL:;
-}