1 #include "auto_super_init.sep.0.h"
2 /* method auto_super_init#ToolContext#auto_super_init_phase for (self: ToolContext): Phase */
3 val
* auto_super_init__ToolContext__auto_super_init_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_auto_super_init__ToolContext___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", "src/auto_super_init.nit", 26);
16 /* method auto_super_init#ToolContext#auto_super_init_phase for (self: Object): Phase */
17 val
* VIRTUAL_auto_super_init__ToolContext__auto_super_init_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 val
* var3
/* : Phase */;
21 { /* Inline auto_super_init#ToolContext#auto_super_init_phase (self) on <self:Object(ToolContext)> */
22 var3
= self
->attrs
[COLOR_auto_super_init__ToolContext___auto_super_init_phase
].val
; /* _auto_super_init_phase on <self:Object(ToolContext)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _auto_super_init_phase");
25 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 26);
35 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: AutoSuperInitPhase, APropdef) */
36 void auto_super_init__AutoSuperInitPhase__process_npropdef(val
* self
, val
* p0
) {
37 val
* var_npropdef
/* var npropdef: APropdef */;
38 short int var
/* : Bool */;
41 val
* var1
/* : ToolContext */;
42 val
* var3
/* : ToolContext */;
43 val
* var4
/* : ModelBuilder */;
45 /* <var_npropdef:APropdef> isa AMethPropdef */
46 cltype
= type_parser_nodes__AMethPropdef
.color
;
47 idtype
= type_parser_nodes__AMethPropdef
.id
;
48 if(cltype
>= var_npropdef
->type
->table_size
) {
51 var
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
55 { /* Inline phase#Phase#toolcontext (self) on <self:AutoSuperInitPhase> */
56 var3
= self
->attrs
[COLOR_phase__Phase___toolcontext
].val
; /* _toolcontext on <self:AutoSuperInitPhase> */
57 if (unlikely(var3
== NULL
)) {
58 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
59 PRINT_ERROR(" (%s:%d)\n", "src/phase.nit", 145);
67 var4
= modelbuilder__ToolContext__modelbuilder(var1
);
70 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)>*/
76 /* method auto_super_init#AutoSuperInitPhase#process_npropdef for (self: Object, APropdef) */
77 void VIRTUAL_auto_super_init__AutoSuperInitPhase__process_npropdef(val
* self
, val
* p0
) {
78 auto_super_init__AutoSuperInitPhase__process_npropdef(self
, p0
); /* Direct call auto_super_init#AutoSuperInitPhase#process_npropdef on <self:Object(AutoSuperInitPhase)>*/
81 /* method auto_super_init#AutoSuperInitVisitor#init for (self: AutoSuperInitVisitor) */
82 void auto_super_init__AutoSuperInitVisitor__init(val
* self
) {
84 { /* Inline parser_nodes#Visitor#init (self) on <self:AutoSuperInitVisitor> */
90 /* method auto_super_init#AutoSuperInitVisitor#init for (self: Object) */
91 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__init(val
* self
) {
92 auto_super_init__AutoSuperInitVisitor__init(self
); /* Direct call auto_super_init#AutoSuperInitVisitor#init on <self:Object(AutoSuperInitVisitor)>*/
95 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: AutoSuperInitVisitor, ANode) */
96 void auto_super_init__AutoSuperInitVisitor__visit(val
* self
, val
* p0
) {
97 val
* var_n
/* var n: ANode */;
100 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_auto_super_init__ANode__accept_auto_super_init
]))(var_n
, self
) /* accept_auto_super_init on <var_n:ANode>*/;
103 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__visit_all
]))(var_n
, self
) /* visit_all on <var_n:ANode>*/;
107 /* method auto_super_init#AutoSuperInitVisitor#visit for (self: Object, ANode) */
108 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__visit(val
* self
, val
* p0
) {
109 auto_super_init__AutoSuperInitVisitor__visit(self
, p0
); /* Direct call auto_super_init#AutoSuperInitVisitor#visit on <self:Object(AutoSuperInitVisitor)>*/
112 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: AutoSuperInitVisitor): Bool */
113 short int auto_super_init__AutoSuperInitVisitor__has_explicit_super_init(val
* self
) {
114 short int var
/* : Bool */;
115 short int var1
/* : Bool */;
116 var1
= self
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
121 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init for (self: Object): Bool */
122 short int VIRTUAL_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init(val
* self
) {
123 short int var
/* : Bool */;
124 short int var1
/* : Bool */;
125 short int var3
/* : Bool */;
126 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init (self) on <self:Object(AutoSuperInitVisitor)> */
127 var3
= self
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
; /* _has_explicit_super_init on <self:Object(AutoSuperInitVisitor)> */
135 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: AutoSuperInitVisitor, Bool) */
136 void auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d(val
* self
, short int p0
) {
137 self
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
= p0
; /* _has_explicit_super_init on <self:AutoSuperInitVisitor> */
140 /* method auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= for (self: Object, Bool) */
141 void VIRTUAL_auto_super_init__AutoSuperInitVisitor__has_explicit_super_init_61d(val
* self
, short int p0
) {
142 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (self,p0) on <self:Object(AutoSuperInitVisitor)> */
143 self
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
= p0
; /* _has_explicit_super_init on <self:Object(AutoSuperInitVisitor)> */
148 /* method auto_super_init#AMethPropdef#auto_super_inits for (self: AMethPropdef): nullable Array[CallSite] */
149 val
* auto_super_init__AMethPropdef__auto_super_inits(val
* self
) {
150 val
* var
/* : nullable Array[CallSite] */;
151 val
* var1
/* : nullable Array[CallSite] */;
152 var1
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:AMethPropdef> */
157 /* method auto_super_init#AMethPropdef#auto_super_inits for (self: Object): nullable Array[CallSite] */
158 val
* VIRTUAL_auto_super_init__AMethPropdef__auto_super_inits(val
* self
) {
159 val
* var
/* : nullable Array[CallSite] */;
160 val
* var1
/* : nullable Array[CallSite] */;
161 val
* var3
/* : nullable Array[CallSite] */;
162 { /* Inline auto_super_init#AMethPropdef#auto_super_inits (self) on <self:Object(AMethPropdef)> */
163 var3
= self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
; /* _auto_super_inits on <self:Object(AMethPropdef)> */
171 /* method auto_super_init#AMethPropdef#auto_super_inits= for (self: AMethPropdef, nullable Array[CallSite]) */
172 void auto_super_init__AMethPropdef__auto_super_inits_61d(val
* self
, val
* p0
) {
173 self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
= p0
; /* _auto_super_inits on <self:AMethPropdef> */
176 /* method auto_super_init#AMethPropdef#auto_super_inits= for (self: Object, nullable Array[CallSite]) */
177 void VIRTUAL_auto_super_init__AMethPropdef__auto_super_inits_61d(val
* self
, val
* p0
) {
178 { /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,p0) on <self:Object(AMethPropdef)> */
179 self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
= p0
; /* _auto_super_inits on <self:Object(AMethPropdef)> */
184 /* method auto_super_init#AMethPropdef#do_auto_super_init for (self: AMethPropdef, ModelBuilder) */
185 void auto_super_init__AMethPropdef__do_auto_super_init(val
* self
, val
* p0
) {
186 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
187 val
* var
/* : nullable ANode */;
188 val
* var2
/* : nullable ANode */;
189 short int var3
/* : Bool */;
192 const char* var_class_name
;
193 val
* var4
/* : nullable MClassDef */;
194 val
* var6
/* : nullable MClassDef */;
195 val
* var_mclassdef
/* var mclassdef: MClassDef */;
196 val
* var7
/* : nullable MPropDef */;
197 val
* var9
/* : nullable MPropDef */;
198 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
199 val
* var10
/* : MClassDef */;
200 val
* var12
/* : MClassDef */;
201 val
* var13
/* : MModule */;
202 val
* var15
/* : MModule */;
203 val
* var_mmodule
/* var mmodule: MModule */;
204 val
* var16
/* : MClassType */;
205 val
* var18
/* : MClassType */;
206 val
* var_anchor
/* var anchor: MClassType */;
207 val
* var19
/* : MClass */;
208 val
* var21
/* : MClass */;
209 val
* var22
/* : MClassType */;
210 val
* var24
/* : MClassType */;
211 val
* var_recvtype
/* var recvtype: MClassType */;
212 val
* var25
/* : MProperty */;
213 val
* var27
/* : MProperty */;
214 short int var28
/* : Bool */;
215 short int var30
/* : Bool */;
216 short int var31
/* : Bool */;
217 val
* var32
/* : MClassDef */;
218 val
* var34
/* : MClassDef */;
219 short int var35
/* : Bool */;
220 short int var36
/* : Bool */;
221 short int var37
/* : Bool */;
222 short int var_skip
/* var skip: Bool */;
223 val
* var38
/* : nullable POSetElement[MClassDef] */;
224 val
* var40
/* : nullable POSetElement[MClassDef] */;
225 val
* var41
/* : Collection[Object] */;
226 val
* var42
/* : Iterator[nullable Object] */;
227 short int var43
/* : Bool */;
228 val
* var44
/* : nullable Object */;
229 val
* var_cd
/* var cd: MClassDef */;
230 val
* var45
/* : MClass */;
231 val
* var47
/* : MClass */;
232 val
* var48
/* : MClassKind */;
233 val
* var50
/* : MClassKind */;
234 short int var51
/* : Bool */;
235 short int var53
/* : Bool */;
236 short int var54
/* : Bool */;
237 val
* var55
/* : nullable AExpr */;
238 val
* var_nblock
/* var nblock: nullable AExpr */;
239 val
* var56
/* : null */;
240 short int var57
/* : Bool */;
241 short int var58
/* : Bool */;
242 val
* var_other
/* var other: nullable Object */;
243 short int var60
/* : Bool */;
244 short int var61
/* : Bool */;
245 short int var62
/* : Bool */;
246 val
* var63
/* : AutoSuperInitVisitor */;
247 val
* var_v
/* var v: AutoSuperInitVisitor */;
248 short int var64
/* : Bool */;
249 short int var66
/* : Bool */;
250 val
* var67
/* : Array[CallSite] */;
251 val
* var_auto_super_inits
/* var auto_super_inits: Array[CallSite] */;
252 val
* var68
/* : Array[MClassType] */;
253 val
* var70
/* : Array[MClassType] */;
254 val
* var71
/* : ArrayIterator[nullable Object] */;
255 short int var72
/* : Bool */;
256 val
* var73
/* : nullable Object */;
257 val
* var_msupertype
/* var msupertype: MClassType */;
258 val
* var74
/* : MClass */;
259 val
* var76
/* : MClass */;
260 val
* var77
/* : MClassKind */;
261 val
* var79
/* : MClassKind */;
262 short int var80
/* : Bool */;
263 short int var82
/* : Bool */;
264 short int var83
/* : Bool */;
265 val
* var85
/* : MClassType */;
266 val
* var87
/* : MClassType */;
267 val
* var88
/* : MClassType */;
268 val
* var89
/* : MProperty */;
269 val
* var91
/* : MProperty */;
270 val
* var92
/* : String */;
271 val
* var94
/* : String */;
272 val
* var95
/* : nullable MProperty */;
273 val
* var_candidate
/* var candidate: nullable MProperty */;
274 val
* var96
/* : null */;
275 short int var97
/* : Bool */;
276 short int var98
/* : Bool */;
277 val
* var_other100
/* var other: nullable Object */;
278 short int var101
/* : Bool */;
279 short int var103
/* : Bool */;
281 val
* var104
/* : String */;
282 char* var105
/* : NativeString */;
283 long var106
/* : Int */;
284 val
* var107
/* : FlatString */;
285 val
* var108
/* : nullable MProperty */;
286 val
* var109
/* : null */;
287 short int var110
/* : Bool */;
288 short int var111
/* : Bool */;
289 short int var113
/* : Bool */;
290 short int var115
/* : Bool */;
291 static val
* varonce116
;
292 val
* var117
/* : String */;
293 char* var118
/* : NativeString */;
294 long var119
/* : Int */;
295 val
* var120
/* : FlatString */;
296 static val
* varonce121
;
297 val
* var122
/* : String */;
298 char* var123
/* : NativeString */;
299 long var124
/* : Int */;
300 val
* var125
/* : FlatString */;
301 val
* var126
/* : MProperty */;
302 val
* var128
/* : MProperty */;
303 val
* var129
/* : String */;
304 val
* var131
/* : String */;
305 static val
* varonce132
;
306 val
* var133
/* : String */;
307 char* var134
/* : NativeString */;
308 long var135
/* : Int */;
309 val
* var136
/* : FlatString */;
310 static val
* varonce137
;
311 val
* var138
/* : String */;
312 char* var139
/* : NativeString */;
313 long var140
/* : Int */;
314 val
* var141
/* : FlatString */;
315 val
* var142
/* : Array[Object] */;
316 long var143
/* : Int */;
317 val
* var144
/* : NativeArray[Object] */;
318 val
* var145
/* : String */;
319 short int var146
/* : Bool */;
322 val
* var149
/* : Array[MPropDef] */;
323 val
* var_candidatedefs
/* var candidatedefs: Array[MMethodDef] */;
324 val
* var150
/* : nullable Object */;
325 val
* var_candidatedef
/* var candidatedef: MMethodDef */;
326 val
* var151
/* : nullable MSignature */;
327 val
* var153
/* : nullable MSignature */;
328 val
* var_msignature
/* var msignature: nullable MSignature */;
329 short int var154
/* : Bool */;
330 val
* var155
/* : MSignature */;
331 val
* var156
/* : CallSite */;
332 short int var157
/* : Bool */;
333 short int var158
/* : Bool */;
334 val
* var_callsite
/* var callsite: CallSite */;
335 short int var160
/* : Bool */;
336 static val
* varonce161
;
337 val
* var162
/* : String */;
338 char* var163
/* : NativeString */;
339 long var164
/* : Int */;
340 val
* var165
/* : FlatString */;
341 static val
* varonce166
;
342 val
* var167
/* : String */;
343 char* var168
/* : NativeString */;
344 long var169
/* : Int */;
345 val
* var170
/* : FlatString */;
346 val
* var171
/* : Array[Object] */;
347 long var172
/* : Int */;
348 val
* var173
/* : NativeArray[Object] */;
349 val
* var174
/* : String */;
350 val
* var175
/* : ArrayIterator[nullable Object] */;
351 short int var176
/* : Bool */;
352 val
* var177
/* : nullable Object */;
353 val
* var_auto_super_init
/* var auto_super_init: CallSite */;
354 val
* var178
/* : MMethodDef */;
355 val
* var180
/* : MMethodDef */;
356 val
* var_auto_super_init_def
/* var auto_super_init_def: MMethodDef */;
357 val
* var181
/* : nullable MSignature */;
358 val
* var183
/* : nullable MSignature */;
359 val
* var_msig
/* var msig: MSignature */;
360 val
* var184
/* : MSignature */;
361 val
* var186
/* : MSignature */;
362 val
* var_supermsig
/* var supermsig: MSignature */;
363 long var187
/* : Int */;
364 long var188
/* : Int */;
365 short int var189
/* : Bool */;
366 short int var191
/* : Bool */;
369 const char* var_class_name194
;
370 short int var195
/* : Bool */;
371 static val
* varonce196
;
372 val
* var197
/* : String */;
373 char* var198
/* : NativeString */;
374 long var199
/* : Int */;
375 val
* var200
/* : FlatString */;
376 static val
* varonce201
;
377 val
* var202
/* : String */;
378 char* var203
/* : NativeString */;
379 long var204
/* : Int */;
380 val
* var205
/* : FlatString */;
381 long var206
/* : Int */;
382 static val
* varonce207
;
383 val
* var208
/* : String */;
384 char* var209
/* : NativeString */;
385 long var210
/* : Int */;
386 val
* var211
/* : FlatString */;
387 long var212
/* : Int */;
388 static val
* varonce213
;
389 val
* var214
/* : String */;
390 char* var215
/* : NativeString */;
391 long var216
/* : Int */;
392 val
* var217
/* : FlatString */;
393 val
* var218
/* : Array[Object] */;
394 long var219
/* : Int */;
395 val
* var220
/* : NativeArray[Object] */;
396 val
* var221
/* : Object */;
397 val
* var222
/* : Object */;
398 val
* var223
/* : String */;
399 long var225
/* : Int */;
400 long var_i
/* var i: Int */;
401 val
* var226
/* : Array[MParameter] */;
402 val
* var228
/* : Array[MParameter] */;
403 val
* var229
/* : ArrayIterator[nullable Object] */;
404 short int var230
/* : Bool */;
405 val
* var231
/* : nullable Object */;
406 val
* var_sp
/* var sp: MParameter */;
407 val
* var232
/* : Array[MParameter] */;
408 val
* var234
/* : Array[MParameter] */;
409 val
* var235
/* : nullable Object */;
410 val
* var_p
/* var p: MParameter */;
411 val
* var236
/* : MType */;
412 val
* var238
/* : MType */;
413 val
* var_sub
/* var sub: MType */;
414 val
* var239
/* : MType */;
415 val
* var241
/* : MType */;
416 val
* var_sup
/* var sup: MType */;
417 short int var242
/* : Bool */;
418 short int var243
/* : Bool */;
419 static val
* varonce244
;
420 val
* var245
/* : String */;
421 char* var246
/* : NativeString */;
422 long var247
/* : Int */;
423 val
* var248
/* : FlatString */;
424 static val
* varonce249
;
425 val
* var250
/* : String */;
426 char* var251
/* : NativeString */;
427 long var252
/* : Int */;
428 val
* var253
/* : FlatString */;
429 static val
* varonce254
;
430 val
* var255
/* : String */;
431 char* var256
/* : NativeString */;
432 long var257
/* : Int */;
433 val
* var258
/* : FlatString */;
434 val
* var259
/* : MType */;
435 val
* var261
/* : MType */;
436 static val
* varonce262
;
437 val
* var263
/* : String */;
438 char* var264
/* : NativeString */;
439 long var265
/* : Int */;
440 val
* var266
/* : FlatString */;
441 val
* var267
/* : String */;
442 val
* var269
/* : String */;
443 static val
* varonce270
;
444 val
* var271
/* : String */;
445 char* var272
/* : NativeString */;
446 long var273
/* : Int */;
447 val
* var274
/* : FlatString */;
448 val
* var275
/* : MType */;
449 val
* var277
/* : MType */;
450 static val
* varonce278
;
451 val
* var279
/* : String */;
452 char* var280
/* : NativeString */;
453 long var281
/* : Int */;
454 val
* var282
/* : FlatString */;
455 val
* var283
/* : Array[Object] */;
456 long var284
/* : Int */;
457 val
* var285
/* : NativeArray[Object] */;
458 val
* var286
/* : Object */;
459 val
* var287
/* : String */;
460 long var289
/* : Int */;
461 long var290
/* : Int */;
462 short int var292
/* : Bool */;
465 const char* var_class_name295
;
466 long var296
/* : Int */;
467 var_modelbuilder
= p0
;
469 { /* Inline parser_nodes#ANode#parent (self) on <self:AMethPropdef> */
470 var2
= self
->attrs
[COLOR_parser_nodes__ANode___parent
].val
; /* _parent on <self:AMethPropdef> */
475 /* <var:nullable ANode> isa AClassdef */
476 cltype
= type_parser_nodes__AClassdef
.color
;
477 idtype
= type_parser_nodes__AClassdef
.id
;
481 if(cltype
>= var
->type
->table_size
) {
484 var3
= var
->type
->type_table
[cltype
] == idtype
;
487 if (unlikely(!var3
)) {
488 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
489 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name
);
490 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 56);
494 { /* Inline modelize_class#AClassdef#mclassdef (var) on <var:nullable ANode(AClassdef)> */
495 var6
= var
->attrs
[COLOR_modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var:nullable ANode(AClassdef)> */
500 if (unlikely(var4
== NULL
)) {
501 PRINT_ERROR("Runtime error: %s", "Cast failed");
502 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 56);
505 var_mclassdef
= var4
;
507 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
508 var9
= self
->attrs
[COLOR_modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
513 if (unlikely(var7
== NULL
)) {
514 PRINT_ERROR("Runtime error: %s", "Cast failed");
515 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 57);
520 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
521 var12
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
522 if (unlikely(var12
== NULL
)) {
523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
524 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
532 { /* Inline model#MClassDef#mmodule (var10) on <var10:MClassDef> */
533 var15
= var10
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var10:MClassDef> */
534 if (unlikely(var15
== NULL
)) {
535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
536 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
545 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
546 var18
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
547 if (unlikely(var18
== NULL
)) {
548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
549 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
558 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:MClassDef> */
559 var21
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:MClassDef> */
560 if (unlikely(var21
== NULL
)) {
561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
562 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
570 { /* Inline model#MClass#mclass_type (var19) on <var19:MClass> */
571 var24
= var19
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var19:MClass> */
572 if (unlikely(var24
== NULL
)) {
573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
574 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
581 var_recvtype
= var22
;
583 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
584 var27
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
585 if (unlikely(var27
== NULL
)) {
586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
587 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
595 { /* Inline model#MMethod#is_init (var25) on <var25:MProperty(MMethod)> */
596 var30
= var25
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var25:MProperty(MMethod)> */
607 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
608 var34
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
609 if (unlikely(var34
== NULL
)) {
610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
611 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1879);
619 var35
= model__MClassDef__is_intro(var32
);
629 { /* Inline model#MClassDef#in_hierarchy (var_mclassdef) on <var_mclassdef:MClassDef> */
630 var40
= var_mclassdef
->attrs
[COLOR_model__MClassDef___in_hierarchy
].val
; /* _in_hierarchy on <var_mclassdef:MClassDef> */
636 PRINT_ERROR("Runtime error: %s", "Receiver is null");
637 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 70);
640 var41
= poset__POSetElement__direct_greaters(var38
);
643 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var41
) /* iterator on <var41:Collection[Object](Collection[MClassDef])>*/;
647 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var42
) /* is_ok on <var42:Iterator[nullable Object]>*/;
651 var44
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var42
) /* item on <var42:Iterator[nullable Object]>*/;
655 { /* Inline model#MClassDef#mclass (var_cd) on <var_cd:MClassDef> */
656 var47
= var_cd
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var_cd:MClassDef> */
657 if (unlikely(var47
== NULL
)) {
658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
659 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 474);
667 { /* Inline model#MClass#kind (var45) on <var45:MClass> */
668 var50
= var45
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var45:MClass> */
669 if (unlikely(var50
== NULL
)) {
670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
671 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
679 { /* Inline model#MClassKind#need_init (var48) on <var48:MClassKind> */
680 var53
= var48
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <var48:MClassKind> */
690 CONTINUE_label
: (void)0;
692 ((void (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var42
) /* next on <var42:Iterator[nullable Object]>*/;
695 BREAK_label
: (void)0;
701 var55
= parser_nodes__AMethPropdef__n_block(self
);
705 if (var_nblock
== NULL
) {
706 var57
= 0; /* is null */
708 var57
= 1; /* arg is null and recv is not */
711 { /* Inline kernel#Object#!= (var_nblock,var56) on <var_nblock:nullable AExpr> */
714 var61
= ((short int (*)(val
*, val
*))(var_nblock
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nblock
, var_other
) /* == on <var_nblock:nullable AExpr(AExpr)>*/;
725 var63
= NEW_auto_super_init__AutoSuperInitVisitor(&type_auto_super_init__AutoSuperInitVisitor
);
727 auto_super_init__AutoSuperInitVisitor__init(var63
); /* Direct call auto_super_init#AutoSuperInitVisitor#init on <var63:AutoSuperInitVisitor>*/
731 parser_nodes__Visitor__enter_visit(var_v
, var_nblock
); /* Direct call parser_nodes#Visitor#enter_visit on <var_v:AutoSuperInitVisitor>*/
734 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init (var_v) on <var_v:AutoSuperInitVisitor> */
735 var66
= var_v
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
746 var67
= NEW_array__Array(&type_array__Arraytyping__CallSite
);
748 array__Array__init(var67
); /* Direct call array#Array#init on <var67:Array[CallSite]>*/
750 var_auto_super_inits
= var67
;
752 { /* Inline model#MClassDef#supertypes (var_mclassdef) on <var_mclassdef:MClassDef> */
753 var70
= var_mclassdef
->attrs
[COLOR_model__MClassDef___supertypes
].val
; /* _supertypes on <var_mclassdef:MClassDef> */
754 if (unlikely(var70
== NULL
)) {
755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _supertypes");
756 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 517);
764 var71
= array__AbstractArrayRead__iterator(var68
);
768 var72
= array__ArrayIterator__is_ok(var71
);
772 var73
= array__ArrayIterator__item(var71
);
774 var_msupertype
= var73
;
776 { /* Inline model#MClassType#mclass (var_msupertype) on <var_msupertype:MClassType> */
777 var76
= var_msupertype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_msupertype:MClassType> */
778 if (unlikely(var76
== NULL
)) {
779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
780 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
788 { /* Inline model#MClass#kind (var74) on <var74:MClass> */
789 var79
= var74
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var74:MClass> */
790 if (unlikely(var79
== NULL
)) {
791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
792 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 355);
800 { /* Inline model#MClassKind#need_init (var77) on <var77:MClassKind> */
801 var82
= var77
->attrs
[COLOR_model__MClassKind___need_init
].s
; /* _need_init on <var77:MClassKind> */
808 goto CONTINUE_label84
;
812 { /* Inline model#MClassDef#bound_mtype (var_mclassdef) on <var_mclassdef:MClassDef> */
813 var87
= var_mclassdef
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_mclassdef:MClassDef> */
814 if (unlikely(var87
== NULL
)) {
815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
816 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 477);
824 var88
= model__MClassType__anchor_to(var_msupertype
, var_mmodule
, var85
);
826 var_msupertype
= var88
;
828 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
829 var91
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
830 if (unlikely(var91
== NULL
)) {
831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
832 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
840 { /* Inline model#MProperty#name (var89) on <var89:MProperty(MMethod)> */
841 var94
= var89
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var89:MProperty(MMethod)> */
842 if (unlikely(var94
== NULL
)) {
843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
844 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
852 var95
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var92
);
854 var_candidate
= var95
;
856 if (var_candidate
== NULL
) {
857 var97
= 1; /* is null */
859 var97
= 0; /* arg is null but recv is not */
862 { /* Inline kernel#Object#== (var_candidate,var96) on <var_candidate:nullable MProperty> */
863 var_other100
= var96
;
865 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other100) on <var_candidate:nullable MProperty(MProperty)> */
866 var103
= var_candidate
== var_other100
;
869 RET_LABEL102
:(void)0;
884 var107
= string__NativeString__to_s_with_length(var105
, var106
);
889 var108
= modelbuilder__ModelBuilder__try_get_mproperty_by_name2(var_modelbuilder
, self
, var_mmodule
, var_msupertype
, var104
);
891 var_candidate
= var108
;
895 if (var_candidate
== NULL
) {
896 var110
= 1; /* is null */
898 var110
= 0; /* arg is null but recv is not */
901 { /* Inline kernel#Object#== (var_candidate,var109) on <var_candidate:nullable MProperty> */
902 var_other100
= var109
;
904 { /* Inline kernel#Object#is_same_instance (var_candidate,var_other100) on <var_candidate:nullable MProperty(MProperty)> */
905 var115
= var_candidate
== var_other100
;
908 RET_LABEL114
:(void)0;
913 RET_LABEL112
:(void)0;
921 var118
= "Error: Cannot do an implicit constructor call in ";
923 var120
= string__NativeString__to_s_with_length(var118
, var119
);
930 var123
= "; there is no constructor named ";
932 var125
= string__NativeString__to_s_with_length(var123
, var124
);
937 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
938 var128
= var_mpropdef
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
939 if (unlikely(var128
== NULL
)) {
940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
941 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1882);
945 RET_LABEL127
:(void)0;
949 { /* Inline model#MProperty#name (var126) on <var126:MProperty(MMethod)> */
950 var131
= var126
->attrs
[COLOR_model__MProperty___name
].val
; /* _name on <var126:MProperty(MMethod)> */
951 if (unlikely(var131
== NULL
)) {
952 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
953 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1607);
957 RET_LABEL130
:(void)0;
965 var136
= string__NativeString__to_s_with_length(var134
, var135
);
974 var141
= string__NativeString__to_s_with_length(var139
, var140
);
978 var142
= NEW_array__Array(&type_array__Arraykernel__Object
);
979 { /* var142 = array_instance Array[Object] */
981 var144
= NEW_array__NativeArray(var143
, &type_array__NativeArraykernel__Object
);
982 ((struct instance_array__NativeArray
*)var144
)->values
[0] = (val
*) var117
;
983 ((struct instance_array__NativeArray
*)var144
)->values
[1] = (val
*) var_mpropdef
;
984 ((struct instance_array__NativeArray
*)var144
)->values
[2] = (val
*) var122
;
985 ((struct instance_array__NativeArray
*)var144
)->values
[3] = (val
*) var129
;
986 ((struct instance_array__NativeArray
*)var144
)->values
[4] = (val
*) var133
;
987 ((struct instance_array__NativeArray
*)var144
)->values
[5] = (val
*) var_msupertype
;
988 ((struct instance_array__NativeArray
*)var144
)->values
[6] = (val
*) var138
;
990 ((void (*)(val
*, val
*, long))(var142
->class->vft
[COLOR_array__Array__with_native
]))(var142
, var144
, var143
) /* with_native on <var142:Array[Object]>*/;
994 var145
= ((val
* (*)(val
*))(var142
->class->vft
[COLOR_string__Object__to_s
]))(var142
) /* to_s on <var142:Array[Object]>*/;
997 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var145
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1002 /* <var_candidate:nullable MProperty(MProperty)> isa MMethod */
1003 cltype147
= type_model__MMethod
.color
;
1004 idtype148
= type_model__MMethod
.id
;
1005 if(cltype147
>= var_candidate
->type
->table_size
) {
1008 var146
= var_candidate
->type
->type_table
[cltype147
] == idtype148
;
1010 if (unlikely(!var146
)) {
1011 PRINT_ERROR("Runtime error: %s", "Assert failed");
1012 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 100);
1016 var149
= model__MProperty__lookup_definitions(var_candidate
, var_mmodule
, var_anchor
);
1018 var_candidatedefs
= var149
;
1020 var150
= abstract_collection__SequenceRead__first(var_candidatedefs
);
1022 var_candidatedef
= var150
;
1024 { /* Inline model#MMethodDef#msignature (var_candidatedef) on <var_candidatedef:MMethodDef> */
1025 var153
= var_candidatedef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_candidatedef:MMethodDef> */
1027 RET_LABEL152
:(void)0;
1030 var_msignature
= var151
;
1032 if (var_msignature
== NULL
) {
1033 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1034 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 107);
1037 var155
= model__MSignature__resolve_for(var_msignature
, var_recvtype
, var_anchor
, var_mmodule
, var154
);
1039 var_msignature
= var155
;
1040 var156
= NEW_typing__CallSite(&type_typing__CallSite
);
1044 { /* Inline typing#CallSite#init (var156,self,var_recvtype,var_mmodule,var_anchor,var157,var_candidate,var_candidatedef,var_msignature,var158) on <var156:CallSite> */
1045 var156
->attrs
[COLOR_typing__CallSite___node
].val
= self
; /* _node on <var156:CallSite> */
1046 var156
->attrs
[COLOR_typing__CallSite___recv
].val
= var_recvtype
; /* _recv on <var156:CallSite> */
1047 var156
->attrs
[COLOR_typing__CallSite___mmodule
].val
= var_mmodule
; /* _mmodule on <var156:CallSite> */
1048 var156
->attrs
[COLOR_typing__CallSite___anchor
].val
= var_anchor
; /* _anchor on <var156:CallSite> */
1049 var156
->attrs
[COLOR_typing__CallSite___recv_is_self
].s
= var157
; /* _recv_is_self on <var156:CallSite> */
1050 var156
->attrs
[COLOR_typing__CallSite___mproperty
].val
= var_candidate
; /* _mproperty on <var156:CallSite> */
1051 var156
->attrs
[COLOR_typing__CallSite___mpropdef
].val
= var_candidatedef
; /* _mpropdef on <var156:CallSite> */
1052 var156
->attrs
[COLOR_typing__CallSite___msignature
].val
= var_msignature
; /* _msignature on <var156:CallSite> */
1053 var156
->attrs
[COLOR_typing__CallSite___erasure_cast
].s
= var158
; /* _erasure_cast on <var156:CallSite> */
1054 RET_LABEL159
:(void)0;
1057 var_callsite
= var156
;
1059 array__Array__add(var_auto_super_inits
, var_callsite
); /* Direct call array#Array#add on <var_auto_super_inits:Array[CallSite]>*/
1061 CONTINUE_label84
: (void)0;
1063 array__ArrayIterator__next(var71
); /* Direct call array#ArrayIterator#next on <var71:ArrayIterator[nullable Object]>*/
1066 BREAK_label84
: (void)0;
1068 var160
= array__AbstractArrayRead__is_empty(var_auto_super_inits
);
1072 var162
= varonce161
;
1074 var163
= "Error: No constructors to call implicitely in ";
1076 var165
= string__NativeString__to_s_with_length(var163
, var164
);
1078 varonce161
= var162
;
1081 var167
= varonce166
;
1083 var168
= ". Call one explicitely.";
1085 var170
= string__NativeString__to_s_with_length(var168
, var169
);
1087 varonce166
= var167
;
1089 var171
= NEW_array__Array(&type_array__Arraykernel__Object
);
1090 { /* var171 = array_instance Array[Object] */
1092 var173
= NEW_array__NativeArray(var172
, &type_array__NativeArraykernel__Object
);
1093 ((struct instance_array__NativeArray
*)var173
)->values
[0] = (val
*) var162
;
1094 ((struct instance_array__NativeArray
*)var173
)->values
[1] = (val
*) var_mpropdef
;
1095 ((struct instance_array__NativeArray
*)var173
)->values
[2] = (val
*) var167
;
1097 ((void (*)(val
*, val
*, long))(var171
->class->vft
[COLOR_array__Array__with_native
]))(var171
, var173
, var172
) /* with_native on <var171:Array[Object]>*/;
1101 var174
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_string__Object__to_s
]))(var171
) /* to_s on <var171:Array[Object]>*/;
1104 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var174
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1110 var175
= array__AbstractArrayRead__iterator(var_auto_super_inits
);
1114 var176
= array__ArrayIterator__is_ok(var175
);
1118 var177
= array__ArrayIterator__item(var175
);
1120 var_auto_super_init
= var177
;
1122 { /* Inline typing#CallSite#mpropdef (var_auto_super_init) on <var_auto_super_init:CallSite> */
1123 var180
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_auto_super_init:CallSite> */
1124 if (unlikely(var180
== NULL
)) {
1125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
1126 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 425);
1130 RET_LABEL179
:(void)0;
1133 var_auto_super_init_def
= var178
;
1135 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1136 var183
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1138 RET_LABEL182
:(void)0;
1141 if (unlikely(var181
== NULL
)) {
1142 PRINT_ERROR("Runtime error: %s", "Cast failed");
1143 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 118);
1148 { /* Inline typing#CallSite#msignature (var_auto_super_init) on <var_auto_super_init:CallSite> */
1149 var186
= var_auto_super_init
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_auto_super_init:CallSite> */
1150 if (unlikely(var186
== NULL
)) {
1151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
1152 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 429);
1156 RET_LABEL185
:(void)0;
1159 var_supermsig
= var184
;
1161 var187
= model__MSignature__arity(var_supermsig
);
1164 var188
= model__MSignature__arity(var_msig
);
1167 { /* Inline kernel#Int#> (var187,var188) on <var187:Int> */
1168 /* Covariant cast for argument 0 (i) <var188:Int> isa OTHER */
1169 /* <var188:Int> isa OTHER */
1170 var191
= 1; /* easy <var188:Int> isa OTHER*/
1171 if (unlikely(!var191
)) {
1172 var_class_name194
= type_kernel__Int
.name
;
1173 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name194
);
1174 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1177 var195
= var187
> var188
;
1180 RET_LABEL190
:(void)0;
1185 var197
= varonce196
;
1187 var198
= "Error: Cannot do an implicit constructor call to ";
1189 var200
= string__NativeString__to_s_with_length(var198
, var199
);
1191 varonce196
= var197
;
1194 var202
= varonce201
;
1196 var203
= ". Expected at least ";
1198 var205
= string__NativeString__to_s_with_length(var203
, var204
);
1200 varonce201
= var202
;
1203 var206
= model__MSignature__arity(var_supermsig
);
1206 var208
= varonce207
;
1208 var209
= " arguments, got ";
1210 var211
= string__NativeString__to_s_with_length(var209
, var210
);
1212 varonce207
= var208
;
1215 var212
= model__MSignature__arity(var_msig
);
1218 var214
= varonce213
;
1222 var217
= string__NativeString__to_s_with_length(var215
, var216
);
1224 varonce213
= var214
;
1226 var218
= NEW_array__Array(&type_array__Arraykernel__Object
);
1227 { /* var218 = array_instance Array[Object] */
1229 var220
= NEW_array__NativeArray(var219
, &type_array__NativeArraykernel__Object
);
1230 ((struct instance_array__NativeArray
*)var220
)->values
[0] = (val
*) var197
;
1231 ((struct instance_array__NativeArray
*)var220
)->values
[1] = (val
*) var_auto_super_init_def
;
1232 ((struct instance_array__NativeArray
*)var220
)->values
[2] = (val
*) var_supermsig
;
1233 ((struct instance_array__NativeArray
*)var220
)->values
[3] = (val
*) var202
;
1234 var221
= BOX_kernel__Int(var206
); /* autobox from Int to Object */
1235 ((struct instance_array__NativeArray
*)var220
)->values
[4] = (val
*) var221
;
1236 ((struct instance_array__NativeArray
*)var220
)->values
[5] = (val
*) var208
;
1237 var222
= BOX_kernel__Int(var212
); /* autobox from Int to Object */
1238 ((struct instance_array__NativeArray
*)var220
)->values
[6] = (val
*) var222
;
1239 ((struct instance_array__NativeArray
*)var220
)->values
[7] = (val
*) var214
;
1241 ((void (*)(val
*, val
*, long))(var218
->class->vft
[COLOR_array__Array__with_native
]))(var218
, var220
, var219
) /* with_native on <var218:Array[Object]>*/;
1245 var223
= ((val
* (*)(val
*))(var218
->class->vft
[COLOR_string__Object__to_s
]))(var218
) /* to_s on <var218:Array[Object]>*/;
1248 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var223
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1250 goto CONTINUE_label224
;
1256 { /* Inline model#MSignature#mparameters (var_supermsig) on <var_supermsig:MSignature> */
1257 var228
= var_supermsig
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_supermsig:MSignature> */
1258 if (unlikely(var228
== NULL
)) {
1259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1260 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1264 RET_LABEL227
:(void)0;
1268 var229
= array__AbstractArrayRead__iterator(var226
);
1272 var230
= array__ArrayIterator__is_ok(var229
);
1276 var231
= array__ArrayIterator__item(var229
);
1280 { /* Inline model#MSignature#mparameters (var_msig) on <var_msig:MSignature> */
1281 var234
= var_msig
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msig:MSignature> */
1282 if (unlikely(var234
== NULL
)) {
1283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1284 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
1288 RET_LABEL233
:(void)0;
1292 var235
= array__Array___91d_93d(var232
, var_i
);
1296 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
1297 var238
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
1298 if (unlikely(var238
== NULL
)) {
1299 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1300 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1304 RET_LABEL237
:(void)0;
1309 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
1310 var241
= var_sp
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
1311 if (unlikely(var241
== NULL
)) {
1312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1313 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1317 RET_LABEL240
:(void)0;
1322 var242
= model__MType__is_subtype(var_sub
, var_mmodule
, var_anchor
, var_sup
);
1327 var245
= varonce244
;
1329 var246
= "Error: Cannot do an implicit constructor call to ";
1331 var248
= string__NativeString__to_s_with_length(var246
, var247
);
1333 varonce244
= var245
;
1336 var250
= varonce249
;
1338 var251
= ". Expected argument #";
1340 var253
= string__NativeString__to_s_with_length(var251
, var252
);
1342 varonce249
= var250
;
1345 var255
= varonce254
;
1347 var256
= " of type ";
1349 var258
= string__NativeString__to_s_with_length(var256
, var257
);
1351 varonce254
= var255
;
1354 { /* Inline model#MParameter#mtype (var_sp) on <var_sp:MParameter> */
1355 var261
= var_sp
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_sp:MParameter> */
1356 if (unlikely(var261
== NULL
)) {
1357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1358 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1362 RET_LABEL260
:(void)0;
1366 var263
= varonce262
;
1368 var264
= ", got implicit argument ";
1370 var266
= string__NativeString__to_s_with_length(var264
, var265
);
1372 varonce262
= var263
;
1375 { /* Inline model#MParameter#name (var_p) on <var_p:MParameter> */
1376 var269
= var_p
->attrs
[COLOR_model__MParameter___name
].val
; /* _name on <var_p:MParameter> */
1377 if (unlikely(var269
== NULL
)) {
1378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1379 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1549);
1383 RET_LABEL268
:(void)0;
1387 var271
= varonce270
;
1389 var272
= " of type ";
1391 var274
= string__NativeString__to_s_with_length(var272
, var273
);
1393 varonce270
= var271
;
1396 { /* Inline model#MParameter#mtype (var_p) on <var_p:MParameter> */
1397 var277
= var_p
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var_p:MParameter> */
1398 if (unlikely(var277
== NULL
)) {
1399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1400 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
1404 RET_LABEL276
:(void)0;
1408 var279
= varonce278
;
1412 var282
= string__NativeString__to_s_with_length(var280
, var281
);
1414 varonce278
= var279
;
1416 var283
= NEW_array__Array(&type_array__Arraykernel__Object
);
1417 { /* var283 = array_instance Array[Object] */
1419 var285
= NEW_array__NativeArray(var284
, &type_array__NativeArraykernel__Object
);
1420 ((struct instance_array__NativeArray
*)var285
)->values
[0] = (val
*) var245
;
1421 ((struct instance_array__NativeArray
*)var285
)->values
[1] = (val
*) var_auto_super_init_def
;
1422 ((struct instance_array__NativeArray
*)var285
)->values
[2] = (val
*) var_supermsig
;
1423 ((struct instance_array__NativeArray
*)var285
)->values
[3] = (val
*) var250
;
1424 var286
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1425 ((struct instance_array__NativeArray
*)var285
)->values
[4] = (val
*) var286
;
1426 ((struct instance_array__NativeArray
*)var285
)->values
[5] = (val
*) var255
;
1427 ((struct instance_array__NativeArray
*)var285
)->values
[6] = (val
*) var259
;
1428 ((struct instance_array__NativeArray
*)var285
)->values
[7] = (val
*) var263
;
1429 ((struct instance_array__NativeArray
*)var285
)->values
[8] = (val
*) var267
;
1430 ((struct instance_array__NativeArray
*)var285
)->values
[9] = (val
*) var271
;
1431 ((struct instance_array__NativeArray
*)var285
)->values
[10] = (val
*) var275
;
1432 ((struct instance_array__NativeArray
*)var285
)->values
[11] = (val
*) var279
;
1434 ((void (*)(val
*, val
*, long))(var283
->class->vft
[COLOR_array__Array__with_native
]))(var283
, var285
, var284
) /* with_native on <var283:Array[Object]>*/;
1438 var287
= ((val
* (*)(val
*))(var283
->class->vft
[COLOR_string__Object__to_s
]))(var283
) /* to_s on <var283:Array[Object]>*/;
1441 modelbuilder__ModelBuilder__error(var_modelbuilder
, self
, var287
); /* Direct call modelbuilder#ModelBuilder#error on <var_modelbuilder:ModelBuilder>*/
1443 goto BREAK_label288
;
1448 { /* Inline kernel#Int#+ (var_i,var289) on <var_i:Int> */
1449 /* Covariant cast for argument 0 (i) <var289:Int> isa OTHER */
1450 /* <var289:Int> isa OTHER */
1451 var292
= 1; /* easy <var289:Int> isa OTHER*/
1452 if (unlikely(!var292
)) {
1453 var_class_name295
= type_kernel__Int
.name
;
1454 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name295
);
1455 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1458 var296
= var_i
+ var289
;
1461 RET_LABEL291
:(void)0;
1465 CONTINUE_label288
: (void)0;
1467 array__ArrayIterator__next(var229
); /* Direct call array#ArrayIterator#next on <var229:ArrayIterator[nullable Object]>*/
1470 BREAK_label288
: (void)0;
1471 CONTINUE_label224
: (void)0;
1473 array__ArrayIterator__next(var175
); /* Direct call array#ArrayIterator#next on <var175:ArrayIterator[nullable Object]>*/
1476 BREAK_label224
: (void)0;
1478 { /* Inline auto_super_init#AMethPropdef#auto_super_inits= (self,var_auto_super_inits) on <self:AMethPropdef> */
1479 self
->attrs
[COLOR_auto_super_init__AMethPropdef___auto_super_inits
].val
= var_auto_super_inits
; /* _auto_super_inits on <self:AMethPropdef> */
1480 RET_LABEL297
:(void)0;
1485 /* method auto_super_init#AMethPropdef#do_auto_super_init for (self: Object, ModelBuilder) */
1486 void VIRTUAL_auto_super_init__AMethPropdef__do_auto_super_init(val
* self
, val
* p0
) {
1487 auto_super_init__AMethPropdef__do_auto_super_init(self
, p0
); /* Direct call auto_super_init#AMethPropdef#do_auto_super_init on <self:Object(AMethPropdef)>*/
1490 /* method auto_super_init#ANode#accept_auto_super_init for (self: ANode, AutoSuperInitVisitor) */
1491 void auto_super_init__ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1492 val
* var_v
/* var v: AutoSuperInitVisitor */;
1496 /* method auto_super_init#ANode#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
1497 void VIRTUAL_auto_super_init__ANode__accept_auto_super_init(val
* self
, val
* p0
) {
1498 val
* var_v
/* var v: AutoSuperInitVisitor */;
1499 { /* Inline auto_super_init#ANode#accept_auto_super_init (self,p0) on <self:Object(ANode)> */
1505 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: ASendExpr, AutoSuperInitVisitor) */
1506 void auto_super_init__ASendExpr__accept_auto_super_init(val
* self
, val
* p0
) {
1507 val
* var_v
/* var v: AutoSuperInitVisitor */;
1508 val
* var
/* : nullable CallSite */;
1509 val
* var2
/* : nullable CallSite */;
1510 val
* var3
/* : MMethod */;
1511 val
* var5
/* : MMethod */;
1512 val
* var_mproperty
/* var mproperty: MMethod */;
1513 val
* var6
/* : null */;
1514 short int var7
/* : Bool */;
1515 short int var8
/* : Bool */;
1516 val
* var_other
/* var other: nullable Object */;
1517 short int var10
/* : Bool */;
1518 short int var12
/* : Bool */;
1519 short int var13
/* : Bool */;
1520 short int var15
/* : Bool */;
1521 short int var16
/* : Bool */;
1524 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
1525 var2
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
1531 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1532 PRINT_ERROR(" (%s:%d)\n", "src/auto_super_init.nit", 149);
1535 { /* Inline typing#CallSite#mproperty (var) on <var:nullable CallSite> */
1536 if (unlikely(var
== NULL
)) {
1537 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1538 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 422);
1541 var5
= var
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var:nullable CallSite> */
1542 if (unlikely(var5
== NULL
)) {
1543 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1544 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 422);
1551 var_mproperty
= var3
;
1554 var7
= 0; /* arg is null but recv is not */
1557 { /* Inline kernel#Object#== (var_mproperty,var6) on <var_mproperty:MMethod> */
1560 { /* Inline kernel#Object#is_same_instance (var_mproperty,var_other) on <var_mproperty:MMethod> */
1561 var12
= var_mproperty
== var_other
;
1564 RET_LABEL11
:(void)0;
1578 { /* Inline model#MMethod#is_init (var_mproperty) on <var_mproperty:MMethod> */
1579 var15
= var_mproperty
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var_mproperty:MMethod> */
1581 RET_LABEL14
:(void)0;
1587 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,var16) on <var_v:AutoSuperInitVisitor> */
1588 var_v
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
= var16
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
1589 RET_LABEL17
:(void)0;
1596 /* method auto_super_init#ASendExpr#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
1597 void VIRTUAL_auto_super_init__ASendExpr__accept_auto_super_init(val
* self
, val
* p0
) {
1598 auto_super_init__ASendExpr__accept_auto_super_init(self
, p0
); /* Direct call auto_super_init#ASendExpr#accept_auto_super_init on <self:Object(ASendExpr)>*/
1601 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: ASuperExpr, AutoSuperInitVisitor) */
1602 void auto_super_init__ASuperExpr__accept_auto_super_init(val
* self
, val
* p0
) {
1603 val
* var_v
/* var v: AutoSuperInitVisitor */;
1604 short int var
/* : Bool */;
1608 { /* Inline auto_super_init#AutoSuperInitVisitor#has_explicit_super_init= (var_v,var) on <var_v:AutoSuperInitVisitor> */
1609 var_v
->attrs
[COLOR_auto_super_init__AutoSuperInitVisitor___has_explicit_super_init
].s
= var
; /* _has_explicit_super_init on <var_v:AutoSuperInitVisitor> */
1615 /* method auto_super_init#ASuperExpr#accept_auto_super_init for (self: Object, AutoSuperInitVisitor) */
1616 void VIRTUAL_auto_super_init__ASuperExpr__accept_auto_super_init(val
* self
, val
* p0
) {
1617 auto_super_init__ASuperExpr__accept_auto_super_init(self
, p0
); /* Direct call auto_super_init#ASuperExpr#accept_auto_super_init on <self:Object(ASuperExpr)>*/