1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */
3 void abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
6 val
* var
/* : String */;
7 char* var1
/* : NativeString */;
9 val
* var3
/* : FlatString */;
10 val
* var4
/* : AExpr */;
11 val
* var5
/* : RuntimeVariable */;
12 val
* var_cond
/* var cond: RuntimeVariable */;
14 val
* var7
/* : String */;
15 char* var8
/* : NativeString */;
16 long var9
/* : Int */;
17 val
* var10
/* : FlatString */;
18 static val
* varonce11
;
19 val
* var12
/* : String */;
20 char* var13
/* : NativeString */;
21 long var14
/* : Int */;
22 val
* var15
/* : FlatString */;
23 val
* var16
/* : Array[Object] */;
24 long var17
/* : Int */;
25 val
* var18
/* : NativeArray[Object] */;
26 val
* var19
/* : String */;
27 val
* var20
/* : nullable AExpr */;
28 static val
* varonce21
;
29 val
* var22
/* : String */;
30 char* var23
/* : NativeString */;
31 long var24
/* : Int */;
32 val
* var25
/* : FlatString */;
33 val
* var26
/* : nullable EscapeMark */;
34 val
* var28
/* : nullable EscapeMark */;
35 val
* var29
/* : String */;
36 static val
* varonce30
;
37 val
* var31
/* : String */;
38 char* var32
/* : NativeString */;
39 long var33
/* : Int */;
40 val
* var34
/* : FlatString */;
41 val
* var35
/* : Array[Object] */;
42 long var36
/* : Int */;
43 val
* var37
/* : NativeArray[Object] */;
44 val
* var38
/* : String */;
45 static val
* varonce39
;
46 val
* var40
/* : String */;
47 char* var41
/* : NativeString */;
48 long var42
/* : Int */;
49 val
* var43
/* : FlatString */;
50 static val
* varonce44
;
51 val
* var45
/* : String */;
52 char* var46
/* : NativeString */;
53 long var47
/* : Int */;
54 val
* var48
/* : FlatString */;
55 val
* var49
/* : nullable EscapeMark */;
56 val
* var51
/* : nullable EscapeMark */;
57 val
* var52
/* : String */;
58 static val
* varonce53
;
59 val
* var54
/* : String */;
60 char* var55
/* : NativeString */;
61 long var56
/* : Int */;
62 val
* var57
/* : FlatString */;
63 val
* var58
/* : Array[Object] */;
64 long var59
/* : Int */;
65 val
* var60
/* : NativeArray[Object] */;
66 val
* var61
/* : String */;
73 var3
= string__NativeString__to_s_with_length(var1
, var2
);
78 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
81 var4
= parser_nodes__AWhileExpr__n_expr(self
);
84 var5
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var4
);
92 var10
= string__NativeString__to_s_with_length(var8
, var9
);
101 var15
= string__NativeString__to_s_with_length(var13
, var14
);
105 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
106 { /* var16 = array_instance Array[Object] */
108 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
109 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
110 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_cond
;
111 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
113 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
117 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
120 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
123 var20
= parser_nodes__AWhileExpr__n_block(self
);
126 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var20
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
133 var25
= string__NativeString__to_s_with_length(var23
, var24
);
138 { /* Inline scope#AWhileExpr#escapemark (self) on <self:AWhileExpr> */
139 var28
= self
->attrs
[COLOR_scope__AWhileExpr___escapemark
].val
; /* _escapemark on <self:AWhileExpr> */
145 var29
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var26
);
150 var32
= ": (void)0;";
152 var34
= string__NativeString__to_s_with_length(var32
, var33
);
156 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
157 { /* var35 = array_instance Array[Object] */
159 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
160 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var22
;
161 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var29
;
162 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var31
;
164 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
168 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
171 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var38
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
178 var43
= string__NativeString__to_s_with_length(var41
, var42
);
183 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var40
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
190 var48
= string__NativeString__to_s_with_length(var46
, var47
);
195 { /* Inline scope#AWhileExpr#escapemark (self) on <self:AWhileExpr> */
196 var51
= self
->attrs
[COLOR_scope__AWhileExpr___escapemark
].val
; /* _escapemark on <self:AWhileExpr> */
202 var52
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var49
);
207 var55
= ": (void)0;";
209 var57
= string__NativeString__to_s_with_length(var55
, var56
);
213 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
214 { /* var58 = array_instance Array[Object] */
216 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
217 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var45
;
218 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var52
;
219 ((struct instance_array__NativeArray
*)var60
)->values
[2] = (val
*) var54
;
221 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
225 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
228 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
232 /* method abstract_compiler#AWhileExpr#stmt for (self: Object, AbstractCompilerVisitor) */
233 void VIRTUAL_abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
234 abstract_compiler__AWhileExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AWhileExpr#stmt on <self:Object(AWhileExpr)>*/
237 /* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */
238 void abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
239 val
* var_v
/* var v: AbstractCompilerVisitor */;
241 val
* var
/* : String */;
242 char* var1
/* : NativeString */;
243 long var2
/* : Int */;
244 val
* var3
/* : FlatString */;
245 val
* var4
/* : nullable AExpr */;
246 static val
* varonce5
;
247 val
* var6
/* : String */;
248 char* var7
/* : NativeString */;
249 long var8
/* : Int */;
250 val
* var9
/* : FlatString */;
251 val
* var10
/* : nullable EscapeMark */;
252 val
* var12
/* : nullable EscapeMark */;
253 val
* var13
/* : String */;
254 static val
* varonce14
;
255 val
* var15
/* : String */;
256 char* var16
/* : NativeString */;
257 long var17
/* : Int */;
258 val
* var18
/* : FlatString */;
259 val
* var19
/* : Array[Object] */;
260 long var20
/* : Int */;
261 val
* var21
/* : NativeArray[Object] */;
262 val
* var22
/* : String */;
263 static val
* varonce23
;
264 val
* var24
/* : String */;
265 char* var25
/* : NativeString */;
266 long var26
/* : Int */;
267 val
* var27
/* : FlatString */;
268 static val
* varonce28
;
269 val
* var29
/* : String */;
270 char* var30
/* : NativeString */;
271 long var31
/* : Int */;
272 val
* var32
/* : FlatString */;
273 val
* var33
/* : nullable EscapeMark */;
274 val
* var35
/* : nullable EscapeMark */;
275 val
* var36
/* : String */;
276 static val
* varonce37
;
277 val
* var38
/* : String */;
278 char* var39
/* : NativeString */;
279 long var40
/* : Int */;
280 val
* var41
/* : FlatString */;
281 val
* var42
/* : Array[Object] */;
282 long var43
/* : Int */;
283 val
* var44
/* : NativeArray[Object] */;
284 val
* var45
/* : String */;
291 var3
= string__NativeString__to_s_with_length(var1
, var2
);
296 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
299 var4
= parser_nodes__ALoopExpr__n_block(self
);
302 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var4
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
309 var9
= string__NativeString__to_s_with_length(var7
, var8
);
314 { /* Inline scope#ALoopExpr#escapemark (self) on <self:ALoopExpr> */
315 var12
= self
->attrs
[COLOR_scope__ALoopExpr___escapemark
].val
; /* _escapemark on <self:ALoopExpr> */
321 var13
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var10
);
326 var16
= ": (void)0;";
328 var18
= string__NativeString__to_s_with_length(var16
, var17
);
332 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
333 { /* var19 = array_instance Array[Object] */
335 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
336 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var6
;
337 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var13
;
338 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
340 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
344 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
347 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
354 var27
= string__NativeString__to_s_with_length(var25
, var26
);
359 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
366 var32
= string__NativeString__to_s_with_length(var30
, var31
);
371 { /* Inline scope#ALoopExpr#escapemark (self) on <self:ALoopExpr> */
372 var35
= self
->attrs
[COLOR_scope__ALoopExpr___escapemark
].val
; /* _escapemark on <self:ALoopExpr> */
378 var36
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var33
);
383 var39
= ": (void)0;";
385 var41
= string__NativeString__to_s_with_length(var39
, var40
);
389 var42
= NEW_array__Array(&type_array__Arraykernel__Object
);
390 { /* var42 = array_instance Array[Object] */
392 var44
= NEW_array__NativeArray(var43
, &type_array__NativeArraykernel__Object
);
393 ((struct instance_array__NativeArray
*)var44
)->values
[0] = (val
*) var29
;
394 ((struct instance_array__NativeArray
*)var44
)->values
[1] = (val
*) var36
;
395 ((struct instance_array__NativeArray
*)var44
)->values
[2] = (val
*) var38
;
397 ((void (*)(val
*, val
*, long))(var42
->class->vft
[COLOR_array__Array__with_native
]))(var42
, var44
, var43
) /* with_native on <var42:Array[Object]>*/;
401 var45
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_string__Object__to_s
]))(var42
) /* to_s on <var42:Array[Object]>*/;
404 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
408 /* method abstract_compiler#ALoopExpr#stmt for (self: Object, AbstractCompilerVisitor) */
409 void VIRTUAL_abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
410 abstract_compiler__ALoopExpr__stmt(self
, p0
); /* Direct call abstract_compiler#ALoopExpr#stmt on <self:Object(ALoopExpr)>*/
413 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
414 void abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
415 val
* var_v
/* var v: AbstractCompilerVisitor */;
416 val
* var
/* : AExpr */;
417 val
* var_nexpr
/* var nexpr: AExpr */;
418 short int var1
/* : Bool */;
419 short int var2
/* : Bool */;
420 val
* var3
/* : nullable Array[Variable] */;
421 val
* var5
/* : nullable Array[Variable] */;
422 long var6
/* : Int */;
423 long var7
/* : Int */;
424 short int var8
/* : Bool */;
425 short int var9
/* : Bool */;
426 short int var11
/* : Bool */;
427 short int var_
/* var : Bool */;
428 short int var12
/* : Bool */;
431 short int var_13
/* var : Bool */;
432 val
* var14
/* : AbstractCompiler */;
433 val
* var16
/* : AbstractCompiler */;
434 val
* var17
/* : ModelBuilder */;
435 val
* var19
/* : ModelBuilder */;
436 val
* var20
/* : ToolContext */;
437 val
* var22
/* : ToolContext */;
438 val
* var23
/* : OptionBool */;
439 val
* var25
/* : OptionBool */;
440 val
* var26
/* : nullable Object */;
441 val
* var28
/* : nullable Object */;
442 short int var29
/* : Bool */;
443 short int var30
/* : Bool */;
444 val
* var31
/* : AExpr */;
445 val
* var32
/* : null */;
446 val
* var33
/* : RuntimeVariable */;
447 val
* var_from
/* var from: RuntimeVariable */;
448 val
* var34
/* : AExpr */;
449 val
* var35
/* : null */;
450 val
* var36
/* : RuntimeVariable */;
451 val
* var_to
/* var to: RuntimeVariable */;
452 val
* var37
/* : nullable Array[Variable] */;
453 val
* var39
/* : nullable Array[Variable] */;
454 val
* var40
/* : nullable Object */;
455 val
* var41
/* : RuntimeVariable */;
456 val
* var_variable
/* var variable: RuntimeVariable */;
458 val
* var42
/* : String */;
459 char* var43
/* : NativeString */;
460 long var44
/* : Int */;
461 val
* var45
/* : FlatString */;
462 static val
* varonce46
;
463 val
* var47
/* : String */;
464 char* var48
/* : NativeString */;
465 long var49
/* : Int */;
466 val
* var50
/* : FlatString */;
467 val
* var51
/* : MType */;
468 val
* var53
/* : MType */;
469 val
* var54
/* : MMethod */;
470 val
* var55
/* : Array[RuntimeVariable] */;
471 long var56
/* : Int */;
472 val
* var_57
/* var : Array[RuntimeVariable] */;
473 val
* var58
/* : nullable RuntimeVariable */;
474 val
* var_ok
/* var ok: nullable RuntimeVariable */;
475 val
* var59
/* : null */;
476 short int var60
/* : Bool */;
477 short int var61
/* : Bool */;
478 val
* var_other
/* var other: nullable Object */;
479 short int var63
/* : Bool */;
480 short int var64
/* : Bool */;
481 short int var65
/* : Bool */;
482 static val
* varonce66
;
483 val
* var67
/* : String */;
484 char* var68
/* : NativeString */;
485 long var69
/* : Int */;
486 val
* var70
/* : FlatString */;
487 static val
* varonce71
;
488 val
* var72
/* : String */;
489 char* var73
/* : NativeString */;
490 long var74
/* : Int */;
491 val
* var75
/* : FlatString */;
492 val
* var76
/* : Array[Object] */;
493 long var77
/* : Int */;
494 val
* var78
/* : NativeArray[Object] */;
495 val
* var79
/* : String */;
496 val
* var80
/* : nullable AExpr */;
497 static val
* varonce81
;
498 val
* var82
/* : String */;
499 char* var83
/* : NativeString */;
500 long var84
/* : Int */;
501 val
* var85
/* : FlatString */;
502 val
* var86
/* : nullable EscapeMark */;
503 val
* var88
/* : nullable EscapeMark */;
504 val
* var89
/* : String */;
505 static val
* varonce90
;
506 val
* var91
/* : String */;
507 char* var92
/* : NativeString */;
508 long var93
/* : Int */;
509 val
* var94
/* : FlatString */;
510 val
* var95
/* : Array[Object] */;
511 long var96
/* : Int */;
512 val
* var97
/* : NativeArray[Object] */;
513 val
* var98
/* : String */;
514 static val
* varonce99
;
515 val
* var100
/* : String */;
516 char* var101
/* : NativeString */;
517 long var102
/* : Int */;
518 val
* var103
/* : FlatString */;
519 val
* var104
/* : MType */;
520 val
* var106
/* : MType */;
521 val
* var107
/* : MMethod */;
522 val
* var108
/* : Array[RuntimeVariable] */;
523 long var109
/* : Int */;
524 val
* var_110
/* var : Array[RuntimeVariable] */;
525 val
* var111
/* : nullable RuntimeVariable */;
526 val
* var_succ
/* var succ: nullable RuntimeVariable */;
527 val
* var112
/* : null */;
528 short int var113
/* : Bool */;
529 short int var114
/* : Bool */;
530 short int var116
/* : Bool */;
531 short int var117
/* : Bool */;
532 short int var118
/* : Bool */;
533 static val
* varonce119
;
534 val
* var120
/* : String */;
535 char* var121
/* : NativeString */;
536 long var122
/* : Int */;
537 val
* var123
/* : FlatString */;
538 static val
* varonce124
;
539 val
* var125
/* : String */;
540 char* var126
/* : NativeString */;
541 long var127
/* : Int */;
542 val
* var128
/* : FlatString */;
543 val
* var129
/* : nullable EscapeMark */;
544 val
* var131
/* : nullable EscapeMark */;
545 val
* var132
/* : String */;
546 static val
* varonce133
;
547 val
* var134
/* : String */;
548 char* var135
/* : NativeString */;
549 long var136
/* : Int */;
550 val
* var137
/* : FlatString */;
551 val
* var138
/* : Array[Object] */;
552 long var139
/* : Int */;
553 val
* var140
/* : NativeArray[Object] */;
554 val
* var141
/* : String */;
555 val
* var142
/* : AExpr */;
556 val
* var143
/* : null */;
557 val
* var144
/* : RuntimeVariable */;
558 val
* var_cl
/* var cl: RuntimeVariable */;
559 val
* var145
/* : nullable CallSite */;
560 val
* var147
/* : nullable CallSite */;
561 val
* var_it_meth
/* var it_meth: nullable CallSite */;
562 val
* var148
/* : null */;
563 short int var149
/* : Bool */;
564 short int var150
/* : Bool */;
565 short int var152
/* : Bool */;
566 short int var153
/* : Bool */;
567 short int var154
/* : Bool */;
568 val
* var155
/* : Array[RuntimeVariable] */;
569 long var156
/* : Int */;
570 val
* var_157
/* var : Array[RuntimeVariable] */;
571 val
* var158
/* : nullable RuntimeVariable */;
572 val
* var_it
/* var it: nullable RuntimeVariable */;
573 val
* var159
/* : null */;
574 short int var160
/* : Bool */;
575 short int var161
/* : Bool */;
576 short int var163
/* : Bool */;
577 short int var164
/* : Bool */;
578 short int var165
/* : Bool */;
579 static val
* varonce166
;
580 val
* var167
/* : String */;
581 char* var168
/* : NativeString */;
582 long var169
/* : Int */;
583 val
* var170
/* : FlatString */;
584 val
* var171
/* : nullable CallSite */;
585 val
* var173
/* : nullable CallSite */;
586 val
* var_isok_meth
/* var isok_meth: nullable CallSite */;
587 val
* var174
/* : null */;
588 short int var175
/* : Bool */;
589 short int var176
/* : Bool */;
590 short int var178
/* : Bool */;
591 short int var179
/* : Bool */;
592 short int var180
/* : Bool */;
593 val
* var181
/* : Array[RuntimeVariable] */;
594 long var182
/* : Int */;
595 val
* var_183
/* var : Array[RuntimeVariable] */;
596 val
* var184
/* : nullable RuntimeVariable */;
597 val
* var_ok185
/* var ok: nullable RuntimeVariable */;
598 val
* var186
/* : null */;
599 short int var187
/* : Bool */;
600 short int var188
/* : Bool */;
601 short int var190
/* : Bool */;
602 short int var191
/* : Bool */;
603 short int var192
/* : Bool */;
604 static val
* varonce193
;
605 val
* var194
/* : String */;
606 char* var195
/* : NativeString */;
607 long var196
/* : Int */;
608 val
* var197
/* : FlatString */;
609 static val
* varonce198
;
610 val
* var199
/* : String */;
611 char* var200
/* : NativeString */;
612 long var201
/* : Int */;
613 val
* var202
/* : FlatString */;
614 val
* var203
/* : Array[Object] */;
615 long var204
/* : Int */;
616 val
* var205
/* : NativeArray[Object] */;
617 val
* var206
/* : String */;
618 val
* var207
/* : nullable Array[Variable] */;
619 val
* var209
/* : nullable Array[Variable] */;
620 long var210
/* : Int */;
621 long var211
/* : Int */;
622 short int var212
/* : Bool */;
623 short int var213
/* : Bool */;
624 short int var215
/* : Bool */;
625 val
* var216
/* : nullable CallSite */;
626 val
* var218
/* : nullable CallSite */;
627 val
* var_item_meth
/* var item_meth: nullable CallSite */;
628 val
* var219
/* : null */;
629 short int var220
/* : Bool */;
630 short int var221
/* : Bool */;
631 short int var223
/* : Bool */;
632 short int var224
/* : Bool */;
633 short int var225
/* : Bool */;
634 val
* var226
/* : Array[RuntimeVariable] */;
635 long var227
/* : Int */;
636 val
* var_228
/* var : Array[RuntimeVariable] */;
637 val
* var229
/* : nullable RuntimeVariable */;
638 val
* var_i
/* var i: nullable RuntimeVariable */;
639 val
* var230
/* : null */;
640 short int var231
/* : Bool */;
641 short int var232
/* : Bool */;
642 short int var234
/* : Bool */;
643 short int var235
/* : Bool */;
644 short int var236
/* : Bool */;
645 val
* var237
/* : nullable Array[Variable] */;
646 val
* var239
/* : nullable Array[Variable] */;
647 val
* var240
/* : nullable Object */;
648 val
* var241
/* : RuntimeVariable */;
649 val
* var242
/* : nullable Array[Variable] */;
650 val
* var244
/* : nullable Array[Variable] */;
651 long var245
/* : Int */;
652 long var246
/* : Int */;
653 short int var247
/* : Bool */;
654 short int var248
/* : Bool */;
655 short int var250
/* : Bool */;
656 val
* var251
/* : nullable CallSite */;
657 val
* var253
/* : nullable CallSite */;
658 val
* var_key_meth
/* var key_meth: nullable CallSite */;
659 val
* var254
/* : null */;
660 short int var255
/* : Bool */;
661 short int var256
/* : Bool */;
662 short int var258
/* : Bool */;
663 short int var259
/* : Bool */;
664 short int var260
/* : Bool */;
665 val
* var261
/* : Array[RuntimeVariable] */;
666 long var262
/* : Int */;
667 val
* var_263
/* var : Array[RuntimeVariable] */;
668 val
* var264
/* : nullable RuntimeVariable */;
669 val
* var_i265
/* var i: nullable RuntimeVariable */;
670 val
* var266
/* : null */;
671 short int var267
/* : Bool */;
672 short int var268
/* : Bool */;
673 short int var270
/* : Bool */;
674 short int var271
/* : Bool */;
675 short int var272
/* : Bool */;
676 val
* var273
/* : nullable Array[Variable] */;
677 val
* var275
/* : nullable Array[Variable] */;
678 long var276
/* : Int */;
679 val
* var277
/* : nullable Object */;
680 val
* var278
/* : RuntimeVariable */;
681 val
* var279
/* : nullable CallSite */;
682 val
* var281
/* : nullable CallSite */;
683 val
* var_item_meth282
/* var item_meth: nullable CallSite */;
684 val
* var283
/* : null */;
685 short int var284
/* : Bool */;
686 short int var285
/* : Bool */;
687 short int var287
/* : Bool */;
688 short int var288
/* : Bool */;
689 short int var289
/* : Bool */;
690 val
* var290
/* : Array[RuntimeVariable] */;
691 long var291
/* : Int */;
692 val
* var_292
/* var : Array[RuntimeVariable] */;
693 val
* var293
/* : nullable RuntimeVariable */;
694 val
* var294
/* : null */;
695 short int var295
/* : Bool */;
696 short int var296
/* : Bool */;
697 short int var298
/* : Bool */;
698 short int var299
/* : Bool */;
699 short int var300
/* : Bool */;
700 val
* var301
/* : nullable Array[Variable] */;
701 val
* var303
/* : nullable Array[Variable] */;
702 long var304
/* : Int */;
703 val
* var305
/* : nullable Object */;
704 val
* var306
/* : RuntimeVariable */;
705 val
* var307
/* : nullable AExpr */;
706 static val
* varonce308
;
707 val
* var309
/* : String */;
708 char* var310
/* : NativeString */;
709 long var311
/* : Int */;
710 val
* var312
/* : FlatString */;
711 val
* var313
/* : nullable EscapeMark */;
712 val
* var315
/* : nullable EscapeMark */;
713 val
* var316
/* : String */;
714 static val
* varonce317
;
715 val
* var318
/* : String */;
716 char* var319
/* : NativeString */;
717 long var320
/* : Int */;
718 val
* var321
/* : FlatString */;
719 val
* var322
/* : Array[Object] */;
720 long var323
/* : Int */;
721 val
* var324
/* : NativeArray[Object] */;
722 val
* var325
/* : String */;
723 val
* var326
/* : nullable CallSite */;
724 val
* var328
/* : nullable CallSite */;
725 val
* var_next_meth
/* var next_meth: nullable CallSite */;
726 val
* var329
/* : null */;
727 short int var330
/* : Bool */;
728 short int var331
/* : Bool */;
729 short int var333
/* : Bool */;
730 short int var334
/* : Bool */;
731 short int var335
/* : Bool */;
732 val
* var336
/* : Array[RuntimeVariable] */;
733 long var337
/* : Int */;
734 val
* var_338
/* var : Array[RuntimeVariable] */;
735 val
* var339
/* : nullable RuntimeVariable */;
736 static val
* varonce340
;
737 val
* var341
/* : String */;
738 char* var342
/* : NativeString */;
739 long var343
/* : Int */;
740 val
* var344
/* : FlatString */;
741 static val
* varonce345
;
742 val
* var346
/* : String */;
743 char* var347
/* : NativeString */;
744 long var348
/* : Int */;
745 val
* var349
/* : FlatString */;
746 val
* var350
/* : nullable EscapeMark */;
747 val
* var352
/* : nullable EscapeMark */;
748 val
* var353
/* : String */;
749 static val
* varonce354
;
750 val
* var355
/* : String */;
751 char* var356
/* : NativeString */;
752 long var357
/* : Int */;
753 val
* var358
/* : FlatString */;
754 val
* var359
/* : Array[Object] */;
755 long var360
/* : Int */;
756 val
* var361
/* : NativeArray[Object] */;
757 val
* var362
/* : String */;
760 var
= parser_nodes__AForExpr__n_expr(self
);
764 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
765 var5
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
771 PRINT_ERROR("Runtime error: %s", "Receiver is null");
772 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2427);
775 var6
= array__AbstractArrayRead__length(var3
);
779 { /* Inline kernel#Int#== (var6,var7) on <var6:Int> */
780 var11
= var6
== var7
;
789 /* <var_nexpr:AExpr> isa AOrangeExpr */
790 cltype
= type_parser_nodes__AOrangeExpr
.color
;
791 idtype
= type_parser_nodes__AOrangeExpr
.id
;
792 if(cltype
>= var_nexpr
->type
->table_size
) {
795 var12
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
804 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
805 var16
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
806 if (unlikely(var16
== NULL
)) {
807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
808 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
816 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var14) on <var14:AbstractCompiler> */
817 var19
= var14
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var14:AbstractCompiler> */
818 if (unlikely(var19
== NULL
)) {
819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
820 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
828 { /* Inline modelbuilder#ModelBuilder#toolcontext (var17) on <var17:ModelBuilder> */
829 var22
= var17
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var17:ModelBuilder> */
830 if (unlikely(var22
== NULL
)) {
831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
832 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
840 { /* Inline abstract_compiler#ToolContext#opt_no_shortcut_range (var20) on <var20:ToolContext> */
841 var25
= var20
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_shortcut_range
].val
; /* _opt_no_shortcut_range on <var20:ToolContext> */
842 if (unlikely(var25
== NULL
)) {
843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_shortcut_range");
844 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 44);
852 { /* Inline opts#Option#value (var23) on <var23:OptionBool> */
853 var28
= var23
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var23:OptionBool> */
858 var29
= ((struct instance_kernel__Bool
*)var26
)->value
; /* autounbox from nullable Object to Bool */;
866 var31
= parser_nodes__ARangeExpr__n_expr(var_nexpr
);
870 var33
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var31
, var32
);
874 var34
= parser_nodes__ARangeExpr__n_expr2(var_nexpr
);
878 var36
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var34
, var35
);
882 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
883 var39
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
889 PRINT_ERROR("Runtime error: %s", "Receiver is null");
890 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2430);
893 var40
= abstract_collection__SequenceRead__first(var37
);
896 var41
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var40
);
898 var_variable
= var41
;
900 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_variable
, var_from
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
905 var43
= "for(;;) { /* shortcut range */";
907 var45
= string__NativeString__to_s_with_length(var43
, var44
);
912 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var42
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
919 var50
= string__NativeString__to_s_with_length(var48
, var49
);
924 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_variable) on <var_variable:RuntimeVariable> */
925 var53
= var_variable
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_variable:RuntimeVariable> */
926 if (unlikely(var53
== NULL
)) {
927 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
928 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
936 var54
= abstract_compiler__AbstractCompilerVisitor__get_property(var_v
, var47
, var51
);
938 var55
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
941 array__Array__with_capacity(var55
, var56
); /* Direct call array#Array#with_capacity on <var55:Array[RuntimeVariable]>*/
945 array__AbstractArray__push(var_57
, var_variable
); /* Direct call array#AbstractArray#push on <var_57:Array[RuntimeVariable]>*/
948 array__AbstractArray__push(var_57
, var_to
); /* Direct call array#AbstractArray#push on <var_57:Array[RuntimeVariable]>*/
951 var58
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var54
, var_57
);
955 if (var_ok
== NULL
) {
956 var60
= 0; /* is null */
958 var60
= 1; /* arg is null and recv is not */
961 { /* Inline kernel#Object#!= (var_ok,var59) on <var_ok:nullable RuntimeVariable> */
964 var64
= ((short int (*)(val
*, val
*))(var_ok
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ok
, var_other
) /* == on <var_ok:nullable RuntimeVariable(RuntimeVariable)>*/;
974 if (unlikely(!var60
)) {
975 PRINT_ERROR("Runtime error: %s", "Assert failed");
976 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2436);
984 var70
= string__NativeString__to_s_with_length(var68
, var69
);
993 var75
= string__NativeString__to_s_with_length(var73
, var74
);
997 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
998 { /* var76 = array_instance Array[Object] */
1000 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
1001 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var67
;
1002 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var_ok
;
1003 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var72
;
1005 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
1009 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
1012 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var79
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1015 var80
= parser_nodes__AForExpr__n_block(self
);
1018 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1023 var83
= "CONTINUE_";
1025 var85
= string__NativeString__to_s_with_length(var83
, var84
);
1030 { /* Inline scope#AForExpr#escapemark (self) on <self:AForExpr> */
1031 var88
= self
->attrs
[COLOR_scope__AForExpr___escapemark
].val
; /* _escapemark on <self:AForExpr> */
1033 RET_LABEL87
:(void)0;
1037 var89
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var86
);
1042 var92
= ": (void)0;";
1044 var94
= string__NativeString__to_s_with_length(var92
, var93
);
1048 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
1049 { /* var95 = array_instance Array[Object] */
1051 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
1052 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var82
;
1053 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var89
;
1054 ((struct instance_array__NativeArray
*)var97
)->values
[2] = (val
*) var91
;
1056 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
1060 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
1063 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var98
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1070 var103
= string__NativeString__to_s_with_length(var101
, var102
);
1075 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_variable) on <var_variable:RuntimeVariable> */
1076 var106
= var_variable
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_variable:RuntimeVariable> */
1077 if (unlikely(var106
== NULL
)) {
1078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1079 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
1083 RET_LABEL105
:(void)0;
1087 var107
= abstract_compiler__AbstractCompilerVisitor__get_property(var_v
, var100
, var104
);
1089 var108
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1092 array__Array__with_capacity(var108
, var109
); /* Direct call array#Array#with_capacity on <var108:Array[RuntimeVariable]>*/
1096 array__AbstractArray__push(var_110
, var_variable
); /* Direct call array#AbstractArray#push on <var_110:Array[RuntimeVariable]>*/
1099 var111
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var107
, var_110
);
1103 if (var_succ
== NULL
) {
1104 var113
= 0; /* is null */
1106 var113
= 1; /* arg is null and recv is not */
1109 { /* Inline kernel#Object#!= (var_succ,var112) on <var_succ:nullable RuntimeVariable> */
1112 var117
= ((short int (*)(val
*, val
*))(var_succ
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_succ
, var_other
) /* == on <var_succ:nullable RuntimeVariable(RuntimeVariable)>*/;
1118 RET_LABEL115
:(void)0;
1122 if (unlikely(!var113
)) {
1123 PRINT_ERROR("Runtime error: %s", "Assert failed");
1124 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2443);
1128 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_variable
, var_succ
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1131 var120
= varonce119
;
1135 var123
= string__NativeString__to_s_with_length(var121
, var122
);
1137 varonce119
= var120
;
1140 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1143 var125
= varonce124
;
1147 var128
= string__NativeString__to_s_with_length(var126
, var127
);
1149 varonce124
= var125
;
1152 { /* Inline scope#AForExpr#escapemark (self) on <self:AForExpr> */
1153 var131
= self
->attrs
[COLOR_scope__AForExpr___escapemark
].val
; /* _escapemark on <self:AForExpr> */
1155 RET_LABEL130
:(void)0;
1159 var132
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var129
);
1162 var134
= varonce133
;
1164 var135
= ": (void)0;";
1166 var137
= string__NativeString__to_s_with_length(var135
, var136
);
1168 varonce133
= var134
;
1170 var138
= NEW_array__Array(&type_array__Arraykernel__Object
);
1171 { /* var138 = array_instance Array[Object] */
1173 var140
= NEW_array__NativeArray(var139
, &type_array__NativeArraykernel__Object
);
1174 ((struct instance_array__NativeArray
*)var140
)->values
[0] = (val
*) var125
;
1175 ((struct instance_array__NativeArray
*)var140
)->values
[1] = (val
*) var132
;
1176 ((struct instance_array__NativeArray
*)var140
)->values
[2] = (val
*) var134
;
1178 ((void (*)(val
*, val
*, long))(var138
->class->vft
[COLOR_array__Array__with_native
]))(var138
, var140
, var139
) /* with_native on <var138:Array[Object]>*/;
1182 var141
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_string__Object__to_s
]))(var138
) /* to_s on <var138:Array[Object]>*/;
1185 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var141
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1191 var142
= parser_nodes__AForExpr__n_expr(self
);
1195 var144
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var142
, var143
);
1199 { /* Inline typing#AForExpr#method_iterator (self) on <self:AForExpr> */
1200 var147
= self
->attrs
[COLOR_typing__AForExpr___method_iterator
].val
; /* _method_iterator on <self:AForExpr> */
1202 RET_LABEL146
:(void)0;
1205 var_it_meth
= var145
;
1207 if (var_it_meth
== NULL
) {
1208 var149
= 0; /* is null */
1210 var149
= 1; /* arg is null and recv is not */
1213 { /* Inline kernel#Object#!= (var_it_meth,var148) on <var_it_meth:nullable CallSite> */
1216 var153
= ((short int (*)(val
*, val
*))(var_it_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_it_meth
, var_other
) /* == on <var_it_meth:nullable CallSite(CallSite)>*/;
1222 RET_LABEL151
:(void)0;
1226 if (unlikely(!var149
)) {
1227 PRINT_ERROR("Runtime error: %s", "Assert failed");
1228 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2452);
1231 var155
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1234 array__Array__with_capacity(var155
, var156
); /* Direct call array#Array#with_capacity on <var155:Array[RuntimeVariable]>*/
1238 array__AbstractArray__push(var_157
, var_cl
); /* Direct call array#AbstractArray#push on <var_157:Array[RuntimeVariable]>*/
1241 var158
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_it_meth
, var_157
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1245 if (var_it
== NULL
) {
1246 var160
= 0; /* is null */
1248 var160
= 1; /* arg is null and recv is not */
1251 { /* Inline kernel#Object#!= (var_it,var159) on <var_it:nullable RuntimeVariable> */
1254 var164
= ((short int (*)(val
*, val
*))(var_it
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_it
, var_other
) /* == on <var_it:nullable RuntimeVariable(RuntimeVariable)>*/;
1260 RET_LABEL162
:(void)0;
1264 if (unlikely(!var160
)) {
1265 PRINT_ERROR("Runtime error: %s", "Assert failed");
1266 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2454);
1270 var167
= varonce166
;
1272 var168
= "for(;;) {";
1274 var170
= string__NativeString__to_s_with_length(var168
, var169
);
1276 varonce166
= var167
;
1279 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var167
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1282 { /* Inline typing#AForExpr#method_is_ok (self) on <self:AForExpr> */
1283 var173
= self
->attrs
[COLOR_typing__AForExpr___method_is_ok
].val
; /* _method_is_ok on <self:AForExpr> */
1285 RET_LABEL172
:(void)0;
1288 var_isok_meth
= var171
;
1290 if (var_isok_meth
== NULL
) {
1291 var175
= 0; /* is null */
1293 var175
= 1; /* arg is null and recv is not */
1296 { /* Inline kernel#Object#!= (var_isok_meth,var174) on <var_isok_meth:nullable CallSite> */
1299 var179
= ((short int (*)(val
*, val
*))(var_isok_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_isok_meth
, var_other
) /* == on <var_isok_meth:nullable CallSite(CallSite)>*/;
1305 RET_LABEL177
:(void)0;
1309 if (unlikely(!var175
)) {
1310 PRINT_ERROR("Runtime error: %s", "Assert failed");
1311 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2457);
1314 var181
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1317 array__Array__with_capacity(var181
, var182
); /* Direct call array#Array#with_capacity on <var181:Array[RuntimeVariable]>*/
1321 array__AbstractArray__push(var_183
, var_it
); /* Direct call array#AbstractArray#push on <var_183:Array[RuntimeVariable]>*/
1324 var184
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_isok_meth
, var_183
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1328 if (var_ok185
== NULL
) {
1329 var187
= 0; /* is null */
1331 var187
= 1; /* arg is null and recv is not */
1334 { /* Inline kernel#Object#!= (var_ok185,var186) on <var_ok185:nullable RuntimeVariable> */
1337 var191
= ((short int (*)(val
*, val
*))(var_ok185
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ok185
, var_other
) /* == on <var_ok185:nullable RuntimeVariable(RuntimeVariable)>*/;
1343 RET_LABEL189
:(void)0;
1347 if (unlikely(!var187
)) {
1348 PRINT_ERROR("Runtime error: %s", "Assert failed");
1349 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2459);
1353 var194
= varonce193
;
1357 var197
= string__NativeString__to_s_with_length(var195
, var196
);
1359 varonce193
= var194
;
1362 var199
= varonce198
;
1364 var200
= ") break;";
1366 var202
= string__NativeString__to_s_with_length(var200
, var201
);
1368 varonce198
= var199
;
1370 var203
= NEW_array__Array(&type_array__Arraykernel__Object
);
1371 { /* var203 = array_instance Array[Object] */
1373 var205
= NEW_array__NativeArray(var204
, &type_array__NativeArraykernel__Object
);
1374 ((struct instance_array__NativeArray
*)var205
)->values
[0] = (val
*) var194
;
1375 ((struct instance_array__NativeArray
*)var205
)->values
[1] = (val
*) var_ok185
;
1376 ((struct instance_array__NativeArray
*)var205
)->values
[2] = (val
*) var199
;
1378 ((void (*)(val
*, val
*, long))(var203
->class->vft
[COLOR_array__Array__with_native
]))(var203
, var205
, var204
) /* with_native on <var203:Array[Object]>*/;
1382 var206
= ((val
* (*)(val
*))(var203
->class->vft
[COLOR_string__Object__to_s
]))(var203
) /* to_s on <var203:Array[Object]>*/;
1385 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var206
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1388 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1389 var209
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1391 RET_LABEL208
:(void)0;
1394 if (var207
== NULL
) {
1395 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1396 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2461);
1399 var210
= array__AbstractArrayRead__length(var207
);
1403 { /* Inline kernel#Int#== (var210,var211) on <var210:Int> */
1404 var215
= var210
== var211
;
1407 RET_LABEL214
:(void)0;
1413 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
1414 var218
= self
->attrs
[COLOR_typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
1416 RET_LABEL217
:(void)0;
1419 var_item_meth
= var216
;
1421 if (var_item_meth
== NULL
) {
1422 var220
= 0; /* is null */
1424 var220
= 1; /* arg is null and recv is not */
1427 { /* Inline kernel#Object#!= (var_item_meth,var219) on <var_item_meth:nullable CallSite> */
1430 var224
= ((short int (*)(val
*, val
*))(var_item_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_item_meth
, var_other
) /* == on <var_item_meth:nullable CallSite(CallSite)>*/;
1436 RET_LABEL222
:(void)0;
1440 if (unlikely(!var220
)) {
1441 PRINT_ERROR("Runtime error: %s", "Assert failed");
1442 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2463);
1445 var226
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1448 array__Array__with_capacity(var226
, var227
); /* Direct call array#Array#with_capacity on <var226:Array[RuntimeVariable]>*/
1452 array__AbstractArray__push(var_228
, var_it
); /* Direct call array#AbstractArray#push on <var_228:Array[RuntimeVariable]>*/
1455 var229
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth
, var_228
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1459 if (var_i
== NULL
) {
1460 var231
= 0; /* is null */
1462 var231
= 1; /* arg is null and recv is not */
1465 { /* Inline kernel#Object#!= (var_i,var230) on <var_i:nullable RuntimeVariable> */
1468 var235
= ((short int (*)(val
*, val
*))(var_i
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i
, var_other
) /* == on <var_i:nullable RuntimeVariable(RuntimeVariable)>*/;
1474 RET_LABEL233
:(void)0;
1478 if (unlikely(!var231
)) {
1479 PRINT_ERROR("Runtime error: %s", "Assert failed");
1480 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2465);
1484 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1485 var239
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1487 RET_LABEL238
:(void)0;
1490 if (var237
== NULL
) {
1491 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1492 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2466);
1495 var240
= abstract_collection__SequenceRead__first(var237
);
1498 var241
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var240
);
1501 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var241
, var_i
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1505 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1506 var244
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1508 RET_LABEL243
:(void)0;
1511 if (var242
== NULL
) {
1512 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1513 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2467);
1516 var245
= array__AbstractArrayRead__length(var242
);
1520 { /* Inline kernel#Int#== (var245,var246) on <var245:Int> */
1521 var250
= var245
== var246
;
1524 RET_LABEL249
:(void)0;
1530 { /* Inline typing#AForExpr#method_key (self) on <self:AForExpr> */
1531 var253
= self
->attrs
[COLOR_typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
1533 RET_LABEL252
:(void)0;
1536 var_key_meth
= var251
;
1538 if (var_key_meth
== NULL
) {
1539 var255
= 0; /* is null */
1541 var255
= 1; /* arg is null and recv is not */
1544 { /* Inline kernel#Object#!= (var_key_meth,var254) on <var_key_meth:nullable CallSite> */
1547 var259
= ((short int (*)(val
*, val
*))(var_key_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_key_meth
, var_other
) /* == on <var_key_meth:nullable CallSite(CallSite)>*/;
1553 RET_LABEL257
:(void)0;
1557 if (unlikely(!var255
)) {
1558 PRINT_ERROR("Runtime error: %s", "Assert failed");
1559 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2469);
1562 var261
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1565 array__Array__with_capacity(var261
, var262
); /* Direct call array#Array#with_capacity on <var261:Array[RuntimeVariable]>*/
1569 array__AbstractArray__push(var_263
, var_it
); /* Direct call array#AbstractArray#push on <var_263:Array[RuntimeVariable]>*/
1572 var264
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_key_meth
, var_263
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1576 if (var_i265
== NULL
) {
1577 var267
= 0; /* is null */
1579 var267
= 1; /* arg is null and recv is not */
1582 { /* Inline kernel#Object#!= (var_i265,var266) on <var_i265:nullable RuntimeVariable> */
1585 var271
= ((short int (*)(val
*, val
*))(var_i265
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i265
, var_other
) /* == on <var_i265:nullable RuntimeVariable(RuntimeVariable)>*/;
1591 RET_LABEL269
:(void)0;
1595 if (unlikely(!var267
)) {
1596 PRINT_ERROR("Runtime error: %s", "Assert failed");
1597 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2471);
1601 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1602 var275
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1604 RET_LABEL274
:(void)0;
1608 if (var273
== NULL
) {
1609 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1610 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2472);
1613 var277
= array__Array___91d_93d(var273
, var276
);
1616 var278
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var277
);
1619 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var278
, var_i265
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1622 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
1623 var281
= self
->attrs
[COLOR_typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
1625 RET_LABEL280
:(void)0;
1628 var_item_meth282
= var279
;
1630 if (var_item_meth282
== NULL
) {
1631 var284
= 0; /* is null */
1633 var284
= 1; /* arg is null and recv is not */
1636 { /* Inline kernel#Object#!= (var_item_meth282,var283) on <var_item_meth282:nullable CallSite> */
1639 var288
= ((short int (*)(val
*, val
*))(var_item_meth282
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_item_meth282
, var_other
) /* == on <var_item_meth282:nullable CallSite(CallSite)>*/;
1645 RET_LABEL286
:(void)0;
1649 if (unlikely(!var284
)) {
1650 PRINT_ERROR("Runtime error: %s", "Assert failed");
1651 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2474);
1654 var290
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1657 array__Array__with_capacity(var290
, var291
); /* Direct call array#Array#with_capacity on <var290:Array[RuntimeVariable]>*/
1661 array__AbstractArray__push(var_292
, var_it
); /* Direct call array#AbstractArray#push on <var_292:Array[RuntimeVariable]>*/
1664 var293
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth282
, var_292
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1668 if (var_i265
== NULL
) {
1669 var295
= 0; /* is null */
1671 var295
= 1; /* arg is null and recv is not */
1674 { /* Inline kernel#Object#!= (var_i265,var294) on <var_i265:nullable RuntimeVariable> */
1677 var299
= ((short int (*)(val
*, val
*))(var_i265
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_i265
, var_other
) /* == on <var_i265:nullable RuntimeVariable(RuntimeVariable)>*/;
1683 RET_LABEL297
:(void)0;
1687 if (unlikely(!var295
)) {
1688 PRINT_ERROR("Runtime error: %s", "Assert failed");
1689 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2476);
1693 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1694 var303
= self
->attrs
[COLOR_scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1696 RET_LABEL302
:(void)0;
1700 if (var301
== NULL
) {
1701 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1702 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2477);
1705 var305
= array__Array___91d_93d(var301
, var304
);
1708 var306
= abstract_compiler__AbstractCompilerVisitor__variable(var_v
, var305
);
1711 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var306
, var_i265
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1714 PRINT_ERROR("Runtime error: %s", "Aborted");
1715 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2479);
1720 var307
= parser_nodes__AForExpr__n_block(self
);
1723 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var307
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1726 var309
= varonce308
;
1728 var310
= "CONTINUE_";
1730 var312
= string__NativeString__to_s_with_length(var310
, var311
);
1732 varonce308
= var309
;
1735 { /* Inline scope#AForExpr#escapemark (self) on <self:AForExpr> */
1736 var315
= self
->attrs
[COLOR_scope__AForExpr___escapemark
].val
; /* _escapemark on <self:AForExpr> */
1738 RET_LABEL314
:(void)0;
1742 var316
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var313
);
1745 var318
= varonce317
;
1747 var319
= ": (void)0;";
1749 var321
= string__NativeString__to_s_with_length(var319
, var320
);
1751 varonce317
= var318
;
1753 var322
= NEW_array__Array(&type_array__Arraykernel__Object
);
1754 { /* var322 = array_instance Array[Object] */
1756 var324
= NEW_array__NativeArray(var323
, &type_array__NativeArraykernel__Object
);
1757 ((struct instance_array__NativeArray
*)var324
)->values
[0] = (val
*) var309
;
1758 ((struct instance_array__NativeArray
*)var324
)->values
[1] = (val
*) var316
;
1759 ((struct instance_array__NativeArray
*)var324
)->values
[2] = (val
*) var318
;
1761 ((void (*)(val
*, val
*, long))(var322
->class->vft
[COLOR_array__Array__with_native
]))(var322
, var324
, var323
) /* with_native on <var322:Array[Object]>*/;
1765 var325
= ((val
* (*)(val
*))(var322
->class->vft
[COLOR_string__Object__to_s
]))(var322
) /* to_s on <var322:Array[Object]>*/;
1768 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var325
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1771 { /* Inline typing#AForExpr#method_next (self) on <self:AForExpr> */
1772 var328
= self
->attrs
[COLOR_typing__AForExpr___method_next
].val
; /* _method_next on <self:AForExpr> */
1774 RET_LABEL327
:(void)0;
1777 var_next_meth
= var326
;
1779 if (var_next_meth
== NULL
) {
1780 var330
= 0; /* is null */
1782 var330
= 1; /* arg is null and recv is not */
1785 { /* Inline kernel#Object#!= (var_next_meth,var329) on <var_next_meth:nullable CallSite> */
1788 var334
= ((short int (*)(val
*, val
*))(var_next_meth
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_next_meth
, var_other
) /* == on <var_next_meth:nullable CallSite(CallSite)>*/;
1794 RET_LABEL332
:(void)0;
1798 if (unlikely(!var330
)) {
1799 PRINT_ERROR("Runtime error: %s", "Assert failed");
1800 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2484);
1803 var336
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1806 array__Array__with_capacity(var336
, var337
); /* Direct call array#Array#with_capacity on <var336:Array[RuntimeVariable]>*/
1810 array__AbstractArray__push(var_338
, var_it
); /* Direct call array#AbstractArray#push on <var_338:Array[RuntimeVariable]>*/
1813 var339
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_next_meth
, var_338
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
1817 var341
= varonce340
;
1821 var344
= string__NativeString__to_s_with_length(var342
, var343
);
1823 varonce340
= var341
;
1826 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var341
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1829 var346
= varonce345
;
1833 var349
= string__NativeString__to_s_with_length(var347
, var348
);
1835 varonce345
= var346
;
1838 { /* Inline scope#AForExpr#escapemark (self) on <self:AForExpr> */
1839 var352
= self
->attrs
[COLOR_scope__AForExpr___escapemark
].val
; /* _escapemark on <self:AForExpr> */
1841 RET_LABEL351
:(void)0;
1845 var353
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(var_v
, var350
);
1848 var355
= varonce354
;
1850 var356
= ": (void)0;";
1852 var358
= string__NativeString__to_s_with_length(var356
, var357
);
1854 varonce354
= var355
;
1856 var359
= NEW_array__Array(&type_array__Arraykernel__Object
);
1857 { /* var359 = array_instance Array[Object] */
1859 var361
= NEW_array__NativeArray(var360
, &type_array__NativeArraykernel__Object
);
1860 ((struct instance_array__NativeArray
*)var361
)->values
[0] = (val
*) var346
;
1861 ((struct instance_array__NativeArray
*)var361
)->values
[1] = (val
*) var353
;
1862 ((struct instance_array__NativeArray
*)var361
)->values
[2] = (val
*) var355
;
1864 ((void (*)(val
*, val
*, long))(var359
->class->vft
[COLOR_array__Array__with_native
]))(var359
, var361
, var360
) /* with_native on <var359:Array[Object]>*/;
1868 var362
= ((val
* (*)(val
*))(var359
->class->vft
[COLOR_string__Object__to_s
]))(var359
) /* to_s on <var359:Array[Object]>*/;
1871 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var362
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1875 /* method abstract_compiler#AForExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1876 void VIRTUAL_abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
1877 abstract_compiler__AForExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AForExpr#stmt on <self:Object(AForExpr)>*/
1880 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
1881 void abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
1882 val
* var_v
/* var v: AbstractCompilerVisitor */;
1883 val
* var
/* : AbstractCompiler */;
1884 val
* var2
/* : AbstractCompiler */;
1885 val
* var3
/* : ModelBuilder */;
1886 val
* var5
/* : ModelBuilder */;
1887 val
* var6
/* : ToolContext */;
1888 val
* var8
/* : ToolContext */;
1889 val
* var9
/* : OptionBool */;
1890 val
* var11
/* : OptionBool */;
1891 val
* var12
/* : nullable Object */;
1892 val
* var14
/* : nullable Object */;
1893 short int var15
/* : Bool */;
1894 val
* var16
/* : AExpr */;
1895 val
* var17
/* : RuntimeVariable */;
1896 val
* var_cond
/* var cond: RuntimeVariable */;
1897 static val
* varonce
;
1898 val
* var18
/* : String */;
1899 char* var19
/* : NativeString */;
1900 long var20
/* : Int */;
1901 val
* var21
/* : FlatString */;
1902 static val
* varonce22
;
1903 val
* var23
/* : String */;
1904 char* var24
/* : NativeString */;
1905 long var25
/* : Int */;
1906 val
* var26
/* : FlatString */;
1907 val
* var27
/* : Array[Object] */;
1908 long var28
/* : Int */;
1909 val
* var29
/* : NativeArray[Object] */;
1910 val
* var30
/* : String */;
1911 val
* var31
/* : nullable AExpr */;
1912 val
* var32
/* : nullable TId */;
1913 val
* var_nid
/* var nid: nullable TId */;
1914 val
* var33
/* : null */;
1915 short int var34
/* : Bool */;
1916 short int var35
/* : Bool */;
1917 val
* var_other
/* var other: nullable Object */;
1918 short int var37
/* : Bool */;
1919 short int var38
/* : Bool */;
1920 short int var39
/* : Bool */;
1921 static val
* varonce40
;
1922 val
* var41
/* : String */;
1923 char* var42
/* : NativeString */;
1924 long var43
/* : Int */;
1925 val
* var44
/* : FlatString */;
1926 val
* var45
/* : String */;
1927 static val
* varonce46
;
1928 val
* var47
/* : String */;
1929 char* var48
/* : NativeString */;
1930 long var49
/* : Int */;
1931 val
* var50
/* : FlatString */;
1932 val
* var51
/* : Array[Object] */;
1933 long var52
/* : Int */;
1934 val
* var53
/* : NativeArray[Object] */;
1935 val
* var54
/* : String */;
1936 static val
* varonce55
;
1937 val
* var56
/* : String */;
1938 char* var57
/* : NativeString */;
1939 long var58
/* : Int */;
1940 val
* var59
/* : FlatString */;
1941 static val
* varonce60
;
1942 val
* var61
/* : String */;
1943 char* var62
/* : NativeString */;
1944 long var63
/* : Int */;
1945 val
* var64
/* : FlatString */;
1948 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1949 var2
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1950 if (unlikely(var2
== NULL
)) {
1951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1952 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1960 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
1961 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
1962 if (unlikely(var5
== NULL
)) {
1963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1964 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1972 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
1973 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
1974 if (unlikely(var8
== NULL
)) {
1975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1976 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1984 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var6) on <var6:ToolContext> */
1985 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var6:ToolContext> */
1986 if (unlikely(var11
== NULL
)) {
1987 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1988 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 50);
1992 RET_LABEL10
:(void)0;
1996 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
1997 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
1999 RET_LABEL13
:(void)0;
2002 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
2008 var16
= parser_nodes__AAssertExpr__n_expr(self
);
2011 var17
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var16
);
2017 var19
= "if (unlikely(!";
2019 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2028 var26
= string__NativeString__to_s_with_length(var24
, var25
);
2032 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
2033 { /* var27 = array_instance Array[Object] */
2035 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
2036 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var18
;
2037 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_cond
;
2038 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var23
;
2040 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
2044 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
2047 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2050 var31
= parser_nodes__AAssertExpr__n_else(self
);
2053 abstract_compiler__AbstractCompilerVisitor__stmt(var_v
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
2056 var32
= parser_nodes__AAssertExpr__n_id(self
);
2060 if (var_nid
== NULL
) {
2061 var34
= 0; /* is null */
2063 var34
= 1; /* arg is null and recv is not */
2066 { /* Inline kernel#Object#!= (var_nid,var33) on <var_nid:nullable TId> */
2069 var38
= ((short int (*)(val
*, val
*))(var_nid
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_nid
, var_other
) /* == on <var_nid:nullable TId(TId)>*/;
2075 RET_LABEL36
:(void)0;
2083 var42
= "Assert \'";
2085 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2090 var45
= lexer_work__Token__text(var_nid
);
2095 var48
= "\' failed";
2097 var50
= string__NativeString__to_s_with_length(var48
, var49
);
2101 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
2102 { /* var51 = array_instance Array[Object] */
2104 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
2105 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var41
;
2106 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var45
;
2107 ((struct instance_array__NativeArray
*)var53
)->values
[2] = (val
*) var47
;
2109 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
2113 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
2116 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
2122 var57
= "Assert failed";
2124 var59
= string__NativeString__to_s_with_length(var57
, var58
);
2129 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var56
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
2137 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2142 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2146 /* method abstract_compiler#AAssertExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2147 void VIRTUAL_abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
2148 abstract_compiler__AAssertExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AAssertExpr#stmt on <self:Object(AAssertExpr)>*/
2151 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2152 val
* abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
2153 val
* var
/* : nullable RuntimeVariable */;
2154 val
* var_v
/* var v: AbstractCompilerVisitor */;
2155 val
* var1
/* : nullable MType */;
2156 val
* var3
/* : nullable MType */;
2157 val
* var4
/* : RuntimeVariable */;
2158 val
* var_res
/* var res: RuntimeVariable */;
2159 val
* var5
/* : AExpr */;
2160 val
* var6
/* : RuntimeVariable */;
2161 val
* var_i1
/* var i1: RuntimeVariable */;
2162 static val
* varonce
;
2163 val
* var7
/* : String */;
2164 char* var8
/* : NativeString */;
2165 long var9
/* : Int */;
2166 val
* var10
/* : FlatString */;
2167 static val
* varonce11
;
2168 val
* var12
/* : String */;
2169 char* var13
/* : NativeString */;
2170 long var14
/* : Int */;
2171 val
* var15
/* : FlatString */;
2172 val
* var16
/* : Array[Object] */;
2173 long var17
/* : Int */;
2174 val
* var18
/* : NativeArray[Object] */;
2175 val
* var19
/* : String */;
2176 static val
* varonce20
;
2177 val
* var21
/* : String */;
2178 char* var22
/* : NativeString */;
2179 long var23
/* : Int */;
2180 val
* var24
/* : FlatString */;
2181 val
* var25
/* : Array[Object] */;
2182 long var26
/* : Int */;
2183 val
* var27
/* : NativeArray[Object] */;
2184 val
* var28
/* : String */;
2185 static val
* varonce29
;
2186 val
* var30
/* : String */;
2187 char* var31
/* : NativeString */;
2188 long var32
/* : Int */;
2189 val
* var33
/* : FlatString */;
2190 val
* var34
/* : AExpr */;
2191 val
* var35
/* : RuntimeVariable */;
2192 val
* var_i2
/* var i2: RuntimeVariable */;
2193 static val
* varonce36
;
2194 val
* var37
/* : String */;
2195 char* var38
/* : NativeString */;
2196 long var39
/* : Int */;
2197 val
* var40
/* : FlatString */;
2198 static val
* varonce41
;
2199 val
* var42
/* : String */;
2200 char* var43
/* : NativeString */;
2201 long var44
/* : Int */;
2202 val
* var45
/* : FlatString */;
2203 val
* var46
/* : Array[Object] */;
2204 long var47
/* : Int */;
2205 val
* var48
/* : NativeArray[Object] */;
2206 val
* var49
/* : String */;
2207 static val
* varonce50
;
2208 val
* var51
/* : String */;
2209 char* var52
/* : NativeString */;
2210 long var53
/* : Int */;
2211 val
* var54
/* : FlatString */;
2214 { /* Inline typing#AExpr#mtype (self) on <self:AOrExpr> */
2215 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrExpr> */
2220 if (unlikely(var1
== NULL
)) {
2221 PRINT_ERROR("Runtime error: %s", "Cast failed");
2222 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2512);
2226 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
2230 var5
= parser_nodes__AOrExpr__n_expr(self
);
2233 var6
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
2241 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2250 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2254 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
2255 { /* var16 = array_instance Array[Object] */
2257 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
2258 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
2259 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
2260 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2262 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2266 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2269 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2276 var24
= string__NativeString__to_s_with_length(var22
, var23
);
2280 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
2281 { /* var25 = array_instance Array[Object] */
2283 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
2284 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_res
;
2285 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var21
;
2287 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
2291 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
2294 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2301 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2306 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2309 var34
= parser_nodes__AOrExpr__n_expr2(self
);
2312 var35
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var34
);
2320 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2329 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2333 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
2334 { /* var46 = array_instance Array[Object] */
2336 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
2337 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
2338 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var37
;
2339 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_i2
;
2340 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var42
;
2342 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
2346 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
2349 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2356 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2361 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var51
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2368 /* method abstract_compiler#AOrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2369 val
* VIRTUAL_abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
2370 val
* var
/* : nullable RuntimeVariable */;
2371 val
* var1
/* : nullable RuntimeVariable */;
2372 var1
= abstract_compiler__AOrExpr__expr(self
, p0
);
2377 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2378 val
* abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2379 val
* var
/* : nullable RuntimeVariable */;
2380 val
* var_v
/* var v: AbstractCompilerVisitor */;
2381 val
* var1
/* : nullable MType */;
2382 val
* var3
/* : nullable MType */;
2383 val
* var4
/* : RuntimeVariable */;
2384 val
* var_res
/* var res: RuntimeVariable */;
2385 val
* var5
/* : AExpr */;
2386 val
* var6
/* : RuntimeVariable */;
2387 val
* var_i1
/* var i1: RuntimeVariable */;
2388 static val
* varonce
;
2389 val
* var7
/* : String */;
2390 char* var8
/* : NativeString */;
2391 long var9
/* : Int */;
2392 val
* var10
/* : FlatString */;
2393 static val
* varonce11
;
2394 val
* var12
/* : String */;
2395 char* var13
/* : NativeString */;
2396 long var14
/* : Int */;
2397 val
* var15
/* : FlatString */;
2398 val
* var16
/* : Array[Object] */;
2399 long var17
/* : Int */;
2400 val
* var18
/* : NativeArray[Object] */;
2401 val
* var19
/* : String */;
2402 static val
* varonce20
;
2403 val
* var21
/* : String */;
2404 char* var22
/* : NativeString */;
2405 long var23
/* : Int */;
2406 val
* var24
/* : FlatString */;
2407 val
* var25
/* : Array[Object] */;
2408 long var26
/* : Int */;
2409 val
* var27
/* : NativeArray[Object] */;
2410 val
* var28
/* : String */;
2411 static val
* varonce29
;
2412 val
* var30
/* : String */;
2413 char* var31
/* : NativeString */;
2414 long var32
/* : Int */;
2415 val
* var33
/* : FlatString */;
2416 val
* var34
/* : AExpr */;
2417 val
* var35
/* : RuntimeVariable */;
2418 val
* var_i2
/* var i2: RuntimeVariable */;
2419 static val
* varonce36
;
2420 val
* var37
/* : String */;
2421 char* var38
/* : NativeString */;
2422 long var39
/* : Int */;
2423 val
* var40
/* : FlatString */;
2424 static val
* varonce41
;
2425 val
* var42
/* : String */;
2426 char* var43
/* : NativeString */;
2427 long var44
/* : Int */;
2428 val
* var45
/* : FlatString */;
2429 val
* var46
/* : Array[Object] */;
2430 long var47
/* : Int */;
2431 val
* var48
/* : NativeArray[Object] */;
2432 val
* var49
/* : String */;
2433 static val
* varonce50
;
2434 val
* var51
/* : String */;
2435 char* var52
/* : NativeString */;
2436 long var53
/* : Int */;
2437 val
* var54
/* : FlatString */;
2440 { /* Inline typing#AExpr#mtype (self) on <self:AImpliesExpr> */
2441 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AImpliesExpr> */
2446 if (unlikely(var1
== NULL
)) {
2447 PRINT_ERROR("Runtime error: %s", "Cast failed");
2448 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2527);
2452 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
2456 var5
= parser_nodes__AImpliesExpr__n_expr(self
);
2459 var6
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
2467 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2476 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2480 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
2481 { /* var16 = array_instance Array[Object] */
2483 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
2484 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
2485 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
2486 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2488 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2492 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2495 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2502 var24
= string__NativeString__to_s_with_length(var22
, var23
);
2506 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
2507 { /* var25 = array_instance Array[Object] */
2509 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
2510 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_res
;
2511 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var21
;
2513 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
2517 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
2520 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2527 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2532 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2535 var34
= parser_nodes__AImpliesExpr__n_expr2(self
);
2538 var35
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var34
);
2546 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2555 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2559 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
2560 { /* var46 = array_instance Array[Object] */
2562 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
2563 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
2564 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var37
;
2565 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_i2
;
2566 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var42
;
2568 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
2572 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
2575 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2582 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2587 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var51
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2594 /* method abstract_compiler#AImpliesExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2595 val
* VIRTUAL_abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2596 val
* var
/* : nullable RuntimeVariable */;
2597 val
* var1
/* : nullable RuntimeVariable */;
2598 var1
= abstract_compiler__AImpliesExpr__expr(self
, p0
);
2603 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2604 val
* abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2605 val
* var
/* : nullable RuntimeVariable */;
2606 val
* var_v
/* var v: AbstractCompilerVisitor */;
2607 val
* var1
/* : nullable MType */;
2608 val
* var3
/* : nullable MType */;
2609 val
* var4
/* : RuntimeVariable */;
2610 val
* var_res
/* var res: RuntimeVariable */;
2611 val
* var5
/* : AExpr */;
2612 val
* var6
/* : RuntimeVariable */;
2613 val
* var_i1
/* var i1: RuntimeVariable */;
2614 static val
* varonce
;
2615 val
* var7
/* : String */;
2616 char* var8
/* : NativeString */;
2617 long var9
/* : Int */;
2618 val
* var10
/* : FlatString */;
2619 static val
* varonce11
;
2620 val
* var12
/* : String */;
2621 char* var13
/* : NativeString */;
2622 long var14
/* : Int */;
2623 val
* var15
/* : FlatString */;
2624 val
* var16
/* : Array[Object] */;
2625 long var17
/* : Int */;
2626 val
* var18
/* : NativeArray[Object] */;
2627 val
* var19
/* : String */;
2628 static val
* varonce20
;
2629 val
* var21
/* : String */;
2630 char* var22
/* : NativeString */;
2631 long var23
/* : Int */;
2632 val
* var24
/* : FlatString */;
2633 val
* var25
/* : Array[Object] */;
2634 long var26
/* : Int */;
2635 val
* var27
/* : NativeArray[Object] */;
2636 val
* var28
/* : String */;
2637 static val
* varonce29
;
2638 val
* var30
/* : String */;
2639 char* var31
/* : NativeString */;
2640 long var32
/* : Int */;
2641 val
* var33
/* : FlatString */;
2642 val
* var34
/* : AExpr */;
2643 val
* var35
/* : RuntimeVariable */;
2644 val
* var_i2
/* var i2: RuntimeVariable */;
2645 static val
* varonce36
;
2646 val
* var37
/* : String */;
2647 char* var38
/* : NativeString */;
2648 long var39
/* : Int */;
2649 val
* var40
/* : FlatString */;
2650 static val
* varonce41
;
2651 val
* var42
/* : String */;
2652 char* var43
/* : NativeString */;
2653 long var44
/* : Int */;
2654 val
* var45
/* : FlatString */;
2655 val
* var46
/* : Array[Object] */;
2656 long var47
/* : Int */;
2657 val
* var48
/* : NativeArray[Object] */;
2658 val
* var49
/* : String */;
2659 static val
* varonce50
;
2660 val
* var51
/* : String */;
2661 char* var52
/* : NativeString */;
2662 long var53
/* : Int */;
2663 val
* var54
/* : FlatString */;
2666 { /* Inline typing#AExpr#mtype (self) on <self:AAndExpr> */
2667 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AAndExpr> */
2672 if (unlikely(var1
== NULL
)) {
2673 PRINT_ERROR("Runtime error: %s", "Cast failed");
2674 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2542);
2678 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
2682 var5
= parser_nodes__AAndExpr__n_expr(self
);
2685 var6
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var5
);
2693 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2702 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2706 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
2707 { /* var16 = array_instance Array[Object] */
2709 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
2710 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
2711 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
2712 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2714 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2718 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2721 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2728 var24
= string__NativeString__to_s_with_length(var22
, var23
);
2732 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
2733 { /* var25 = array_instance Array[Object] */
2735 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
2736 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_res
;
2737 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var21
;
2739 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
2743 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
2746 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2753 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2758 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2761 var34
= parser_nodes__AAndExpr__n_expr2(self
);
2764 var35
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var34
);
2772 var40
= string__NativeString__to_s_with_length(var38
, var39
);
2781 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2785 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
2786 { /* var46 = array_instance Array[Object] */
2788 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
2789 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
2790 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var37
;
2791 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_i2
;
2792 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var42
;
2794 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
2798 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
2801 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2808 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2813 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var51
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2820 /* method abstract_compiler#AAndExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2821 val
* VIRTUAL_abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2822 val
* var
/* : nullable RuntimeVariable */;
2823 val
* var1
/* : nullable RuntimeVariable */;
2824 var1
= abstract_compiler__AAndExpr__expr(self
, p0
);
2829 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2830 val
* abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2831 val
* var
/* : nullable RuntimeVariable */;
2832 val
* var_v
/* var v: AbstractCompilerVisitor */;
2833 val
* var1
/* : AExpr */;
2834 val
* var2
/* : RuntimeVariable */;
2835 val
* var_cond
/* var cond: RuntimeVariable */;
2836 static val
* varonce
;
2837 val
* var3
/* : String */;
2838 char* var4
/* : NativeString */;
2839 long var5
/* : Int */;
2840 val
* var6
/* : FlatString */;
2841 val
* var7
/* : Array[Object] */;
2842 long var8
/* : Int */;
2843 val
* var9
/* : NativeArray[Object] */;
2844 val
* var10
/* : String */;
2845 val
* var11
/* : nullable MType */;
2846 val
* var13
/* : nullable MType */;
2847 val
* var14
/* : RuntimeVariable */;
2850 var1
= parser_nodes__ANotExpr__n_expr(self
);
2853 var2
= abstract_compiler__AbstractCompilerVisitor__expr_bool(var_v
, var1
);
2861 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2865 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2866 { /* var7 = array_instance Array[Object] */
2868 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
2869 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var3
;
2870 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var_cond
;
2872 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
2876 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
2879 { /* Inline typing#AExpr#mtype (self) on <self:ANotExpr> */
2880 var13
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ANotExpr> */
2882 RET_LABEL12
:(void)0;
2885 if (unlikely(var11
== NULL
)) {
2886 PRINT_ERROR("Runtime error: %s", "Cast failed");
2887 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2558);
2891 var14
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var10
, var11
);
2898 /* method abstract_compiler#ANotExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2899 val
* VIRTUAL_abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2900 val
* var
/* : nullable RuntimeVariable */;
2901 val
* var1
/* : nullable RuntimeVariable */;
2902 var1
= abstract_compiler__ANotExpr__expr(self
, p0
);
2907 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2908 val
* abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2909 val
* var
/* : nullable RuntimeVariable */;
2910 val
* var_v
/* var v: AbstractCompilerVisitor */;
2911 val
* var1
/* : nullable MType */;
2912 val
* var3
/* : nullable MType */;
2913 val
* var4
/* : RuntimeVariable */;
2914 val
* var_res
/* var res: RuntimeVariable */;
2915 val
* var5
/* : AExpr */;
2916 val
* var6
/* : null */;
2917 val
* var7
/* : RuntimeVariable */;
2918 val
* var_i1
/* var i1: RuntimeVariable */;
2919 static val
* varonce
;
2920 val
* var8
/* : String */;
2921 char* var9
/* : NativeString */;
2922 long var10
/* : Int */;
2923 val
* var11
/* : FlatString */;
2924 static val
* varonce12
;
2925 val
* var13
/* : String */;
2926 char* var14
/* : NativeString */;
2927 long var15
/* : Int */;
2928 val
* var16
/* : FlatString */;
2929 val
* var17
/* : Array[Object] */;
2930 long var18
/* : Int */;
2931 val
* var19
/* : NativeArray[Object] */;
2932 val
* var20
/* : String */;
2933 static val
* varonce21
;
2934 val
* var22
/* : String */;
2935 char* var23
/* : NativeString */;
2936 long var24
/* : Int */;
2937 val
* var25
/* : FlatString */;
2938 val
* var26
/* : AExpr */;
2939 val
* var27
/* : null */;
2940 val
* var28
/* : RuntimeVariable */;
2941 val
* var_i2
/* var i2: RuntimeVariable */;
2942 static val
* varonce29
;
2943 val
* var30
/* : String */;
2944 char* var31
/* : NativeString */;
2945 long var32
/* : Int */;
2946 val
* var33
/* : FlatString */;
2949 { /* Inline typing#AExpr#mtype (self) on <self:AOrElseExpr> */
2950 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrElseExpr> */
2955 if (unlikely(var1
== NULL
)) {
2956 PRINT_ERROR("Runtime error: %s", "Cast failed");
2957 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2565);
2961 var4
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var1
);
2965 var5
= parser_nodes__AOrElseExpr__n_expr(self
);
2969 var7
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var5
, var6
);
2977 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2984 var14
= "!=NULL) {";
2986 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2990 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
2991 { /* var17 = array_instance Array[Object] */
2993 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
2994 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
2995 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_i1
;
2996 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
2998 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
3002 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
3005 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var20
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3008 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_res
, var_i1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
3015 var25
= string__NativeString__to_s_with_length(var23
, var24
);
3020 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3023 var26
= parser_nodes__AOrElseExpr__n_expr2(self
);
3027 var28
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var26
, var27
);
3031 abstract_compiler__AbstractCompilerVisitor__assign(var_v
, var_res
, var_i2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
3038 var33
= string__NativeString__to_s_with_length(var31
, var32
);
3043 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3050 /* method abstract_compiler#AOrElseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3051 val
* VIRTUAL_abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
3052 val
* var
/* : nullable RuntimeVariable */;
3053 val
* var1
/* : nullable RuntimeVariable */;
3054 var1
= abstract_compiler__AOrElseExpr__expr(self
, p0
);
3059 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3060 val
* abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
3061 val
* var
/* : nullable RuntimeVariable */;
3062 val
* var_v
/* var v: AbstractCompilerVisitor */;
3063 val
* var1
/* : nullable Int */;
3064 val
* var3
/* : nullable Int */;
3065 val
* var4
/* : String */;
3066 long var5
/* : Int */;
3067 val
* var6
/* : Array[Object] */;
3068 long var7
/* : Int */;
3069 val
* var8
/* : NativeArray[Object] */;
3070 val
* var9
/* : String */;
3071 val
* var10
/* : nullable MType */;
3072 val
* var12
/* : nullable MType */;
3073 val
* var13
/* : RuntimeVariable */;
3076 { /* Inline literal#AIntExpr#value (self) on <self:AIntExpr> */
3077 var3
= self
->attrs
[COLOR_literal__AIntExpr___value
].val
; /* _value on <self:AIntExpr> */
3083 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3084 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2578);
3087 var5
= ((struct instance_kernel__Int
*)var1
)->value
; /* autounbox from nullable Int to Int */;
3088 var4
= string__Int__to_s(var5
);
3090 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
3091 { /* var6 = array_instance Array[Object] */
3093 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArraykernel__Object
);
3094 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var4
;
3096 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[Object]>*/;
3100 var9
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__Object__to_s
]))(var6
) /* to_s on <var6:Array[Object]>*/;
3103 { /* Inline typing#AExpr#mtype (self) on <self:AIntExpr> */
3104 var12
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AIntExpr> */
3106 RET_LABEL11
:(void)0;
3109 if (unlikely(var10
== NULL
)) {
3110 PRINT_ERROR("Runtime error: %s", "Cast failed");
3111 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2578);
3115 var13
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var9
, var10
);
3122 /* method abstract_compiler#AIntExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3123 val
* VIRTUAL_abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
3124 val
* var
/* : nullable RuntimeVariable */;
3125 val
* var1
/* : nullable RuntimeVariable */;
3126 var1
= abstract_compiler__AIntExpr__expr(self
, p0
);
3131 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3132 val
* abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
3133 val
* var
/* : nullable RuntimeVariable */;
3134 val
* var_v
/* var v: AbstractCompilerVisitor */;
3135 val
* var1
/* : TFloat */;
3136 val
* var2
/* : String */;
3137 val
* var3
/* : Array[Object] */;
3138 long var4
/* : Int */;
3139 val
* var5
/* : NativeArray[Object] */;
3140 val
* var6
/* : String */;
3141 val
* var7
/* : nullable MType */;
3142 val
* var9
/* : nullable MType */;
3143 val
* var10
/* : RuntimeVariable */;
3146 var1
= parser_nodes__AFloatExpr__n_float(self
);
3149 var2
= lexer_work__Token__text(var1
);
3151 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3152 { /* var3 = array_instance Array[Object] */
3154 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
3155 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
3157 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
3161 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
3164 { /* Inline typing#AExpr#mtype (self) on <self:AFloatExpr> */
3165 var9
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AFloatExpr> */
3170 if (unlikely(var7
== NULL
)) {
3171 PRINT_ERROR("Runtime error: %s", "Cast failed");
3172 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2582);
3176 var10
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var6
, var7
);
3183 /* method abstract_compiler#AFloatExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3184 val
* VIRTUAL_abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
3185 val
* var
/* : nullable RuntimeVariable */;
3186 val
* var1
/* : nullable RuntimeVariable */;
3187 var1
= abstract_compiler__AFloatExpr__expr(self
, p0
);
3192 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3193 val
* abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
3194 val
* var
/* : nullable RuntimeVariable */;
3195 val
* var_v
/* var v: AbstractCompilerVisitor */;
3196 static val
* varonce
;
3197 val
* var1
/* : String */;
3198 char* var2
/* : NativeString */;
3199 long var3
/* : Int */;
3200 val
* var4
/* : FlatString */;
3201 val
* var5
/* : nullable Char */;
3202 val
* var7
/* : nullable Char */;
3203 val
* var8
/* : String */;
3204 char var9
/* : Char */;
3205 val
* var10
/* : String */;
3206 static val
* varonce11
;
3207 val
* var12
/* : String */;
3208 char* var13
/* : NativeString */;
3209 long var14
/* : Int */;
3210 val
* var15
/* : FlatString */;
3211 val
* var16
/* : Array[Object] */;
3212 long var17
/* : Int */;
3213 val
* var18
/* : NativeArray[Object] */;
3214 val
* var19
/* : String */;
3215 val
* var20
/* : nullable MType */;
3216 val
* var22
/* : nullable MType */;
3217 val
* var23
/* : RuntimeVariable */;
3224 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3229 { /* Inline literal#ACharExpr#value (self) on <self:ACharExpr> */
3230 var7
= self
->attrs
[COLOR_literal__ACharExpr___value
].val
; /* _value on <self:ACharExpr> */
3236 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3237 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2586);
3240 var9
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Char to Char */;
3241 var8
= string__Char__to_s(var9
);
3244 var10
= string__Text__escape_to_c(var8
);
3251 var15
= string__NativeString__to_s_with_length(var13
, var14
);
3255 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
3256 { /* var16 = array_instance Array[Object] */
3258 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
3259 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
3260 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var10
;
3261 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
3263 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
3267 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
3270 { /* Inline typing#AExpr#mtype (self) on <self:ACharExpr> */
3271 var22
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ACharExpr> */
3273 RET_LABEL21
:(void)0;
3276 if (unlikely(var20
== NULL
)) {
3277 PRINT_ERROR("Runtime error: %s", "Cast failed");
3278 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2586);
3282 var23
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var19
, var20
);
3289 /* method abstract_compiler#ACharExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3290 val
* VIRTUAL_abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
3291 val
* var
/* : nullable RuntimeVariable */;
3292 val
* var1
/* : nullable RuntimeVariable */;
3293 var1
= abstract_compiler__ACharExpr__expr(self
, p0
);
3298 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3299 val
* abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
3300 val
* var
/* : nullable RuntimeVariable */;
3301 val
* var_v
/* var v: AbstractCompilerVisitor */;
3302 val
* var1
/* : nullable MType */;
3303 val
* var3
/* : nullable MType */;
3304 short int var4
/* : Bool */;
3307 const char* var_class_name
;
3308 val
* var5
/* : Array[MType] */;
3309 val
* var7
/* : Array[MType] */;
3310 val
* var8
/* : nullable Object */;
3311 val
* var_mtype
/* var mtype: MType */;
3312 val
* var9
/* : Array[RuntimeVariable] */;
3313 val
* var_array
/* var array: Array[RuntimeVariable] */;
3314 val
* var10
/* : AExprs */;
3315 val
* var11
/* : ANodes[AExpr] */;
3316 val
* var13
/* : ANodes[AExpr] */;
3317 val
* var14
/* : Iterator[ANode] */;
3318 short int var15
/* : Bool */;
3319 val
* var16
/* : nullable Object */;
3320 val
* var_nexpr
/* var nexpr: AExpr */;
3321 val
* var17
/* : RuntimeVariable */;
3322 val
* var_i
/* var i: RuntimeVariable */;
3323 val
* var18
/* : RuntimeVariable */;
3326 { /* Inline typing#AExpr#mtype (self) on <self:AArrayExpr> */
3327 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AArrayExpr> */
3332 /* <var1:nullable MType> isa MClassType */
3333 cltype
= type_model__MClassType
.color
;
3334 idtype
= type_model__MClassType
.id
;
3338 if(cltype
>= var1
->type
->table_size
) {
3341 var4
= var1
->type
->type_table
[cltype
] == idtype
;
3344 if (unlikely(!var4
)) {
3345 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
3346 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3347 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2592);
3351 { /* Inline model#MClassType#arguments (var1) on <var1:nullable MType(MClassType)> */
3352 var7
= var1
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var1:nullable MType(MClassType)> */
3353 if (unlikely(var7
== NULL
)) {
3354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3355 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 979);
3363 var8
= abstract_collection__SequenceRead__first(var5
);
3366 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3368 array__Array__init(var9
); /* Direct call array#Array#init on <var9:Array[RuntimeVariable]>*/
3372 var10
= parser_nodes__AArrayExpr__n_exprs(self
);
3375 { /* Inline parser_nodes#AExprs#n_exprs (var10) on <var10:AExprs> */
3376 var13
= var10
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var10:AExprs> */
3377 if (unlikely(var13
== NULL
)) {
3378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3379 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
3383 RET_LABEL12
:(void)0;
3387 var14
= parser_nodes__ANodes__iterator(var11
);
3391 var15
= ((short int (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var14
) /* is_ok on <var14:Iterator[ANode]>*/;
3395 var16
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var14
) /* item on <var14:Iterator[ANode]>*/;
3399 var17
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_nexpr
, var_mtype
);
3403 array__Array__add(var_array
, var_i
); /* Direct call array#Array#add on <var_array:Array[RuntimeVariable]>*/
3405 CONTINUE_label
: (void)0;
3407 ((void (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var14
) /* next on <var14:Iterator[ANode]>*/;
3410 BREAK_label
: (void)0;
3412 var18
= separate_compiler__SeparateCompilerVisitor__array_instance(var_v
, var_array
, var_mtype
);
3419 /* method abstract_compiler#AArrayExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3420 val
* VIRTUAL_abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
3421 val
* var
/* : nullable RuntimeVariable */;
3422 val
* var1
/* : nullable RuntimeVariable */;
3423 var1
= abstract_compiler__AArrayExpr__expr(self
, p0
);
3428 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3429 val
* abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
3430 val
* var
/* : nullable RuntimeVariable */;
3431 val
* var_v
/* var v: AbstractCompilerVisitor */;
3432 val
* var1
/* : nullable String */;
3433 val
* var3
/* : nullable String */;
3434 val
* var4
/* : RuntimeVariable */;
3437 { /* Inline literal#AStringFormExpr#value (self) on <self:AStringFormExpr> */
3438 var3
= self
->attrs
[COLOR_literal__AStringFormExpr___value
].val
; /* _value on <self:AStringFormExpr> */
3443 if (unlikely(var1
== NULL
)) {
3444 PRINT_ERROR("Runtime error: %s", "Cast failed");
3445 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2603);
3449 var4
= abstract_compiler__AbstractCompilerVisitor__string_instance(var_v
, var1
);
3456 /* method abstract_compiler#AStringFormExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3457 val
* VIRTUAL_abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
3458 val
* var
/* : nullable RuntimeVariable */;
3459 val
* var1
/* : nullable RuntimeVariable */;
3460 var1
= abstract_compiler__AStringFormExpr__expr(self
, p0
);
3465 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3466 val
* abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
3467 val
* var
/* : nullable RuntimeVariable */;
3468 val
* var_v
/* var v: AbstractCompilerVisitor */;
3469 val
* var1
/* : Array[RuntimeVariable] */;
3470 val
* var_array
/* var array: Array[RuntimeVariable] */;
3471 val
* var2
/* : ANodes[AExpr] */;
3472 val
* var4
/* : ANodes[AExpr] */;
3473 val
* var5
/* : Iterator[ANode] */;
3474 short int var6
/* : Bool */;
3475 val
* var7
/* : nullable Object */;
3476 val
* var_ne
/* var ne: AExpr */;
3477 short int var8
/* : Bool */;
3478 short int var9
/* : Bool */;
3481 short int var_
/* var : Bool */;
3482 val
* var10
/* : nullable String */;
3483 val
* var12
/* : nullable String */;
3484 static val
* varonce
;
3485 val
* var13
/* : String */;
3486 char* var14
/* : NativeString */;
3487 long var15
/* : Int */;
3488 val
* var16
/* : FlatString */;
3489 short int var17
/* : Bool */;
3490 short int var18
/* : Bool */;
3491 val
* var19
/* : null */;
3492 val
* var20
/* : RuntimeVariable */;
3493 val
* var_i
/* var i: RuntimeVariable */;
3494 val
* var21
/* : MClassType */;
3495 val
* var22
/* : RuntimeVariable */;
3496 val
* var_a
/* var a: RuntimeVariable */;
3497 static val
* varonce23
;
3498 val
* var24
/* : String */;
3499 char* var25
/* : NativeString */;
3500 long var26
/* : Int */;
3501 val
* var27
/* : FlatString */;
3502 val
* var28
/* : MType */;
3503 val
* var30
/* : MType */;
3504 val
* var31
/* : MMethod */;
3505 val
* var32
/* : Array[RuntimeVariable] */;
3506 long var33
/* : Int */;
3507 val
* var_34
/* var : Array[RuntimeVariable] */;
3508 val
* var35
/* : nullable RuntimeVariable */;
3509 val
* var_res
/* var res: nullable RuntimeVariable */;
3511 var1
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3513 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[RuntimeVariable]>*/
3517 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
3518 var4
= self
->attrs
[COLOR_parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
3519 if (unlikely(var4
== NULL
)) {
3520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3521 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2180);
3529 var5
= parser_nodes__ANodes__iterator(var2
);
3533 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[ANode]>*/;
3537 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[ANode]>*/;
3540 /* <var_ne:AExpr> isa AStringFormExpr */
3541 cltype
= type_parser_nodes__AStringFormExpr
.color
;
3542 idtype
= type_parser_nodes__AStringFormExpr
.id
;
3543 if(cltype
>= var_ne
->type
->table_size
) {
3546 var9
= var_ne
->type
->type_table
[cltype
] == idtype
;
3551 { /* Inline literal#AStringFormExpr#value (var_ne) on <var_ne:AExpr(AStringFormExpr)> */
3552 var12
= var_ne
->attrs
[COLOR_literal__AStringFormExpr___value
].val
; /* _value on <var_ne:AExpr(AStringFormExpr)> */
3554 RET_LABEL11
:(void)0;
3562 var16
= string__NativeString__to_s_with_length(var14
, var15
);
3566 if (var10
== NULL
) {
3567 var17
= 0; /* <var13:String> cannot be null */
3569 var18
= string__FlatString___61d_61d(var10
, var13
);
3577 goto CONTINUE_label
;
3582 var20
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_ne
, var19
);
3586 array__Array__add(var_array
, var_i
); /* Direct call array#Array#add on <var_array:Array[RuntimeVariable]>*/
3588 CONTINUE_label
: (void)0;
3590 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[ANode]>*/;
3593 BREAK_label
: (void)0;
3595 var21
= abstract_compiler__AbstractCompilerVisitor__object_type(var_v
);
3598 var22
= separate_compiler__SeparateCompilerVisitor__array_instance(var_v
, var_array
, var21
);
3606 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3611 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_a) on <var_a:RuntimeVariable> */
3612 var30
= var_a
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_a:RuntimeVariable> */
3613 if (unlikely(var30
== NULL
)) {
3614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3615 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
3619 RET_LABEL29
:(void)0;
3623 var31
= abstract_compiler__AbstractCompilerVisitor__get_property(var_v
, var24
, var28
);
3625 var32
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3628 array__Array__with_capacity(var32
, var33
); /* Direct call array#Array#with_capacity on <var32:Array[RuntimeVariable]>*/
3632 array__AbstractArray__push(var_34
, var_a
); /* Direct call array#AbstractArray#push on <var_34:Array[RuntimeVariable]>*/
3635 var35
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var31
, var_34
);
3643 /* method abstract_compiler#ASuperstringExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3644 val
* VIRTUAL_abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
3645 val
* var
/* : nullable RuntimeVariable */;
3646 val
* var1
/* : nullable RuntimeVariable */;
3647 var1
= abstract_compiler__ASuperstringExpr__expr(self
, p0
);
3652 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3653 val
* abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3654 val
* var
/* : nullable RuntimeVariable */;
3655 val
* var_v
/* var v: AbstractCompilerVisitor */;
3656 val
* var1
/* : AExpr */;
3657 val
* var2
/* : null */;
3658 val
* var3
/* : RuntimeVariable */;
3659 val
* var_i1
/* var i1: RuntimeVariable */;
3660 val
* var4
/* : AExpr */;
3661 val
* var5
/* : null */;
3662 val
* var6
/* : RuntimeVariable */;
3663 val
* var_i2
/* var i2: RuntimeVariable */;
3664 val
* var7
/* : nullable MType */;
3665 val
* var9
/* : nullable MType */;
3666 short int var10
/* : Bool */;
3669 const char* var_class_name
;
3670 val
* var_mtype
/* var mtype: MClassType */;
3671 val
* var11
/* : RuntimeVariable */;
3672 val
* var_res
/* var res: RuntimeVariable */;
3673 val
* var12
/* : nullable CallSite */;
3674 val
* var14
/* : nullable CallSite */;
3675 val
* var15
/* : Array[RuntimeVariable] */;
3676 long var16
/* : Int */;
3677 val
* var_
/* var : Array[RuntimeVariable] */;
3678 val
* var17
/* : nullable RuntimeVariable */;
3679 val
* var_it
/* var it: nullable RuntimeVariable */;
3682 var1
= parser_nodes__ARangeExpr__n_expr(self
);
3686 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
3690 var4
= parser_nodes__ARangeExpr__n_expr2(self
);
3694 var6
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var4
, var5
);
3698 { /* Inline typing#AExpr#mtype (self) on <self:ACrangeExpr> */
3699 var9
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ACrangeExpr> */
3704 /* <var7:nullable MType> isa MClassType */
3705 cltype
= type_model__MClassType
.color
;
3706 idtype
= type_model__MClassType
.id
;
3710 if(cltype
>= var7
->type
->table_size
) {
3713 var10
= var7
->type
->type_table
[cltype
] == idtype
;
3716 if (unlikely(!var10
)) {
3717 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
3718 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3719 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2626);
3724 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3728 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:ACrangeExpr> */
3729 var14
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ACrangeExpr> */
3731 RET_LABEL13
:(void)0;
3734 if (unlikely(var12
== NULL
)) {
3735 PRINT_ERROR("Runtime error: %s", "Cast failed");
3736 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2628);
3739 var15
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3742 array__Array__with_capacity(var15
, var16
); /* Direct call array#Array#with_capacity on <var15:Array[RuntimeVariable]>*/
3746 array__AbstractArray__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3749 array__AbstractArray__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3752 array__AbstractArray__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3755 var17
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var12
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
3763 /* method abstract_compiler#ACrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3764 val
* VIRTUAL_abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3765 val
* var
/* : nullable RuntimeVariable */;
3766 val
* var1
/* : nullable RuntimeVariable */;
3767 var1
= abstract_compiler__ACrangeExpr__expr(self
, p0
);
3772 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3773 val
* abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3774 val
* var
/* : nullable RuntimeVariable */;
3775 val
* var_v
/* var v: AbstractCompilerVisitor */;
3776 val
* var1
/* : AExpr */;
3777 val
* var2
/* : null */;
3778 val
* var3
/* : RuntimeVariable */;
3779 val
* var_i1
/* var i1: RuntimeVariable */;
3780 val
* var4
/* : AExpr */;
3781 val
* var5
/* : null */;
3782 val
* var6
/* : RuntimeVariable */;
3783 val
* var_i2
/* var i2: RuntimeVariable */;
3784 val
* var7
/* : nullable MType */;
3785 val
* var9
/* : nullable MType */;
3786 short int var10
/* : Bool */;
3789 const char* var_class_name
;
3790 val
* var_mtype
/* var mtype: MClassType */;
3791 val
* var11
/* : RuntimeVariable */;
3792 val
* var_res
/* var res: RuntimeVariable */;
3793 val
* var12
/* : nullable CallSite */;
3794 val
* var14
/* : nullable CallSite */;
3795 val
* var15
/* : Array[RuntimeVariable] */;
3796 long var16
/* : Int */;
3797 val
* var_
/* var : Array[RuntimeVariable] */;
3798 val
* var17
/* : nullable RuntimeVariable */;
3799 val
* var_it
/* var it: nullable RuntimeVariable */;
3802 var1
= parser_nodes__ARangeExpr__n_expr(self
);
3806 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
3810 var4
= parser_nodes__ARangeExpr__n_expr2(self
);
3814 var6
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var4
, var5
);
3818 { /* Inline typing#AExpr#mtype (self) on <self:AOrangeExpr> */
3819 var9
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOrangeExpr> */
3824 /* <var7:nullable MType> isa MClassType */
3825 cltype
= type_model__MClassType
.color
;
3826 idtype
= type_model__MClassType
.id
;
3830 if(cltype
>= var7
->type
->table_size
) {
3833 var10
= var7
->type
->type_table
[cltype
] == idtype
;
3836 if (unlikely(!var10
)) {
3837 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
3838 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3839 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2638);
3844 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3848 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:AOrangeExpr> */
3849 var14
= self
->attrs
[COLOR_typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:AOrangeExpr> */
3851 RET_LABEL13
:(void)0;
3854 if (unlikely(var12
== NULL
)) {
3855 PRINT_ERROR("Runtime error: %s", "Cast failed");
3856 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2640);
3859 var15
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3862 array__Array__with_capacity(var15
, var16
); /* Direct call array#Array#with_capacity on <var15:Array[RuntimeVariable]>*/
3866 array__AbstractArray__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3869 array__AbstractArray__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3872 array__AbstractArray__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3875 var17
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var12
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
3883 /* method abstract_compiler#AOrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3884 val
* VIRTUAL_abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3885 val
* var
/* : nullable RuntimeVariable */;
3886 val
* var1
/* : nullable RuntimeVariable */;
3887 var1
= abstract_compiler__AOrangeExpr__expr(self
, p0
);
3892 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3893 val
* abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3894 val
* var
/* : nullable RuntimeVariable */;
3895 val
* var_v
/* var v: AbstractCompilerVisitor */;
3896 static val
* varonce
;
3897 val
* var1
/* : String */;
3898 char* var2
/* : NativeString */;
3899 long var3
/* : Int */;
3900 val
* var4
/* : FlatString */;
3901 val
* var5
/* : nullable MType */;
3902 val
* var7
/* : nullable MType */;
3903 val
* var8
/* : RuntimeVariable */;
3910 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3915 { /* Inline typing#AExpr#mtype (self) on <self:ATrueExpr> */
3916 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ATrueExpr> */
3921 if (unlikely(var5
== NULL
)) {
3922 PRINT_ERROR("Runtime error: %s", "Cast failed");
3923 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2646);
3927 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
3934 /* method abstract_compiler#ATrueExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3935 val
* VIRTUAL_abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3936 val
* var
/* : nullable RuntimeVariable */;
3937 val
* var1
/* : nullable RuntimeVariable */;
3938 var1
= abstract_compiler__ATrueExpr__expr(self
, p0
);
3943 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3944 val
* abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3945 val
* var
/* : nullable RuntimeVariable */;
3946 val
* var_v
/* var v: AbstractCompilerVisitor */;
3947 static val
* varonce
;
3948 val
* var1
/* : String */;
3949 char* var2
/* : NativeString */;
3950 long var3
/* : Int */;
3951 val
* var4
/* : FlatString */;
3952 val
* var5
/* : nullable MType */;
3953 val
* var7
/* : nullable MType */;
3954 val
* var8
/* : RuntimeVariable */;
3961 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3966 { /* Inline typing#AExpr#mtype (self) on <self:AFalseExpr> */
3967 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AFalseExpr> */
3972 if (unlikely(var5
== NULL
)) {
3973 PRINT_ERROR("Runtime error: %s", "Cast failed");
3974 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2650);
3978 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
3985 /* method abstract_compiler#AFalseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3986 val
* VIRTUAL_abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3987 val
* var
/* : nullable RuntimeVariable */;
3988 val
* var1
/* : nullable RuntimeVariable */;
3989 var1
= abstract_compiler__AFalseExpr__expr(self
, p0
);
3994 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3995 val
* abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3996 val
* var
/* : nullable RuntimeVariable */;
3997 val
* var_v
/* var v: AbstractCompilerVisitor */;
3998 static val
* varonce
;
3999 val
* var1
/* : String */;
4000 char* var2
/* : NativeString */;
4001 long var3
/* : Int */;
4002 val
* var4
/* : FlatString */;
4003 val
* var5
/* : nullable MType */;
4004 val
* var7
/* : nullable MType */;
4005 val
* var8
/* : RuntimeVariable */;
4012 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4017 { /* Inline typing#AExpr#mtype (self) on <self:ANullExpr> */
4018 var7
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ANullExpr> */
4023 if (unlikely(var5
== NULL
)) {
4024 PRINT_ERROR("Runtime error: %s", "Cast failed");
4025 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2654);
4029 var8
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var1
, var5
);
4036 /* method abstract_compiler#ANullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4037 val
* VIRTUAL_abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
4038 val
* var
/* : nullable RuntimeVariable */;
4039 val
* var1
/* : nullable RuntimeVariable */;
4040 var1
= abstract_compiler__ANullExpr__expr(self
, p0
);
4045 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4046 val
* abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
4047 val
* var
/* : nullable RuntimeVariable */;
4048 val
* var_v
/* var v: AbstractCompilerVisitor */;
4049 val
* var1
/* : AExpr */;
4050 val
* var2
/* : null */;
4051 val
* var3
/* : RuntimeVariable */;
4052 val
* var_i
/* var i: RuntimeVariable */;
4053 val
* var4
/* : nullable MType */;
4054 val
* var6
/* : nullable MType */;
4055 static val
* varonce
;
4056 val
* var7
/* : String */;
4057 char* var8
/* : NativeString */;
4058 long var9
/* : Int */;
4059 val
* var10
/* : FlatString */;
4060 val
* var11
/* : RuntimeVariable */;
4063 var1
= parser_nodes__AIsaExpr__n_expr(self
);
4067 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
4071 { /* Inline typing#AIsaExpr#cast_type (self) on <self:AIsaExpr> */
4072 var6
= self
->attrs
[COLOR_typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
4077 if (unlikely(var4
== NULL
)) {
4078 PRINT_ERROR("Runtime error: %s", "Cast failed");
4079 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2661);
4087 var10
= string__NativeString__to_s_with_length(var8
, var9
);
4092 var11
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var4
, var7
) /* type_test on <var_v:AbstractCompilerVisitor>*/;
4099 /* method abstract_compiler#AIsaExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4100 val
* VIRTUAL_abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
4101 val
* var
/* : nullable RuntimeVariable */;
4102 val
* var1
/* : nullable RuntimeVariable */;
4103 var1
= abstract_compiler__AIsaExpr__expr(self
, p0
);
4108 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4109 val
* abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
4110 val
* var
/* : nullable RuntimeVariable */;
4111 val
* var_v
/* var v: AbstractCompilerVisitor */;
4112 val
* var1
/* : AExpr */;
4113 val
* var2
/* : null */;
4114 val
* var3
/* : RuntimeVariable */;
4115 val
* var_i
/* var i: RuntimeVariable */;
4116 val
* var4
/* : AbstractCompiler */;
4117 val
* var6
/* : AbstractCompiler */;
4118 val
* var7
/* : ModelBuilder */;
4119 val
* var9
/* : ModelBuilder */;
4120 val
* var10
/* : ToolContext */;
4121 val
* var12
/* : ToolContext */;
4122 val
* var13
/* : OptionBool */;
4123 val
* var15
/* : OptionBool */;
4124 val
* var16
/* : nullable Object */;
4125 val
* var18
/* : nullable Object */;
4126 short int var19
/* : Bool */;
4127 val
* var20
/* : nullable MType */;
4128 val
* var22
/* : nullable MType */;
4129 static val
* varonce
;
4130 val
* var23
/* : String */;
4131 char* var24
/* : NativeString */;
4132 long var25
/* : Int */;
4133 val
* var26
/* : FlatString */;
4136 var1
= parser_nodes__AAsCastExpr__n_expr(self
);
4140 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
4144 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4145 var6
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
4146 if (unlikely(var6
== NULL
)) {
4147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4148 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4156 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var4) on <var4:AbstractCompiler> */
4157 var9
= var4
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var4:AbstractCompiler> */
4158 if (unlikely(var9
== NULL
)) {
4159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4160 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4168 { /* Inline modelbuilder#ModelBuilder#toolcontext (var7) on <var7:ModelBuilder> */
4169 var12
= var7
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var7:ModelBuilder> */
4170 if (unlikely(var12
== NULL
)) {
4171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4172 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4176 RET_LABEL11
:(void)0;
4180 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var10) on <var10:ToolContext> */
4181 var15
= var10
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var10:ToolContext> */
4182 if (unlikely(var15
== NULL
)) {
4183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
4184 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 50);
4188 RET_LABEL14
:(void)0;
4192 { /* Inline opts#Option#value (var13) on <var13:OptionBool> */
4193 var18
= var13
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var13:OptionBool> */
4195 RET_LABEL17
:(void)0;
4198 var19
= ((struct instance_kernel__Bool
*)var16
)->value
; /* autounbox from nullable Object to Bool */;
4205 { /* Inline typing#AExpr#mtype (self) on <self:AAsCastExpr> */
4206 var22
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AAsCastExpr> */
4208 RET_LABEL21
:(void)0;
4211 if (unlikely(var20
== NULL
)) {
4212 PRINT_ERROR("Runtime error: %s", "Cast failed");
4213 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2671);
4221 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4226 abstract_compiler__AbstractCompilerVisitor__add_cast(var_v
, var_i
, var20
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
4233 /* method abstract_compiler#AAsCastExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4234 val
* VIRTUAL_abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
4235 val
* var
/* : nullable RuntimeVariable */;
4236 val
* var1
/* : nullable RuntimeVariable */;
4237 var1
= abstract_compiler__AAsCastExpr__expr(self
, p0
);
4242 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4243 val
* abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
4244 val
* var
/* : nullable RuntimeVariable */;
4245 val
* var_v
/* var v: AbstractCompilerVisitor */;
4246 val
* var1
/* : AExpr */;
4247 val
* var2
/* : null */;
4248 val
* var3
/* : RuntimeVariable */;
4249 val
* var_i
/* var i: RuntimeVariable */;
4250 val
* var4
/* : AbstractCompiler */;
4251 val
* var6
/* : AbstractCompiler */;
4252 val
* var7
/* : ModelBuilder */;
4253 val
* var9
/* : ModelBuilder */;
4254 val
* var10
/* : ToolContext */;
4255 val
* var12
/* : ToolContext */;
4256 val
* var13
/* : OptionBool */;
4257 val
* var15
/* : OptionBool */;
4258 val
* var16
/* : nullable Object */;
4259 val
* var18
/* : nullable Object */;
4260 short int var19
/* : Bool */;
4261 val
* var20
/* : MType */;
4262 val
* var22
/* : MType */;
4263 val
* var23
/* : String */;
4264 static val
* varonce
;
4265 val
* var24
/* : String */;
4266 char* var25
/* : NativeString */;
4267 long var26
/* : Int */;
4268 val
* var27
/* : FlatString */;
4269 short int var28
/* : Bool */;
4270 short int var29
/* : Bool */;
4271 val
* var_other
/* var other: nullable Object */;
4272 short int var31
/* : Bool */;
4273 short int var32
/* : Bool */;
4274 short int var33
/* : Bool */;
4275 static val
* varonce34
;
4276 val
* var35
/* : String */;
4277 char* var36
/* : NativeString */;
4278 long var37
/* : Int */;
4279 val
* var38
/* : FlatString */;
4280 static val
* varonce39
;
4281 val
* var40
/* : String */;
4282 char* var41
/* : NativeString */;
4283 long var42
/* : Int */;
4284 val
* var43
/* : FlatString */;
4285 val
* var44
/* : Array[Object] */;
4286 long var45
/* : Int */;
4287 val
* var46
/* : NativeArray[Object] */;
4288 val
* var47
/* : String */;
4289 static val
* varonce48
;
4290 val
* var49
/* : String */;
4291 char* var50
/* : NativeString */;
4292 long var51
/* : Int */;
4293 val
* var52
/* : FlatString */;
4294 static val
* varonce53
;
4295 val
* var54
/* : String */;
4296 char* var55
/* : NativeString */;
4297 long var56
/* : Int */;
4298 val
* var57
/* : FlatString */;
4301 var1
= parser_nodes__AAsNotnullExpr__n_expr(self
);
4305 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
4309 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4310 var6
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
4311 if (unlikely(var6
== NULL
)) {
4312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4313 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
4321 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var4) on <var4:AbstractCompiler> */
4322 var9
= var4
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var4:AbstractCompiler> */
4323 if (unlikely(var9
== NULL
)) {
4324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4325 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4333 { /* Inline modelbuilder#ModelBuilder#toolcontext (var7) on <var7:ModelBuilder> */
4334 var12
= var7
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var7:ModelBuilder> */
4335 if (unlikely(var12
== NULL
)) {
4336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4337 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4341 RET_LABEL11
:(void)0;
4345 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var10) on <var10:ToolContext> */
4346 var15
= var10
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var10:ToolContext> */
4347 if (unlikely(var15
== NULL
)) {
4348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
4349 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 50);
4353 RET_LABEL14
:(void)0;
4357 { /* Inline opts#Option#value (var13) on <var13:OptionBool> */
4358 var18
= var13
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var13:OptionBool> */
4360 RET_LABEL17
:(void)0;
4363 var19
= ((struct instance_kernel__Bool
*)var16
)->value
; /* autounbox from nullable Object to Bool */;
4370 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_i) on <var_i:RuntimeVariable> */
4371 var22
= var_i
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_i:RuntimeVariable> */
4372 if (unlikely(var22
== NULL
)) {
4373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4374 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
4378 RET_LABEL21
:(void)0;
4382 var23
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var20
) /* ctype on <var20:MType>*/;
4389 var27
= string__NativeString__to_s_with_length(var25
, var26
);
4394 { /* Inline kernel#Object#!= (var23,var24) on <var23:String> */
4397 var32
= ((short int (*)(val
*, val
*))(var23
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var23
, var_other
) /* == on <var23:String>*/;
4403 RET_LABEL30
:(void)0;
4415 var36
= "if (unlikely(";
4417 var38
= string__NativeString__to_s_with_length(var36
, var37
);
4424 var41
= " == NULL)) {";
4426 var43
= string__NativeString__to_s_with_length(var41
, var42
);
4430 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
4431 { /* var44 = array_instance Array[Object] */
4433 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
4434 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
4435 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_i
;
4436 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
4438 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
4442 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
4445 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4450 var50
= "Cast failed";
4452 var52
= string__NativeString__to_s_with_length(var50
, var51
);
4457 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
4464 var57
= string__NativeString__to_s_with_length(var55
, var56
);
4469 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4476 /* method abstract_compiler#AAsNotnullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4477 val
* VIRTUAL_abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
4478 val
* var
/* : nullable RuntimeVariable */;
4479 val
* var1
/* : nullable RuntimeVariable */;
4480 var1
= abstract_compiler__AAsNotnullExpr__expr(self
, p0
);
4485 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4486 val
* abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
4487 val
* var
/* : nullable RuntimeVariable */;
4488 val
* var_v
/* var v: AbstractCompilerVisitor */;
4489 val
* var1
/* : AExpr */;
4490 val
* var2
/* : null */;
4491 val
* var3
/* : RuntimeVariable */;
4494 var1
= parser_nodes__AProxyExpr__n_expr(self
);
4498 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
4505 /* method abstract_compiler#AParExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4506 val
* VIRTUAL_abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
4507 val
* var
/* : nullable RuntimeVariable */;
4508 val
* var1
/* : nullable RuntimeVariable */;
4509 var1
= abstract_compiler__AParExpr__expr(self
, p0
);
4514 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4515 val
* abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
4516 val
* var
/* : nullable RuntimeVariable */;
4517 val
* var_v
/* var v: AbstractCompilerVisitor */;
4518 val
* var1
/* : nullable MType */;
4519 val
* var3
/* : nullable MType */;
4520 val
* var_mtype
/* var mtype: MType */;
4521 static val
* varonce
;
4522 val
* var4
/* : String */;
4523 char* var5
/* : NativeString */;
4524 long var6
/* : Int */;
4525 val
* var7
/* : FlatString */;
4526 val
* var8
/* : String */;
4527 val
* var_name
/* var name: String */;
4528 static val
* varonce9
;
4529 val
* var10
/* : String */;
4530 char* var11
/* : NativeString */;
4531 long var12
/* : Int */;
4532 val
* var13
/* : FlatString */;
4533 val
* var14
/* : String */;
4534 val
* var15
/* : String */;
4535 val
* var_guard
/* var guard: String */;
4536 static val
* varonce16
;
4537 val
* var17
/* : String */;
4538 char* var18
/* : NativeString */;
4539 long var19
/* : Int */;
4540 val
* var20
/* : FlatString */;
4541 val
* var21
/* : String */;
4542 static val
* varonce22
;
4543 val
* var23
/* : String */;
4544 char* var24
/* : NativeString */;
4545 long var25
/* : Int */;
4546 val
* var26
/* : FlatString */;
4547 static val
* varonce27
;
4548 val
* var28
/* : String */;
4549 char* var29
/* : NativeString */;
4550 long var30
/* : Int */;
4551 val
* var31
/* : FlatString */;
4552 val
* var32
/* : Array[Object] */;
4553 long var33
/* : Int */;
4554 val
* var34
/* : NativeArray[Object] */;
4555 val
* var35
/* : String */;
4556 static val
* varonce36
;
4557 val
* var37
/* : String */;
4558 char* var38
/* : NativeString */;
4559 long var39
/* : Int */;
4560 val
* var40
/* : FlatString */;
4561 static val
* varonce41
;
4562 val
* var42
/* : String */;
4563 char* var43
/* : NativeString */;
4564 long var44
/* : Int */;
4565 val
* var45
/* : FlatString */;
4566 val
* var46
/* : Array[Object] */;
4567 long var47
/* : Int */;
4568 val
* var48
/* : NativeArray[Object] */;
4569 val
* var49
/* : String */;
4570 val
* var50
/* : RuntimeVariable */;
4571 val
* var_res
/* var res: RuntimeVariable */;
4572 static val
* varonce51
;
4573 val
* var52
/* : String */;
4574 char* var53
/* : NativeString */;
4575 long var54
/* : Int */;
4576 val
* var55
/* : FlatString */;
4577 static val
* varonce56
;
4578 val
* var57
/* : String */;
4579 char* var58
/* : NativeString */;
4580 long var59
/* : Int */;
4581 val
* var60
/* : FlatString */;
4582 val
* var61
/* : Array[Object] */;
4583 long var62
/* : Int */;
4584 val
* var63
/* : NativeArray[Object] */;
4585 val
* var64
/* : String */;
4586 static val
* varonce65
;
4587 val
* var66
/* : String */;
4588 char* var67
/* : NativeString */;
4589 long var68
/* : Int */;
4590 val
* var69
/* : FlatString */;
4591 static val
* varonce70
;
4592 val
* var71
/* : String */;
4593 char* var72
/* : NativeString */;
4594 long var73
/* : Int */;
4595 val
* var74
/* : FlatString */;
4596 val
* var75
/* : Array[Object] */;
4597 long var76
/* : Int */;
4598 val
* var77
/* : NativeArray[Object] */;
4599 val
* var78
/* : String */;
4600 static val
* varonce79
;
4601 val
* var80
/* : String */;
4602 char* var81
/* : NativeString */;
4603 long var82
/* : Int */;
4604 val
* var83
/* : FlatString */;
4605 val
* var84
/* : AExpr */;
4606 val
* var85
/* : RuntimeVariable */;
4607 val
* var_i
/* var i: RuntimeVariable */;
4608 static val
* varonce86
;
4609 val
* var87
/* : String */;
4610 char* var88
/* : NativeString */;
4611 long var89
/* : Int */;
4612 val
* var90
/* : FlatString */;
4613 static val
* varonce91
;
4614 val
* var92
/* : String */;
4615 char* var93
/* : NativeString */;
4616 long var94
/* : Int */;
4617 val
* var95
/* : FlatString */;
4618 val
* var96
/* : Array[Object] */;
4619 long var97
/* : Int */;
4620 val
* var98
/* : NativeArray[Object] */;
4621 val
* var99
/* : String */;
4622 static val
* varonce100
;
4623 val
* var101
/* : String */;
4624 char* var102
/* : NativeString */;
4625 long var103
/* : Int */;
4626 val
* var104
/* : FlatString */;
4627 static val
* varonce105
;
4628 val
* var106
/* : String */;
4629 char* var107
/* : NativeString */;
4630 long var108
/* : Int */;
4631 val
* var109
/* : FlatString */;
4632 val
* var110
/* : Array[Object] */;
4633 long var111
/* : Int */;
4634 val
* var112
/* : NativeArray[Object] */;
4635 val
* var113
/* : String */;
4636 static val
* varonce114
;
4637 val
* var115
/* : String */;
4638 char* var116
/* : NativeString */;
4639 long var117
/* : Int */;
4640 val
* var118
/* : FlatString */;
4641 val
* var119
/* : Array[Object] */;
4642 long var120
/* : Int */;
4643 val
* var121
/* : NativeArray[Object] */;
4644 val
* var122
/* : String */;
4645 static val
* varonce123
;
4646 val
* var124
/* : String */;
4647 char* var125
/* : NativeString */;
4648 long var126
/* : Int */;
4649 val
* var127
/* : FlatString */;
4652 { /* Inline typing#AExpr#mtype (self) on <self:AOnceExpr> */
4653 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:AOnceExpr> */
4658 if (unlikely(var1
== NULL
)) {
4659 PRINT_ERROR("Runtime error: %s", "Cast failed");
4660 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2698);
4669 var7
= string__NativeString__to_s_with_length(var5
, var6
);
4674 var8
= abstract_compiler__AbstractCompilerVisitor__get_name(var_v
, var4
);
4682 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4687 var14
= string__FlatString___43d(var_name
, var10
);
4690 var15
= abstract_compiler__AbstractCompilerVisitor__get_name(var_v
, var14
);
4698 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4703 var21
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
4710 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4719 var31
= string__NativeString__to_s_with_length(var29
, var30
);
4723 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
4724 { /* var32 = array_instance Array[Object] */
4726 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
4727 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var17
;
4728 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
4729 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
4730 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_name
;
4731 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
4733 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
4737 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
4740 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
4745 var38
= "static int ";
4747 var40
= string__NativeString__to_s_with_length(var38
, var39
);
4756 var45
= string__NativeString__to_s_with_length(var43
, var44
);
4760 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
4761 { /* var46 = array_instance Array[Object] */
4763 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
4764 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
4765 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var_guard
;
4766 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
4768 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
4772 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
4775 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
4778 var50
= abstract_compiler__AbstractCompilerVisitor__new_var(var_v
, var_mtype
);
4786 var55
= string__NativeString__to_s_with_length(var53
, var54
);
4795 var60
= string__NativeString__to_s_with_length(var58
, var59
);
4799 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
4800 { /* var61 = array_instance Array[Object] */
4802 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
4803 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
4804 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var_guard
;
4805 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
4807 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
4811 var64
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
4814 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4821 var69
= string__NativeString__to_s_with_length(var67
, var68
);
4830 var74
= string__NativeString__to_s_with_length(var72
, var73
);
4834 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
4835 { /* var75 = array_instance Array[Object] */
4837 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
4838 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var_res
;
4839 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var66
;
4840 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var_name
;
4841 ((struct instance_array__NativeArray
*)var77
)->values
[3] = (val
*) var71
;
4843 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
4847 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
4850 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var78
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4857 var83
= string__NativeString__to_s_with_length(var81
, var82
);
4862 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4865 var84
= parser_nodes__AProxyExpr__n_expr(self
);
4868 var85
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var84
, var_mtype
);
4876 var90
= string__NativeString__to_s_with_length(var88
, var89
);
4885 var95
= string__NativeString__to_s_with_length(var93
, var94
);
4889 var96
= NEW_array__Array(&type_array__Arraykernel__Object
);
4890 { /* var96 = array_instance Array[Object] */
4892 var98
= NEW_array__NativeArray(var97
, &type_array__NativeArraykernel__Object
);
4893 ((struct instance_array__NativeArray
*)var98
)->values
[0] = (val
*) var_res
;
4894 ((struct instance_array__NativeArray
*)var98
)->values
[1] = (val
*) var87
;
4895 ((struct instance_array__NativeArray
*)var98
)->values
[2] = (val
*) var_i
;
4896 ((struct instance_array__NativeArray
*)var98
)->values
[3] = (val
*) var92
;
4898 ((void (*)(val
*, val
*, long))(var96
->class->vft
[COLOR_array__Array__with_native
]))(var96
, var98
, var97
) /* with_native on <var96:Array[Object]>*/;
4902 var99
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_string__Object__to_s
]))(var96
) /* to_s on <var96:Array[Object]>*/;
4905 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var99
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4908 var101
= varonce100
;
4912 var104
= string__NativeString__to_s_with_length(var102
, var103
);
4914 varonce100
= var101
;
4917 var106
= varonce105
;
4921 var109
= string__NativeString__to_s_with_length(var107
, var108
);
4923 varonce105
= var106
;
4925 var110
= NEW_array__Array(&type_array__Arraykernel__Object
);
4926 { /* var110 = array_instance Array[Object] */
4928 var112
= NEW_array__NativeArray(var111
, &type_array__NativeArraykernel__Object
);
4929 ((struct instance_array__NativeArray
*)var112
)->values
[0] = (val
*) var_name
;
4930 ((struct instance_array__NativeArray
*)var112
)->values
[1] = (val
*) var101
;
4931 ((struct instance_array__NativeArray
*)var112
)->values
[2] = (val
*) var_res
;
4932 ((struct instance_array__NativeArray
*)var112
)->values
[3] = (val
*) var106
;
4934 ((void (*)(val
*, val
*, long))(var110
->class->vft
[COLOR_array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
4938 var113
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
4941 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4944 var115
= varonce114
;
4948 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4950 varonce114
= var115
;
4952 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
4953 { /* var119 = array_instance Array[Object] */
4955 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
4956 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var_guard
;
4957 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var115
;
4959 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
4963 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
4966 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var122
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4969 var124
= varonce123
;
4973 var127
= string__NativeString__to_s_with_length(var125
, var126
);
4975 varonce123
= var124
;
4978 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4985 /* method abstract_compiler#AOnceExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4986 val
* VIRTUAL_abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
4987 val
* var
/* : nullable RuntimeVariable */;
4988 val
* var1
/* : nullable RuntimeVariable */;
4989 var1
= abstract_compiler__AOnceExpr__expr(self
, p0
);
4994 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4995 val
* abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4996 val
* var
/* : nullable RuntimeVariable */;
4997 val
* var_v
/* var v: AbstractCompilerVisitor */;
4998 val
* var1
/* : AExpr */;
4999 val
* var2
/* : null */;
5000 val
* var3
/* : RuntimeVariable */;
5001 val
* var_recv
/* var recv: RuntimeVariable */;
5002 val
* var4
/* : Array[RuntimeVariable] */;
5003 long var5
/* : Int */;
5004 val
* var_
/* var : Array[RuntimeVariable] */;
5005 val
* var_args
/* var args: Array[RuntimeVariable] */;
5006 val
* var6
/* : Array[AExpr] */;
5007 val
* var7
/* : ArrayIterator[nullable Object] */;
5008 short int var8
/* : Bool */;
5009 val
* var9
/* : nullable Object */;
5010 val
* var_a
/* var a: AExpr */;
5011 val
* var10
/* : null */;
5012 val
* var11
/* : RuntimeVariable */;
5013 val
* var12
/* : nullable CallSite */;
5014 val
* var14
/* : nullable CallSite */;
5015 val
* var15
/* : nullable RuntimeVariable */;
5018 var1
= parser_nodes__ASendExpr__n_expr(self
);
5022 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
5025 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5028 array__Array__with_capacity(var4
, var5
); /* Direct call array#Array#with_capacity on <var4:Array[RuntimeVariable]>*/
5032 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5036 var6
= typing__ASendExpr__raw_arguments(self
);
5039 var7
= array__AbstractArrayRead__iterator(var6
);
5043 var8
= array__ArrayIterator__is_ok(var7
);
5047 var9
= array__ArrayIterator__item(var7
);
5052 var11
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_a
, var10
);
5055 array__Array__add(var_args
, var11
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5057 CONTINUE_label
: (void)0;
5059 array__ArrayIterator__next(var7
); /* Direct call array#ArrayIterator#next on <var7:ArrayIterator[nullable Object]>*/
5062 BREAK_label
: (void)0;
5064 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
5065 var14
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
5067 RET_LABEL13
:(void)0;
5070 if (unlikely(var12
== NULL
)) {
5071 PRINT_ERROR("Runtime error: %s", "Cast failed");
5072 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2724);
5076 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var12
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5083 /* method abstract_compiler#ASendExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5084 val
* VIRTUAL_abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
5085 val
* var
/* : nullable RuntimeVariable */;
5086 val
* var1
/* : nullable RuntimeVariable */;
5087 var1
= abstract_compiler__ASendExpr__expr(self
, p0
);
5092 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
5093 void abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
5094 val
* var_v
/* var v: AbstractCompilerVisitor */;
5095 val
* var
/* : AExpr */;
5096 val
* var1
/* : null */;
5097 val
* var2
/* : RuntimeVariable */;
5098 val
* var_recv
/* var recv: RuntimeVariable */;
5099 val
* var3
/* : Array[RuntimeVariable] */;
5100 long var4
/* : Int */;
5101 val
* var_
/* var : Array[RuntimeVariable] */;
5102 val
* var_args
/* var args: Array[RuntimeVariable] */;
5103 val
* var5
/* : Array[AExpr] */;
5104 val
* var6
/* : ArrayIterator[nullable Object] */;
5105 short int var7
/* : Bool */;
5106 val
* var8
/* : nullable Object */;
5107 val
* var_a
/* var a: AExpr */;
5108 val
* var9
/* : null */;
5109 val
* var10
/* : RuntimeVariable */;
5110 val
* var11
/* : AExpr */;
5111 val
* var12
/* : null */;
5112 val
* var13
/* : RuntimeVariable */;
5113 val
* var_value
/* var value: RuntimeVariable */;
5114 val
* var14
/* : nullable CallSite */;
5115 val
* var16
/* : nullable CallSite */;
5116 val
* var17
/* : nullable RuntimeVariable */;
5117 val
* var_left
/* var left: nullable RuntimeVariable */;
5118 val
* var18
/* : null */;
5119 short int var19
/* : Bool */;
5120 short int var20
/* : Bool */;
5121 val
* var_other
/* var other: nullable Object */;
5122 short int var22
/* : Bool */;
5123 short int var23
/* : Bool */;
5124 short int var24
/* : Bool */;
5125 val
* var25
/* : nullable CallSite */;
5126 val
* var27
/* : nullable CallSite */;
5127 val
* var28
/* : Array[RuntimeVariable] */;
5128 long var29
/* : Int */;
5129 val
* var_30
/* var : Array[RuntimeVariable] */;
5130 val
* var31
/* : nullable RuntimeVariable */;
5131 val
* var_res
/* var res: nullable RuntimeVariable */;
5132 val
* var32
/* : null */;
5133 short int var33
/* : Bool */;
5134 short int var34
/* : Bool */;
5135 short int var36
/* : Bool */;
5136 short int var37
/* : Bool */;
5137 short int var38
/* : Bool */;
5138 val
* var39
/* : nullable CallSite */;
5139 val
* var41
/* : nullable CallSite */;
5140 val
* var42
/* : nullable RuntimeVariable */;
5143 var
= parser_nodes__ASendExpr__n_expr(self
);
5147 var2
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var1
);
5150 var3
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5153 array__Array__with_capacity(var3
, var4
); /* Direct call array#Array#with_capacity on <var3:Array[RuntimeVariable]>*/
5157 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5161 var5
= typing__ASendExpr__raw_arguments(self
);
5164 var6
= array__AbstractArrayRead__iterator(var5
);
5168 var7
= array__ArrayIterator__is_ok(var6
);
5172 var8
= array__ArrayIterator__item(var6
);
5177 var10
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_a
, var9
);
5180 array__Array__add(var_args
, var10
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5182 CONTINUE_label
: (void)0;
5184 array__ArrayIterator__next(var6
); /* Direct call array#ArrayIterator#next on <var6:ArrayIterator[nullable Object]>*/
5187 BREAK_label
: (void)0;
5189 var11
= parser_nodes__AReassignFormExpr__n_value(self
);
5193 var13
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var11
, var12
);
5197 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendReassignFormExpr> */
5198 var16
= self
->attrs
[COLOR_typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendReassignFormExpr> */
5200 RET_LABEL15
:(void)0;
5203 if (unlikely(var14
== NULL
)) {
5204 PRINT_ERROR("Runtime error: %s", "Cast failed");
5205 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2738);
5209 var17
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var14
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5213 if (var_left
== NULL
) {
5214 var19
= 0; /* is null */
5216 var19
= 1; /* arg is null and recv is not */
5219 { /* Inline kernel#Object#!= (var_left,var18) on <var_left:nullable RuntimeVariable> */
5222 var23
= ((short int (*)(val
*, val
*))(var_left
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_left
, var_other
) /* == on <var_left:nullable RuntimeVariable(RuntimeVariable)>*/;
5228 RET_LABEL21
:(void)0;
5232 if (unlikely(!var19
)) {
5233 PRINT_ERROR("Runtime error: %s", "Assert failed");
5234 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2739);
5238 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:ASendReassignFormExpr> */
5239 var27
= self
->attrs
[COLOR_typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:ASendReassignFormExpr> */
5241 RET_LABEL26
:(void)0;
5244 if (unlikely(var25
== NULL
)) {
5245 PRINT_ERROR("Runtime error: %s", "Cast failed");
5246 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2741);
5249 var28
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5252 array__Array__with_capacity(var28
, var29
); /* Direct call array#Array#with_capacity on <var28:Array[RuntimeVariable]>*/
5256 array__AbstractArray__push(var_30
, var_left
); /* Direct call array#AbstractArray#push on <var_30:Array[RuntimeVariable]>*/
5259 array__AbstractArray__push(var_30
, var_value
); /* Direct call array#AbstractArray#push on <var_30:Array[RuntimeVariable]>*/
5262 var31
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var25
, var_30
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5266 if (var_res
== NULL
) {
5267 var33
= 0; /* is null */
5269 var33
= 1; /* arg is null and recv is not */
5272 { /* Inline kernel#Object#!= (var_res,var32) on <var_res:nullable RuntimeVariable> */
5275 var37
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
5281 RET_LABEL35
:(void)0;
5285 if (unlikely(!var33
)) {
5286 PRINT_ERROR("Runtime error: %s", "Assert failed");
5287 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2742);
5291 array__Array__add(var_args
, var_res
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5294 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:ASendReassignFormExpr> */
5295 var41
= self
->attrs
[COLOR_typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
5297 RET_LABEL40
:(void)0;
5300 if (unlikely(var39
== NULL
)) {
5301 PRINT_ERROR("Runtime error: %s", "Cast failed");
5302 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2745);
5306 var42
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var39
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5311 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5312 void VIRTUAL_abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
5313 abstract_compiler__ASendReassignFormExpr__stmt(self
, p0
); /* Direct call abstract_compiler#ASendReassignFormExpr#stmt on <self:Object(ASendReassignFormExpr)>*/
5316 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5317 val
* abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
5318 val
* var
/* : nullable RuntimeVariable */;
5319 val
* var_v
/* var v: AbstractCompilerVisitor */;
5320 val
* var1
/* : nullable Frame */;
5321 val
* var3
/* : nullable Frame */;
5322 val
* var4
/* : Array[RuntimeVariable] */;
5323 val
* var6
/* : Array[RuntimeVariable] */;
5324 val
* var7
/* : nullable Object */;
5325 val
* var_recv
/* var recv: RuntimeVariable */;
5326 val
* var8
/* : Array[RuntimeVariable] */;
5327 long var9
/* : Int */;
5328 val
* var_
/* var : Array[RuntimeVariable] */;
5329 val
* var_args
/* var args: Array[RuntimeVariable] */;
5330 val
* var10
/* : AExprs */;
5331 val
* var11
/* : ANodes[AExpr] */;
5332 val
* var13
/* : ANodes[AExpr] */;
5333 val
* var14
/* : Iterator[ANode] */;
5334 short int var15
/* : Bool */;
5335 val
* var16
/* : nullable Object */;
5336 val
* var_a
/* var a: AExpr */;
5337 val
* var17
/* : null */;
5338 val
* var18
/* : RuntimeVariable */;
5339 val
* var19
/* : nullable CallSite */;
5340 val
* var21
/* : nullable CallSite */;
5341 val
* var_callsite
/* var callsite: nullable CallSite */;
5342 val
* var22
/* : null */;
5343 short int var23
/* : Bool */;
5344 short int var24
/* : Bool */;
5345 val
* var_other
/* var other: nullable Object */;
5346 short int var26
/* : Bool */;
5347 short int var27
/* : Bool */;
5348 short int var28
/* : Bool */;
5349 long var29
/* : Int */;
5350 long var30
/* : Int */;
5351 short int var31
/* : Bool */;
5352 short int var32
/* : Bool */;
5353 short int var34
/* : Bool */;
5354 val
* var35
/* : Range[Int] */;
5355 long var36
/* : Int */;
5356 val
* var37
/* : MSignature */;
5357 val
* var39
/* : MSignature */;
5358 long var40
/* : Int */;
5359 val
* var41
/* : Discrete */;
5360 val
* var42
/* : Discrete */;
5361 val
* var43
/* : Iterator[Discrete] */;
5362 short int var44
/* : Bool */;
5363 val
* var45
/* : nullable Object */;
5364 long var_i
/* var i: Int */;
5365 long var46
/* : Int */;
5366 val
* var47
/* : nullable Frame */;
5367 val
* var49
/* : nullable Frame */;
5368 val
* var50
/* : Array[RuntimeVariable] */;
5369 val
* var52
/* : Array[RuntimeVariable] */;
5370 long var53
/* : Int */;
5371 long var54
/* : Int */;
5372 short int var56
/* : Bool */;
5375 const char* var_class_name
;
5376 long var57
/* : Int */;
5377 val
* var58
/* : nullable Object */;
5378 val
* var60
/* : nullable RuntimeVariable */;
5379 val
* var_res
/* var res: nullable RuntimeVariable */;
5380 long var61
/* : Int */;
5381 long var62
/* : Int */;
5382 short int var63
/* : Bool */;
5383 short int var64
/* : Bool */;
5384 short int var66
/* : Bool */;
5385 val
* var67
/* : nullable Frame */;
5386 val
* var69
/* : nullable Frame */;
5387 val
* var70
/* : Array[RuntimeVariable] */;
5388 val
* var72
/* : Array[RuntimeVariable] */;
5389 val
* var73
/* : nullable MMethodDef */;
5390 val
* var75
/* : nullable MMethodDef */;
5391 val
* var76
/* : MType */;
5392 val
* var78
/* : MType */;
5393 short int var79
/* : Bool */;
5396 const char* var_class_name82
;
5397 val
* var83
/* : nullable RuntimeVariable */;
5400 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5401 var3
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5407 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5408 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2752);
5411 { /* Inline abstract_compiler#Frame#arguments (var1) on <var1:nullable Frame> */
5412 if (unlikely(var1
== NULL
)) {
5413 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5414 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5417 var6
= var1
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var1:nullable Frame> */
5418 if (unlikely(var6
== NULL
)) {
5419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5420 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5428 var7
= abstract_collection__SequenceRead__first(var4
);
5431 var8
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5434 array__Array__with_capacity(var8
, var9
); /* Direct call array#Array#with_capacity on <var8:Array[RuntimeVariable]>*/
5438 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5442 var10
= parser_nodes__ASuperExpr__n_args(self
);
5445 { /* Inline parser_nodes#AExprs#n_exprs (var10) on <var10:AExprs> */
5446 var13
= var10
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var10:AExprs> */
5447 if (unlikely(var13
== NULL
)) {
5448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5449 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
5453 RET_LABEL12
:(void)0;
5457 var14
= parser_nodes__ANodes__iterator(var11
);
5461 var15
= ((short int (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var14
) /* is_ok on <var14:Iterator[ANode]>*/;
5465 var16
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var14
) /* item on <var14:Iterator[ANode]>*/;
5470 var18
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_a
, var17
);
5473 array__Array__add(var_args
, var18
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5475 CONTINUE_label
: (void)0;
5477 ((void (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var14
) /* next on <var14:Iterator[ANode]>*/;
5480 BREAK_label
: (void)0;
5482 { /* Inline typing#ASuperExpr#callsite (self) on <self:ASuperExpr> */
5483 var21
= self
->attrs
[COLOR_typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
5485 RET_LABEL20
:(void)0;
5488 var_callsite
= var19
;
5490 if (var_callsite
== NULL
) {
5491 var23
= 0; /* is null */
5493 var23
= 1; /* arg is null and recv is not */
5496 { /* Inline kernel#Object#!= (var_callsite,var22) on <var_callsite:nullable CallSite> */
5499 var27
= ((short int (*)(val
*, val
*))(var_callsite
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_callsite
, var_other
) /* == on <var_callsite:nullable CallSite(CallSite)>*/;
5505 RET_LABEL25
:(void)0;
5511 var29
= array__AbstractArrayRead__length(var_args
);
5515 { /* Inline kernel#Int#== (var29,var30) on <var29:Int> */
5516 var34
= var29
== var30
;
5519 RET_LABEL33
:(void)0;
5524 var35
= NEW_range__Range(&type_range__Rangekernel__Int
);
5527 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5528 var39
= var_callsite
->attrs
[COLOR_typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
5529 if (unlikely(var39
== NULL
)) {
5530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
5531 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 429);
5535 RET_LABEL38
:(void)0;
5539 var40
= model__MSignature__arity(var37
);
5542 var41
= BOX_kernel__Int(var36
); /* autobox from Int to Discrete */
5543 var42
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
5544 range__Range__without_last(var35
, var41
, var42
); /* Direct call range#Range#without_last on <var35:Range[Int]>*/
5547 var43
= range__Range__iterator(var35
);
5551 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var43
) /* is_ok on <var43:Iterator[Discrete]>*/;
5555 var45
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var43
) /* item on <var43:Iterator[Discrete]>*/;
5557 var46
= ((struct instance_kernel__Int
*)var45
)->value
; /* autounbox from nullable Object to Int */;
5560 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5561 var49
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5563 RET_LABEL48
:(void)0;
5566 if (var47
== NULL
) {
5567 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5568 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2763);
5571 { /* Inline abstract_compiler#Frame#arguments (var47) on <var47:nullable Frame> */
5572 if (unlikely(var47
== NULL
)) {
5573 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5574 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5577 var52
= var47
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var47:nullable Frame> */
5578 if (unlikely(var52
== NULL
)) {
5579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5580 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5584 RET_LABEL51
:(void)0;
5589 { /* Inline kernel#Int#+ (var_i,var53) on <var_i:Int> */
5590 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
5591 /* <var53:Int> isa OTHER */
5592 var56
= 1; /* easy <var53:Int> isa OTHER*/
5593 if (unlikely(!var56
)) {
5594 var_class_name
= type_kernel__Int
.name
;
5595 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5596 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5599 var57
= var_i
+ var53
;
5602 RET_LABEL55
:(void)0;
5606 var58
= array__Array___91d_93d(var50
, var54
);
5609 array__Array__add(var_args
, var58
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5611 CONTINUE_label59
: (void)0;
5613 ((void (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var43
) /* next on <var43:Iterator[Discrete]>*/;
5616 BREAK_label59
: (void)0;
5620 var60
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
5628 var61
= array__AbstractArrayRead__length(var_args
);
5632 { /* Inline kernel#Int#== (var61,var62) on <var61:Int> */
5633 var66
= var61
== var62
;
5636 RET_LABEL65
:(void)0;
5642 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5643 var69
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5645 RET_LABEL68
:(void)0;
5648 if (var67
== NULL
) {
5649 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5650 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2772);
5653 { /* Inline abstract_compiler#Frame#arguments (var67) on <var67:nullable Frame> */
5654 if (unlikely(var67
== NULL
)) {
5655 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5656 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5659 var72
= var67
->attrs
[COLOR_abstract_compiler__Frame___arguments
].val
; /* _arguments on <var67:nullable Frame> */
5660 if (unlikely(var72
== NULL
)) {
5661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5662 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1538);
5666 RET_LABEL71
:(void)0;
5673 { /* Inline typing#ASuperExpr#mpropdef (self) on <self:ASuperExpr> */
5674 var75
= self
->attrs
[COLOR_typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
5676 RET_LABEL74
:(void)0;
5679 if (unlikely(var73
== NULL
)) {
5680 PRINT_ERROR("Runtime error: %s", "Cast failed");
5681 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2776);
5685 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
5686 var78
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
5687 if (unlikely(var78
== NULL
)) {
5688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5689 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
5693 RET_LABEL77
:(void)0;
5696 /* <var76:MType> isa MClassType */
5697 cltype80
= type_model__MClassType
.color
;
5698 idtype81
= type_model__MClassType
.id
;
5699 if(cltype80
>= var76
->type
->table_size
) {
5702 var79
= var76
->type
->type_table
[cltype80
] == idtype81
;
5704 if (unlikely(!var79
)) {
5705 var_class_name82
= var76
== NULL ?
"null" : var76
->type
->name
;
5706 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name82
);
5707 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2776);
5711 var83
= separate_compiler__SeparateCompilerVisitor__supercall(var_v
, var73
, var76
, var_args
);
5718 /* method abstract_compiler#ASuperExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5719 val
* VIRTUAL_abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
5720 val
* var
/* : nullable RuntimeVariable */;
5721 val
* var1
/* : nullable RuntimeVariable */;
5722 var1
= abstract_compiler__ASuperExpr__expr(self
, p0
);
5727 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5728 val
* abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
5729 val
* var
/* : nullable RuntimeVariable */;
5730 val
* var_v
/* var v: AbstractCompilerVisitor */;
5731 val
* var1
/* : nullable MType */;
5732 val
* var3
/* : nullable MType */;
5733 short int var4
/* : Bool */;
5736 const char* var_class_name
;
5737 val
* var_mtype
/* var mtype: MClassType */;
5738 val
* var5
/* : String */;
5739 val
* var_ctype
/* var ctype: String */;
5740 val
* var6
/* : MClass */;
5741 val
* var8
/* : MClass */;
5742 val
* var9
/* : String */;
5743 val
* var11
/* : String */;
5744 static val
* varonce
;
5745 val
* var12
/* : String */;
5746 char* var13
/* : NativeString */;
5747 long var14
/* : Int */;
5748 val
* var15
/* : FlatString */;
5749 short int var16
/* : Bool */;
5750 short int var17
/* : Bool */;
5751 val
* var18
/* : AExprs */;
5752 val
* var19
/* : ANodes[AExpr] */;
5753 val
* var21
/* : ANodes[AExpr] */;
5754 long var22
/* : Int */;
5755 long var23
/* : Int */;
5756 short int var24
/* : Bool */;
5757 short int var25
/* : Bool */;
5758 short int var27
/* : Bool */;
5759 val
* var28
/* : AExprs */;
5760 val
* var29
/* : ANodes[AExpr] */;
5761 val
* var31
/* : ANodes[AExpr] */;
5762 val
* var32
/* : nullable Object */;
5763 val
* var33
/* : null */;
5764 val
* var34
/* : RuntimeVariable */;
5765 val
* var_l
/* var l: RuntimeVariable */;
5766 short int var35
/* : Bool */;
5769 val
* var38
/* : Array[MType] */;
5770 val
* var40
/* : Array[MType] */;
5771 val
* var41
/* : nullable Object */;
5772 val
* var_elttype
/* var elttype: MType */;
5773 val
* var42
/* : RuntimeVariable */;
5774 static val
* varonce43
;
5775 val
* var44
/* : String */;
5776 char* var45
/* : NativeString */;
5777 long var46
/* : Int */;
5778 val
* var47
/* : FlatString */;
5779 short int var48
/* : Bool */;
5780 short int var49
/* : Bool */;
5781 val
* var50
/* : RuntimeVariable */;
5782 val
* var_recv
/* var recv: nullable Object */;
5783 static val
* varonce51
;
5784 val
* var52
/* : String */;
5785 char* var53
/* : NativeString */;
5786 long var54
/* : Int */;
5787 val
* var55
/* : FlatString */;
5788 short int var56
/* : Bool */;
5789 short int var57
/* : Bool */;
5790 static val
* varonce58
;
5791 val
* var59
/* : String */;
5792 char* var60
/* : NativeString */;
5793 long var61
/* : Int */;
5794 val
* var62
/* : FlatString */;
5795 val
* var63
/* : RuntimeVariable */;
5796 static val
* varonce64
;
5797 val
* var65
/* : String */;
5798 char* var66
/* : NativeString */;
5799 long var67
/* : Int */;
5800 val
* var68
/* : FlatString */;
5801 static val
* varonce69
;
5802 val
* var70
/* : String */;
5803 char* var71
/* : NativeString */;
5804 long var72
/* : Int */;
5805 val
* var73
/* : FlatString */;
5806 val
* var74
/* : Array[Object] */;
5807 long var75
/* : Int */;
5808 val
* var76
/* : NativeArray[Object] */;
5809 val
* var77
/* : String */;
5810 val
* var78
/* : RuntimeVariable */;
5811 val
* var79
/* : Array[RuntimeVariable] */;
5812 long var80
/* : Int */;
5813 val
* var_
/* var : Array[RuntimeVariable] */;
5814 val
* var_args
/* var args: Array[RuntimeVariable] */;
5815 val
* var81
/* : AExprs */;
5816 val
* var82
/* : ANodes[AExpr] */;
5817 val
* var84
/* : ANodes[AExpr] */;
5818 val
* var85
/* : Iterator[ANode] */;
5819 short int var86
/* : Bool */;
5820 val
* var87
/* : nullable Object */;
5821 val
* var_a
/* var a: AExpr */;
5822 val
* var88
/* : null */;
5823 val
* var89
/* : RuntimeVariable */;
5824 val
* var90
/* : nullable CallSite */;
5825 val
* var92
/* : nullable CallSite */;
5826 val
* var93
/* : nullable RuntimeVariable */;
5827 val
* var_res2
/* var res2: nullable RuntimeVariable */;
5828 val
* var94
/* : null */;
5829 short int var95
/* : Bool */;
5830 short int var96
/* : Bool */;
5831 val
* var_other
/* var other: nullable Object */;
5832 short int var98
/* : Bool */;
5833 short int var99
/* : Bool */;
5834 short int var100
/* : Bool */;
5837 { /* Inline typing#AExpr#mtype (self) on <self:ANewExpr> */
5838 var3
= self
->attrs
[COLOR_typing__AExpr___mtype
].val
; /* _mtype on <self:ANewExpr> */
5843 /* <var1:nullable MType> isa MClassType */
5844 cltype
= type_model__MClassType
.color
;
5845 idtype
= type_model__MClassType
.id
;
5849 if(cltype
>= var1
->type
->table_size
) {
5852 var4
= var1
->type
->type_table
[cltype
] == idtype
;
5855 if (unlikely(!var4
)) {
5856 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
5857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
5858 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2783);
5863 var5
= abstract_compiler__MClassType__ctype(var_mtype
);
5867 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
5868 var8
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
5869 if (unlikely(var8
== NULL
)) {
5870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5871 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
5879 { /* Inline model#MClass#name (var6) on <var6:MClass> */
5880 var11
= var6
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var6:MClass> */
5881 if (unlikely(var11
== NULL
)) {
5882 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5883 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 340);
5887 RET_LABEL10
:(void)0;
5893 var13
= "NativeArray";
5895 var15
= string__NativeString__to_s_with_length(var13
, var14
);
5900 var17
= string__FlatString___61d_61d(var9
, var12
);
5905 var18
= parser_nodes__ANewExpr__n_args(self
);
5908 { /* Inline parser_nodes#AExprs#n_exprs (var18) on <var18:AExprs> */
5909 var21
= var18
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var18:AExprs> */
5910 if (unlikely(var21
== NULL
)) {
5911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5912 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
5916 RET_LABEL20
:(void)0;
5920 var22
= parser_nodes__ANodes__length(var19
);
5924 { /* Inline kernel#Int#== (var22,var23) on <var22:Int> */
5925 var27
= var22
== var23
;
5928 RET_LABEL26
:(void)0;
5932 if (unlikely(!var24
)) {
5933 PRINT_ERROR("Runtime error: %s", "Assert failed");
5934 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2787);
5938 var28
= parser_nodes__ANewExpr__n_args(self
);
5941 { /* Inline parser_nodes#AExprs#n_exprs (var28) on <var28:AExprs> */
5942 var31
= var28
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var28:AExprs> */
5943 if (unlikely(var31
== NULL
)) {
5944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5945 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
5949 RET_LABEL30
:(void)0;
5953 var32
= abstract_collection__SequenceRead__first(var29
);
5957 var34
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var32
, var33
);
5960 /* <var_mtype:MClassType> isa MGenericType */
5961 cltype36
= type_model__MGenericType
.color
;
5962 idtype37
= type_model__MGenericType
.id
;
5963 if(cltype36
>= var_mtype
->type
->table_size
) {
5966 var35
= var_mtype
->type
->type_table
[cltype36
] == idtype37
;
5968 if (unlikely(!var35
)) {
5969 PRINT_ERROR("Runtime error: %s", "Assert failed");
5970 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2789);
5974 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:MClassType(MGenericType)> */
5975 var40
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:MClassType(MGenericType)> */
5976 if (unlikely(var40
== NULL
)) {
5977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5978 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 979);
5982 RET_LABEL39
:(void)0;
5986 var41
= abstract_collection__SequenceRead__first(var38
);
5988 var_elttype
= var41
;
5990 var42
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(var_v
, var_elttype
, var_l
) /* native_array_instance on <var_v:AbstractCompilerVisitor>*/;
6000 var47
= string__NativeString__to_s_with_length(var45
, var46
);
6005 var49
= string__FlatString___61d_61d(var_ctype
, var44
);
6010 var50
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
6019 var55
= string__NativeString__to_s_with_length(var53
, var54
);
6024 var57
= string__FlatString___61d_61d(var_ctype
, var52
);
6031 var60
= "NULL/*special!*/";
6033 var62
= string__NativeString__to_s_with_length(var60
, var61
);
6038 var63
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var59
, var_mtype
);
6047 var68
= string__NativeString__to_s_with_length(var66
, var67
);
6054 var71
= ")0/*special!*/";
6056 var73
= string__NativeString__to_s_with_length(var71
, var72
);
6060 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
6061 { /* var74 = array_instance Array[Object] */
6063 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
6064 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var65
;
6065 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var_ctype
;
6066 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var70
;
6068 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
6072 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
6075 var78
= abstract_compiler__AbstractCompilerVisitor__new_expr(var_v
, var77
, var_mtype
);
6081 var79
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6084 array__Array__with_capacity(var79
, var80
); /* Direct call array#Array#with_capacity on <var79:Array[RuntimeVariable]>*/
6088 array__AbstractArray__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6092 var81
= parser_nodes__ANewExpr__n_args(self
);
6095 { /* Inline parser_nodes#AExprs#n_exprs (var81) on <var81:AExprs> */
6096 var84
= var81
->attrs
[COLOR_parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var81:AExprs> */
6097 if (unlikely(var84
== NULL
)) {
6098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
6099 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 2274);
6103 RET_LABEL83
:(void)0;
6107 var85
= parser_nodes__ANodes__iterator(var82
);
6111 var86
= ((short int (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var85
) /* is_ok on <var85:Iterator[ANode]>*/;
6115 var87
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var85
) /* item on <var85:Iterator[ANode]>*/;
6120 var89
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var_a
, var88
);
6123 array__Array__add(var_args
, var89
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6125 CONTINUE_label
: (void)0;
6127 ((void (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var85
) /* next on <var85:Iterator[ANode]>*/;
6130 BREAK_label
: (void)0;
6132 { /* Inline typing#ANewExpr#callsite (self) on <self:ANewExpr> */
6133 var92
= self
->attrs
[COLOR_typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
6135 RET_LABEL91
:(void)0;
6138 if (unlikely(var90
== NULL
)) {
6139 PRINT_ERROR("Runtime error: %s", "Cast failed");
6140 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2803);
6144 var93
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var90
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
6148 if (var_res2
== NULL
) {
6149 var95
= 0; /* is null */
6151 var95
= 1; /* arg is null and recv is not */
6154 { /* Inline kernel#Object#!= (var_res2,var94) on <var_res2:nullable RuntimeVariable> */
6157 var99
= ((short int (*)(val
*, val
*))(var_res2
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res2
, var_other
) /* == on <var_res2:nullable RuntimeVariable(RuntimeVariable)>*/;
6163 RET_LABEL97
:(void)0;
6177 /* method abstract_compiler#ANewExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6178 val
* VIRTUAL_abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
6179 val
* var
/* : nullable RuntimeVariable */;
6180 val
* var1
/* : nullable RuntimeVariable */;
6181 var1
= abstract_compiler__ANewExpr__expr(self
, p0
);
6186 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6187 val
* abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
6188 val
* var
/* : nullable RuntimeVariable */;
6189 val
* var_v
/* var v: AbstractCompilerVisitor */;
6190 val
* var1
/* : AExpr */;
6191 val
* var2
/* : null */;
6192 val
* var3
/* : RuntimeVariable */;
6193 val
* var_recv
/* var recv: RuntimeVariable */;
6194 val
* var4
/* : nullable MAttribute */;
6195 val
* var6
/* : nullable MAttribute */;
6196 val
* var_mproperty
/* var mproperty: MAttribute */;
6197 val
* var7
/* : RuntimeVariable */;
6200 var1
= parser_nodes__AAttrFormExpr__n_expr(self
);
6204 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
6208 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrExpr> */
6209 var6
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrExpr> */
6214 if (unlikely(var4
== NULL
)) {
6215 PRINT_ERROR("Runtime error: %s", "Cast failed");
6216 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2816);
6219 var_mproperty
= var4
;
6221 var7
= separate_compiler__SeparateCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
6228 /* method abstract_compiler#AAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6229 val
* VIRTUAL_abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
6230 val
* var
/* : nullable RuntimeVariable */;
6231 val
* var1
/* : nullable RuntimeVariable */;
6232 var1
= abstract_compiler__AAttrExpr__expr(self
, p0
);
6237 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: AAttrAssignExpr, AbstractCompilerVisitor) */
6238 void abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
6239 val
* var_v
/* var v: AbstractCompilerVisitor */;
6240 val
* var
/* : AExpr */;
6241 val
* var1
/* : null */;
6242 val
* var2
/* : RuntimeVariable */;
6243 val
* var_recv
/* var recv: RuntimeVariable */;
6244 val
* var3
/* : AExpr */;
6245 val
* var4
/* : null */;
6246 val
* var5
/* : RuntimeVariable */;
6247 val
* var_i
/* var i: RuntimeVariable */;
6248 val
* var6
/* : nullable MAttribute */;
6249 val
* var8
/* : nullable MAttribute */;
6250 val
* var_mproperty
/* var mproperty: MAttribute */;
6253 var
= parser_nodes__AAttrFormExpr__n_expr(self
);
6257 var2
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var1
);
6261 var3
= parser_nodes__AAssignFormExpr__n_value(self
);
6265 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var3
, var4
);
6269 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrAssignExpr> */
6270 var8
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrAssignExpr> */
6275 if (unlikely(var6
== NULL
)) {
6276 PRINT_ERROR("Runtime error: %s", "Cast failed");
6277 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2826);
6280 var_mproperty
= var6
;
6282 separate_compiler__SeparateCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_i
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
6286 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6287 void VIRTUAL_abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
6288 abstract_compiler__AAttrAssignExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AAttrAssignExpr#stmt on <self:Object(AAttrAssignExpr)>*/
6291 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
6292 void abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
6293 val
* var_v
/* var v: AbstractCompilerVisitor */;
6294 val
* var
/* : AExpr */;
6295 val
* var1
/* : null */;
6296 val
* var2
/* : RuntimeVariable */;
6297 val
* var_recv
/* var recv: RuntimeVariable */;
6298 val
* var3
/* : AExpr */;
6299 val
* var4
/* : null */;
6300 val
* var5
/* : RuntimeVariable */;
6301 val
* var_value
/* var value: RuntimeVariable */;
6302 val
* var6
/* : nullable MAttribute */;
6303 val
* var8
/* : nullable MAttribute */;
6304 val
* var_mproperty
/* var mproperty: MAttribute */;
6305 val
* var9
/* : RuntimeVariable */;
6306 val
* var_attr
/* var attr: RuntimeVariable */;
6307 val
* var10
/* : nullable CallSite */;
6308 val
* var12
/* : nullable CallSite */;
6309 val
* var13
/* : Array[RuntimeVariable] */;
6310 long var14
/* : Int */;
6311 val
* var_
/* var : Array[RuntimeVariable] */;
6312 val
* var15
/* : nullable RuntimeVariable */;
6313 val
* var_res
/* var res: nullable RuntimeVariable */;
6314 val
* var16
/* : null */;
6315 short int var17
/* : Bool */;
6316 short int var18
/* : Bool */;
6317 val
* var_other
/* var other: nullable Object */;
6318 short int var20
/* : Bool */;
6319 short int var21
/* : Bool */;
6320 short int var22
/* : Bool */;
6323 var
= parser_nodes__AAttrFormExpr__n_expr(self
);
6327 var2
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var
, var1
);
6331 var3
= parser_nodes__AReassignFormExpr__n_value(self
);
6335 var5
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var3
, var4
);
6339 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrReassignExpr> */
6340 var8
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrReassignExpr> */
6345 if (unlikely(var6
== NULL
)) {
6346 PRINT_ERROR("Runtime error: %s", "Cast failed");
6347 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2836);
6350 var_mproperty
= var6
;
6352 var9
= separate_compiler__SeparateCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
6356 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AAttrReassignExpr> */
6357 var12
= self
->attrs
[COLOR_typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AAttrReassignExpr> */
6359 RET_LABEL11
:(void)0;
6362 if (unlikely(var10
== NULL
)) {
6363 PRINT_ERROR("Runtime error: %s", "Cast failed");
6364 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2838);
6367 var13
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6370 array__Array__with_capacity(var13
, var14
); /* Direct call array#Array#with_capacity on <var13:Array[RuntimeVariable]>*/
6374 array__AbstractArray__push(var_
, var_attr
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6377 array__AbstractArray__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6380 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var10
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
6384 if (var_res
== NULL
) {
6385 var17
= 0; /* is null */
6387 var17
= 1; /* arg is null and recv is not */
6390 { /* Inline kernel#Object#!= (var_res,var16) on <var_res:nullable RuntimeVariable> */
6393 var21
= ((short int (*)(val
*, val
*))(var_res
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_res
, var_other
) /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/;
6399 RET_LABEL19
:(void)0;
6403 if (unlikely(!var17
)) {
6404 PRINT_ERROR("Runtime error: %s", "Assert failed");
6405 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2839);
6409 separate_compiler__SeparateCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_res
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
6413 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6414 void VIRTUAL_abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
6415 abstract_compiler__AAttrReassignExpr__stmt(self
, p0
); /* Direct call abstract_compiler#AAttrReassignExpr#stmt on <self:Object(AAttrReassignExpr)>*/
6418 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6419 val
* abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
6420 val
* var
/* : nullable RuntimeVariable */;
6421 val
* var_v
/* var v: AbstractCompilerVisitor */;
6422 val
* var1
/* : AExpr */;
6423 val
* var2
/* : null */;
6424 val
* var3
/* : RuntimeVariable */;
6425 val
* var_recv
/* var recv: RuntimeVariable */;
6426 val
* var4
/* : nullable MAttribute */;
6427 val
* var6
/* : nullable MAttribute */;
6428 val
* var_mproperty
/* var mproperty: MAttribute */;
6429 val
* var7
/* : RuntimeVariable */;
6432 var1
= parser_nodes__AAttrFormExpr__n_expr(self
);
6436 var3
= abstract_compiler__AbstractCompilerVisitor__expr(var_v
, var1
, var2
);
6440 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AIssetAttrExpr> */
6441 var6
= self
->attrs
[COLOR_typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AIssetAttrExpr> */
6446 if (unlikely(var4
== NULL
)) {
6447 PRINT_ERROR("Runtime error: %s", "Cast failed");
6448 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2848);
6451 var_mproperty
= var4
;
6453 var7
= separate_compiler__SeparateCompilerVisitor__isset_attribute(var_v
, var_mproperty
, var_recv
);
6460 /* method abstract_compiler#AIssetAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6461 val
* VIRTUAL_abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
6462 val
* var
/* : nullable RuntimeVariable */;
6463 val
* var1
/* : nullable RuntimeVariable */;
6464 var1
= abstract_compiler__AIssetAttrExpr__expr(self
, p0
);
6469 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
6470 void abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
6471 val
* var_v
/* var v: AbstractCompilerVisitor */;
6475 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6476 void VIRTUAL_abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
6477 val
* var_v
/* var v: AbstractCompilerVisitor */;
6478 { /* Inline abstract_compiler#ADebugTypeExpr#stmt (self,p0) on <self:Object(ADebugTypeExpr)> */
6484 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
6485 val
* abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
6486 val
* var
/* : Set[MProperty] */;
6487 val
* var_mclass
/* var mclass: MClass */;
6488 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6489 val
* var3
/* : Map[MClass, Set[MProperty]] */;
6490 short int var4
/* : Bool */;
6491 short int var5
/* : Bool */;
6492 val
* var6
/* : HashSet[MProperty] */;
6493 val
* var_properties
/* var properties: HashSet[MProperty] */;
6494 val
* var7
/* : Array[MClass] */;
6495 val
* var_parents
/* var parents: Array[MClass] */;
6496 val
* var8
/* : POSet[MClass] */;
6497 short int var9
/* : Bool */;
6498 val
* var10
/* : POSetElement[MClass] */;
6499 val
* var11
/* : Collection[Object] */;
6500 val
* var12
/* : ArrayIterator[nullable Object] */;
6501 short int var13
/* : Bool */;
6502 val
* var14
/* : nullable Object */;
6503 val
* var_parent
/* var parent: MClass */;
6504 val
* var15
/* : Set[MProperty] */;
6505 val
* var16
/* : Array[MClassDef] */;
6506 val
* var18
/* : Array[MClassDef] */;
6507 val
* var19
/* : ArrayIterator[nullable Object] */;
6508 short int var20
/* : Bool */;
6509 val
* var21
/* : nullable Object */;
6510 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6511 val
* var22
/* : POSetElement[MModule] */;
6512 val
* var24
/* : POSetElement[MModule] */;
6513 val
* var25
/* : MModule */;
6514 val
* var27
/* : MModule */;
6515 short int var28
/* : Bool */;
6516 short int var29
/* : Bool */;
6517 val
* var31
/* : Array[MProperty] */;
6518 val
* var33
/* : Array[MProperty] */;
6519 val
* var34
/* : ArrayIterator[nullable Object] */;
6520 short int var35
/* : Bool */;
6521 val
* var36
/* : nullable Object */;
6522 val
* var_mprop
/* var mprop: MProperty */;
6523 val
* var38
/* : Map[MClass, Set[MProperty]] */;
6524 val
* var40
/* : Map[MClass, Set[MProperty]] */;
6525 val
* var41
/* : Map[MClass, Set[MProperty]] */;
6526 val
* var43
/* : Map[MClass, Set[MProperty]] */;
6527 val
* var44
/* : nullable Object */;
6530 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6531 var3
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6532 if (unlikely(var3
== NULL
)) {
6533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6534 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2893);
6542 var4
= abstract_collection__MapRead__has_key(var1
, var_mclass
);
6546 var6
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MProperty
);
6548 hash_collection__HashSet__init(var6
); /* Direct call hash_collection#HashSet#init on <var6:HashSet[MProperty]>*/
6550 var_properties
= var6
;
6551 var7
= NEW_array__Array(&type_array__Arraymodel__MClass
);
6553 array__Array__init(var7
); /* Direct call array#Array#init on <var7:Array[MClass]>*/
6557 var8
= model__MModule__flatten_mclass_hierarchy(self
);
6560 var9
= poset__POSet__has(var8
, var_mclass
);
6564 var10
= model__MClass__in_hierarchy(var_mclass
, self
);
6567 var11
= poset__POSetElement__direct_greaters(var10
);
6570 abstract_collection__SimpleCollection__add_all(var_parents
, var11
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_parents:Array[MClass]>*/
6575 var12
= array__AbstractArrayRead__iterator(var_parents
);
6579 var13
= array__ArrayIterator__is_ok(var12
);
6583 var14
= array__ArrayIterator__item(var12
);
6587 var15
= abstract_compiler__MModule__properties(self
, var_parent
);
6590 abstract_collection__SimpleCollection__add_all(var_properties
, var15
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_properties:HashSet[MProperty]>*/
6592 CONTINUE_label
: (void)0;
6594 array__ArrayIterator__next(var12
); /* Direct call array#ArrayIterator#next on <var12:ArrayIterator[nullable Object]>*/
6597 BREAK_label
: (void)0;
6599 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
6600 var18
= var_mclass
->attrs
[COLOR_model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
6601 if (unlikely(var18
== NULL
)) {
6602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
6603 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 392);
6607 RET_LABEL17
:(void)0;
6611 var19
= array__AbstractArrayRead__iterator(var16
);
6615 var20
= array__ArrayIterator__is_ok(var19
);
6619 var21
= array__ArrayIterator__item(var19
);
6621 var_mclassdef
= var21
;
6623 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
6624 var24
= self
->attrs
[COLOR_mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
6625 if (unlikely(var24
== NULL
)) {
6626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
6627 PRINT_ERROR(" (%s:%d)\n", "src/model/mmodule.nit", 101);
6631 RET_LABEL23
:(void)0;
6635 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6636 var27
= var_mclassdef
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6637 if (unlikely(var27
== NULL
)) {
6638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6639 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 471);
6643 RET_LABEL26
:(void)0;
6647 var28
= poset__POSetElement___60d_61d(var22
, var25
);
6651 goto CONTINUE_label30
;
6655 { /* Inline model#MClassDef#intro_mproperties (var_mclassdef) on <var_mclassdef:MClassDef> */
6656 var33
= var_mclassdef
->attrs
[COLOR_model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_mclassdef:MClassDef> */
6657 if (unlikely(var33
== NULL
)) {
6658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
6659 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 571);
6663 RET_LABEL32
:(void)0;
6667 var34
= array__AbstractArrayRead__iterator(var31
);
6671 var35
= array__ArrayIterator__is_ok(var34
);
6675 var36
= array__ArrayIterator__item(var34
);
6679 hash_collection__HashSet__add(var_properties
, var_mprop
); /* Direct call hash_collection#HashSet#add on <var_properties:HashSet[MProperty]>*/
6681 CONTINUE_label37
: (void)0;
6683 array__ArrayIterator__next(var34
); /* Direct call array#ArrayIterator#next on <var34:ArrayIterator[nullable Object]>*/
6686 BREAK_label37
: (void)0;
6687 CONTINUE_label30
: (void)0;
6689 array__ArrayIterator__next(var19
); /* Direct call array#ArrayIterator#next on <var19:ArrayIterator[nullable Object]>*/
6692 BREAK_label30
: (void)0;
6694 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6695 var40
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6696 if (unlikely(var40
== NULL
)) {
6697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6698 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2893);
6702 RET_LABEL39
:(void)0;
6706 ((void (*)(val
*, val
*, val
*))(var38
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var38
, var_mclass
, var_properties
) /* []= on <var38:Map[MClass, Set[MProperty]]>*/;
6711 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6712 var43
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6713 if (unlikely(var43
== NULL
)) {
6714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6715 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2893);
6719 RET_LABEL42
:(void)0;
6723 var44
= ((val
* (*)(val
*, val
*))(var41
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var41
, var_mclass
) /* [] on <var41:Map[MClass, Set[MProperty]]>*/;
6730 /* method abstract_compiler#MModule#properties for (self: Object, MClass): Set[MProperty] */
6731 val
* VIRTUAL_abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
6732 val
* var
/* : Set[MProperty] */;
6733 val
* var1
/* : Set[MProperty] */;
6734 var1
= abstract_compiler__MModule__properties(self
, p0
);
6739 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
6740 val
* abstract_compiler__MModule__properties_cache(val
* self
) {
6741 val
* var
/* : Map[MClass, Set[MProperty]] */;
6742 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6743 var1
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6744 if (unlikely(var1
== NULL
)) {
6745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6746 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2893);
6753 /* method abstract_compiler#MModule#properties_cache for (self: Object): Map[MClass, Set[MProperty]] */
6754 val
* VIRTUAL_abstract_compiler__MModule__properties_cache(val
* self
) {
6755 val
* var
/* : Map[MClass, Set[MProperty]] */;
6756 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6757 val
* var3
/* : Map[MClass, Set[MProperty]] */;
6758 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:Object(MModule)> */
6759 var3
= self
->attrs
[COLOR_abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:Object(MModule)> */
6760 if (unlikely(var3
== NULL
)) {
6761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6762 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 2893);
6772 /* method abstract_compiler#MModule#finalize_ffi for (self: MModule, AbstractCompiler) */
6773 void abstract_compiler__MModule__finalize_ffi(val
* self
, val
* p0
) {
6774 val
* var_c
/* var c: AbstractCompiler */;
6778 /* method abstract_compiler#MModule#finalize_ffi for (self: Object, AbstractCompiler) */
6779 void VIRTUAL_abstract_compiler__MModule__finalize_ffi(val
* self
, val
* p0
) {
6780 val
* var_c
/* var c: AbstractCompiler */;
6781 { /* Inline abstract_compiler#MModule#finalize_ffi (self,p0) on <self:Object(MModule)> */
6787 /* method abstract_compiler#MModule#collect_linker_libs for (self: MModule): nullable Set[String] */
6788 val
* abstract_compiler__MModule__collect_linker_libs(val
* self
) {
6789 val
* var
/* : nullable Set[String] */;
6790 val
* var1
/* : null */;
6797 /* method abstract_compiler#MModule#collect_linker_libs for (self: Object): nullable Set[String] */
6798 val
* VIRTUAL_abstract_compiler__MModule__collect_linker_libs(val
* self
) {
6799 val
* var
/* : nullable Set[String] */;
6800 val
* var1
/* : nullable Set[String] */;
6801 var1
= abstract_compiler__MModule__collect_linker_libs(self
);
6806 /* method abstract_compiler#Sys#main for (self: Sys) */
6807 void abstract_compiler__Sys__main(val
* self
) {
6808 val
* var
/* : ToolContext */;
6809 val
* var_toolcontext
/* var toolcontext: ToolContext */;
6810 val
* var1
/* : OptionArray */;
6811 static val
* varonce
;
6812 val
* var2
/* : String */;
6813 char* var3
/* : NativeString */;
6814 long var4
/* : Int */;
6815 val
* var5
/* : FlatString */;
6816 static val
* varonce6
;
6817 val
* var7
/* : String */;
6818 char* var8
/* : NativeString */;
6819 long var9
/* : Int */;
6820 val
* var10
/* : FlatString */;
6821 val
* var11
/* : Array[String] */;
6822 long var12
/* : Int */;
6823 val
* var13
/* : NativeArray[String] */;
6824 val
* var_opt_mixins
/* var opt_mixins: OptionArray */;
6825 val
* var14
/* : OptionContext */;
6826 val
* var16
/* : OptionContext */;
6827 val
* var17
/* : Array[Option] */;
6828 long var18
/* : Int */;
6829 val
* var19
/* : NativeArray[Option] */;
6830 static val
* varonce20
;
6831 val
* var21
/* : String */;
6832 char* var22
/* : NativeString */;
6833 long var23
/* : Int */;
6834 val
* var24
/* : FlatString */;
6835 val
* var26
/* : Sequence[String] */;
6836 val
* var27
/* : Model */;
6837 val
* var_model
/* var model: Model */;
6838 val
* var29
/* : ModelBuilder */;
6839 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6840 val
* var30
/* : OptionContext */;
6841 val
* var32
/* : OptionContext */;
6842 val
* var33
/* : Array[String] */;
6843 val
* var35
/* : Array[String] */;
6844 val
* var_arguments
/* var arguments: Array[String] */;
6845 short int var36
/* : Bool */;
6846 long var37
/* : Int */;
6847 long var38
/* : Int */;
6848 short int var39
/* : Bool */;
6849 short int var41
/* : Bool */;
6852 const char* var_class_name
;
6853 short int var42
/* : Bool */;
6854 short int var_
/* var : Bool */;
6855 val
* var43
/* : OptionString */;
6856 val
* var45
/* : OptionString */;
6857 val
* var46
/* : nullable Object */;
6858 val
* var48
/* : nullable Object */;
6859 val
* var49
/* : null */;
6860 short int var50
/* : Bool */;
6861 short int var51
/* : Bool */;
6862 val
* var_other
/* var other: nullable Object */;
6863 short int var53
/* : Bool */;
6864 short int var54
/* : Bool */;
6865 short int var55
/* : Bool */;
6866 static val
* varonce56
;
6867 val
* var57
/* : String */;
6868 char* var58
/* : NativeString */;
6869 long var59
/* : Int */;
6870 val
* var60
/* : FlatString */;
6871 long var61
/* : Int */;
6872 val
* var63
/* : Array[MModule] */;
6873 val
* var_mmodules
/* var mmodules: Array[MModule] */;
6874 val
* var64
/* : nullable Object */;
6875 val
* var66
/* : nullable Object */;
6876 val
* var67
/* : Array[MModule] */;
6877 val
* var_mixins
/* var mixins: Array[MModule] */;
6878 short int var68
/* : Bool */;
6879 val
* var69
/* : ArrayIterator[nullable Object] */;
6880 short int var70
/* : Bool */;
6881 val
* var71
/* : nullable Object */;
6882 val
* var_mmodule
/* var mmodule: MModule */;
6883 static val
* varonce72
;
6884 val
* var73
/* : String */;
6885 char* var74
/* : NativeString */;
6886 long var75
/* : Int */;
6887 val
* var76
/* : FlatString */;
6888 static val
* varonce77
;
6889 val
* var78
/* : String */;
6890 char* var79
/* : NativeString */;
6891 long var80
/* : Int */;
6892 val
* var81
/* : FlatString */;
6893 val
* var82
/* : Array[Object] */;
6894 long var83
/* : Int */;
6895 val
* var84
/* : NativeArray[Object] */;
6896 val
* var85
/* : String */;
6897 long var86
/* : Int */;
6898 val
* var87
/* : Array[MModule] */;
6899 long var88
/* : Int */;
6900 val
* var_89
/* var : Array[MModule] */;
6901 val
* var_ms
/* var ms: Array[MModule] */;
6902 short int var90
/* : Bool */;
6903 short int var91
/* : Bool */;
6904 var
= NEW_toolcontext__ToolContext(&type_toolcontext__ToolContext
);
6906 separate_erasure_compiler__ToolContext__init(var
); /* Direct call separate_erasure_compiler#ToolContext#init on <var:ToolContext>*/
6908 var_toolcontext
= var
;
6909 var1
= NEW_opts__OptionArray(&type_opts__OptionArray
);
6913 var3
= "Additionals module to min-in";
6915 var5
= string__NativeString__to_s_with_length(var3
, var4
);
6924 var10
= string__NativeString__to_s_with_length(var8
, var9
);
6928 var11
= NEW_array__Array(&type_array__Arraystring__String
);
6929 { /* var11 = array_instance Array[String] */
6931 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraystring__String
);
6932 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var7
;
6934 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[String]>*/;
6938 opts__OptionArray__init(var1
, var2
, var11
); /* Direct call opts#OptionArray#init on <var1:OptionArray>*/
6940 var_opt_mixins
= var1
;
6942 { /* Inline toolcontext#ToolContext#option_context (var_toolcontext) on <var_toolcontext:ToolContext> */
6943 var16
= var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <var_toolcontext:ToolContext> */
6944 if (unlikely(var16
== NULL
)) {
6945 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
6946 PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166);
6950 RET_LABEL15
:(void)0;
6953 var17
= NEW_array__Array(&type_array__Arrayopts__Option
);
6954 { /* var17 = array_instance Array[Option] */
6956 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArrayopts__Option
);
6957 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var_opt_mixins
;
6959 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Option]>*/;
6963 opts__OptionContext__add_option(var14
, var17
); /* Direct call opts#OptionContext#add_option on <var14:OptionContext>*/
6968 var22
= "Usage: nitg [OPTION]... file.nit...\nCompiles Nit programs.";
6970 var24
= string__NativeString__to_s_with_length(var22
, var23
);
6975 { /* Inline toolcontext#ToolContext#tooldescription= (var_toolcontext,var21) on <var_toolcontext:ToolContext> */
6976 var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___tooldescription
].val
= var21
; /* _tooldescription on <var_toolcontext:ToolContext> */
6977 RET_LABEL25
:(void)0;
6981 var26
= string__Object__args(self
);
6984 nith__ToolContext__process_options(var_toolcontext
, var26
); /* Direct call nith#ToolContext#process_options on <var_toolcontext:ToolContext>*/
6986 var27
= NEW_model_base__Model(&type_model_base__Model
);
6988 { /* Inline model_base#Model#init (var27) on <var27:Model> */
6989 RET_LABEL28
:(void)0;
6993 var29
= NEW_modelbuilder__ModelBuilder(&type_modelbuilder__ModelBuilder
);
6995 modelbuilder__ModelBuilder__init(var29
, var_model
, var_toolcontext
); /* Direct call modelbuilder#ModelBuilder#init on <var29:ModelBuilder>*/
6997 var_modelbuilder
= var29
;
6999 { /* Inline toolcontext#ToolContext#option_context (var_toolcontext) on <var_toolcontext:ToolContext> */
7000 var32
= var_toolcontext
->attrs
[COLOR_toolcontext__ToolContext___option_context
].val
; /* _option_context on <var_toolcontext:ToolContext> */
7001 if (unlikely(var32
== NULL
)) {
7002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
7003 PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166);
7007 RET_LABEL31
:(void)0;
7011 { /* Inline opts#OptionContext#rest (var30) on <var30:OptionContext> */
7012 var35
= var30
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <var30:OptionContext> */
7013 if (unlikely(var35
== NULL
)) {
7014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
7015 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250);
7019 RET_LABEL34
:(void)0;
7022 var_arguments
= var33
;
7024 var37
= array__AbstractArrayRead__length(var_arguments
);
7028 { /* Inline kernel#Int#> (var37,var38) on <var37:Int> */
7029 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
7030 /* <var38:Int> isa OTHER */
7031 var41
= 1; /* easy <var38:Int> isa OTHER*/
7032 if (unlikely(!var41
)) {
7033 var_class_name
= type_kernel__Int
.name
;
7034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7035 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
7038 var42
= var37
> var38
;
7041 RET_LABEL40
:(void)0;
7047 { /* Inline abstract_compiler#ToolContext#opt_output (var_toolcontext) on <var_toolcontext:ToolContext> */
7048 var45
= var_toolcontext
->attrs
[COLOR_abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var_toolcontext:ToolContext> */
7049 if (unlikely(var45
== NULL
)) {
7050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
7051 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 28);
7055 RET_LABEL44
:(void)0;
7059 { /* Inline opts#Option#value (var43) on <var43:OptionString> */
7060 var48
= var43
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var43:OptionString> */
7062 RET_LABEL47
:(void)0;
7066 if (var46
== NULL
) {
7067 var50
= 0; /* is null */
7069 var50
= 1; /* arg is null and recv is not */
7072 { /* Inline kernel#Object#!= (var46,var49) on <var46:nullable Object(nullable String)> */
7075 var54
= ((short int (*)(val
*, val
*))(var46
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var46
, var_other
) /* == on <var46:nullable String(String)>*/;
7081 RET_LABEL52
:(void)0;
7093 var58
= "Error: --output needs a single source file. Do you prefer --dir?";
7095 var60
= string__NativeString__to_s_with_length(var58
, var59
);
7100 file__Object__print(self
, var57
); /* Direct call file#Object#print on <self:Sys>*/
7104 { /* Inline kernel#Object#exit (self,var61) on <self:Sys> */
7106 RET_LABEL62
:(void)0;
7112 var63
= modelbuilder__ModelBuilder__parse(var_modelbuilder
, var_arguments
);
7114 var_mmodules
= var63
;
7116 { /* Inline opts#Option#value (var_opt_mixins) on <var_opt_mixins:OptionArray> */
7117 var66
= var_opt_mixins
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var_opt_mixins:OptionArray> */
7119 RET_LABEL65
:(void)0;
7123 var67
= modelbuilder__ModelBuilder__parse(var_modelbuilder
, var64
);
7127 var68
= array__AbstractArrayRead__is_empty(var_mmodules
);
7134 modelbuilder__ModelBuilder__run_phases(var_modelbuilder
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var_modelbuilder:ModelBuilder>*/
7137 var69
= array__AbstractArrayRead__iterator(var_mmodules
);
7141 var70
= array__ArrayIterator__is_ok(var69
);
7145 var71
= array__ArrayIterator__item(var69
);
7147 var_mmodule
= var71
;
7151 var74
= "*** PROCESS ";
7153 var76
= string__NativeString__to_s_with_length(var74
, var75
);
7162 var81
= string__NativeString__to_s_with_length(var79
, var80
);
7166 var82
= NEW_array__Array(&type_array__Arraykernel__Object
);
7167 { /* var82 = array_instance Array[Object] */
7169 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArraykernel__Object
);
7170 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var73
;
7171 ((struct instance_array__NativeArray
*)var84
)->values
[1] = (val
*) var_mmodule
;
7172 ((struct instance_array__NativeArray
*)var84
)->values
[2] = (val
*) var78
;
7174 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[Object]>*/;
7178 var85
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_string__Object__to_s
]))(var82
) /* to_s on <var82:Array[Object]>*/;
7182 toolcontext__ToolContext__info(var_toolcontext
, var85
, var86
); /* Direct call toolcontext#ToolContext#info on <var_toolcontext:ToolContext>*/
7184 var87
= NEW_array__Array(&type_array__Arraymmodule__MModule
);
7187 array__Array__with_capacity(var87
, var88
); /* Direct call array#Array#with_capacity on <var87:Array[MModule]>*/
7191 array__AbstractArray__push(var_89
, var_mmodule
); /* Direct call array#AbstractArray#push on <var_89:Array[MModule]>*/
7195 var90
= array__AbstractArrayRead__is_empty(var_mixins
);
7200 abstract_collection__SimpleCollection__add_all(var_ms
, var_mixins
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_ms:Array[MModule]>*/
7205 modelbuilder__ToolContext__run_global_phases(var_toolcontext
, var_ms
); /* Direct call modelbuilder#ToolContext#run_global_phases on <var_toolcontext:ToolContext>*/
7207 CONTINUE_label
: (void)0;
7209 array__ArrayIterator__next(var69
); /* Direct call array#ArrayIterator#next on <var69:ArrayIterator[nullable Object]>*/
7212 BREAK_label
: (void)0;
7215 /* method abstract_compiler#Sys#main for (self: Object) */
7216 void VIRTUAL_abstract_compiler__Sys__main(val
* self
) {
7217 abstract_compiler__Sys__main(self
); /* Direct call abstract_compiler#Sys#main on <self:Object(Sys)>*/