README: document nit_env.sh
[nit.git] / c_src / nit__auto_super_init.sep.1.c
1 #include "nit__auto_super_init.sep.0.h"
2 /* method auto_super_init#ToolContext#auto_super_init_phase for (self: ToolContext): Phase */
3 val* nit__auto_super_init___ToolContext___auto_super_init_phase(val* self) {
4 val* var /* : Phase */;
5 val* var1 /* : Phase */;
6 var1 = self->attrs[COLOR_nit__auto_super_init__ToolContext___auto_super_init_phase].val; /* _auto_super_init_phase on <self:ToolContext> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _auto_super_init_phase");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 25);
10 fatal_exit(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: AutoSuperInitPhase, APropdef) */
17 void nit__auto_super_init___nit__auto_super_init__AutoSuperInitPhase___nit__phase__Phase__process_npropdef(val* self, val* p0) {
18 val* var_npropdef /* var npropdef: APropdef */;
19 short int var /* : Bool */;
20 int cltype;
21 int idtype;
22 val* var1 /* : ToolContext */;
23 val* var3 /* : ToolContext */;
24 val* var4 /* : ModelBuilder */;
25 var_npropdef = p0;
26 /* <var_npropdef:APropdef> isa AMethPropdef */
27 cltype = type_nit__AMethPropdef.color;
28 idtype = type_nit__AMethPropdef.id;
29 if(cltype >= var_npropdef->type->table_size) {
30 var = 0;
31 } else {
32 var = var_npropdef->type->type_table[cltype] == idtype;
33 }
34 if (var){
35 {
36 { /* Inline phase#Phase#toolcontext (self) on <self:AutoSuperInitPhase> */
37 var3 = self->attrs[COLOR_nit__phase__Phase___toolcontext].val; /* _toolcontext on <self:AutoSuperInitPhase> */
38 if (unlikely(var3 == NULL)) {
39 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
40 PRINT_ERROR(" (%s:%d)\n", FILE_nit__phase, 200);
41 fatal_exit(1);
42 }
43 var1 = var3;
44 RET_LABEL2:(void)0;
45 }
46 }
47 {
48 var4 = nit__modelbuilder_base___ToolContext___modelbuilder(var1);
49 }
50 {
51 nit__auto_super_init___AMethPropdef___do_auto_super_init(var_npropdef, var4); /* Direct call auto_super_init#AMethPropdef#do_auto_super_init on <var_npropdef:APropdef(AMethPropdef)>*/
52 }
53 } else {
54 }
55 RET_LABEL:;
56 }
57 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: AutoSuperInitVisitor, ANode) */
58 void nit__auto_super_init___nit__auto_super_init__AutoSuperInitVisitor___nit__parser_nodes__Visitor__visit(val* self, val* p0) {
59 val* var_n /* var n: ANode */;
60 var_n = p0;
61 {
62 ((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__auto_super_init__ANode__accept_auto_super_init]))(var_n, self); /* accept_auto_super_init on <var_n:ANode>*/
63 }
64 {
65 ((void(*)(val* self, val* p0))(var_n->class->vft[COLOR_nit__parser_nodes__ANode__visit_all]))(var_n, self); /* visit_all on <var_n:ANode>*/
66 }
67 RET_LABEL:;
68 }
69 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: AutoSuperInitVisitor): nullable ANode */
70 val* nit__auto_super_init___nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init(val* self) {
71 val* var /* : nullable ANode */;
72 val* var1 /* : nullable ANode */;
73 var1 = self->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
74 var = var1;
75 RET_LABEL:;
76 return var;
77 }
78 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: AutoSuperInitVisitor, nullable ANode) */
79 void nit__auto_super_init___nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init_61d(val* self, val* p0) {
80 self->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = p0; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
81 RET_LABEL:;
82 }
83 /* method auto_super_init#AutoSuperInitVisitor#is_broken for (self: AutoSuperInitVisitor): Bool */
84 short int nit__auto_super_init___nit__auto_super_init__AutoSuperInitVisitor___is_broken(val* self) {
85 short int var /* : Bool */;
86 short int var1 /* : Bool */;
87 var1 = self->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___is_broken].s; /* _is_broken on <self:AutoSuperInitVisitor> */
88 var = var1;
89 RET_LABEL:;
90 return var;
91 }
92 /* method auto_super_init#AutoSuperInitVisitor#is_broken= for (self: AutoSuperInitVisitor, Bool) */
93 void nit__auto_super_init___nit__auto_super_init__AutoSuperInitVisitor___is_broken_61d(val* self, short int p0) {
94 self->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___is_broken].s = p0; /* _is_broken on <self:AutoSuperInitVisitor> */
95 RET_LABEL:;
96 }
97 /* method auto_super_init#AMethPropdef#auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
98 val* nit__auto_super_init___AMethPropdef___auto_super_inits(val* self) {
99 val* var /* : nullable Array[CallSite] */;
100 val* var1 /* : nullable Array[CallSite] */;
101 var1 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val; /* _auto_super_inits on <self:AMethPropdef> */
102 var = var1;
103 RET_LABEL:;
104 return var;
105 }
106 /* method auto_super_init#AMethPropdef#auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
107 void nit__auto_super_init___AMethPropdef___auto_super_inits_61d(val* self, val* p0) {
108 self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val = p0; /* _auto_super_inits on <self:AMethPropdef> */
109 RET_LABEL:;
110 }
111 /* method auto_super_init#AMethPropdef#auto_super_call for (self: AMethPropdef): Bool */
112 short int nit__auto_super_init___AMethPropdef___auto_super_call(val* self) {
113 short int var /* : Bool */;
114 short int var1 /* : Bool */;
115 var1 = self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_call].s; /* _auto_super_call on <self:AMethPropdef> */
116 var = var1;
117 RET_LABEL:;
118 return var;
119 }
120 /* method auto_super_init#AMethPropdef#auto_super_call= for (self: AMethPropdef, Bool) */
121 void nit__auto_super_init___AMethPropdef___auto_super_call_61d(val* self, short int p0) {
122 self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_call].s = p0; /* _auto_super_call on <self:AMethPropdef> */
123 RET_LABEL:;
124 }
125 /* method auto_super_init#AMethPropdef#do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
126 void nit__auto_super_init___AMethPropdef___do_auto_super_init(val* self, val* p0) {
127 val* var_modelbuilder /* var modelbuilder: ModelBuilder */;
128 val* var /* : nullable ANode */;
129 val* var2 /* : nullable ANode */;
130 short int var3 /* : Bool */;
131 int cltype;
132 int idtype;
133 const char* var_class_name;
134 val* var4 /* : nullable MClassDef */;
135 val* var6 /* : nullable MClassDef */;
136 val* var_mclassdef /* var mclassdef: nullable MClassDef */;
137 short int var7 /* : Bool */;
138 short int var8 /* : Bool */;
139 val* var_other /* var other: nullable Object */;
140 short int var10 /* : Bool */;
141 short int var12 /* : Bool */;
142 val* var13 /* : nullable MPropDef */;
143 val* var15 /* : nullable MPropDef */;
144 val* var_mpropdef /* var mpropdef: nullable MMethodDef */;
145 short int var16 /* : Bool */;
146 short int var17 /* : Bool */;
147 short int var19 /* : Bool */;
148 short int var21 /* : Bool */;
149 val* var22 /* : MClassDef */;
150 val* var24 /* : MClassDef */;
151 val* var25 /* : MModule */;
152 val* var27 /* : MModule */;
153 val* var_mmodule /* var mmodule: MModule */;
154 val* var28 /* : MClassType */;
155 val* var30 /* : MClassType */;
156 val* var_anchor /* var anchor: MClassType */;
157 val* var31 /* : MClass */;
158 val* var33 /* : MClass */;
159 val* var34 /* : MClassType */;
160 val* var36 /* : MClassType */;
161 val* var_recvtype /* var recvtype: MClassType */;
162 static val* varonce;
163 val* var37 /* : String */;
164 char* var38 /* : NativeString */;
165 val* var39 /* : FlatString */;
166 val* var40 /* : nullable AAnnotation */;
167 val* var_nosuper /* var nosuper: nullable AAnnotation */;
168 short int var41 /* : Bool */;
169 val* var42 /* : MProperty */;
170 val* var44 /* : MProperty */;
171 short int var45 /* : Bool */;
172 short int var47 /* : Bool */;
173 short int var48 /* : Bool */;
174 short int var_ /* var : Bool */;
175 val* var49 /* : MProperty */;
176 val* var51 /* : MProperty */;
177 short int var52 /* : Bool */;
178 short int var54 /* : Bool */;
179 short int var55 /* : Bool */;
180 short int var56 /* : Bool */;
181 val* var_other58 /* var other: nullable Object */;
182 short int var59 /* : Bool */;
183 short int var60 /* : Bool */;
184 static val* varonce61;
185 val* var62 /* : String */;
186 char* var63 /* : NativeString */;
187 val* var64 /* : FlatString */;
188 short int var_skip /* var skip: Bool */;
189 val* var65 /* : nullable POSetElement[MClassDef] */;
190 val* var67 /* : nullable POSetElement[MClassDef] */;
191 val* var68 /* : Collection[nullable Object] */;
192 val* var_69 /* var : Collection[MClassDef] */;
193 val* var70 /* : Iterator[nullable Object] */;
194 val* var_71 /* var : Iterator[MClassDef] */;
195 short int var72 /* : Bool */;
196 val* var73 /* : nullable Object */;
197 val* var_cd /* var cd: MClassDef */;
198 val* var74 /* : MClass */;
199 val* var76 /* : MClass */;
200 val* var77 /* : MClassKind */;
201 val* var79 /* : MClassKind */;
202 short int var80 /* : Bool */;
203 short int var82 /* : Bool */;
204 val* var83 /* : nullable AExpr */;
205 val* var85 /* : nullable AExpr */;
206 val* var_nblock /* var nblock: nullable AExpr */;
207 short int var86 /* : Bool */;
208 short int var87 /* : Bool */;
209 short int var89 /* : Bool */;
210 short int var90 /* : Bool */;
211 val* var91 /* : AutoSuperInitVisitor */;
212 val* var_v /* var v: AutoSuperInitVisitor */;
213 val* var93 /* : nullable ANode */;
214 val* var95 /* : nullable ANode */;
215 val* var_anode /* var anode: nullable ANode */;
216 short int var96 /* : Bool */;
217 short int var97 /* : Bool */;
218 short int var99 /* : Bool */;
219 short int var100 /* : Bool */;
220 short int var101 /* : Bool */;
221 short int var102 /* : Bool */;
222 short int var104 /* : Bool */;
223 short int var105 /* : Bool */;
224 static val* varonce106;
225 val* var107 /* : String */;
226 char* var108 /* : NativeString */;
227 val* var109 /* : FlatString */;
228 short int var110 /* : Bool */;
229 short int var112 /* : Bool */;
230 short int var113 /* : Bool */;
231 short int var114 /* : Bool */;
232 short int var116 /* : Bool */;
233 short int var117 /* : Bool */;
234 short int var118 /* : Bool */;
235 short int var119 /* : Bool */;
236 val* var122 /* : ToolContext */;
237 val* var124 /* : ToolContext */;
238 val* var126 /* : NativeArray[String] */;
239 static val* varonce125;
240 static val* varonce127;
241 val* var128 /* : String */;
242 char* var129 /* : NativeString */;
243 val* var130 /* : FlatString */;
244 val* var131 /* : String */;
245 val* var132 /* : String */;
246 val* var133 /* : Array[CallSite] */;
247 val* var_auto_super_inits /* var auto_super_inits: Array[CallSite] */;
248 val* var134 /* : Array[MClassType] */;
249 val* var136 /* : Array[MClassType] */;
250 val* var_137 /* var : Array[MClassType] */;
251 val* var138 /* : ArrayIterator[nullable Object] */;
252 val* var_139 /* var : ArrayIterator[MClassType] */;
253 short int var140 /* : Bool */;
254 val* var141 /* : nullable Object */;
255 val* var_msupertype /* var msupertype: MClassType */;
256 val* var142 /* : MClass */;
257 val* var144 /* : MClass */;
258 val* var145 /* : MClassKind */;
259 val* var147 /* : MClassKind */;
260 short int var148 /* : Bool */;
261 short int var150 /* : Bool */;
262 short int var151 /* : Bool */;
263 val* var153 /* : MClassType */;
264 val* var155 /* : MClassType */;
265 val* var156 /* : MClassType */;
266 val* var157 /* : MProperty */;
267 val* var159 /* : MProperty */;
268 val* var160 /* : String */;
269 val* var162 /* : String */;
270 val* var163 /* : nullable MProperty */;
271 val* var_candidate /* var candidate: nullable MProperty */;
272 short int var164 /* : Bool */;
273 short int var165 /* : Bool */;
274 short int var167 /* : Bool */;
275 short int var169 /* : Bool */;
276 static val* varonce170;
277 val* var171 /* : String */;
278 char* var172 /* : NativeString */;
279 val* var173 /* : FlatString */;
280 val* var174 /* : nullable MProperty */;
281 short int var175 /* : Bool */;
282 short int var176 /* : Bool */;
283 short int var178 /* : Bool */;
284 short int var180 /* : Bool */;
285 val* var182 /* : NativeArray[String] */;
286 static val* varonce181;
287 static val* varonce183;
288 val* var184 /* : String */;
289 char* var185 /* : NativeString */;
290 val* var186 /* : FlatString */;
291 static val* varonce187;
292 val* var188 /* : String */;
293 char* var189 /* : NativeString */;
294 val* var190 /* : FlatString */;
295 static val* varonce191;
296 val* var192 /* : String */;
297 char* var193 /* : NativeString */;
298 val* var194 /* : FlatString */;
299 static val* varonce195;
300 val* var196 /* : String */;
301 char* var197 /* : NativeString */;
302 val* var198 /* : FlatString */;
303 val* var199 /* : String */;
304 val* var200 /* : MProperty */;
305 val* var202 /* : MProperty */;
306 val* var203 /* : String */;
307 val* var205 /* : String */;
308 val* var206 /* : String */;
309 val* var207 /* : String */;
310 short int var208 /* : Bool */;
311 int cltype209;
312 int idtype210;
313 short int var211 /* : Bool */;
314 short int var213 /* : Bool */;
315 val* var214 /* : Array[MPropDef] */;
316 val* var_candidatedefs /* var candidatedefs: Array[MMethodDef] */;
317 val* var215 /* : nullable Object */;
318 val* var_candidatedef /* var candidatedef: MMethodDef */;
319 val* var216 /* : nullable MSignature */;
320 val* var217 /* : nullable MSignature */;
321 val* var219 /* : nullable MSignature */;
322 val* var220 /* : nullable MSignature */;
323 val* var222 /* : nullable MSignature */;
324 val* var_msignature /* var msignature: nullable MSignature */;
325 val* var223 /* : MSignature */;
326 val* var224 /* : CallSite */;
327 val* var_callsite /* var callsite: CallSite */;
328 val* var225 /* : ToolContext */;
329 val* var227 /* : ToolContext */;
330 val* var229 /* : NativeArray[String] */;
331 static val* varonce228;
332 static val* varonce230;
333 val* var231 /* : String */;
334 char* var232 /* : NativeString */;
335 val* var233 /* : FlatString */;
336 static val* varonce234;
337 val* var235 /* : String */;
338 char* var236 /* : NativeString */;
339 val* var237 /* : FlatString */;
340 val* var238 /* : String */;
341 val* var239 /* : String */;
342 val* var240 /* : String */;
343 val* var242 /* : nullable MMethod */;
344 val* var244 /* : nullable MMethod */;
345 val* var_the_root_init_mmethod /* var the_root_init_mmethod: nullable MMethod */;
346 short int var245 /* : Bool */;
347 short int var246 /* : Bool */;
348 short int var247 /* : Bool */;
349 short int var249 /* : Bool */;
350 short int var250 /* : Bool */;
351 short int var_251 /* var : Bool */;
352 short int var252 /* : Bool */;
353 val* var253 /* : Array[MPropDef] */;
354 val* var_candidatedefs254 /* var candidatedefs: Array[MMethodDef] */;
355 val* var255 /* : nullable Object */;
356 val* var_candidatedef256 /* var candidatedef: MMethodDef */;
357 long var257 /* : Int */;
358 long var259 /* : Int */;
359 short int var260 /* : Bool */;
360 short int var262 /* : Bool */;
361 int cltype263;
362 int idtype264;
363 const char* var_class_name265;
364 short int var266 /* : Bool */;
365 val* var_267 /* var : Array[MMethodDef] */;
366 val* var268 /* : ArrayIterator[nullable Object] */;
367 val* var_269 /* var : ArrayIterator[MMethodDef] */;
368 short int var270 /* : Bool */;
369 val* var271 /* : nullable Object */;
370 val* var_spd /* var spd: MMethodDef */;
371 val* var272 /* : Array[MProperty] */;
372 val* var274 /* : Array[MProperty] */;
373 long var275 /* : Int */;
374 long var277 /* : Int */;
375 val* var278 /* : Array[MProperty] */;
376 val* var280 /* : Array[MProperty] */;
377 long var281 /* : Int */;
378 long var283 /* : Int */;
379 short int var284 /* : Bool */;
380 short int var286 /* : Bool */;
381 int cltype287;
382 int idtype288;
383 const char* var_class_name289;
384 short int var290 /* : Bool */;
385 val* var_292 /* var : Array[MMethodDef] */;
386 val* var293 /* : ArrayIterator[nullable Object] */;
387 val* var_294 /* var : ArrayIterator[MMethodDef] */;
388 short int var295 /* : Bool */;
389 val* var296 /* : nullable Object */;
390 val* var_spd297 /* var spd: MMethodDef */;
391 long var_i /* var i: Int */;
392 val* var298 /* : Array[MProperty] */;
393 val* var300 /* : Array[MProperty] */;
394 val* var_301 /* var : Array[MProperty] */;
395 val* var302 /* : ArrayIterator[nullable Object] */;
396 val* var_303 /* var : ArrayIterator[MProperty] */;
397 short int var304 /* : Bool */;
398 val* var305 /* : nullable Object */;
399 val* var_p /* var p: MProperty */;
400 val* var306 /* : Array[MProperty] */;
401 val* var308 /* : Array[MProperty] */;
402 val* var309 /* : nullable Object */;
403 short int var310 /* : Bool */;
404 short int var312 /* : Bool */;
405 short int var313 /* : Bool */;
406 val* var315 /* : NativeArray[String] */;
407 static val* varonce314;
408 static val* varonce316;
409 val* var317 /* : String */;
410 char* var318 /* : NativeString */;
411 val* var319 /* : FlatString */;
412 static val* varonce320;
413 val* var321 /* : String */;
414 char* var322 /* : NativeString */;
415 val* var323 /* : FlatString */;
416 static val* varonce324;
417 val* var325 /* : String */;
418 char* var326 /* : NativeString */;
419 val* var327 /* : FlatString */;
420 static val* varonce328;
421 val* var329 /* : String */;
422 char* var330 /* : NativeString */;
423 val* var331 /* : FlatString */;
424 static val* varonce332;
425 val* var333 /* : String */;
426 char* var334 /* : NativeString */;
427 val* var335 /* : FlatString */;
428 val* var336 /* : String */;
429 val* var337 /* : Array[MProperty] */;
430 val* var339 /* : Array[MProperty] */;
431 static val* varonce340;
432 val* var341 /* : String */;
433 char* var342 /* : NativeString */;
434 val* var343 /* : FlatString */;
435 val* var344 /* : String */;
436 val* var345 /* : String */;
437 val* var346 /* : Array[MProperty] */;
438 val* var348 /* : Array[MProperty] */;
439 static val* varonce349;
440 val* var350 /* : String */;
441 char* var351 /* : NativeString */;
442 val* var352 /* : FlatString */;
443 val* var353 /* : String */;
444 val* var354 /* : String */;
445 long var355 /* : Int */;
446 short int var357 /* : Bool */;
447 int cltype358;
448 int idtype359;
449 const char* var_class_name360;
450 long var361 /* : Int */;
451 val* var364 /* : nullable MSignature */;
452 val* var365 /* : nullable MSignature */;
453 val* var367 /* : nullable MSignature */;
454 val* var368 /* : nullable MSignature */;
455 val* var370 /* : nullable MSignature */;
456 val* var_msignature371 /* var msignature: nullable MSignature */;
457 val* var372 /* : MSignature */;
458 val* var373 /* : CallSite */;
459 val* var_callsite374 /* var callsite: CallSite */;
460 val* var375 /* : ToolContext */;
461 val* var377 /* : ToolContext */;
462 val* var379 /* : NativeArray[String] */;
463 static val* varonce378;
464 static val* varonce380;
465 val* var381 /* : String */;
466 char* var382 /* : NativeString */;
467 val* var383 /* : FlatString */;
468 static val* varonce384;
469 val* var385 /* : String */;
470 char* var386 /* : NativeString */;
471 val* var387 /* : FlatString */;
472 val* var388 /* : String */;
473 val* var389 /* : String */;
474 val* var390 /* : String */;
475 short int var391 /* : Bool */;
476 val* var393 /* : NativeArray[String] */;
477 static val* varonce392;
478 static val* varonce394;
479 val* var395 /* : String */;
480 char* var396 /* : NativeString */;
481 val* var397 /* : FlatString */;
482 static val* varonce398;
483 val* var399 /* : String */;
484 char* var400 /* : NativeString */;
485 val* var401 /* : FlatString */;
486 val* var402 /* : String */;
487 val* var403 /* : String */;
488 val* var_404 /* var : Array[CallSite] */;
489 val* var405 /* : ArrayIterator[nullable Object] */;
490 val* var_406 /* var : ArrayIterator[CallSite] */;
491 short int var407 /* : Bool */;
492 val* var408 /* : nullable Object */;
493 val* var_auto_super_init /* var auto_super_init: CallSite */;
494 val* var409 /* : MMethodDef */;
495 val* var411 /* : MMethodDef */;
496 val* var_auto_super_init_def /* var auto_super_init_def: MMethodDef */;
497 val* var412 /* : nullable MSignature */;
498 val* var414 /* : nullable MSignature */;
499 val* var_msig /* var msig: MSignature */;
500 val* var415 /* : MSignature */;
501 val* var417 /* : MSignature */;
502 val* var_supermsig /* var supermsig: MSignature */;
503 long var418 /* : Int */;
504 long var419 /* : Int */;
505 short int var420 /* : Bool */;
506 short int var422 /* : Bool */;
507 int cltype423;
508 int idtype424;
509 const char* var_class_name425;
510 short int var426 /* : Bool */;
511 val* var428 /* : NativeArray[String] */;
512 static val* varonce427;
513 static val* varonce429;
514 val* var430 /* : String */;
515 char* var431 /* : NativeString */;
516 val* var432 /* : FlatString */;
517 static val* varonce433;
518 val* var434 /* : String */;
519 char* var435 /* : NativeString */;
520 val* var436 /* : FlatString */;
521 static val* varonce437;
522 val* var438 /* : String */;
523 char* var439 /* : NativeString */;
524 val* var440 /* : FlatString */;
525 static val* varonce441;
526 val* var442 /* : String */;
527 char* var443 /* : NativeString */;
528 val* var444 /* : FlatString */;
529 val* var445 /* : String */;
530 val* var446 /* : String */;
531 long var447 /* : Int */;
532 val* var448 /* : String */;
533 long var449 /* : Int */;
534 val* var450 /* : String */;
535 val* var451 /* : String */;
536 long var_i453 /* var i: Int */;
537 val* var454 /* : Array[MParameter] */;
538 val* var456 /* : Array[MParameter] */;
539 val* var_457 /* var : Array[MParameter] */;
540 val* var458 /* : ArrayIterator[nullable Object] */;
541 val* var_459 /* var : ArrayIterator[MParameter] */;
542 short int var460 /* : Bool */;
543 val* var461 /* : nullable Object */;
544 val* var_sp /* var sp: MParameter */;
545 val* var462 /* : Array[MParameter] */;
546 val* var464 /* : Array[MParameter] */;
547 val* var465 /* : nullable Object */;
548 val* var_p466 /* var p: MParameter */;
549 val* var467 /* : MType */;
550 val* var469 /* : MType */;
551 val* var_sub /* var sub: MType */;
552 val* var470 /* : MType */;
553 val* var472 /* : MType */;
554 val* var_sup /* var sup: MType */;
555 short int var473 /* : Bool */;
556 short int var474 /* : Bool */;
557 val* var476 /* : NativeArray[String] */;
558 static val* varonce475;
559 static val* varonce477;
560 val* var478 /* : String */;
561 char* var479 /* : NativeString */;
562 val* var480 /* : FlatString */;
563 static val* varonce481;
564 val* var482 /* : String */;
565 char* var483 /* : NativeString */;
566 val* var484 /* : FlatString */;
567 static val* varonce485;
568 val* var486 /* : String */;
569 char* var487 /* : NativeString */;
570 val* var488 /* : FlatString */;
571 static val* varonce489;
572 val* var490 /* : String */;
573 char* var491 /* : NativeString */;
574 val* var492 /* : FlatString */;
575 static val* varonce493;
576 val* var494 /* : String */;
577 char* var495 /* : NativeString */;
578 val* var496 /* : FlatString */;
579 static val* varonce497;
580 val* var498 /* : String */;
581 char* var499 /* : NativeString */;
582 val* var500 /* : FlatString */;
583 val* var501 /* : String */;
584 val* var502 /* : String */;
585 val* var503 /* : String */;
586 val* var504 /* : MType */;
587 val* var506 /* : MType */;
588 val* var507 /* : String */;
589 val* var508 /* : String */;
590 val* var510 /* : String */;
591 val* var511 /* : MType */;
592 val* var513 /* : MType */;
593 val* var514 /* : String */;
594 val* var515 /* : String */;
595 long var517 /* : Int */;
596 short int var519 /* : Bool */;
597 int cltype520;
598 int idtype521;
599 const char* var_class_name522;
600 long var523 /* : Int */;
601 var_modelbuilder = p0;
602 {
603 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
604 var2 = self->attrs[COLOR_nit__parser_nodes__ANode___parent].val; /* _parent on <self:AMethPropdef> */
605 var = var2;
606 RET_LABEL1:(void)0;
607 }
608 }
609 /* <var:nullable ANode> isa AClassdef */
610 cltype = type_nit__AClassdef.color;
611 idtype = type_nit__AClassdef.id;
612 if(var == NULL) {
613 var3 = 0;
614 } else {
615 if(cltype >= var->type->table_size) {
616 var3 = 0;
617 } else {
618 var3 = var->type->type_table[cltype] == idtype;
619 }
620 }
621 if (unlikely(!var3)) {
622 var_class_name = var == NULL ? "null" : var->type->name;
623 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name);
624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 59);
625 fatal_exit(1);
626 }
627 {
628 { /* Inline modelize_class#AClassdef#mclassdef (var) on <var:nullable ANode(AClassdef)> */
629 var6 = var->attrs[COLOR_nit__modelize_class__AClassdef___mclassdef].val; /* _mclassdef on <var:nullable ANode(AClassdef)> */
630 var4 = var6;
631 RET_LABEL5:(void)0;
632 }
633 }
634 var_mclassdef = var4;
635 if (var_mclassdef == NULL) {
636 var7 = 1; /* is null */
637 } else {
638 var7 = 0; /* arg is null but recv is not */
639 }
640 if (0) {
641 { /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
642 var_other = ((val*)NULL);
643 {
644 { /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
645 var12 = var_mclassdef == var_other;
646 var10 = var12;
647 goto RET_LABEL11;
648 RET_LABEL11:(void)0;
649 }
650 }
651 var8 = var10;
652 goto RET_LABEL9;
653 RET_LABEL9:(void)0;
654 }
655 var7 = var8;
656 }
657 if (var7){
658 goto RET_LABEL;
659 } else {
660 }
661 {
662 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
663 var15 = self->attrs[COLOR_nit__modelize_property__APropdef___mpropdef].val; /* _mpropdef on <self:AMethPropdef> */
664 var13 = var15;
665 RET_LABEL14:(void)0;
666 }
667 }
668 var_mpropdef = var13;
669 if (var_mpropdef == NULL) {
670 var16 = 1; /* is null */
671 } else {
672 var16 = 0; /* arg is null but recv is not */
673 }
674 if (0) {
675 { /* Inline kernel#Object#== (var_mpropdef,((val*)NULL)) on <var_mpropdef:nullable MMethodDef> */
676 var_other = ((val*)NULL);
677 {
678 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
679 var21 = var_mpropdef == var_other;
680 var19 = var21;
681 goto RET_LABEL20;
682 RET_LABEL20:(void)0;
683 }
684 }
685 var17 = var19;
686 goto RET_LABEL18;
687 RET_LABEL18:(void)0;
688 }
689 var16 = var17;
690 }
691 if (var16){
692 goto RET_LABEL;
693 } else {
694 }
695 {
696 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
697 var24 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mclassdef].val; /* _mclassdef on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
698 if (unlikely(var24 == NULL)) {
699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2209);
701 fatal_exit(1);
702 }
703 var22 = var24;
704 RET_LABEL23:(void)0;
705 }
706 }
707 {
708 { /* Inline model#MClassDef#mmodule (var22) on <var22:MClassDef> */
709 var27 = var22->attrs[COLOR_nit__model__MClassDef___mmodule].val; /* _mmodule on <var22:MClassDef> */
710 if (unlikely(var27 == NULL)) {
711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 550);
713 fatal_exit(1);
714 }
715 var25 = var27;
716 RET_LABEL26:(void)0;
717 }
718 }
719 var_mmodule = var25;
720 {
721 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
722 var30 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
723 if (unlikely(var30 == NULL)) {
724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
725 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
726 fatal_exit(1);
727 }
728 var28 = var30;
729 RET_LABEL29:(void)0;
730 }
731 }
732 var_anchor = var28;
733 {
734 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
735 var33 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
736 if (unlikely(var33 == NULL)) {
737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
739 fatal_exit(1);
740 }
741 var31 = var33;
742 RET_LABEL32:(void)0;
743 }
744 }
745 {
746 { /* Inline model#MClass#mclass_type (var31) on <var31:MClass> */
747 var36 = var31->attrs[COLOR_nit__model__MClass___mclass_type].val; /* _mclass_type on <var31:MClass> */
748 if (unlikely(var36 == NULL)) {
749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 484);
751 fatal_exit(1);
752 }
753 var34 = var36;
754 RET_LABEL35:(void)0;
755 }
756 }
757 var_recvtype = var34;
758 if (likely(varonce!=NULL)) {
759 var37 = varonce;
760 } else {
761 var38 = "nosuper";
762 var39 = standard___standard__NativeString___to_s_with_length(var38, 7l);
763 var37 = var39;
764 varonce = var37;
765 }
766 {
767 var40 = nit__annotation___Prod___get_single_annotation(self, var37, var_modelbuilder);
768 }
769 var_nosuper = var40;
770 {
771 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
772 var44 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
773 if (unlikely(var44 == NULL)) {
774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
775 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
776 fatal_exit(1);
777 }
778 var42 = var44;
779 RET_LABEL43:(void)0;
780 }
781 }
782 {
783 { /* Inline model#MMethod#is_init (var42) on <var42:MProperty(MMethod)> */
784 var47 = var42->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on <var42:MProperty(MMethod)> */
785 var45 = var47;
786 RET_LABEL46:(void)0;
787 }
788 }
789 var48 = !var45;
790 var_ = var48;
791 if (var48){
792 var41 = var_;
793 } else {
794 {
795 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
796 var51 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
797 if (unlikely(var51 == NULL)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
800 fatal_exit(1);
801 }
802 var49 = var51;
803 RET_LABEL50:(void)0;
804 }
805 }
806 {
807 { /* Inline model#MMethod#is_new (var49) on <var49:MProperty(MMethod)> */
808 var54 = var49->attrs[COLOR_nit__model__MMethod___is_new].s; /* _is_new on <var49:MProperty(MMethod)> */
809 var52 = var54;
810 RET_LABEL53:(void)0;
811 }
812 }
813 var41 = var52;
814 }
815 if (var41){
816 if (var_nosuper == NULL) {
817 var55 = 0; /* is null */
818 } else {
819 var55 = 1; /* arg is null and recv is not */
820 }
821 if (0) {
822 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
823 var_other58 = ((val*)NULL);
824 {
825 var59 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nosuper, var_other58); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
826 }
827 var60 = !var59;
828 var56 = var60;
829 goto RET_LABEL57;
830 RET_LABEL57:(void)0;
831 }
832 var55 = var56;
833 }
834 if (var55){
835 if (likely(varonce61!=NULL)) {
836 var62 = varonce61;
837 } else {
838 var63 = "Error: `nosuper` only allowed in `init`.";
839 var64 = standard___standard__NativeString___to_s_with_length(var63, 40l);
840 var62 = var64;
841 varonce61 = var62;
842 }
843 {
844 nit___nit__ModelBuilder___error(var_modelbuilder, var_nosuper, var62); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
845 }
846 } else {
847 }
848 goto RET_LABEL;
849 } else {
850 }
851 var_skip = 1;
852 {
853 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
854 var67 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___in_hierarchy].val; /* _in_hierarchy on <var_mclassdef:nullable MClassDef(MClassDef)> */
855 var65 = var67;
856 RET_LABEL66:(void)0;
857 }
858 }
859 if (var65 == NULL) {
860 PRINT_ERROR("Runtime error: %s", "Receiver is null");
861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 78);
862 fatal_exit(1);
863 } else {
864 var68 = poset___poset__POSetElement___direct_greaters(var65);
865 }
866 var_69 = var68;
867 {
868 var70 = ((val*(*)(val* self))((((long)var_69&3)?class_info[((long)var_69&3)]:var_69->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_69); /* iterator on <var_69:Collection[MClassDef]>*/
869 }
870 var_71 = var70;
871 for(;;) {
872 {
873 var72 = ((short int(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_71); /* is_ok on <var_71:Iterator[MClassDef]>*/
874 }
875 if (var72){
876 {
877 var73 = ((val*(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_71); /* item on <var_71:Iterator[MClassDef]>*/
878 }
879 var_cd = var73;
880 {
881 { /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
882 var76 = var_cd->attrs[COLOR_nit__model__MClassDef___mclass].val; /* _mclass on <var_cd:MClassDef> */
883 if (unlikely(var76 == NULL)) {
884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
885 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 553);
886 fatal_exit(1);
887 }
888 var74 = var76;
889 RET_LABEL75:(void)0;
890 }
891 }
892 {
893 { /* Inline model#MClass#kind (var74) on <var74:MClass> */
894 var79 = var74->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var74:MClass> */
895 if (unlikely(var79 == NULL)) {
896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
897 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
898 fatal_exit(1);
899 }
900 var77 = var79;
901 RET_LABEL78:(void)0;
902 }
903 }
904 {
905 { /* Inline model#MClassKind#need_init (var77) on <var77:MClassKind> */
906 var82 = var77->attrs[COLOR_nit__model__MClassKind___need_init].s; /* _need_init on <var77:MClassKind> */
907 var80 = var82;
908 RET_LABEL81:(void)0;
909 }
910 }
911 if (var80){
912 var_skip = 0;
913 } else {
914 }
915 {
916 ((void(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_71); /* next on <var_71:Iterator[MClassDef]>*/
917 }
918 } else {
919 goto BREAK_label;
920 }
921 }
922 BREAK_label: (void)0;
923 {
924 ((void(*)(val* self))((((long)var_71&3)?class_info[((long)var_71&3)]:var_71->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_71); /* finish on <var_71:Iterator[MClassDef]>*/
925 }
926 if (var_skip){
927 goto RET_LABEL;
928 } else {
929 }
930 {
931 { /* Inline parser_nodes#AMethPropdef#n_block (self) on <self:AMethPropdef> */
932 var85 = self->attrs[COLOR_nit__parser_nodes__AMethPropdef___n_block].val; /* _n_block on <self:AMethPropdef> */
933 var83 = var85;
934 RET_LABEL84:(void)0;
935 }
936 }
937 var_nblock = var83;
938 if (var_nblock == NULL) {
939 var86 = 0; /* is null */
940 } else {
941 var86 = 1; /* arg is null and recv is not */
942 }
943 if (0) {
944 { /* Inline kernel#Object#!= (var_nblock,((val*)NULL)) on <var_nblock:nullable AExpr> */
945 var_other58 = ((val*)NULL);
946 {
947 var89 = ((short int(*)(val* self, val* p0))(var_nblock->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nblock, var_other58); /* == on <var_nblock:nullable AExpr(AExpr)>*/
948 }
949 var90 = !var89;
950 var87 = var90;
951 goto RET_LABEL88;
952 RET_LABEL88:(void)0;
953 }
954 var86 = var87;
955 }
956 if (var86){
957 var91 = NEW_nit__auto_super_init__AutoSuperInitVisitor(&type_nit__auto_super_init__AutoSuperInitVisitor);
958 {
959 { /* Inline kernel#Object#init (var91) on <var91:AutoSuperInitVisitor> */
960 RET_LABEL92:(void)0;
961 }
962 }
963 var_v = var91;
964 {
965 nit___nit__Visitor___enter_visit(var_v, var_nblock); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:AutoSuperInitVisitor>*/
966 }
967 {
968 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
969 var95 = var_v->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
970 var93 = var95;
971 RET_LABEL94:(void)0;
972 }
973 }
974 var_anode = var93;
975 if (var_anode == NULL) {
976 var96 = 0; /* is null */
977 } else {
978 var96 = 1; /* arg is null and recv is not */
979 }
980 if (0) {
981 { /* Inline kernel#Object#!= (var_anode,((val*)NULL)) on <var_anode:nullable ANode> */
982 var_other58 = ((val*)NULL);
983 {
984 var99 = ((short int(*)(val* self, val* p0))(var_anode->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_anode, var_other58); /* == on <var_anode:nullable ANode(ANode)>*/
985 }
986 var100 = !var99;
987 var97 = var100;
988 goto RET_LABEL98;
989 RET_LABEL98:(void)0;
990 }
991 var96 = var97;
992 }
993 if (var96){
994 if (var_nosuper == NULL) {
995 var101 = 0; /* is null */
996 } else {
997 var101 = 1; /* arg is null and recv is not */
998 }
999 if (0) {
1000 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
1001 var_other58 = ((val*)NULL);
1002 {
1003 var104 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nosuper, var_other58); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
1004 }
1005 var105 = !var104;
1006 var102 = var105;
1007 goto RET_LABEL103;
1008 RET_LABEL103:(void)0;
1009 }
1010 var101 = var102;
1011 }
1012 if (var101){
1013 if (likely(varonce106!=NULL)) {
1014 var107 = varonce106;
1015 } else {
1016 var108 = "Error: method is annotated `nosuper` but a super-constructor call is present.";
1017 var109 = standard___standard__NativeString___to_s_with_length(var108, 77l);
1018 var107 = var109;
1019 varonce106 = var107;
1020 }
1021 {
1022 nit___nit__ModelBuilder___error(var_modelbuilder, var_anode, var107); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1023 }
1024 } else {
1025 }
1026 goto RET_LABEL;
1027 } else {
1028 }
1029 {
1030 { /* Inline auto_super_init#AutoSuperInitVisitor#is_broken (var_v) on <var_v:AutoSuperInitVisitor> */
1031 var112 = var_v->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___is_broken].s; /* _is_broken on <var_v:AutoSuperInitVisitor> */
1032 var110 = var112;
1033 RET_LABEL111:(void)0;
1034 }
1035 }
1036 if (var110){
1037 goto RET_LABEL;
1038 } else {
1039 }
1040 } else {
1041 }
1042 if (var_nosuper == NULL) {
1043 var113 = 0; /* is null */
1044 } else {
1045 var113 = 1; /* arg is null and recv is not */
1046 }
1047 if (0) {
1048 { /* Inline kernel#Object#!= (var_nosuper,((val*)NULL)) on <var_nosuper:nullable AAnnotation> */
1049 var_other58 = ((val*)NULL);
1050 {
1051 var116 = ((short int(*)(val* self, val* p0))(var_nosuper->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_nosuper, var_other58); /* == on <var_nosuper:nullable AAnnotation(AAnnotation)>*/
1052 }
1053 var117 = !var116;
1054 var114 = var117;
1055 goto RET_LABEL115;
1056 RET_LABEL115:(void)0;
1057 }
1058 var113 = var114;
1059 }
1060 if (var113){
1061 goto RET_LABEL;
1062 } else {
1063 }
1064 {
1065 var118 = nit___nit__MPropDef___is_intro(var_mpropdef);
1066 }
1067 var119 = !var118;
1068 if (var119){
1069 {
1070 { /* Inline auto_super_init#AMethPropdef#auto_super_call= (self,1) on <self:AMethPropdef> */
1071 self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_call].s = 1; /* _auto_super_call on <self:AMethPropdef> */
1072 RET_LABEL120:(void)0;
1073 }
1074 }
1075 {
1076 { /* Inline modelize_property#MPropDef#has_supercall= (var_mpropdef,1) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1077 var_mpropdef->attrs[COLOR_nit__modelize_property__MPropDef___has_supercall].s = 1; /* _has_supercall on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1078 RET_LABEL121:(void)0;
1079 }
1080 }
1081 {
1082 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1083 var124 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
1084 if (unlikely(var124 == NULL)) {
1085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
1087 fatal_exit(1);
1088 }
1089 var122 = var124;
1090 RET_LABEL123:(void)0;
1091 }
1092 }
1093 if (unlikely(varonce125==NULL)) {
1094 var126 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String);
1095 if (likely(varonce127!=NULL)) {
1096 var128 = varonce127;
1097 } else {
1098 var129 = "Auto-super call for ";
1099 var130 = standard___standard__NativeString___to_s_with_length(var129, 20l);
1100 var128 = var130;
1101 varonce127 = var128;
1102 }
1103 ((struct instance_standard__NativeArray*)var126)->values[0]=var128;
1104 } else {
1105 var126 = varonce125;
1106 varonce125 = NULL;
1107 }
1108 {
1109 var131 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1110 }
1111 ((struct instance_standard__NativeArray*)var126)->values[1]=var131;
1112 {
1113 var132 = ((val*(*)(val* self))(var126->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var126); /* native_to_s on <var126:NativeArray[String]>*/
1114 }
1115 varonce125 = var126;
1116 {
1117 nit___nit__ToolContext___info(var122, var132, 4l); /* Direct call toolcontext#ToolContext#info on <var122:ToolContext>*/
1118 }
1119 goto RET_LABEL;
1120 } else {
1121 }
1122 var133 = NEW_standard__Array(&type_standard__Array__nit__CallSite);
1123 {
1124 standard___standard__Array___standard__kernel__Object__init(var133); /* Direct call array#Array#init on <var133:Array[CallSite]>*/
1125 }
1126 var_auto_super_inits = var133;
1127 {
1128 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
1129 var136 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___supertypes].val; /* _supertypes on <var_mclassdef:nullable MClassDef(MClassDef)> */
1130 if (unlikely(var136 == NULL)) {
1131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
1132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 627);
1133 fatal_exit(1);
1134 }
1135 var134 = var136;
1136 RET_LABEL135:(void)0;
1137 }
1138 }
1139 var_137 = var134;
1140 {
1141 var138 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_137);
1142 }
1143 var_139 = var138;
1144 for(;;) {
1145 {
1146 var140 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_139);
1147 }
1148 if (var140){
1149 {
1150 var141 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_139);
1151 }
1152 var_msupertype = var141;
1153 {
1154 { /* Inline model#MClassType#mclass (var_msupertype) on <var_msupertype:MClassType> */
1155 var144 = var_msupertype->attrs[COLOR_nit__model__MClassType___mclass].val; /* _mclass on <var_msupertype:MClassType> */
1156 if (unlikely(var144 == NULL)) {
1157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1138);
1159 fatal_exit(1);
1160 }
1161 var142 = var144;
1162 RET_LABEL143:(void)0;
1163 }
1164 }
1165 {
1166 { /* Inline model#MClass#kind (var142) on <var142:MClass> */
1167 var147 = var142->attrs[COLOR_nit__model__MClass___kind].val; /* _kind on <var142:MClass> */
1168 if (unlikely(var147 == NULL)) {
1169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
1170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 436);
1171 fatal_exit(1);
1172 }
1173 var145 = var147;
1174 RET_LABEL146:(void)0;
1175 }
1176 }
1177 {
1178 { /* Inline model#MClassKind#need_init (var145) on <var145:MClassKind> */
1179 var150 = var145->attrs[COLOR_nit__model__MClassKind___need_init].s; /* _need_init on <var145:MClassKind> */
1180 var148 = var150;
1181 RET_LABEL149:(void)0;
1182 }
1183 }
1184 var151 = !var148;
1185 if (var151){
1186 goto BREAK_label152;
1187 } else {
1188 }
1189 {
1190 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
1191 var155 = var_mclassdef->attrs[COLOR_nit__model__MClassDef___bound_mtype].val; /* _bound_mtype on <var_mclassdef:nullable MClassDef(MClassDef)> */
1192 if (unlikely(var155 == NULL)) {
1193 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1194 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 556);
1195 fatal_exit(1);
1196 }
1197 var153 = var155;
1198 RET_LABEL154:(void)0;
1199 }
1200 }
1201 {
1202 var156 = nit___nit__MClassType___MType__anchor_to(var_msupertype, var_mmodule, var153);
1203 }
1204 var_msupertype = var156;
1205 {
1206 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1207 var159 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1208 if (unlikely(var159 == NULL)) {
1209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
1211 fatal_exit(1);
1212 }
1213 var157 = var159;
1214 RET_LABEL158:(void)0;
1215 }
1216 }
1217 {
1218 { /* Inline model#MProperty#name (var157) on <var157:MProperty(MMethod)> */
1219 var162 = var157->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <var157:MProperty(MMethod)> */
1220 if (unlikely(var162 == NULL)) {
1221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
1223 fatal_exit(1);
1224 }
1225 var160 = var162;
1226 RET_LABEL161:(void)0;
1227 }
1228 }
1229 {
1230 var163 = nit___nit__ModelBuilder___try_get_mproperty_by_name2(var_modelbuilder, self, var_mmodule, var_msupertype, var160);
1231 }
1232 var_candidate = var163;
1233 if (var_candidate == NULL) {
1234 var164 = 1; /* is null */
1235 } else {
1236 var164 = 0; /* arg is null but recv is not */
1237 }
1238 if (0) {
1239 { /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on <var_candidate:nullable MProperty> */
1240 var_other = ((val*)NULL);
1241 {
1242 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other) on <var_candidate:nullable MProperty(MProperty)> */
1243 var169 = var_candidate == var_other;
1244 var167 = var169;
1245 goto RET_LABEL168;
1246 RET_LABEL168:(void)0;
1247 }
1248 }
1249 var165 = var167;
1250 goto RET_LABEL166;
1251 RET_LABEL166:(void)0;
1252 }
1253 var164 = var165;
1254 }
1255 if (var164){
1256 if (likely(varonce170!=NULL)) {
1257 var171 = varonce170;
1258 } else {
1259 var172 = "init";
1260 var173 = standard___standard__NativeString___to_s_with_length(var172, 4l);
1261 var171 = var173;
1262 varonce170 = var171;
1263 }
1264 {
1265 var174 = nit___nit__ModelBuilder___try_get_mproperty_by_name2(var_modelbuilder, self, var_mmodule, var_msupertype, var171);
1266 }
1267 var_candidate = var174;
1268 } else {
1269 }
1270 if (var_candidate == NULL) {
1271 var175 = 1; /* is null */
1272 } else {
1273 var175 = 0; /* arg is null but recv is not */
1274 }
1275 if (0) {
1276 { /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on <var_candidate:nullable MProperty> */
1277 var_other = ((val*)NULL);
1278 {
1279 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other) on <var_candidate:nullable MProperty(MProperty)> */
1280 var180 = var_candidate == var_other;
1281 var178 = var180;
1282 goto RET_LABEL179;
1283 RET_LABEL179:(void)0;
1284 }
1285 }
1286 var176 = var178;
1287 goto RET_LABEL177;
1288 RET_LABEL177:(void)0;
1289 }
1290 var175 = var176;
1291 }
1292 if (var175){
1293 if (unlikely(varonce181==NULL)) {
1294 var182 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String);
1295 if (likely(varonce183!=NULL)) {
1296 var184 = varonce183;
1297 } else {
1298 var185 = "Error: cannot do an implicit constructor call in `";
1299 var186 = standard___standard__NativeString___to_s_with_length(var185, 50l);
1300 var184 = var186;
1301 varonce183 = var184;
1302 }
1303 ((struct instance_standard__NativeArray*)var182)->values[0]=var184;
1304 if (likely(varonce187!=NULL)) {
1305 var188 = varonce187;
1306 } else {
1307 var189 = "`; there is no constructor named `";
1308 var190 = standard___standard__NativeString___to_s_with_length(var189, 34l);
1309 var188 = var190;
1310 varonce187 = var188;
1311 }
1312 ((struct instance_standard__NativeArray*)var182)->values[2]=var188;
1313 if (likely(varonce191!=NULL)) {
1314 var192 = varonce191;
1315 } else {
1316 var193 = "` in `";
1317 var194 = standard___standard__NativeString___to_s_with_length(var193, 6l);
1318 var192 = var194;
1319 varonce191 = var192;
1320 }
1321 ((struct instance_standard__NativeArray*)var182)->values[4]=var192;
1322 if (likely(varonce195!=NULL)) {
1323 var196 = varonce195;
1324 } else {
1325 var197 = "`.";
1326 var198 = standard___standard__NativeString___to_s_with_length(var197, 2l);
1327 var196 = var198;
1328 varonce195 = var196;
1329 }
1330 ((struct instance_standard__NativeArray*)var182)->values[6]=var196;
1331 } else {
1332 var182 = varonce181;
1333 varonce181 = NULL;
1334 }
1335 {
1336 var199 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1337 }
1338 ((struct instance_standard__NativeArray*)var182)->values[1]=var199;
1339 {
1340 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1341 var202 = var_mpropdef->attrs[COLOR_nit__model__MPropDef___mproperty].val; /* _mproperty on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
1342 if (unlikely(var202 == NULL)) {
1343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2212);
1345 fatal_exit(1);
1346 }
1347 var200 = var202;
1348 RET_LABEL201:(void)0;
1349 }
1350 }
1351 {
1352 { /* Inline model#MProperty#name (var200) on <var200:MProperty(MMethod)> */
1353 var205 = var200->attrs[COLOR_nit__model__MProperty___name].val; /* _name on <var200:MProperty(MMethod)> */
1354 if (unlikely(var205 == NULL)) {
1355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1933);
1357 fatal_exit(1);
1358 }
1359 var203 = var205;
1360 RET_LABEL204:(void)0;
1361 }
1362 }
1363 ((struct instance_standard__NativeArray*)var182)->values[3]=var203;
1364 {
1365 var206 = ((val*(*)(val* self))(var_msupertype->class->vft[COLOR_standard__string__Object__to_s]))(var_msupertype); /* to_s on <var_msupertype:MClassType>*/
1366 }
1367 ((struct instance_standard__NativeArray*)var182)->values[5]=var206;
1368 {
1369 var207 = ((val*(*)(val* self))(var182->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var182); /* native_to_s on <var182:NativeArray[String]>*/
1370 }
1371 varonce181 = var182;
1372 {
1373 nit___nit__ModelBuilder___error(var_modelbuilder, self, var207); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1374 }
1375 goto RET_LABEL;
1376 } else {
1377 }
1378 /* <var_candidate:nullable MProperty(MProperty)> isa MMethod */
1379 cltype209 = type_nit__MMethod.color;
1380 idtype210 = type_nit__MMethod.id;
1381 if(cltype209 >= var_candidate->type->table_size) {
1382 var208 = 0;
1383 } else {
1384 var208 = var_candidate->type->type_table[cltype209] == idtype210;
1385 }
1386 if (unlikely(!var208)) {
1387 PRINT_ERROR("Runtime error: %s", "Assert failed");
1388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 125);
1389 fatal_exit(1);
1390 }
1391 {
1392 { /* Inline model#MMethod#is_root_init (var_candidate) on <var_candidate:nullable MProperty(MMethod)> */
1393 var213 = var_candidate->attrs[COLOR_nit__model__MMethod___is_root_init].s; /* _is_root_init on <var_candidate:nullable MProperty(MMethod)> */
1394 var211 = var213;
1395 RET_LABEL212:(void)0;
1396 }
1397 }
1398 if (var211){
1399 goto BREAK_label152;
1400 } else {
1401 }
1402 {
1403 var214 = nit___nit__MProperty___lookup_definitions(var_candidate, var_mmodule, var_anchor);
1404 }
1405 var_candidatedefs = var214;
1406 {
1407 var215 = standard___standard__SequenceRead___Collection__first(var_candidatedefs);
1408 }
1409 var_candidatedef = var215;
1410 {
1411 { /* Inline model#MMethodDef#new_msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1412 var219 = var_candidatedef->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on <var_candidatedef:MMethodDef> */
1413 var217 = var219;
1414 RET_LABEL218:(void)0;
1415 }
1416 }
1417 if (var217!=NULL) {
1418 var216 = var217;
1419 } else {
1420 {
1421 { /* Inline model#MMethodDef#msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1422 var222 = var_candidatedef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_candidatedef:MMethodDef> */
1423 var220 = var222;
1424 RET_LABEL221:(void)0;
1425 }
1426 }
1427 var216 = var220;
1428 }
1429 var_msignature = var216;
1430 if (var_msignature == NULL) {
1431 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 135);
1433 fatal_exit(1);
1434 } else {
1435 var223 = nit___nit__MSignature___MType__resolve_for(var_msignature, var_recvtype, var_anchor, var_mmodule, 1);
1436 }
1437 var_msignature = var223;
1438 var224 = NEW_nit__CallSite(&type_nit__CallSite);
1439 {
1440 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__node_61d]))(var224, self); /* node= on <var224:CallSite>*/
1441 }
1442 {
1443 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__recv_61d]))(var224, var_recvtype); /* recv= on <var224:CallSite>*/
1444 }
1445 {
1446 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__mmodule_61d]))(var224, var_mmodule); /* mmodule= on <var224:CallSite>*/
1447 }
1448 {
1449 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__anchor_61d]))(var224, var_anchor); /* anchor= on <var224:CallSite>*/
1450 }
1451 {
1452 ((void(*)(val* self, short int p0))(var224->class->vft[COLOR_nit__typing__CallSite__recv_is_self_61d]))(var224, 1); /* recv_is_self= on <var224:CallSite>*/
1453 }
1454 {
1455 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__mproperty_61d]))(var224, var_candidate); /* mproperty= on <var224:CallSite>*/
1456 }
1457 {
1458 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__mpropdef_61d]))(var224, var_candidatedef); /* mpropdef= on <var224:CallSite>*/
1459 }
1460 {
1461 ((void(*)(val* self, val* p0))(var224->class->vft[COLOR_nit__typing__CallSite__msignature_61d]))(var224, var_msignature); /* msignature= on <var224:CallSite>*/
1462 }
1463 {
1464 ((void(*)(val* self, short int p0))(var224->class->vft[COLOR_nit__typing__CallSite__erasure_cast_61d]))(var224, 0); /* erasure_cast= on <var224:CallSite>*/
1465 }
1466 {
1467 ((void(*)(val* self))(var224->class->vft[COLOR_standard__kernel__Object__init]))(var224); /* init on <var224:CallSite>*/
1468 }
1469 var_callsite = var224;
1470 {
1471 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_auto_super_inits, var_callsite); /* Direct call array#Array#add on <var_auto_super_inits:Array[CallSite]>*/
1472 }
1473 {
1474 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1475 var227 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
1476 if (unlikely(var227 == NULL)) {
1477 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
1479 fatal_exit(1);
1480 }
1481 var225 = var227;
1482 RET_LABEL226:(void)0;
1483 }
1484 }
1485 if (unlikely(varonce228==NULL)) {
1486 var229 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
1487 if (likely(varonce230!=NULL)) {
1488 var231 = varonce230;
1489 } else {
1490 var232 = "Old-style auto-super init for ";
1491 var233 = standard___standard__NativeString___to_s_with_length(var232, 30l);
1492 var231 = var233;
1493 varonce230 = var231;
1494 }
1495 ((struct instance_standard__NativeArray*)var229)->values[0]=var231;
1496 if (likely(varonce234!=NULL)) {
1497 var235 = varonce234;
1498 } else {
1499 var236 = " to ";
1500 var237 = standard___standard__NativeString___to_s_with_length(var236, 4l);
1501 var235 = var237;
1502 varonce234 = var235;
1503 }
1504 ((struct instance_standard__NativeArray*)var229)->values[2]=var235;
1505 } else {
1506 var229 = varonce228;
1507 varonce228 = NULL;
1508 }
1509 {
1510 var238 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
1511 }
1512 ((struct instance_standard__NativeArray*)var229)->values[1]=var238;
1513 {
1514 var239 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_candidate);
1515 }
1516 ((struct instance_standard__NativeArray*)var229)->values[3]=var239;
1517 {
1518 var240 = ((val*(*)(val* self))(var229->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var229); /* native_to_s on <var229:NativeArray[String]>*/
1519 }
1520 varonce228 = var229;
1521 {
1522 nit___nit__ToolContext___info(var225, var240, 4l); /* Direct call toolcontext#ToolContext#info on <var225:ToolContext>*/
1523 }
1524 BREAK_label152: (void)0;
1525 {
1526 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_139); /* Direct call array#ArrayIterator#next on <var_139:ArrayIterator[MClassType]>*/
1527 }
1528 } else {
1529 goto BREAK_label241;
1530 }
1531 }
1532 BREAK_label241: (void)0;
1533 {
1534 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_139); /* Direct call array#ArrayIterator#finish on <var_139:ArrayIterator[MClassType]>*/
1535 }
1536 {
1537 { /* Inline modelize_property#ModelBuilder#the_root_init_mmethod (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1538 var244 = var_modelbuilder->attrs[COLOR_nit__modelize_property__ModelBuilder___the_root_init_mmethod].val; /* _the_root_init_mmethod on <var_modelbuilder:ModelBuilder> */
1539 var242 = var244;
1540 RET_LABEL243:(void)0;
1541 }
1542 }
1543 var_the_root_init_mmethod = var242;
1544 if (var_the_root_init_mmethod == NULL) {
1545 var246 = 0; /* is null */
1546 } else {
1547 var246 = 1; /* arg is null and recv is not */
1548 }
1549 if (0) {
1550 { /* Inline kernel#Object#!= (var_the_root_init_mmethod,((val*)NULL)) on <var_the_root_init_mmethod:nullable MMethod> */
1551 var_other58 = ((val*)NULL);
1552 {
1553 var249 = ((short int(*)(val* self, val* p0))(var_the_root_init_mmethod->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_the_root_init_mmethod, var_other58); /* == on <var_the_root_init_mmethod:nullable MMethod(MMethod)>*/
1554 }
1555 var250 = !var249;
1556 var247 = var250;
1557 goto RET_LABEL248;
1558 RET_LABEL248:(void)0;
1559 }
1560 var246 = var247;
1561 }
1562 var_251 = var246;
1563 if (var246){
1564 {
1565 var252 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_auto_super_inits);
1566 }
1567 var245 = var252;
1568 } else {
1569 var245 = var_251;
1570 }
1571 if (var245){
1572 {
1573 var253 = nit___nit__MProperty___lookup_definitions(var_the_root_init_mmethod, var_mmodule, var_anchor);
1574 }
1575 var_candidatedefs254 = var253;
1576 {
1577 var255 = standard___standard__SequenceRead___Collection__first(var_candidatedefs254);
1578 }
1579 var_candidatedef256 = var255;
1580 {
1581 { /* Inline array#AbstractArrayRead#length (var_candidatedefs254) on <var_candidatedefs254:Array[MMethodDef]> */
1582 var259 = var_candidatedefs254->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_candidatedefs254:Array[MMethodDef]> */
1583 var257 = var259;
1584 RET_LABEL258:(void)0;
1585 }
1586 }
1587 {
1588 { /* Inline kernel#Int#> (var257,1l) on <var257:Int> */
1589 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1590 /* <1l:Int> isa OTHER */
1591 var262 = 1; /* easy <1l:Int> isa OTHER*/
1592 if (unlikely(!var262)) {
1593 var_class_name265 = type_standard__Int.name;
1594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name265);
1595 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
1596 fatal_exit(1);
1597 }
1598 var266 = var257 > 1l;
1599 var260 = var266;
1600 goto RET_LABEL261;
1601 RET_LABEL261:(void)0;
1602 }
1603 }
1604 if (var260){
1605 var_267 = var_candidatedefs254;
1606 {
1607 var268 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_267);
1608 }
1609 var_269 = var268;
1610 for(;;) {
1611 {
1612 var270 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_269);
1613 }
1614 if (var270){
1615 {
1616 var271 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_269);
1617 }
1618 var_spd = var271;
1619 {
1620 { /* Inline model#MMethodDef#initializers (var_spd) on <var_spd:MMethodDef> */
1621 var274 = var_spd->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_spd:MMethodDef> */
1622 if (unlikely(var274 == NULL)) {
1623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1625 fatal_exit(1);
1626 }
1627 var272 = var274;
1628 RET_LABEL273:(void)0;
1629 }
1630 }
1631 {
1632 { /* Inline array#AbstractArrayRead#length (var272) on <var272:Array[MProperty]> */
1633 var277 = var272->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var272:Array[MProperty]> */
1634 var275 = var277;
1635 RET_LABEL276:(void)0;
1636 }
1637 }
1638 {
1639 { /* Inline model#MMethodDef#initializers (var_candidatedef256) on <var_candidatedef256:MMethodDef> */
1640 var280 = var_candidatedef256->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_candidatedef256:MMethodDef> */
1641 if (unlikely(var280 == NULL)) {
1642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1644 fatal_exit(1);
1645 }
1646 var278 = var280;
1647 RET_LABEL279:(void)0;
1648 }
1649 }
1650 {
1651 { /* Inline array#AbstractArrayRead#length (var278) on <var278:Array[MProperty]> */
1652 var283 = var278->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var278:Array[MProperty]> */
1653 var281 = var283;
1654 RET_LABEL282:(void)0;
1655 }
1656 }
1657 {
1658 { /* Inline kernel#Int#> (var275,var281) on <var275:Int> */
1659 /* Covariant cast for argument 0 (i) <var281:Int> isa OTHER */
1660 /* <var281:Int> isa OTHER */
1661 var286 = 1; /* easy <var281:Int> isa OTHER*/
1662 if (unlikely(!var286)) {
1663 var_class_name289 = type_standard__Int.name;
1664 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name289);
1665 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
1666 fatal_exit(1);
1667 }
1668 var290 = var275 > var281;
1669 var284 = var290;
1670 goto RET_LABEL285;
1671 RET_LABEL285:(void)0;
1672 }
1673 }
1674 if (var284){
1675 var_candidatedef256 = var_spd;
1676 } else {
1677 }
1678 {
1679 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_269); /* Direct call array#ArrayIterator#next on <var_269:ArrayIterator[MMethodDef]>*/
1680 }
1681 } else {
1682 goto BREAK_label291;
1683 }
1684 }
1685 BREAK_label291: (void)0;
1686 {
1687 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_269); /* Direct call array#ArrayIterator#finish on <var_269:ArrayIterator[MMethodDef]>*/
1688 }
1689 var_292 = var_candidatedefs254;
1690 {
1691 var293 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_292);
1692 }
1693 var_294 = var293;
1694 for(;;) {
1695 {
1696 var295 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_294);
1697 }
1698 if (var295){
1699 {
1700 var296 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_294);
1701 }
1702 var_spd297 = var296;
1703 var_i = 0l;
1704 {
1705 { /* Inline model#MMethodDef#initializers (var_spd297) on <var_spd297:MMethodDef> */
1706 var300 = var_spd297->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_spd297:MMethodDef> */
1707 if (unlikely(var300 == NULL)) {
1708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1709 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1710 fatal_exit(1);
1711 }
1712 var298 = var300;
1713 RET_LABEL299:(void)0;
1714 }
1715 }
1716 var_301 = var298;
1717 {
1718 var302 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_301);
1719 }
1720 var_303 = var302;
1721 for(;;) {
1722 {
1723 var304 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_303);
1724 }
1725 if (var304){
1726 {
1727 var305 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_303);
1728 }
1729 var_p = var305;
1730 {
1731 { /* Inline model#MMethodDef#initializers (var_candidatedef256) on <var_candidatedef256:MMethodDef> */
1732 var308 = var_candidatedef256->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_candidatedef256:MMethodDef> */
1733 if (unlikely(var308 == NULL)) {
1734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1736 fatal_exit(1);
1737 }
1738 var306 = var308;
1739 RET_LABEL307:(void)0;
1740 }
1741 }
1742 {
1743 var309 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var306, var_i);
1744 }
1745 {
1746 { /* Inline kernel#Object#!= (var_p,var309) on <var_p:MProperty> */
1747 var_other58 = var309;
1748 {
1749 var312 = ((short int(*)(val* self, val* p0))(var_p->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_p, var_other58); /* == on <var_p:MProperty>*/
1750 }
1751 var313 = !var312;
1752 var310 = var313;
1753 goto RET_LABEL311;
1754 RET_LABEL311:(void)0;
1755 }
1756 }
1757 if (var310){
1758 if (unlikely(varonce314==NULL)) {
1759 var315 = NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String);
1760 if (likely(varonce316!=NULL)) {
1761 var317 = varonce316;
1762 } else {
1763 var318 = "Error: cannot do an implicit constructor call to conflicting inherited inits `";
1764 var319 = standard___standard__NativeString___to_s_with_length(var318, 78l);
1765 var317 = var319;
1766 varonce316 = var317;
1767 }
1768 ((struct instance_standard__NativeArray*)var315)->values[0]=var317;
1769 if (likely(varonce320!=NULL)) {
1770 var321 = varonce320;
1771 } else {
1772 var322 = "(";
1773 var323 = standard___standard__NativeString___to_s_with_length(var322, 1l);
1774 var321 = var323;
1775 varonce320 = var321;
1776 }
1777 ((struct instance_standard__NativeArray*)var315)->values[2]=var321;
1778 if (likely(varonce324!=NULL)) {
1779 var325 = varonce324;
1780 } else {
1781 var326 = "`) and `";
1782 var327 = standard___standard__NativeString___to_s_with_length(var326, 8l);
1783 var325 = var327;
1784 varonce324 = var325;
1785 }
1786 ((struct instance_standard__NativeArray*)var315)->values[4]=var325;
1787 if (likely(varonce328!=NULL)) {
1788 var329 = varonce328;
1789 } else {
1790 var330 = "(";
1791 var331 = standard___standard__NativeString___to_s_with_length(var330, 1l);
1792 var329 = var331;
1793 varonce328 = var329;
1794 }
1795 ((struct instance_standard__NativeArray*)var315)->values[6]=var329;
1796 if (likely(varonce332!=NULL)) {
1797 var333 = varonce332;
1798 } else {
1799 var334 = "`). NOTE: Do not mix old-style and new-style init!";
1800 var335 = standard___standard__NativeString___to_s_with_length(var334, 50l);
1801 var333 = var335;
1802 varonce332 = var333;
1803 }
1804 ((struct instance_standard__NativeArray*)var315)->values[8]=var333;
1805 } else {
1806 var315 = varonce314;
1807 varonce314 = NULL;
1808 }
1809 {
1810 var336 = ((val*(*)(val* self))(var_spd297->class->vft[COLOR_standard__string__Object__to_s]))(var_spd297); /* to_s on <var_spd297:MMethodDef>*/
1811 }
1812 ((struct instance_standard__NativeArray*)var315)->values[1]=var336;
1813 {
1814 { /* Inline model#MMethodDef#initializers (var_spd297) on <var_spd297:MMethodDef> */
1815 var339 = var_spd297->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_spd297:MMethodDef> */
1816 if (unlikely(var339 == NULL)) {
1817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1818 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1819 fatal_exit(1);
1820 }
1821 var337 = var339;
1822 RET_LABEL338:(void)0;
1823 }
1824 }
1825 if (likely(varonce340!=NULL)) {
1826 var341 = varonce340;
1827 } else {
1828 var342 = ", ";
1829 var343 = standard___standard__NativeString___to_s_with_length(var342, 2l);
1830 var341 = var343;
1831 varonce340 = var341;
1832 }
1833 {
1834 var344 = standard__string___Collection___join(var337, var341);
1835 }
1836 ((struct instance_standard__NativeArray*)var315)->values[3]=var344;
1837 {
1838 var345 = ((val*(*)(val* self))(var_candidatedef256->class->vft[COLOR_standard__string__Object__to_s]))(var_candidatedef256); /* to_s on <var_candidatedef256:MMethodDef>*/
1839 }
1840 ((struct instance_standard__NativeArray*)var315)->values[5]=var345;
1841 {
1842 { /* Inline model#MMethodDef#initializers (var_candidatedef256) on <var_candidatedef256:MMethodDef> */
1843 var348 = var_candidatedef256->attrs[COLOR_nit__model__MMethodDef___initializers].val; /* _initializers on <var_candidatedef256:MMethodDef> */
1844 if (unlikely(var348 == NULL)) {
1845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
1846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 2345);
1847 fatal_exit(1);
1848 }
1849 var346 = var348;
1850 RET_LABEL347:(void)0;
1851 }
1852 }
1853 if (likely(varonce349!=NULL)) {
1854 var350 = varonce349;
1855 } else {
1856 var351 = ", ";
1857 var352 = standard___standard__NativeString___to_s_with_length(var351, 2l);
1858 var350 = var352;
1859 varonce349 = var350;
1860 }
1861 {
1862 var353 = standard__string___Collection___join(var346, var350);
1863 }
1864 ((struct instance_standard__NativeArray*)var315)->values[7]=var353;
1865 {
1866 var354 = ((val*(*)(val* self))(var315->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var315); /* native_to_s on <var315:NativeArray[String]>*/
1867 }
1868 varonce314 = var315;
1869 {
1870 nit___nit__ModelBuilder___error(var_modelbuilder, self, var354); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1871 }
1872 goto RET_LABEL;
1873 } else {
1874 }
1875 {
1876 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
1877 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1878 /* <1l:Int> isa OTHER */
1879 var357 = 1; /* easy <1l:Int> isa OTHER*/
1880 if (unlikely(!var357)) {
1881 var_class_name360 = type_standard__Int.name;
1882 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name360);
1883 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
1884 fatal_exit(1);
1885 }
1886 var361 = var_i + 1l;
1887 var355 = var361;
1888 goto RET_LABEL356;
1889 RET_LABEL356:(void)0;
1890 }
1891 }
1892 var_i = var355;
1893 {
1894 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_303); /* Direct call array#ArrayIterator#next on <var_303:ArrayIterator[MProperty]>*/
1895 }
1896 } else {
1897 goto BREAK_label362;
1898 }
1899 }
1900 BREAK_label362: (void)0;
1901 {
1902 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_303); /* Direct call array#ArrayIterator#finish on <var_303:ArrayIterator[MProperty]>*/
1903 }
1904 {
1905 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_294); /* Direct call array#ArrayIterator#next on <var_294:ArrayIterator[MMethodDef]>*/
1906 }
1907 } else {
1908 goto BREAK_label363;
1909 }
1910 }
1911 BREAK_label363: (void)0;
1912 {
1913 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_294); /* Direct call array#ArrayIterator#finish on <var_294:ArrayIterator[MMethodDef]>*/
1914 }
1915 } else {
1916 }
1917 {
1918 { /* Inline model#MMethodDef#new_msignature (var_candidatedef256) on <var_candidatedef256:MMethodDef> */
1919 var367 = var_candidatedef256->attrs[COLOR_nit__model__MMethodDef___new_msignature].val; /* _new_msignature on <var_candidatedef256:MMethodDef> */
1920 var365 = var367;
1921 RET_LABEL366:(void)0;
1922 }
1923 }
1924 if (var365!=NULL) {
1925 var364 = var365;
1926 } else {
1927 {
1928 { /* Inline model#MMethodDef#msignature (var_candidatedef256) on <var_candidatedef256:MMethodDef> */
1929 var370 = var_candidatedef256->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_candidatedef256:MMethodDef> */
1930 var368 = var370;
1931 RET_LABEL369:(void)0;
1932 }
1933 }
1934 var364 = var368;
1935 }
1936 var_msignature371 = var364;
1937 if (var_msignature371 == NULL) {
1938 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 170);
1940 fatal_exit(1);
1941 } else {
1942 var372 = nit___nit__MSignature___MType__resolve_for(var_msignature371, var_recvtype, var_anchor, var_mmodule, 1);
1943 }
1944 var_msignature371 = var372;
1945 var373 = NEW_nit__CallSite(&type_nit__CallSite);
1946 {
1947 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__node_61d]))(var373, self); /* node= on <var373:CallSite>*/
1948 }
1949 {
1950 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__recv_61d]))(var373, var_recvtype); /* recv= on <var373:CallSite>*/
1951 }
1952 {
1953 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__mmodule_61d]))(var373, var_mmodule); /* mmodule= on <var373:CallSite>*/
1954 }
1955 {
1956 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__anchor_61d]))(var373, var_anchor); /* anchor= on <var373:CallSite>*/
1957 }
1958 {
1959 ((void(*)(val* self, short int p0))(var373->class->vft[COLOR_nit__typing__CallSite__recv_is_self_61d]))(var373, 1); /* recv_is_self= on <var373:CallSite>*/
1960 }
1961 {
1962 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__mproperty_61d]))(var373, var_the_root_init_mmethod); /* mproperty= on <var373:CallSite>*/
1963 }
1964 {
1965 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__mpropdef_61d]))(var373, var_candidatedef256); /* mpropdef= on <var373:CallSite>*/
1966 }
1967 {
1968 ((void(*)(val* self, val* p0))(var373->class->vft[COLOR_nit__typing__CallSite__msignature_61d]))(var373, var_msignature371); /* msignature= on <var373:CallSite>*/
1969 }
1970 {
1971 ((void(*)(val* self, short int p0))(var373->class->vft[COLOR_nit__typing__CallSite__erasure_cast_61d]))(var373, 0); /* erasure_cast= on <var373:CallSite>*/
1972 }
1973 {
1974 ((void(*)(val* self))(var373->class->vft[COLOR_standard__kernel__Object__init]))(var373); /* init on <var373:CallSite>*/
1975 }
1976 var_callsite374 = var373;
1977 {
1978 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_auto_super_inits, var_callsite374); /* Direct call array#Array#add on <var_auto_super_inits:Array[CallSite]>*/
1979 }
1980 {
1981 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var_modelbuilder) on <var_modelbuilder:ModelBuilder> */
1982 var377 = var_modelbuilder->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on <var_modelbuilder:ModelBuilder> */
1983 if (unlikely(var377 == NULL)) {
1984 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1985 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47);
1986 fatal_exit(1);
1987 }
1988 var375 = var377;
1989 RET_LABEL376:(void)0;
1990 }
1991 }
1992 if (unlikely(varonce378==NULL)) {
1993 var379 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String);
1994 if (likely(varonce380!=NULL)) {
1995 var381 = varonce380;
1996 } else {
1997 var382 = "Auto-super init for ";
1998 var383 = standard___standard__NativeString___to_s_with_length(var382, 20l);
1999 var381 = var383;
2000 varonce380 = var381;
2001 }
2002 ((struct instance_standard__NativeArray*)var379)->values[0]=var381;
2003 if (likely(varonce384!=NULL)) {
2004 var385 = varonce384;
2005 } else {
2006 var386 = " to ";
2007 var387 = standard___standard__NativeString___to_s_with_length(var386, 4l);
2008 var385 = var387;
2009 varonce384 = var385;
2010 }
2011 ((struct instance_standard__NativeArray*)var379)->values[2]=var385;
2012 } else {
2013 var379 = varonce378;
2014 varonce378 = NULL;
2015 }
2016 {
2017 var388 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
2018 }
2019 ((struct instance_standard__NativeArray*)var379)->values[1]=var388;
2020 {
2021 var389 = nit___nit__MProperty___nit__model_base__MEntity__full_name(var_the_root_init_mmethod);
2022 }
2023 ((struct instance_standard__NativeArray*)var379)->values[3]=var389;
2024 {
2025 var390 = ((val*(*)(val* self))(var379->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var379); /* native_to_s on <var379:NativeArray[String]>*/
2026 }
2027 varonce378 = var379;
2028 {
2029 nit___nit__ToolContext___info(var375, var390, 4l); /* Direct call toolcontext#ToolContext#info on <var375:ToolContext>*/
2030 }
2031 } else {
2032 }
2033 {
2034 var391 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_auto_super_inits);
2035 }
2036 if (var391){
2037 if (unlikely(varonce392==NULL)) {
2038 var393 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String);
2039 if (likely(varonce394!=NULL)) {
2040 var395 = varonce394;
2041 } else {
2042 var396 = "Error: no constructors to call implicitly in `";
2043 var397 = standard___standard__NativeString___to_s_with_length(var396, 46l);
2044 var395 = var397;
2045 varonce394 = var395;
2046 }
2047 ((struct instance_standard__NativeArray*)var393)->values[0]=var395;
2048 if (likely(varonce398!=NULL)) {
2049 var399 = varonce398;
2050 } else {
2051 var400 = "`. Call one explicitly.";
2052 var401 = standard___standard__NativeString___to_s_with_length(var400, 23l);
2053 var399 = var401;
2054 varonce398 = var399;
2055 }
2056 ((struct instance_standard__NativeArray*)var393)->values[2]=var399;
2057 } else {
2058 var393 = varonce392;
2059 varonce392 = NULL;
2060 }
2061 {
2062 var402 = ((val*(*)(val* self))(var_mpropdef->class->vft[COLOR_standard__string__Object__to_s]))(var_mpropdef); /* to_s on <var_mpropdef:nullable MMethodDef(MMethodDef)>*/
2063 }
2064 ((struct instance_standard__NativeArray*)var393)->values[1]=var402;
2065 {
2066 var403 = ((val*(*)(val* self))(var393->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var393); /* native_to_s on <var393:NativeArray[String]>*/
2067 }
2068 varonce392 = var393;
2069 {
2070 nit___nit__ModelBuilder___error(var_modelbuilder, self, var403); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2071 }
2072 goto RET_LABEL;
2073 } else {
2074 }
2075 var_404 = var_auto_super_inits;
2076 {
2077 var405 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_404);
2078 }
2079 var_406 = var405;
2080 for(;;) {
2081 {
2082 var407 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_406);
2083 }
2084 if (var407){
2085 {
2086 var408 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_406);
2087 }
2088 var_auto_super_init = var408;
2089 {
2090 { /* Inline typing#CallSite#mpropdef (var_auto_super_init) on <var_auto_super_init:CallSite> */
2091 var411 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___mpropdef].val; /* _mpropdef on <var_auto_super_init:CallSite> */
2092 if (unlikely(var411 == NULL)) {
2093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
2094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 627);
2095 fatal_exit(1);
2096 }
2097 var409 = var411;
2098 RET_LABEL410:(void)0;
2099 }
2100 }
2101 var_auto_super_init_def = var409;
2102 {
2103 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2104 var414 = var_mpropdef->attrs[COLOR_nit__model__MMethodDef___msignature].val; /* _msignature on <var_mpropdef:nullable MMethodDef(MMethodDef)> */
2105 var412 = var414;
2106 RET_LABEL413:(void)0;
2107 }
2108 }
2109 if (unlikely(var412 == NULL)) {
2110 PRINT_ERROR("Runtime error: %s", "Cast failed");
2111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__auto_super_init, 184);
2112 fatal_exit(1);
2113 }
2114 var_msig = var412;
2115 {
2116 { /* Inline typing#CallSite#msignature (var_auto_super_init) on <var_auto_super_init:CallSite> */
2117 var417 = var_auto_super_init->attrs[COLOR_nit__typing__CallSite___msignature].val; /* _msignature on <var_auto_super_init:CallSite> */
2118 if (unlikely(var417 == NULL)) {
2119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
2120 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 631);
2121 fatal_exit(1);
2122 }
2123 var415 = var417;
2124 RET_LABEL416:(void)0;
2125 }
2126 }
2127 var_supermsig = var415;
2128 {
2129 var418 = nit___nit__MSignature___arity(var_supermsig);
2130 }
2131 {
2132 var419 = nit___nit__MSignature___arity(var_msig);
2133 }
2134 {
2135 { /* Inline kernel#Int#> (var418,var419) on <var418:Int> */
2136 /* Covariant cast for argument 0 (i) <var419:Int> isa OTHER */
2137 /* <var419:Int> isa OTHER */
2138 var422 = 1; /* easy <var419:Int> isa OTHER*/
2139 if (unlikely(!var422)) {
2140 var_class_name425 = type_standard__Int.name;
2141 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name425);
2142 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536);
2143 fatal_exit(1);
2144 }
2145 var426 = var418 > var419;
2146 var420 = var426;
2147 goto RET_LABEL421;
2148 RET_LABEL421:(void)0;
2149 }
2150 }
2151 if (var420){
2152 if (unlikely(varonce427==NULL)) {
2153 var428 = NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String);
2154 if (likely(varonce429!=NULL)) {
2155 var430 = varonce429;
2156 } else {
2157 var431 = "Error: cannot do an implicit constructor call to `";
2158 var432 = standard___standard__NativeString___to_s_with_length(var431, 50l);
2159 var430 = var432;
2160 varonce429 = var430;
2161 }
2162 ((struct instance_standard__NativeArray*)var428)->values[0]=var430;
2163 if (likely(varonce433!=NULL)) {
2164 var434 = varonce433;
2165 } else {
2166 var435 = "`. Expected at least `";
2167 var436 = standard___standard__NativeString___to_s_with_length(var435, 22l);
2168 var434 = var436;
2169 varonce433 = var434;
2170 }
2171 ((struct instance_standard__NativeArray*)var428)->values[3]=var434;
2172 if (likely(varonce437!=NULL)) {
2173 var438 = varonce437;
2174 } else {
2175 var439 = "` arguments, got `";
2176 var440 = standard___standard__NativeString___to_s_with_length(var439, 18l);
2177 var438 = var440;
2178 varonce437 = var438;
2179 }
2180 ((struct instance_standard__NativeArray*)var428)->values[5]=var438;
2181 if (likely(varonce441!=NULL)) {
2182 var442 = varonce441;
2183 } else {
2184 var443 = "`.";
2185 var444 = standard___standard__NativeString___to_s_with_length(var443, 2l);
2186 var442 = var444;
2187 varonce441 = var442;
2188 }
2189 ((struct instance_standard__NativeArray*)var428)->values[7]=var442;
2190 } else {
2191 var428 = varonce427;
2192 varonce427 = NULL;
2193 }
2194 {
2195 var445 = ((val*(*)(val* self))(var_auto_super_init_def->class->vft[COLOR_standard__string__Object__to_s]))(var_auto_super_init_def); /* to_s on <var_auto_super_init_def:MMethodDef>*/
2196 }
2197 ((struct instance_standard__NativeArray*)var428)->values[1]=var445;
2198 {
2199 var446 = ((val*(*)(val* self))(var_supermsig->class->vft[COLOR_standard__string__Object__to_s]))(var_supermsig); /* to_s on <var_supermsig:MSignature>*/
2200 }
2201 ((struct instance_standard__NativeArray*)var428)->values[2]=var446;
2202 {
2203 var447 = nit___nit__MSignature___arity(var_supermsig);
2204 }
2205 var448 = standard__string___Int___Object__to_s(var447);
2206 ((struct instance_standard__NativeArray*)var428)->values[4]=var448;
2207 {
2208 var449 = nit___nit__MSignature___arity(var_msig);
2209 }
2210 var450 = standard__string___Int___Object__to_s(var449);
2211 ((struct instance_standard__NativeArray*)var428)->values[6]=var450;
2212 {
2213 var451 = ((val*(*)(val* self))(var428->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var428); /* native_to_s on <var428:NativeArray[String]>*/
2214 }
2215 varonce427 = var428;
2216 {
2217 nit___nit__ModelBuilder___error(var_modelbuilder, self, var451); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2218 }
2219 goto BREAK_label452;
2220 } else {
2221 }
2222 var_i453 = 0l;
2223 {
2224 { /* Inline model#MSignature#mparameters (var_supermsig) on <var_supermsig:MSignature> */
2225 var456 = var_supermsig->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_supermsig:MSignature> */
2226 if (unlikely(var456 == NULL)) {
2227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
2229 fatal_exit(1);
2230 }
2231 var454 = var456;
2232 RET_LABEL455:(void)0;
2233 }
2234 }
2235 var_457 = var454;
2236 {
2237 var458 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_457);
2238 }
2239 var_459 = var458;
2240 for(;;) {
2241 {
2242 var460 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_459);
2243 }
2244 if (var460){
2245 {
2246 var461 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_459);
2247 }
2248 var_sp = var461;
2249 {
2250 { /* Inline model#MSignature#mparameters (var_msig) on <var_msig:MSignature> */
2251 var464 = var_msig->attrs[COLOR_nit__model__MSignature___mparameters].val; /* _mparameters on <var_msig:MSignature> */
2252 if (unlikely(var464 == NULL)) {
2253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1756);
2255 fatal_exit(1);
2256 }
2257 var462 = var464;
2258 RET_LABEL463:(void)0;
2259 }
2260 }
2261 {
2262 var465 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var462, var_i453);
2263 }
2264 var_p466 = var465;
2265 {
2266 { /* Inline model#MParameter#mtype (var_p466) on <var_p466:MParameter> */
2267 var469 = var_p466->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var_p466:MParameter> */
2268 if (unlikely(var469 == NULL)) {
2269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
2271 fatal_exit(1);
2272 }
2273 var467 = var469;
2274 RET_LABEL468:(void)0;
2275 }
2276 }
2277 var_sub = var467;
2278 {
2279 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
2280 var472 = var_sp->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var_sp:MParameter> */
2281 if (unlikely(var472 == NULL)) {
2282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
2284 fatal_exit(1);
2285 }
2286 var470 = var472;
2287 RET_LABEL471:(void)0;
2288 }
2289 }
2290 var_sup = var470;
2291 {
2292 var473 = nit___nit__MType___is_subtype(var_sub, var_mmodule, var_anchor, var_sup);
2293 }
2294 var474 = !var473;
2295 if (var474){
2296 if (unlikely(varonce475==NULL)) {
2297 var476 = NEW_standard__NativeArray(12l, &type_standard__NativeArray__standard__String);
2298 if (likely(varonce477!=NULL)) {
2299 var478 = varonce477;
2300 } else {
2301 var479 = "Error: cannot do an implicit constructor call to `";
2302 var480 = standard___standard__NativeString___to_s_with_length(var479, 50l);
2303 var478 = var480;
2304 varonce477 = var478;
2305 }
2306 ((struct instance_standard__NativeArray*)var476)->values[0]=var478;
2307 if (likely(varonce481!=NULL)) {
2308 var482 = varonce481;
2309 } else {
2310 var483 = "`. Expected argument #";
2311 var484 = standard___standard__NativeString___to_s_with_length(var483, 22l);
2312 var482 = var484;
2313 varonce481 = var482;
2314 }
2315 ((struct instance_standard__NativeArray*)var476)->values[3]=var482;
2316 if (likely(varonce485!=NULL)) {
2317 var486 = varonce485;
2318 } else {
2319 var487 = " of type `";
2320 var488 = standard___standard__NativeString___to_s_with_length(var487, 10l);
2321 var486 = var488;
2322 varonce485 = var486;
2323 }
2324 ((struct instance_standard__NativeArray*)var476)->values[5]=var486;
2325 if (likely(varonce489!=NULL)) {
2326 var490 = varonce489;
2327 } else {
2328 var491 = "`, got implicit argument `";
2329 var492 = standard___standard__NativeString___to_s_with_length(var491, 26l);
2330 var490 = var492;
2331 varonce489 = var490;
2332 }
2333 ((struct instance_standard__NativeArray*)var476)->values[7]=var490;
2334 if (likely(varonce493!=NULL)) {
2335 var494 = varonce493;
2336 } else {
2337 var495 = "` of type `";
2338 var496 = standard___standard__NativeString___to_s_with_length(var495, 11l);
2339 var494 = var496;
2340 varonce493 = var494;
2341 }
2342 ((struct instance_standard__NativeArray*)var476)->values[9]=var494;
2343 if (likely(varonce497!=NULL)) {
2344 var498 = varonce497;
2345 } else {
2346 var499 = "`.";
2347 var500 = standard___standard__NativeString___to_s_with_length(var499, 2l);
2348 var498 = var500;
2349 varonce497 = var498;
2350 }
2351 ((struct instance_standard__NativeArray*)var476)->values[11]=var498;
2352 } else {
2353 var476 = varonce475;
2354 varonce475 = NULL;
2355 }
2356 {
2357 var501 = ((val*(*)(val* self))(var_auto_super_init_def->class->vft[COLOR_standard__string__Object__to_s]))(var_auto_super_init_def); /* to_s on <var_auto_super_init_def:MMethodDef>*/
2358 }
2359 ((struct instance_standard__NativeArray*)var476)->values[1]=var501;
2360 {
2361 var502 = ((val*(*)(val* self))(var_supermsig->class->vft[COLOR_standard__string__Object__to_s]))(var_supermsig); /* to_s on <var_supermsig:MSignature>*/
2362 }
2363 ((struct instance_standard__NativeArray*)var476)->values[2]=var502;
2364 var503 = standard__string___Int___Object__to_s(var_i453);
2365 ((struct instance_standard__NativeArray*)var476)->values[4]=var503;
2366 {
2367 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
2368 var506 = var_sp->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var_sp:MParameter> */
2369 if (unlikely(var506 == NULL)) {
2370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2371 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
2372 fatal_exit(1);
2373 }
2374 var504 = var506;
2375 RET_LABEL505:(void)0;
2376 }
2377 }
2378 {
2379 var507 = ((val*(*)(val* self))(var504->class->vft[COLOR_standard__string__Object__to_s]))(var504); /* to_s on <var504:MType>*/
2380 }
2381 ((struct instance_standard__NativeArray*)var476)->values[6]=var507;
2382 {
2383 { /* Inline model#MParameter#name (var_p466) on <var_p466:MParameter> */
2384 var510 = var_p466->attrs[COLOR_nit__model__MParameter___name].val; /* _name on <var_p466:MParameter> */
2385 if (unlikely(var510 == NULL)) {
2386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1876);
2388 fatal_exit(1);
2389 }
2390 var508 = var510;
2391 RET_LABEL509:(void)0;
2392 }
2393 }
2394 ((struct instance_standard__NativeArray*)var476)->values[8]=var508;
2395 {
2396 { /* Inline model#MParameter#mtype (var_p466) on <var_p466:MParameter> */
2397 var513 = var_p466->attrs[COLOR_nit__model__MParameter___mtype].val; /* _mtype on <var_p466:MParameter> */
2398 if (unlikely(var513 == NULL)) {
2399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model, 1879);
2401 fatal_exit(1);
2402 }
2403 var511 = var513;
2404 RET_LABEL512:(void)0;
2405 }
2406 }
2407 {
2408 var514 = ((val*(*)(val* self))(var511->class->vft[COLOR_standard__string__Object__to_s]))(var511); /* to_s on <var511:MType>*/
2409 }
2410 ((struct instance_standard__NativeArray*)var476)->values[10]=var514;
2411 {
2412 var515 = ((val*(*)(val* self))(var476->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var476); /* native_to_s on <var476:NativeArray[String]>*/
2413 }
2414 varonce475 = var476;
2415 {
2416 nit___nit__ModelBuilder___error(var_modelbuilder, self, var515); /* Direct call modelbuilder_base#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
2417 }
2418 goto BREAK_label516;
2419 } else {
2420 }
2421 {
2422 { /* Inline kernel#Int#+ (var_i453,1l) on <var_i453:Int> */
2423 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2424 /* <1l:Int> isa OTHER */
2425 var519 = 1; /* easy <1l:Int> isa OTHER*/
2426 if (unlikely(!var519)) {
2427 var_class_name522 = type_standard__Int.name;
2428 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name522);
2429 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
2430 fatal_exit(1);
2431 }
2432 var523 = var_i453 + 1l;
2433 var517 = var523;
2434 goto RET_LABEL518;
2435 RET_LABEL518:(void)0;
2436 }
2437 }
2438 var_i453 = var517;
2439 {
2440 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_459); /* Direct call array#ArrayIterator#next on <var_459:ArrayIterator[MParameter]>*/
2441 }
2442 } else {
2443 goto BREAK_label516;
2444 }
2445 }
2446 BREAK_label516: (void)0;
2447 {
2448 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_459); /* Direct call array#ArrayIterator#finish on <var_459:ArrayIterator[MParameter]>*/
2449 }
2450 BREAK_label452: (void)0;
2451 {
2452 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_406); /* Direct call array#ArrayIterator#next on <var_406:ArrayIterator[CallSite]>*/
2453 }
2454 } else {
2455 goto BREAK_label524;
2456 }
2457 }
2458 BREAK_label524: (void)0;
2459 {
2460 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_406); /* Direct call array#ArrayIterator#finish on <var_406:ArrayIterator[CallSite]>*/
2461 }
2462 {
2463 { /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
2464 self->attrs[COLOR_nit__auto_super_init__AMethPropdef___auto_super_inits].val = var_auto_super_inits; /* _auto_super_inits on <self:AMethPropdef> */
2465 RET_LABEL525:(void)0;
2466 }
2467 }
2468 RET_LABEL:;
2469 }
2470 /* method auto_super_init#ANode#accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
2471 void nit__auto_super_init___ANode___accept_auto_super_init(val* self, val* p0) {
2472 val* var_v /* var v: AutoSuperInitVisitor */;
2473 var_v = p0;
2474 RET_LABEL:;
2475 }
2476 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
2477 void nit__auto_super_init___ASendExpr___ANode__accept_auto_super_init(val* self, val* p0) {
2478 val* var_v /* var v: AutoSuperInitVisitor */;
2479 val* var /* : nullable CallSite */;
2480 val* var2 /* : nullable CallSite */;
2481 val* var_callsite /* var callsite: nullable CallSite */;
2482 short int var3 /* : Bool */;
2483 short int var4 /* : Bool */;
2484 val* var_other /* var other: nullable Object */;
2485 short int var6 /* : Bool */;
2486 short int var8 /* : Bool */;
2487 val* var10 /* : MMethod */;
2488 val* var12 /* : MMethod */;
2489 short int var13 /* : Bool */;
2490 short int var15 /* : Bool */;
2491 var_v = p0;
2492 {
2493 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
2494 var2 = self->attrs[COLOR_nit__typing__ASendExpr___callsite].val; /* _callsite on <self:ASendExpr> */
2495 var = var2;
2496 RET_LABEL1:(void)0;
2497 }
2498 }
2499 var_callsite = var;
2500 if (var_callsite == NULL) {
2501 var3 = 1; /* is null */
2502 } else {
2503 var3 = 0; /* arg is null but recv is not */
2504 }
2505 if (0) {
2506 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
2507 var_other = ((val*)NULL);
2508 {
2509 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other) on <var_callsite:nullable CallSite(CallSite)> */
2510 var8 = var_callsite == var_other;
2511 var6 = var8;
2512 goto RET_LABEL7;
2513 RET_LABEL7:(void)0;
2514 }
2515 }
2516 var4 = var6;
2517 goto RET_LABEL5;
2518 RET_LABEL5:(void)0;
2519 }
2520 var3 = var4;
2521 }
2522 if (var3){
2523 {
2524 { /* Inline auto_super_init#AutoSuperInitVisitor#is_broken= (var_v,1) on <var_v:AutoSuperInitVisitor> */
2525 var_v->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___is_broken].s = 1; /* _is_broken on <var_v:AutoSuperInitVisitor> */
2526 RET_LABEL9:(void)0;
2527 }
2528 }
2529 goto RET_LABEL;
2530 } else {
2531 }
2532 {
2533 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
2534 var12 = var_callsite->attrs[COLOR_nit__typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:nullable CallSite(CallSite)> */
2535 if (unlikely(var12 == NULL)) {
2536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing, 624);
2538 fatal_exit(1);
2539 }
2540 var10 = var12;
2541 RET_LABEL11:(void)0;
2542 }
2543 }
2544 {
2545 { /* Inline model#MMethod#is_init (var10) on <var10:MMethod> */
2546 var15 = var10->attrs[COLOR_nit__model__MMethod___is_init].s; /* _is_init on <var10:MMethod> */
2547 var13 = var15;
2548 RET_LABEL14:(void)0;
2549 }
2550 }
2551 if (var13){
2552 {
2553 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
2554 var_v->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = self; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
2555 RET_LABEL16:(void)0;
2556 }
2557 }
2558 } else {
2559 }
2560 RET_LABEL:;
2561 }
2562 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
2563 void nit__auto_super_init___ASuperExpr___ANode__accept_auto_super_init(val* self, val* p0) {
2564 val* var_v /* var v: AutoSuperInitVisitor */;
2565 var_v = p0;
2566 {
2567 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,self) on <var_v:AutoSuperInitVisitor> */
2568 var_v->attrs[COLOR_nit__auto_super_init__AutoSuperInitVisitor___has_explicit_super_init].val = self; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
2569 RET_LABEL1:(void)0;
2570 }
2571 }
2572 RET_LABEL:;
2573 }