lib/standard/ropes: Concat nodes cannot be constructed without children anymore.
[nit.git] / c_src / auto_super_init.sep.1.c
1 #include "auto_super_init.sep.0.h"
2 /* method auto_super_init#ToolContext#auto_super_init_phase for (self: ToolContext): Phase */
3 val* auto_super_init__ToolContext__auto_super_init_phase(val* self) {
4 val* var /* : Phase */;
5 val* var1 /* : Phase */;
6 var1 = self->attrs[COLOR_auto_super_init__ToolContext___64dauto_super_init_phase].val; /* @auto_super_init_phase on <self:ToolContext> */
7 if (var1 == NULL) {
8 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @auto_super_init_phase");
9 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 26);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method auto_super_init#ToolContext#auto_super_init_phase for (self: Object): Phase */
17 val* VIRTUAL_auto_super_init__ToolContext__auto_super_init_phase(val* self) {
18 val* var /* : Phase */;
19 val* var1 /* : Phase */;
20 var1 = auto_super_init__ToolContext__auto_super_init_phase(self);
21 var = var1;
22 RET_LABEL:;
23 return var;
24 }
25 /* method auto_super_init#ToolContext#auto_super_init_phase= for (self: ToolContext, Phase) */
26 void auto_super_init__ToolContext__auto_super_init_phase_61d(val* self, val* p0) {
27 self->attrs[COLOR_auto_super_init__ToolContext___64dauto_super_init_phase].val = p0; /* @auto_super_init_phase on <self:ToolContext> */
28 RET_LABEL:;
29 }
30 /* method auto_super_init#ToolContext#auto_super_init_phase= for (self: Object, Phase) */
31 void VIRTUAL_auto_super_init__ToolContext__auto_super_init_phase_61d(val* self, val* p0) {
32 auto_super_init__ToolContext__auto_super_init_phase_61d(self, p0);
33 RET_LABEL:;
34 }
35 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: AutoSuperInitPhase, APropdef) */
36 void auto_super_init__AutoSuperInitPhase__process_npropdef(val* self, val* p0) {
37 val* var_npropdef /* var npropdef: APropdef */;
38 short int var /* : Bool */;
39 int cltype;
40 int idtype;
41 val* var1 /* : ToolContext */;
42 val* var2 /* : ModelBuilder */;
43 var_npropdef = p0;
44 /* <var_npropdef:APropdef> isa AConcreteMethPropdef */
45 cltype = type_parser_nodes__AConcreteMethPropdef.color;
46 idtype = type_parser_nodes__AConcreteMethPropdef.id;
47 if(cltype >= var_npropdef->type->table_size) {
48 var = 0;
49 } else {
50 var = var_npropdef->type->type_table[cltype] == idtype;
51 }
52 if (var){
53 var1 = ((val* (*)(val*))(self->class->vft[COLOR_phase__Phase__toolcontext]))(self) /* toolcontext on <self:AutoSuperInitPhase>*/;
54 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_modelbuilder__ToolContext__modelbuilder]))(var1) /* modelbuilder on <var1:ToolContext>*/;
55 ((void (*)(val*, val*))(var_npropdef->class->vft[COLOR_auto_super_init__AConcreteMethPropdef__do_auto_super_init]))(var_npropdef, var2) /* do_auto_super_init on <var_npropdef:APropdef(AConcreteMethPropdef)>*/;
56 } else {
57 }
58 RET_LABEL:;
59 }
60 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: Object, APropdef) */
61 void VIRTUAL_auto_super_init__AutoSuperInitPhase__process_npropdef(val* self, val* p0) {
62 auto_super_init__AutoSuperInitPhase__process_npropdef(self, p0);
63 RET_LABEL:;
64 }
65 /* method auto_super_init#AutoSuperInitVisitor#init for (self: AutoSuperInitVisitor) */
66 void auto_super_init__AutoSuperInitVisitor__init(val* self) {
67 ((void (*)(val*))(self->class->vft[COLOR_parser_nodes__Visitor__init]))(self) /* init on <self:AutoSuperInitVisitor>*/;
68 RET_LABEL:;
69 }
70 /* method auto_super_init#AutoSuperInitVisitor#init for (self: Object) */
71 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__init(val* self) {
72 auto_super_init__AutoSuperInitVisitor__init(self);
73 RET_LABEL:;
74 }
75 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: AutoSuperInitVisitor, ANode) */
76 void auto_super_init__AutoSuperInitVisitor__visit(val* self, val* p0) {
77 val* var_n /* var n: ANode */;
78 var_n = p0;
79 ((void (*)(val*, val*))(var_n->class->vft[COLOR_auto_super_init__ANode__accept_auto_super_init]))(var_n, self) /* accept_auto_super_init on <var_n:ANode>*/;
80 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__visit_all]))(var_n, self) /* visit_all on <var_n:ANode>*/;
81 RET_LABEL:;
82 }
83 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: Object, ANode) */
84 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__visit(val* self, val* p0) {
85 auto_super_init__AutoSuperInitVisitor__visit(self, p0);
86 RET_LABEL:;
87 }
88 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: AutoSuperInitVisitor): Bool */
89 short int auto_super_init__AutoSuperInitVisitor__has_explicit_super_init(val* self) {
90 short int var /* : Bool */;
91 short int var1 /* : Bool */;
92 var1 = self->attrs[COLOR_auto_super_init__AutoSuperInitVisitor___64dhas_explicit_super_init].s; /* @has_explicit_super_init on <self:AutoSuperInitVisitor> */
93 var = var1;
94 RET_LABEL:;
95 return var;
96 }
97 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: Object): Bool */
98 short int VIRTUAL_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init(val* self) {
99 short int var /* : Bool */;
100 short int var1 /* : Bool */;
101 var1 = auto_super_init__AutoSuperInitVisitor__has_explicit_super_init(self);
102 var = var1;
103 RET_LABEL:;
104 return var;
105 }
106 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: AutoSuperInitVisitor, Bool) */
107 void auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d(val* self, short int p0) {
108 self->attrs[COLOR_auto_super_init__AutoSuperInitVisitor___64dhas_explicit_super_init].s = p0; /* @has_explicit_super_init on <self:AutoSuperInitVisitor> */
109 RET_LABEL:;
110 }
111 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: Object, Bool) */
112 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d(val* self, short int p0) {
113 auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d(self, p0);
114 RET_LABEL:;
115 }
116 /* method auto_super_init#AConcreteMethPropdef#auto_super_inits for (self: AConcreteMethPropdef): nullable Array[CallSite] */
117 val* auto_super_init__AConcreteMethPropdef__auto_super_inits(val* self) {
118 val* var /* : nullable Array[CallSite] */;
119 val* var1 /* : nullable Array[CallSite] */;
120 var1 = self->attrs[COLOR_auto_super_init__AConcreteMethPropdef___64dauto_super_inits].val; /* @auto_super_inits on <self:AConcreteMethPropdef> */
121 var = var1;
122 RET_LABEL:;
123 return var;
124 }
125 /* method auto_super_init#AConcreteMethPropdef#auto_super_inits for (self: Object): nullable Array[CallSite] */
126 val* VIRTUAL_auto_super_init__AConcreteMethPropdef__auto_super_inits(val* self) {
127 val* var /* : nullable Array[CallSite] */;
128 val* var1 /* : nullable Array[CallSite] */;
129 var1 = auto_super_init__AConcreteMethPropdef__auto_super_inits(self);
130 var = var1;
131 RET_LABEL:;
132 return var;
133 }
134 /* method auto_super_init#AConcreteMethPropdef#auto_super_inits= for (self: AConcreteMethPropdef, nullable Array[CallSite]) */
135 void auto_super_init__AConcreteMethPropdef__auto_super_inits_61d(val* self, val* p0) {
136 self->attrs[COLOR_auto_super_init__AConcreteMethPropdef___64dauto_super_inits].val = p0; /* @auto_super_inits on <self:AConcreteMethPropdef> */
137 RET_LABEL:;
138 }
139 /* method auto_super_init#AConcreteMethPropdef#auto_super_inits= for (self: Object, nullable Array[CallSite]) */
140 void VIRTUAL_auto_super_init__AConcreteMethPropdef__auto_super_inits_61d(val* self, val* p0) {
141 auto_super_init__AConcreteMethPropdef__auto_super_inits_61d(self, p0);
142 RET_LABEL:;
143 }
144 /* method auto_super_init#AConcreteMethPropdef#do_auto_super_init for (self: AConcreteMethPropdef, ModelBuilder) */
145 void auto_super_init__AConcreteMethPropdef__do_auto_super_init(val* self, val* p0) {
146 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
147 val* var /* : nullable ANode */;
148 short int var1 /* : Bool */;
149 int cltype;
150 int idtype;
151 const char* var_class_name;
152 val* var2 /* : nullable MClassDef */;
153 val* var_mclassdef /* var mclassdef: MClassDef */;
154 val* var3 /* : nullable MPropDef */;
155 val* var_mpropdef /* var mpropdef: MMethodDef */;
156 val* var4 /* : MClassDef */;
157 val* var5 /* : MModule */;
158 val* var_mmodule /* var mmodule: MModule */;
159 val* var6 /* : MClassType */;
160 val* var_anchor /* var anchor: MClassType */;
161 val* var7 /* : MClass */;
162 val* var8 /* : MClassType */;
163 val* var_recvtype /* var recvtype: MClassType */;
164 val* var9 /* : MProperty */;
165 short int var10 /* : Bool */;
166 short int var11 /* : Bool */;
167 val* var12 /* : MClassDef */;
168 short int var13 /* : Bool */;
169 short int var14 /* : Bool */;
170 short int var15 /* : Bool */;
171 short int var_skip /* var skip: Bool */;
172 val* var16 /* : nullable POSetElement[MClassDef] */;
173 val* var17 /* : Collection[Object] */;
174 val* var18 /* : Iterator[nullable Object] */;
175 short int var19 /* : Bool */;
176 val* var20 /* : nullable Object */;
177 val* var_cd /* var cd: MClassDef */;
178 val* var21 /* : MClass */;
179 val* var22 /* : MClassKind */;
180 short int var23 /* : Bool */;
181 short int var24 /* : Bool */;
182 val* var25 /* : nullable AExpr */;
183 val* var_nblock /* var nblock: nullable AExpr */;
184 val* var26 /* : null */;
185 short int var27 /* : Bool */;
186 val* var28 /* : AutoSuperInitVisitor */;
187 val* var_v /* var v: AutoSuperInitVisitor */;
188 short int var29 /* : Bool */;
189 val* var30 /* : Array[CallSite] */;
190 val* var_auto_super_inits /* var auto_super_inits: Array[CallSite] */;
191 val* var31 /* : Array[MClassType] */;
192 val* var32 /* : Iterator[nullable Object] */;
193 short int var33 /* : Bool */;
194 val* var34 /* : nullable Object */;
195 val* var_msupertype /* var msupertype: MClassType */;
196 val* var35 /* : MClass */;
197 val* var36 /* : MClassKind */;
198 short int var37 /* : Bool */;
199 short int var38 /* : Bool */;
200 val* var40 /* : MClassType */;
201 val* var41 /* : MType */;
202 val* var42 /* : MProperty */;
203 val* var43 /* : String */;
204 val* var44 /* : nullable MProperty */;
205 val* var_candidate /* var candidate: nullable MProperty */;
206 val* var45 /* : null */;
207 short int var46 /* : Bool */;
208 static val* varonce;
209 val* var47 /* : String */;
210 char* var48 /* : NativeString */;
211 long var49 /* : Int */;
212 val* var50 /* : String */;
213 val* var51 /* : nullable MProperty */;
214 val* var52 /* : null */;
215 short int var53 /* : Bool */;
216 static val* varonce54;
217 val* var55 /* : String */;
218 char* var56 /* : NativeString */;
219 long var57 /* : Int */;
220 val* var58 /* : String */;
221 static val* varonce59;
222 val* var60 /* : String */;
223 char* var61 /* : NativeString */;
224 long var62 /* : Int */;
225 val* var63 /* : String */;
226 val* var64 /* : MProperty */;
227 val* var65 /* : String */;
228 static val* varonce66;
229 val* var67 /* : String */;
230 char* var68 /* : NativeString */;
231 long var69 /* : Int */;
232 val* var70 /* : String */;
233 static val* varonce71;
234 val* var72 /* : String */;
235 char* var73 /* : NativeString */;
236 long var74 /* : Int */;
237 val* var75 /* : String */;
238 val* var76 /* : Array[Object] */;
239 long var77 /* : Int */;
240 val* var78 /* : NativeArray[Object] */;
241 val* var79 /* : String */;
242 short int var80 /* : Bool */;
243 int cltype81;
244 int idtype82;
245 val* var83 /* : Array[MPropDef] */;
246 val* var_candidatedefs /* var candidatedefs: Array[MMethodDef] */;
247 val* var84 /* : nullable Object */;
248 val* var_candidatedef /* var candidatedef: MMethodDef */;
249 val* var85 /* : nullable MSignature */;
250 val* var_msignature /* var msignature: nullable MSignature */;
251 short int var86 /* : Bool */;
252 val* var87 /* : MType */;
253 val* var88 /* : CallSite */;
254 short int var89 /* : Bool */;
255 short int var90 /* : Bool */;
256 val* var_callsite /* var callsite: CallSite */;
257 short int var91 /* : Bool */;
258 static val* varonce92;
259 val* var93 /* : String */;
260 char* var94 /* : NativeString */;
261 long var95 /* : Int */;
262 val* var96 /* : String */;
263 static val* varonce97;
264 val* var98 /* : String */;
265 char* var99 /* : NativeString */;
266 long var100 /* : Int */;
267 val* var101 /* : String */;
268 val* var102 /* : Array[Object] */;
269 long var103 /* : Int */;
270 val* var104 /* : NativeArray[Object] */;
271 val* var105 /* : String */;
272 val* var106 /* : Iterator[nullable Object] */;
273 short int var107 /* : Bool */;
274 val* var108 /* : nullable Object */;
275 val* var_auto_super_init /* var auto_super_init: CallSite */;
276 val* var109 /* : MMethodDef */;
277 val* var_auto_super_init_def /* var auto_super_init_def: MMethodDef */;
278 val* var110 /* : nullable MSignature */;
279 val* var_msig /* var msig: MSignature */;
280 val* var111 /* : MSignature */;
281 val* var_supermsig /* var supermsig: MSignature */;
282 long var112 /* : Int */;
283 long var113 /* : Int */;
284 short int var114 /* : Bool */;
285 short int var116 /* : Bool */;
286 int cltype117;
287 int idtype118;
288 const char* var_class_name119;
289 short int var120 /* : Bool */;
290 static val* varonce121;
291 val* var122 /* : String */;
292 char* var123 /* : NativeString */;
293 long var124 /* : Int */;
294 val* var125 /* : String */;
295 static val* varonce126;
296 val* var127 /* : String */;
297 char* var128 /* : NativeString */;
298 long var129 /* : Int */;
299 val* var130 /* : String */;
300 long var131 /* : Int */;
301 static val* varonce132;
302 val* var133 /* : String */;
303 char* var134 /* : NativeString */;
304 long var135 /* : Int */;
305 val* var136 /* : String */;
306 long var137 /* : Int */;
307 static val* varonce138;
308 val* var139 /* : String */;
309 char* var140 /* : NativeString */;
310 long var141 /* : Int */;
311 val* var142 /* : String */;
312 val* var143 /* : Array[Object] */;
313 long var144 /* : Int */;
314 val* var145 /* : NativeArray[Object] */;
315 val* var146 /* : Object */;
316 val* var147 /* : Object */;
317 val* var148 /* : String */;
318 long var150 /* : Int */;
319 long var_i /* var i: Int */;
320 val* var151 /* : Array[MParameter] */;
321 val* var152 /* : Iterator[nullable Object] */;
322 short int var153 /* : Bool */;
323 val* var154 /* : nullable Object */;
324 val* var_sp /* var sp: MParameter */;
325 val* var155 /* : Array[MParameter] */;
326 val* var156 /* : nullable Object */;
327 val* var_p /* var p: MParameter */;
328 val* var157 /* : MType */;
329 val* var_sub /* var sub: MType */;
330 val* var158 /* : MType */;
331 val* var_sup /* var sup: MType */;
332 short int var159 /* : Bool */;
333 short int var160 /* : Bool */;
334 static val* varonce161;
335 val* var162 /* : String */;
336 char* var163 /* : NativeString */;
337 long var164 /* : Int */;
338 val* var165 /* : String */;
339 static val* varonce166;
340 val* var167 /* : String */;
341 char* var168 /* : NativeString */;
342 long var169 /* : Int */;
343 val* var170 /* : String */;
344 static val* varonce171;
345 val* var172 /* : String */;
346 char* var173 /* : NativeString */;
347 long var174 /* : Int */;
348 val* var175 /* : String */;
349 val* var176 /* : MType */;
350 static val* varonce177;
351 val* var178 /* : String */;
352 char* var179 /* : NativeString */;
353 long var180 /* : Int */;
354 val* var181 /* : String */;
355 val* var182 /* : String */;
356 static val* varonce183;
357 val* var184 /* : String */;
358 char* var185 /* : NativeString */;
359 long var186 /* : Int */;
360 val* var187 /* : String */;
361 val* var188 /* : MType */;
362 static val* varonce189;
363 val* var190 /* : String */;
364 char* var191 /* : NativeString */;
365 long var192 /* : Int */;
366 val* var193 /* : String */;
367 val* var194 /* : Array[Object] */;
368 long var195 /* : Int */;
369 val* var196 /* : NativeArray[Object] */;
370 val* var197 /* : Object */;
371 val* var198 /* : String */;
372 long var200 /* : Int */;
373 long var201 /* : Int */;
374 long var203 /* : Int */;
375 var_modelbuilder = p0;
376 var = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__ANode__parent]))(self) /* parent on <self:AConcreteMethPropdef>*/;
377 /* <var:nullable ANode> isa AClassdef */
378 cltype = type_parser_nodes__AClassdef.color;
379 idtype = type_parser_nodes__AClassdef.id;
380 if(var == NULL) {
381 var1 = 0;
382 } else {
383 if(cltype >= var->type->table_size) {
384 var1 = 0;
385 } else {
386 var1 = var->type->type_table[cltype] == idtype;
387 }
388 }
389 if (!var1) {
390 var_class_name = var == NULL ? "null" : var->type->name;
391 fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name);
392 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 56);
393 show_backtrace(1);
394 }
395 var2 = ((val* (*)(val*))(var->class->vft[COLOR_modelize_class__AClassdef__mclassdef]))(var) /* mclassdef on <var:nullable ANode(AClassdef)>*/;
396 if (var2 == NULL) {
397 fprintf(stderr, "Runtime error: %s", "Cast failed");
398 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 56);
399 show_backtrace(1);
400 }
401 var_mclassdef = var2;
402 var3 = ((val* (*)(val*))(self->class->vft[COLOR_modelize_property__APropdef__mpropdef]))(self) /* mpropdef on <self:AConcreteMethPropdef>*/;
403 if (var3 == NULL) {
404 fprintf(stderr, "Runtime error: %s", "Cast failed");
405 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 57);
406 show_backtrace(1);
407 }
408 var_mpropdef = var3;
409 var4 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mclassdef]))(var_mpropdef) /* mclassdef on <var_mpropdef:MMethodDef>*/;
410 var5 = ((val* (*)(val*))(var4->class->vft[COLOR_model__MClassDef__mmodule]))(var4) /* mmodule on <var4:MClassDef>*/;
411 var_mmodule = var5;
412 var6 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__bound_mtype]))(var_mclassdef) /* bound_mtype on <var_mclassdef:MClassDef>*/;
413 var_anchor = var6;
414 var7 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__mclass]))(var_mclassdef) /* mclass on <var_mclassdef:MClassDef>*/;
415 var8 = ((val* (*)(val*))(var7->class->vft[COLOR_model__MClass__mclass_type]))(var7) /* mclass_type on <var7:MClass>*/;
416 var_recvtype = var8;
417 var9 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on <var_mpropdef:MMethodDef>*/;
418 var10 = ((short int (*)(val*))(var9->class->vft[COLOR_model__MMethod__is_init]))(var9) /* is_init on <var9:MProperty(MMethod)>*/;
419 var11 = !var10;
420 if (var11){
421 goto RET_LABEL;
422 } else {
423 }
424 var12 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mclassdef]))(var_mpropdef) /* mclassdef on <var_mpropdef:MMethodDef>*/;
425 var13 = ((short int (*)(val*))(var12->class->vft[COLOR_model__MClassDef__is_intro]))(var12) /* is_intro on <var12:MClassDef>*/;
426 var14 = !var13;
427 if (var14){
428 goto RET_LABEL;
429 } else {
430 }
431 var15 = 1;
432 var_skip = var15;
433 var16 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__in_hierarchy]))(var_mclassdef) /* in_hierarchy on <var_mclassdef:MClassDef>*/;
434 if (var16 == NULL) {
435 fprintf(stderr, "Runtime error: %s", "Receiver is null");
436 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 70);
437 show_backtrace(1);
438 } else {
439 var17 = ((val* (*)(val*))(var16->class->vft[COLOR_poset__POSetElement__direct_greaters]))(var16) /* direct_greaters on <var16:nullable POSetElement[MClassDef]>*/;
440 }
441 var18 = ((val* (*)(val*))(var17->class->vft[COLOR_abstract_collection__Collection__iterator]))(var17) /* iterator on <var17:Collection[Object](Collection[MClassDef])>*/;
442 for(;;) {
443 var19 = ((short int (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var18) /* is_ok on <var18:Iterator[nullable Object]>*/;
444 if(!var19) break;
445 var20 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__item]))(var18) /* item on <var18:Iterator[nullable Object]>*/;
446 var_cd = var20;
447 var21 = ((val* (*)(val*))(var_cd->class->vft[COLOR_model__MClassDef__mclass]))(var_cd) /* mclass on <var_cd:MClassDef>*/;
448 var22 = ((val* (*)(val*))(var21->class->vft[COLOR_model__MClass__kind]))(var21) /* kind on <var21:MClass>*/;
449 var23 = ((short int (*)(val*))(var22->class->vft[COLOR_model__MClassKind__need_init]))(var22) /* need_init on <var22:MClassKind>*/;
450 if (var23){
451 var24 = 0;
452 var_skip = var24;
453 } else {
454 }
455 CONTINUE_label: (void)0;
456 ((void (*)(val*))(var18->class->vft[COLOR_abstract_collection__Iterator__next]))(var18) /* next on <var18:Iterator[nullable Object]>*/;
457 }
458 BREAK_label: (void)0;
459 if (var_skip){
460 goto RET_LABEL;
461 } else {
462 }
463 var25 = ((val* (*)(val*))(self->class->vft[COLOR_parser_nodes__AConcreteMethPropdef__n_block]))(self) /* n_block on <self:AConcreteMethPropdef>*/;
464 var_nblock = var25;
465 var26 = NULL;
466 if (var_nblock == NULL) {
467 var27 = 0; /* is null */
468 } else {
469 var27 = 1; /* arg is null and recv is not */
470 }
471 if (var27){
472 var28 = NEW_auto_super_init__AutoSuperInitVisitor(&type_auto_super_init__AutoSuperInitVisitor);
473 ((void (*)(val*))(var28->class->vft[COLOR_auto_super_init__AutoSuperInitVisitor__init]))(var28) /* init on <var28:AutoSuperInitVisitor>*/;
474 var_v = var28;
475 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_nblock) /* enter_visit on <var_v:AutoSuperInitVisitor>*/;
476 var29 = ((short int (*)(val*))(var_v->class->vft[COLOR_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init]))(var_v) /* has_explicit_super_init on <var_v:AutoSuperInitVisitor>*/;
477 if (var29){
478 goto RET_LABEL;
479 } else {
480 }
481 } else {
482 }
483 var30 = NEW_array__Array(&type_array__Arraytyping__CallSite);
484 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[CallSite]>*/;
485 var_auto_super_inits = var30;
486 var31 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__supertypes]))(var_mclassdef) /* supertypes on <var_mclassdef:MClassDef>*/;
487 var32 = ((val* (*)(val*))(var31->class->vft[COLOR_abstract_collection__Collection__iterator]))(var31) /* iterator on <var31:Array[MClassType]>*/;
488 for(;;) {
489 var33 = ((short int (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var32) /* is_ok on <var32:Iterator[nullable Object]>*/;
490 if(!var33) break;
491 var34 = ((val* (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__item]))(var32) /* item on <var32:Iterator[nullable Object]>*/;
492 var_msupertype = var34;
493 var35 = ((val* (*)(val*))(var_msupertype->class->vft[COLOR_model__MClassType__mclass]))(var_msupertype) /* mclass on <var_msupertype:MClassType>*/;
494 var36 = ((val* (*)(val*))(var35->class->vft[COLOR_model__MClass__kind]))(var35) /* kind on <var35:MClass>*/;
495 var37 = ((short int (*)(val*))(var36->class->vft[COLOR_model__MClassKind__need_init]))(var36) /* need_init on <var36:MClassKind>*/;
496 var38 = !var37;
497 if (var38){
498 goto CONTINUE_label39;
499 } else {
500 }
501 var40 = ((val* (*)(val*))(var_mclassdef->class->vft[COLOR_model__MClassDef__bound_mtype]))(var_mclassdef) /* bound_mtype on <var_mclassdef:MClassDef>*/;
502 var41 = ((val* (*)(val*, val*, val*))(var_msupertype->class->vft[COLOR_model__MType__anchor_to]))(var_msupertype, var_mmodule, var40) /* anchor_to on <var_msupertype:MClassType>*/;
503 var_msupertype = var41;
504 var42 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on <var_mpropdef:MMethodDef>*/;
505 var43 = ((val* (*)(val*))(var42->class->vft[COLOR_model__MProperty__name]))(var42) /* name on <var42:MProperty(MMethod)>*/;
506 var44 = ((val* (*)(val*, val*, val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2]))(var_modelbuilder, self, var_mmodule, var_msupertype, var43) /* try_get_mproperty_by_name2 on <var_modelbuilder:ModelBuilder>*/;
507 var_candidate = var44;
508 var45 = NULL;
509 if (var_candidate == NULL) {
510 var46 = 1; /* is null */
511 } else {
512 var46 = 0; /* arg is null but recv is not */
513 }
514 if (var46){
515 if (varonce) {
516 var47 = varonce;
517 } else {
518 var48 = "init";
519 var49 = 4;
520 var50 = string__NativeString__to_s_with_length(var48, var49);
521 var47 = var50;
522 varonce = var47;
523 }
524 var51 = ((val* (*)(val*, val*, val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__try_get_mproperty_by_name2]))(var_modelbuilder, self, var_mmodule, var_msupertype, var47) /* try_get_mproperty_by_name2 on <var_modelbuilder:ModelBuilder>*/;
525 var_candidate = var51;
526 } else {
527 }
528 var52 = NULL;
529 if (var_candidate == NULL) {
530 var53 = 1; /* is null */
531 } else {
532 var53 = 0; /* arg is null but recv is not */
533 }
534 if (var53){
535 if (varonce54) {
536 var55 = varonce54;
537 } else {
538 var56 = "Error: Cannot do an implicit constructor call in ";
539 var57 = 49;
540 var58 = string__NativeString__to_s_with_length(var56, var57);
541 var55 = var58;
542 varonce54 = var55;
543 }
544 if (varonce59) {
545 var60 = varonce59;
546 } else {
547 var61 = "; there is no constructor named ";
548 var62 = 32;
549 var63 = string__NativeString__to_s_with_length(var61, var62);
550 var60 = var63;
551 varonce59 = var60;
552 }
553 var64 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on <var_mpropdef:MMethodDef>*/;
554 var65 = ((val* (*)(val*))(var64->class->vft[COLOR_model__MProperty__name]))(var64) /* name on <var64:MProperty(MMethod)>*/;
555 if (varonce66) {
556 var67 = varonce66;
557 } else {
558 var68 = " in ";
559 var69 = 4;
560 var70 = string__NativeString__to_s_with_length(var68, var69);
561 var67 = var70;
562 varonce66 = var67;
563 }
564 if (varonce71) {
565 var72 = varonce71;
566 } else {
567 var73 = ".";
568 var74 = 1;
569 var75 = string__NativeString__to_s_with_length(var73, var74);
570 var72 = var75;
571 varonce71 = var72;
572 }
573 var76 = NEW_array__Array(&type_array__Arraykernel__Object);
574 { /* var76 = array_instance Array[Object] */
575 var77 = 7;
576 var78 = NEW_array__NativeArray(var77, &type_array__NativeArraykernel__Object);
577 ((struct instance_array__NativeArray*)var78)->values[0] = (val*) var55;
578 ((struct instance_array__NativeArray*)var78)->values[1] = (val*) var_mpropdef;
579 ((struct instance_array__NativeArray*)var78)->values[2] = (val*) var60;
580 ((struct instance_array__NativeArray*)var78)->values[3] = (val*) var65;
581 ((struct instance_array__NativeArray*)var78)->values[4] = (val*) var67;
582 ((struct instance_array__NativeArray*)var78)->values[5] = (val*) var_msupertype;
583 ((struct instance_array__NativeArray*)var78)->values[6] = (val*) var72;
584 ((void (*)(val*, val*, long))(var76->class->vft[COLOR_array__Array__with_native]))(var76, var78, var77) /* with_native on <var76:Array[Object]>*/;
585 }
586 var79 = ((val* (*)(val*))(var76->class->vft[COLOR_string__Object__to_s]))(var76) /* to_s on <var76:Array[Object]>*/;
587 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var79) /* error on <var_modelbuilder:ModelBuilder>*/;
588 goto RET_LABEL;
589 } else {
590 }
591 /* <var_candidate:nullable MProperty(MProperty)> isa MMethod */
592 cltype81 = type_model__MMethod.color;
593 idtype82 = type_model__MMethod.id;
594 if(cltype81 >= var_candidate->type->table_size) {
595 var80 = 0;
596 } else {
597 var80 = var_candidate->type->type_table[cltype81] == idtype82;
598 }
599 if (!var80) {
600 fprintf(stderr, "Runtime error: %s", "Assert failed");
601 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 100);
602 show_backtrace(1);
603 }
604 var83 = ((val* (*)(val*, val*, val*))(var_candidate->class->vft[COLOR_model__MProperty__lookup_definitions]))(var_candidate, var_mmodule, var_anchor) /* lookup_definitions on <var_candidate:nullable MProperty(MMethod)>*/;
605 var_candidatedefs = var83;
606 var84 = ((val* (*)(val*))(var_candidatedefs->class->vft[COLOR_abstract_collection__Collection__first]))(var_candidatedefs) /* first on <var_candidatedefs:Array[MMethodDef]>*/;
607 var_candidatedef = var84;
608 var85 = ((val* (*)(val*))(var_candidatedef->class->vft[COLOR_model__MMethodDef__msignature]))(var_candidatedef) /* msignature on <var_candidatedef:MMethodDef>*/;
609 var_msignature = var85;
610 var86 = 1;
611 if (var_msignature == NULL) {
612 fprintf(stderr, "Runtime error: %s", "Receiver is null");
613 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 107);
614 show_backtrace(1);
615 } else {
616 var87 = ((val* (*)(val*, val*, val*, val*, short int))(var_msignature->class->vft[COLOR_model__MType__resolve_for]))(var_msignature, var_recvtype, var_anchor, var_mmodule, var86) /* resolve_for on <var_msignature:nullable MSignature>*/;
617 }
618 var_msignature = var87;
619 var88 = NEW_typing__CallSite(&type_typing__CallSite);
620 var89 = 1;
621 var90 = 0;
622 ((void (*)(val*, val*, val*, short int, val*, val*, val*, short int))(var88->class->vft[COLOR_typing__CallSite__init]))(var88, self, var_recvtype, var89, var_candidate, var_candidatedef, var_msignature, var90) /* init on <var88:CallSite>*/;
623 var_callsite = var88;
624 ((void (*)(val*, val*))(var_auto_super_inits->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_auto_super_inits, var_callsite) /* add on <var_auto_super_inits:Array[CallSite]>*/;
625 CONTINUE_label39: (void)0;
626 ((void (*)(val*))(var32->class->vft[COLOR_abstract_collection__Iterator__next]))(var32) /* next on <var32:Iterator[nullable Object]>*/;
627 }
628 BREAK_label39: (void)0;
629 var91 = ((short int (*)(val*))(var_auto_super_inits->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_auto_super_inits) /* is_empty on <var_auto_super_inits:Array[CallSite]>*/;
630 if (var91){
631 if (varonce92) {
632 var93 = varonce92;
633 } else {
634 var94 = "Error: No constructors to call implicitely in ";
635 var95 = 46;
636 var96 = string__NativeString__to_s_with_length(var94, var95);
637 var93 = var96;
638 varonce92 = var93;
639 }
640 if (varonce97) {
641 var98 = varonce97;
642 } else {
643 var99 = ". Call one explicitely.";
644 var100 = 23;
645 var101 = string__NativeString__to_s_with_length(var99, var100);
646 var98 = var101;
647 varonce97 = var98;
648 }
649 var102 = NEW_array__Array(&type_array__Arraykernel__Object);
650 { /* var102 = array_instance Array[Object] */
651 var103 = 3;
652 var104 = NEW_array__NativeArray(var103, &type_array__NativeArraykernel__Object);
653 ((struct instance_array__NativeArray*)var104)->values[0] = (val*) var93;
654 ((struct instance_array__NativeArray*)var104)->values[1] = (val*) var_mpropdef;
655 ((struct instance_array__NativeArray*)var104)->values[2] = (val*) var98;
656 ((void (*)(val*, val*, long))(var102->class->vft[COLOR_array__Array__with_native]))(var102, var104, var103) /* with_native on <var102:Array[Object]>*/;
657 }
658 var105 = ((val* (*)(val*))(var102->class->vft[COLOR_string__Object__to_s]))(var102) /* to_s on <var102:Array[Object]>*/;
659 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var105) /* error on <var_modelbuilder:ModelBuilder>*/;
660 goto RET_LABEL;
661 } else {
662 }
663 var106 = ((val* (*)(val*))(var_auto_super_inits->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_auto_super_inits) /* iterator on <var_auto_super_inits:Array[CallSite]>*/;
664 for(;;) {
665 var107 = ((short int (*)(val*))(var106->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var106) /* is_ok on <var106:Iterator[nullable Object]>*/;
666 if(!var107) break;
667 var108 = ((val* (*)(val*))(var106->class->vft[COLOR_abstract_collection__Iterator__item]))(var106) /* item on <var106:Iterator[nullable Object]>*/;
668 var_auto_super_init = var108;
669 var109 = ((val* (*)(val*))(var_auto_super_init->class->vft[COLOR_typing__CallSite__mpropdef]))(var_auto_super_init) /* mpropdef on <var_auto_super_init:CallSite>*/;
670 var_auto_super_init_def = var109;
671 var110 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on <var_mpropdef:MMethodDef>*/;
672 if (var110 == NULL) {
673 fprintf(stderr, "Runtime error: %s", "Cast failed");
674 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 118);
675 show_backtrace(1);
676 }
677 var_msig = var110;
678 var111 = ((val* (*)(val*))(var_auto_super_init->class->vft[COLOR_typing__CallSite__msignature]))(var_auto_super_init) /* msignature on <var_auto_super_init:CallSite>*/;
679 var_supermsig = var111;
680 var112 = ((long (*)(val*))(var_supermsig->class->vft[COLOR_model__MSignature__arity]))(var_supermsig) /* arity on <var_supermsig:MSignature>*/;
681 var113 = ((long (*)(val*))(var_msig->class->vft[COLOR_model__MSignature__arity]))(var_msig) /* arity on <var_msig:MSignature>*/;
682 { /* Inline kernel#Int#> (var112,var113) */
683 /* Covariant cast for argument 0 (i) <var113:Int> isa OTHER */
684 /* <var113:Int> isa OTHER */
685 var116 = 1; /* easy <var113:Int> isa OTHER*/
686 if (!var116) {
687 var_class_name119 = type_kernel__Int.name;
688 fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name119);
689 fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
690 show_backtrace(1);
691 }
692 var120 = var112 > var113;
693 var114 = var120;
694 goto RET_LABEL115;
695 RET_LABEL115:(void)0;
696 }
697 if (var114){
698 if (varonce121) {
699 var122 = varonce121;
700 } else {
701 var123 = "Error: Cannot do an implicit constructor call to ";
702 var124 = 49;
703 var125 = string__NativeString__to_s_with_length(var123, var124);
704 var122 = var125;
705 varonce121 = var122;
706 }
707 if (varonce126) {
708 var127 = varonce126;
709 } else {
710 var128 = ". Expected at least ";
711 var129 = 20;
712 var130 = string__NativeString__to_s_with_length(var128, var129);
713 var127 = var130;
714 varonce126 = var127;
715 }
716 var131 = ((long (*)(val*))(var_supermsig->class->vft[COLOR_model__MSignature__arity]))(var_supermsig) /* arity on <var_supermsig:MSignature>*/;
717 if (varonce132) {
718 var133 = varonce132;
719 } else {
720 var134 = " arguments, got ";
721 var135 = 16;
722 var136 = string__NativeString__to_s_with_length(var134, var135);
723 var133 = var136;
724 varonce132 = var133;
725 }
726 var137 = ((long (*)(val*))(var_msig->class->vft[COLOR_model__MSignature__arity]))(var_msig) /* arity on <var_msig:MSignature>*/;
727 if (varonce138) {
728 var139 = varonce138;
729 } else {
730 var140 = ".";
731 var141 = 1;
732 var142 = string__NativeString__to_s_with_length(var140, var141);
733 var139 = var142;
734 varonce138 = var139;
735 }
736 var143 = NEW_array__Array(&type_array__Arraykernel__Object);
737 { /* var143 = array_instance Array[Object] */
738 var144 = 8;
739 var145 = NEW_array__NativeArray(var144, &type_array__NativeArraykernel__Object);
740 ((struct instance_array__NativeArray*)var145)->values[0] = (val*) var122;
741 ((struct instance_array__NativeArray*)var145)->values[1] = (val*) var_auto_super_init_def;
742 ((struct instance_array__NativeArray*)var145)->values[2] = (val*) var_supermsig;
743 ((struct instance_array__NativeArray*)var145)->values[3] = (val*) var127;
744 var146 = BOX_kernel__Int(var131); /* autobox from Int to Object */
745 ((struct instance_array__NativeArray*)var145)->values[4] = (val*) var146;
746 ((struct instance_array__NativeArray*)var145)->values[5] = (val*) var133;
747 var147 = BOX_kernel__Int(var137); /* autobox from Int to Object */
748 ((struct instance_array__NativeArray*)var145)->values[6] = (val*) var147;
749 ((struct instance_array__NativeArray*)var145)->values[7] = (val*) var139;
750 ((void (*)(val*, val*, long))(var143->class->vft[COLOR_array__Array__with_native]))(var143, var145, var144) /* with_native on <var143:Array[Object]>*/;
751 }
752 var148 = ((val* (*)(val*))(var143->class->vft[COLOR_string__Object__to_s]))(var143) /* to_s on <var143:Array[Object]>*/;
753 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var148) /* error on <var_modelbuilder:ModelBuilder>*/;
754 goto CONTINUE_label149;
755 } else {
756 }
757 var150 = 0;
758 var_i = var150;
759 var151 = ((val* (*)(val*))(var_supermsig->class->vft[COLOR_model__MSignature__mparameters]))(var_supermsig) /* mparameters on <var_supermsig:MSignature>*/;
760 var152 = ((val* (*)(val*))(var151->class->vft[COLOR_abstract_collection__Collection__iterator]))(var151) /* iterator on <var151:Array[MParameter]>*/;
761 for(;;) {
762 var153 = ((short int (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var152) /* is_ok on <var152:Iterator[nullable Object]>*/;
763 if(!var153) break;
764 var154 = ((val* (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__item]))(var152) /* item on <var152:Iterator[nullable Object]>*/;
765 var_sp = var154;
766 var155 = ((val* (*)(val*))(var_msig->class->vft[COLOR_model__MSignature__mparameters]))(var_msig) /* mparameters on <var_msig:MSignature>*/;
767 var156 = ((val* (*)(val*, long))(var155->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var155, var_i) /* [] on <var155:Array[MParameter]>*/;
768 var_p = var156;
769 var157 = ((val* (*)(val*))(var_p->class->vft[COLOR_model__MParameter__mtype]))(var_p) /* mtype on <var_p:MParameter>*/;
770 var_sub = var157;
771 var158 = ((val* (*)(val*))(var_sp->class->vft[COLOR_model__MParameter__mtype]))(var_sp) /* mtype on <var_sp:MParameter>*/;
772 var_sup = var158;
773 var159 = ((short int (*)(val*, val*, val*, val*))(var_sub->class->vft[COLOR_model__MType__is_subtype]))(var_sub, var_mmodule, var_anchor, var_sup) /* is_subtype on <var_sub:MType>*/;
774 var160 = !var159;
775 if (var160){
776 if (varonce161) {
777 var162 = varonce161;
778 } else {
779 var163 = "Error: Cannot do an implicit constructor call to ";
780 var164 = 49;
781 var165 = string__NativeString__to_s_with_length(var163, var164);
782 var162 = var165;
783 varonce161 = var162;
784 }
785 if (varonce166) {
786 var167 = varonce166;
787 } else {
788 var168 = ". Expected argument #";
789 var169 = 21;
790 var170 = string__NativeString__to_s_with_length(var168, var169);
791 var167 = var170;
792 varonce166 = var167;
793 }
794 if (varonce171) {
795 var172 = varonce171;
796 } else {
797 var173 = " of type ";
798 var174 = 9;
799 var175 = string__NativeString__to_s_with_length(var173, var174);
800 var172 = var175;
801 varonce171 = var172;
802 }
803 var176 = ((val* (*)(val*))(var_sp->class->vft[COLOR_model__MParameter__mtype]))(var_sp) /* mtype on <var_sp:MParameter>*/;
804 if (varonce177) {
805 var178 = varonce177;
806 } else {
807 var179 = ", got implicit argument ";
808 var180 = 24;
809 var181 = string__NativeString__to_s_with_length(var179, var180);
810 var178 = var181;
811 varonce177 = var178;
812 }
813 var182 = ((val* (*)(val*))(var_p->class->vft[COLOR_model__MParameter__name]))(var_p) /* name on <var_p:MParameter>*/;
814 if (varonce183) {
815 var184 = varonce183;
816 } else {
817 var185 = " of type ";
818 var186 = 9;
819 var187 = string__NativeString__to_s_with_length(var185, var186);
820 var184 = var187;
821 varonce183 = var184;
822 }
823 var188 = ((val* (*)(val*))(var_p->class->vft[COLOR_model__MParameter__mtype]))(var_p) /* mtype on <var_p:MParameter>*/;
824 if (varonce189) {
825 var190 = varonce189;
826 } else {
827 var191 = ".";
828 var192 = 1;
829 var193 = string__NativeString__to_s_with_length(var191, var192);
830 var190 = var193;
831 varonce189 = var190;
832 }
833 var194 = NEW_array__Array(&type_array__Arraykernel__Object);
834 { /* var194 = array_instance Array[Object] */
835 var195 = 12;
836 var196 = NEW_array__NativeArray(var195, &type_array__NativeArraykernel__Object);
837 ((struct instance_array__NativeArray*)var196)->values[0] = (val*) var162;
838 ((struct instance_array__NativeArray*)var196)->values[1] = (val*) var_auto_super_init_def;
839 ((struct instance_array__NativeArray*)var196)->values[2] = (val*) var_supermsig;
840 ((struct instance_array__NativeArray*)var196)->values[3] = (val*) var167;
841 var197 = BOX_kernel__Int(var_i); /* autobox from Int to Object */
842 ((struct instance_array__NativeArray*)var196)->values[4] = (val*) var197;
843 ((struct instance_array__NativeArray*)var196)->values[5] = (val*) var172;
844 ((struct instance_array__NativeArray*)var196)->values[6] = (val*) var176;
845 ((struct instance_array__NativeArray*)var196)->values[7] = (val*) var178;
846 ((struct instance_array__NativeArray*)var196)->values[8] = (val*) var182;
847 ((struct instance_array__NativeArray*)var196)->values[9] = (val*) var184;
848 ((struct instance_array__NativeArray*)var196)->values[10] = (val*) var188;
849 ((struct instance_array__NativeArray*)var196)->values[11] = (val*) var190;
850 ((void (*)(val*, val*, long))(var194->class->vft[COLOR_array__Array__with_native]))(var194, var196, var195) /* with_native on <var194:Array[Object]>*/;
851 }
852 var198 = ((val* (*)(val*))(var194->class->vft[COLOR_string__Object__to_s]))(var194) /* to_s on <var194:Array[Object]>*/;
853 ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__error]))(var_modelbuilder, self, var198) /* error on <var_modelbuilder:ModelBuilder>*/;
854 goto BREAK_label199;
855 } else {
856 }
857 var200 = 1;
858 { /* Inline kernel#Int#+ (var_i,var200) */
859 var203 = var_i + var200;
860 var201 = var203;
861 goto RET_LABEL202;
862 RET_LABEL202:(void)0;
863 }
864 var_i = var201;
865 CONTINUE_label199: (void)0;
866 ((void (*)(val*))(var152->class->vft[COLOR_abstract_collection__Iterator__next]))(var152) /* next on <var152:Iterator[nullable Object]>*/;
867 }
868 BREAK_label199: (void)0;
869 CONTINUE_label149: (void)0;
870 ((void (*)(val*))(var106->class->vft[COLOR_abstract_collection__Iterator__next]))(var106) /* next on <var106:Iterator[nullable Object]>*/;
871 }
872 BREAK_label149: (void)0;
873 ((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>*/;
874 RET_LABEL:;
875 }
876 /* method auto_super_init#AConcreteMethPropdef#do_auto_super_init for (self: Object, ModelBuilder) */
877 void VIRTUAL_auto_super_init__AConcreteMethPropdef__do_auto_super_init(val* self, val* p0) {
878 auto_super_init__AConcreteMethPropdef__do_auto_super_init(self, p0);
879 RET_LABEL:;
880 }
881 /* method auto_super_init#ANode#accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
882 void auto_super_init__ANode__accept_auto_super_init(val* self, val* p0) {
883 val* var_v /* var v: AutoSuperInitVisitor */;
884 var_v = p0;
885 RET_LABEL:;
886 }
887 /* method auto_super_init#ANode#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
888 void VIRTUAL_auto_super_init__ANode__accept_auto_super_init(val* self, val* p0) {
889 auto_super_init__ANode__accept_auto_super_init(self, p0);
890 RET_LABEL:;
891 }
892 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
893 void auto_super_init__ASendExpr__accept_auto_super_init(val* self, val* p0) {
894 val* var_v /* var v: AutoSuperInitVisitor */;
895 val* var /* : nullable CallSite */;
896 val* var1 /* : MMethod */;
897 val* var_mproperty /* var mproperty: MMethod */;
898 val* var2 /* : null */;
899 short int var3 /* : Bool */;
900 short int var4 /* : Bool */;
901 short int var5 /* : Bool */;
902 var_v = p0;
903 var = ((val* (*)(val*))(self->class->vft[COLOR_typing__ASendExpr__callsite]))(self) /* callsite on <self:ASendExpr>*/;
904 if (var == NULL) {
905 fprintf(stderr, "Runtime error: %s", "Receiver is null");
906 fprintf(stderr, " (%s:%d)\n", "src/auto_super_init.nit", 149);
907 show_backtrace(1);
908 } else {
909 var1 = ((val* (*)(val*))(var->class->vft[COLOR_typing__CallSite__mproperty]))(var) /* mproperty on <var:nullable CallSite>*/;
910 }
911 var_mproperty = var1;
912 var2 = NULL;
913 var3 = 0; /* arg is null but recv is not */
914 if (var3){
915 goto RET_LABEL;
916 } else {
917 }
918 var4 = ((short int (*)(val*))(var_mproperty->class->vft[COLOR_model__MMethod__is_init]))(var_mproperty) /* is_init on <var_mproperty:MMethod>*/;
919 if (var4){
920 var5 = 1;
921 ((void (*)(val*, short int))(var_v->class->vft[COLOR_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d]))(var_v, var5) /* has_explicit_super_init= on <var_v:AutoSuperInitVisitor>*/;
922 } else {
923 }
924 RET_LABEL:;
925 }
926 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
927 void VIRTUAL_auto_super_init__ASendExpr__accept_auto_super_init(val* self, val* p0) {
928 auto_super_init__ASendExpr__accept_auto_super_init(self, p0);
929 RET_LABEL:;
930 }
931 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
932 void auto_super_init__ASuperExpr__accept_auto_super_init(val* self, val* p0) {
933 val* var_v /* var v: AutoSuperInitVisitor */;
934 short int var /* : Bool */;
935 var_v = p0;
936 var = 1;
937 ((void (*)(val*, short int))(var_v->class->vft[COLOR_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d]))(var_v, var) /* has_explicit_super_init= on <var_v:AutoSuperInitVisitor>*/;
938 RET_LABEL:;
939 }
940 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
941 void VIRTUAL_auto_super_init__ASuperExpr__accept_auto_super_init(val* self, val* p0) {
942 auto_super_init__ASuperExpr__accept_auto_super_init(self, p0);
943 RET_LABEL:;
944 }