-if (varonce171) {
-var172 = varonce171;
-} else {
-var173 = " of type ";
-var174 = 9;
-var175 = string__NativeString__to_s_with_length(var173, var174);
-var172 = var175;
-varonce171 = var172;
-}
-var176 = ((val* (*)(val*))(var_sp->class->vft[COLOR_model__MParameter__mtype]))(var_sp) /* mtype on <var_sp:MParameter>*/;
-if (varonce177) {
-var178 = varonce177;
-} else {
-var179 = ", got implicit argument ";
-var180 = 24;
-var181 = string__NativeString__to_s_with_length(var179, var180);
-var178 = var181;
-varonce177 = var178;
-}
-var182 = ((val* (*)(val*))(var_p->class->vft[COLOR_model__MParameter__name]))(var_p) /* name on <var_p:MParameter>*/;
-if (varonce183) {
-var184 = varonce183;
-} else {
-var185 = " of type ";
-var186 = 9;
-var187 = string__NativeString__to_s_with_length(var185, var186);
-var184 = var187;
-varonce183 = var184;
-}
-var188 = ((val* (*)(val*))(var_p->class->vft[COLOR_model__MParameter__mtype]))(var_p) /* mtype on <var_p:MParameter>*/;
-if (varonce189) {
-var190 = varonce189;
-} else {
-var191 = ".";
-var192 = 1;
-var193 = string__NativeString__to_s_with_length(var191, var192);
-var190 = var193;
-varonce189 = var190;
-}
-var194 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var194 = array_instance Array[Object] */
-var195 = 12;
-var196 = NEW_array__NativeArray(var195, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var196)->values[0] = (val*) var162;
-((struct instance_array__NativeArray*)var196)->values[1] = (val*) var_auto_super_init_def;
-((struct instance_array__NativeArray*)var196)->values[2] = (val*) var_supermsig;
-((struct instance_array__NativeArray*)var196)->values[3] = (val*) var167;
-var197 = BOX_kernel__Int(var_i); /* autobox from Int to Object */
-((struct instance_array__NativeArray*)var196)->values[4] = (val*) var197;
-((struct instance_array__NativeArray*)var196)->values[5] = (val*) var172;
-((struct instance_array__NativeArray*)var196)->values[6] = (val*) var176;
-((struct instance_array__NativeArray*)var196)->values[7] = (val*) var178;
-((struct instance_array__NativeArray*)var196)->values[8] = (val*) var182;
-((struct instance_array__NativeArray*)var196)->values[9] = (val*) var184;
-((struct instance_array__NativeArray*)var196)->values[10] = (val*) var188;
-((struct instance_array__NativeArray*)var196)->values[11] = (val*) var190;
-((void (*)(val*, val*, long))(var194->class->vft[COLOR_array__Array__with_native]))(var194, var196, var195) /* with_native on <var194:Array[Object]>*/;
-}
-var198 = ((val* (*)(val*))(var194->class->vft[COLOR_string__Object__to_s]))(var194) /* to_s on <var194:Array[Object]>*/;
-((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var198) /* error on <var_modelbuilder:ModelBuilder>*/;
-goto BREAK_label199;
-} else {
-}
-var200 = 1;
-{ /* Inline kernel#Int#+ (var_i,var200) */
-var203 = var_i + var200;
-var201 = var203;
-goto RET_LABEL202;
-RET_LABEL202:(void)0;
-}
-var_i = var201;
-CONTINUE_label199: (void)0;
-((void (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__next]))(var152) /* next on <var152:Iterator[nullable Object]>*/;
-}
-BREAK_label199: (void)0;
-CONTINUE_label149: (void)0;
-((void (*)(val*))(var106->class->vft[COLOR_abstract_collection__Iterator__next]))(var106) /* next on <var106:Iterator[nullable Object]>*/;
-}
-BREAK_label149: (void)0;
-((void (*)(val*, val*))(self->class->vft[COLOR_auto_super_init__AConcreteMethPropdef__auto_super_inits_61d]))(self, var_auto_super_inits) /* auto_super_inits= on <self:AConcreteMethPropdef>*/;
+var171 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var171 = array_instance Array[Object] */
+var172 = 3;
+var173 = NEW_array__NativeArray(var172, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var173)->values[0] = (val*) var162;
+((struct instance_array__NativeArray*)var173)->values[1] = (val*) var_mpropdef;
+((struct instance_array__NativeArray*)var173)->values[2] = (val*) var167;
+{
+((void (*)(val*, val*, long))(var171->class->vft[COLOR_array__Array__with_native]))(var171, var173, var172) /* with_native on <var171:Array[Object]>*/;
+}
+}
+{
+var174 = ((val* (*)(val*))(var171->class->vft[COLOR_string__Object__to_s]))(var171) /* to_s on <var171:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var_modelbuilder, self, var174); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+}
+goto RET_LABEL;
+} else {
+}
+{
+var175 = array__AbstractArrayRead__iterator(var_auto_super_inits);
+}
+for(;;) {
+{
+var176 = array__ArrayIterator__is_ok(var175);
+}
+if(!var176) break;
+{
+var177 = array__ArrayIterator__item(var175);
+}
+var_auto_super_init = var177;
+{
+{ /* Inline typing#CallSite#mpropdef (var_auto_super_init) on <var_auto_super_init:CallSite> */
+var180 = var_auto_super_init->attrs[COLOR_typing__CallSite___mpropdef].val; /* _mpropdef on <var_auto_super_init:CallSite> */
+if (unlikely(var180 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
+PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 425);
+show_backtrace(1);
+}
+var178 = var180;
+RET_LABEL179:(void)0;
+}
+}
+var_auto_super_init_def = var178;
+{
+{ /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
+var183 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on <var_mpropdef:MMethodDef> */
+var181 = var183;
+RET_LABEL182:(void)0;
+}
+}
+if (unlikely(var181 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 118);
+show_backtrace(1);
+}
+var_msig = var181;
+{
+{ /* Inline typing#CallSite#msignature (var_auto_super_init) on <var_auto_super_init:CallSite> */
+var186 = var_auto_super_init->attrs[COLOR_typing__CallSite___msignature].val; /* _msignature on <var_auto_super_init:CallSite> */
+if (unlikely(var186 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
+PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 429);
+show_backtrace(1);
+}
+var184 = var186;
+RET_LABEL185:(void)0;
+}
+}
+var_supermsig = var184;
+{
+var187 = model__MSignature__arity(var_supermsig);
+}
+{
+var188 = model__MSignature__arity(var_msig);
+}
+{
+{ /* Inline kernel#Int#> (var187,var188) on <var187:Int> */
+/* Covariant cast for argument 0 (i) <var188:Int> isa OTHER */
+/* <var188:Int> isa OTHER */
+var191 = 1; /* easy <var188:Int> isa OTHER*/
+if (unlikely(!var191)) {
+var_class_name194 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name194);
+PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
+show_backtrace(1);
+}
+var195 = var187 > var188;
+var189 = var195;
+goto RET_LABEL190;
+RET_LABEL190:(void)0;
+}
+}
+if (var189){
+if (varonce196) {
+var197 = varonce196;
+} else {
+var198 = "Error: Cannot do an implicit constructor call to ";
+var199 = 49;
+var200 = string__NativeString__to_s_with_length(var198, var199);
+var197 = var200;
+varonce196 = var197;
+}
+if (varonce201) {
+var202 = varonce201;
+} else {
+var203 = ". Expected at least ";
+var204 = 20;
+var205 = string__NativeString__to_s_with_length(var203, var204);
+var202 = var205;
+varonce201 = var202;
+}
+{
+var206 = model__MSignature__arity(var_supermsig);
+}
+if (varonce207) {
+var208 = varonce207;
+} else {
+var209 = " arguments, got ";
+var210 = 16;
+var211 = string__NativeString__to_s_with_length(var209, var210);
+var208 = var211;
+varonce207 = var208;
+}
+{
+var212 = model__MSignature__arity(var_msig);
+}
+if (varonce213) {
+var214 = varonce213;
+} else {
+var215 = ".";
+var216 = 1;
+var217 = string__NativeString__to_s_with_length(var215, var216);
+var214 = var217;
+varonce213 = var214;
+}
+var218 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var218 = array_instance Array[Object] */
+var219 = 8;
+var220 = NEW_array__NativeArray(var219, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var220)->values[0] = (val*) var197;
+((struct instance_array__NativeArray*)var220)->values[1] = (val*) var_auto_super_init_def;
+((struct instance_array__NativeArray*)var220)->values[2] = (val*) var_supermsig;
+((struct instance_array__NativeArray*)var220)->values[3] = (val*) var202;
+var221 = BOX_kernel__Int(var206); /* autobox from Int to Object */
+((struct instance_array__NativeArray*)var220)->values[4] = (val*) var221;
+((struct instance_array__NativeArray*)var220)->values[5] = (val*) var208;
+var222 = BOX_kernel__Int(var212); /* autobox from Int to Object */
+((struct instance_array__NativeArray*)var220)->values[6] = (val*) var222;
+((struct instance_array__NativeArray*)var220)->values[7] = (val*) var214;
+{
+((void (*)(val*, val*, long))(var218->class->vft[COLOR_array__Array__with_native]))(var218, var220, var219) /* with_native on <var218:Array[Object]>*/;
+}
+}
+{
+var223 = ((val* (*)(val*))(var218->class->vft[COLOR_string__Object__to_s]))(var218) /* to_s on <var218:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var_modelbuilder, self, var223); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+}
+goto CONTINUE_label224;
+} else {
+}
+var225 = 0;
+var_i = var225;
+{
+{ /* Inline model#MSignature#mparameters (var_supermsig) on <var_supermsig:MSignature> */
+var228 = var_supermsig->attrs[COLOR_model__MSignature___mparameters].val; /* _mparameters on <var_supermsig:MSignature> */
+if (unlikely(var228 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
+show_backtrace(1);
+}
+var226 = var228;
+RET_LABEL227:(void)0;
+}
+}
+{
+var229 = array__AbstractArrayRead__iterator(var226);
+}
+for(;;) {
+{
+var230 = array__ArrayIterator__is_ok(var229);
+}
+if(!var230) break;
+{
+var231 = array__ArrayIterator__item(var229);
+}
+var_sp = var231;
+{
+{ /* Inline model#MSignature#mparameters (var_msig) on <var_msig:MSignature> */
+var234 = var_msig->attrs[COLOR_model__MSignature___mparameters].val; /* _mparameters on <var_msig:MSignature> */
+if (unlikely(var234 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
+show_backtrace(1);
+}
+var232 = var234;
+RET_LABEL233:(void)0;
+}
+}
+{
+var235 = array__Array___91d_93d(var232, var_i);
+}
+var_p = var235;
+{
+{ /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
+var238 = var_p->attrs[COLOR_model__MParameter___mtype].val; /* _mtype on <var_p:MParameter> */
+if (unlikely(var238 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
+show_backtrace(1);
+}
+var236 = var238;
+RET_LABEL237:(void)0;
+}
+}
+var_sub = var236;
+{
+{ /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
+var241 = var_sp->attrs[COLOR_model__MParameter___mtype].val; /* _mtype on <var_sp:MParameter> */
+if (unlikely(var241 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
+show_backtrace(1);
+}
+var239 = var241;
+RET_LABEL240:(void)0;
+}
+}
+var_sup = var239;
+{
+var242 = model__MType__is_subtype(var_sub, var_mmodule, var_anchor, var_sup);
+}
+var243 = !var242;
+if (var243){
+if (varonce244) {
+var245 = varonce244;
+} else {
+var246 = "Error: Cannot do an implicit constructor call to ";
+var247 = 49;
+var248 = string__NativeString__to_s_with_length(var246, var247);
+var245 = var248;
+varonce244 = var245;
+}
+if (varonce249) {
+var250 = varonce249;
+} else {
+var251 = ". Expected argument #";
+var252 = 21;
+var253 = string__NativeString__to_s_with_length(var251, var252);
+var250 = var253;
+varonce249 = var250;
+}
+if (varonce254) {
+var255 = varonce254;
+} else {
+var256 = " of type ";
+var257 = 9;
+var258 = string__NativeString__to_s_with_length(var256, var257);
+var255 = var258;
+varonce254 = var255;
+}
+{
+{ /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
+var261 = var_sp->attrs[COLOR_model__MParameter___mtype].val; /* _mtype on <var_sp:MParameter> */
+if (unlikely(var261 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
+show_backtrace(1);
+}
+var259 = var261;
+RET_LABEL260:(void)0;
+}
+}
+if (varonce262) {
+var263 = varonce262;
+} else {
+var264 = ", got implicit argument ";
+var265 = 24;
+var266 = string__NativeString__to_s_with_length(var264, var265);
+var263 = var266;
+varonce262 = var263;
+}
+{
+{ /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
+var269 = var_p->attrs[COLOR_model__MParameter___name].val; /* _name on <var_p:MParameter> */
+if (unlikely(var269 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
+show_backtrace(1);
+}
+var267 = var269;
+RET_LABEL268:(void)0;
+}
+}
+if (varonce270) {
+var271 = varonce270;
+} else {
+var272 = " of type ";
+var273 = 9;
+var274 = string__NativeString__to_s_with_length(var272, var273);
+var271 = var274;
+varonce270 = var271;
+}
+{
+{ /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
+var277 = var_p->attrs[COLOR_model__MParameter___mtype].val; /* _mtype on <var_p:MParameter> */
+if (unlikely(var277 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
+show_backtrace(1);
+}
+var275 = var277;
+RET_LABEL276:(void)0;
+}
+}
+if (varonce278) {
+var279 = varonce278;
+} else {
+var280 = ".";
+var281 = 1;
+var282 = string__NativeString__to_s_with_length(var280, var281);
+var279 = var282;
+varonce278 = var279;
+}
+var283 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var283 = array_instance Array[Object] */
+var284 = 12;
+var285 = NEW_array__NativeArray(var284, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var285)->values[0] = (val*) var245;
+((struct instance_array__NativeArray*)var285)->values[1] = (val*) var_auto_super_init_def;
+((struct instance_array__NativeArray*)var285)->values[2] = (val*) var_supermsig;
+((struct instance_array__NativeArray*)var285)->values[3] = (val*) var250;
+var286 = BOX_kernel__Int(var_i); /* autobox from Int to Object */
+((struct instance_array__NativeArray*)var285)->values[4] = (val*) var286;
+((struct instance_array__NativeArray*)var285)->values[5] = (val*) var255;
+((struct instance_array__NativeArray*)var285)->values[6] = (val*) var259;
+((struct instance_array__NativeArray*)var285)->values[7] = (val*) var263;
+((struct instance_array__NativeArray*)var285)->values[8] = (val*) var267;
+((struct instance_array__NativeArray*)var285)->values[9] = (val*) var271;
+((struct instance_array__NativeArray*)var285)->values[10] = (val*) var275;
+((struct instance_array__NativeArray*)var285)->values[11] = (val*) var279;
+{
+((void (*)(val*, val*, long))(var283->class->vft[COLOR_array__Array__with_native]))(var283, var285, var284) /* with_native on <var283:Array[Object]>*/;
+}
+}
+{
+var287 = ((val* (*)(val*))(var283->class->vft[COLOR_string__Object__to_s]))(var283) /* to_s on <var283:Array[Object]>*/;
+}
+{
+modelbuilder__ModelBuilder__error(var_modelbuilder, self, var287); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
+}
+goto BREAK_label288;
+} else {
+}
+var289 = 1;
+{
+{ /* Inline kernel#Int#+ (var_i,var289) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var289:Int> isa OTHER */
+/* <var289:Int> isa OTHER */
+var292 = 1; /* easy <var289:Int> isa OTHER*/
+if (unlikely(!var292)) {
+var_class_name295 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name295);
+PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
+show_backtrace(1);
+}
+var296 = var_i + var289;
+var290 = var296;
+goto RET_LABEL291;
+RET_LABEL291:(void)0;
+}
+}
+var_i = var290;
+CONTINUE_label288: (void)0;
+{
+array__ArrayIterator__next(var229); /* Direct call array#ArrayIterator#next on <var229:ArrayIterator[nullable Object]>*/
+}
+}
+BREAK_label288: (void)0;
+CONTINUE_label224: (void)0;
+{
+array__ArrayIterator__next(var175); /* Direct call array#ArrayIterator#next on <var175:ArrayIterator[nullable Object]>*/
+}
+}
+BREAK_label224: (void)0;
+{
+{ /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
+self->attrs[COLOR_auto_super_init__AMethPropdef___auto_super_inits].val = var_auto_super_inits; /* _auto_super_inits on <self:AMethPropdef> */
+RET_LABEL297:(void)0;
+}
+}