1 #include "nit__abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AIfExpr#expr for (self: AIfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3 val
* nit__abstract_compiler___AIfExpr___AExpr__expr(val
* self
, val
* p0
) {
4 val
* var
/* : nullable RuntimeVariable */;
5 val
* var_v
/* var v: AbstractCompilerVisitor */;
6 val
* var1
/* : nullable MType */;
7 val
* var3
/* : nullable MType */;
8 val
* var4
/* : RuntimeVariable */;
9 val
* var_res
/* var res: RuntimeVariable */;
10 val
* var5
/* : AExpr */;
11 val
* var7
/* : AExpr */;
12 val
* var8
/* : RuntimeVariable */;
13 val
* var_cond
/* var cond: RuntimeVariable */;
14 val
* var9
/* : NativeArray[String] */;
16 static val
* varonce10
;
17 val
* var11
/* : String */;
18 char* var12
/* : NativeString */;
19 val
* var13
/* : FlatString */;
20 static val
* varonce14
;
21 val
* var15
/* : String */;
22 char* var16
/* : NativeString */;
23 val
* var17
/* : FlatString */;
24 val
* var18
/* : String */;
25 val
* var19
/* : String */;
26 val
* var20
/* : nullable AExpr */;
27 val
* var22
/* : nullable AExpr */;
28 val
* var23
/* : RuntimeVariable */;
29 static val
* varonce24
;
30 val
* var25
/* : String */;
31 char* var26
/* : NativeString */;
32 val
* var27
/* : FlatString */;
33 val
* var28
/* : nullable AExpr */;
34 val
* var30
/* : nullable AExpr */;
35 val
* var31
/* : RuntimeVariable */;
36 static val
* varonce32
;
37 val
* var33
/* : String */;
38 char* var34
/* : NativeString */;
39 val
* var35
/* : FlatString */;
42 { /* Inline typing#AExpr#mtype (self) on <self:AIfExpr> */
43 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AIfExpr> */
48 if (unlikely(var1
== NULL
)) {
49 PRINT_ERROR("Runtime error: %s", "Cast failed");
50 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2702);
54 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
58 { /* Inline parser_nodes#AIfExpr#n_expr (self) on <self:AIfExpr> */
59 var7
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_expr
].val
; /* _n_expr on <self:AIfExpr> */
60 if (unlikely(var7
== NULL
)) {
61 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
62 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1857);
70 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
73 if (unlikely(varonce
==NULL
)) {
74 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
75 if (likely(varonce10
!=NULL
)) {
79 var13
= standard___standard__NativeString___to_s_with_length(var12
, 4l);
83 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
84 if (likely(varonce14
!=NULL
)) {
88 var17
= standard___standard__NativeString___to_s_with_length(var16
, 2l);
92 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
98 var18
= ((val
*(*)(val
* self
))(var_cond
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_cond
); /* to_s on <var_cond:RuntimeVariable>*/
100 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
102 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
106 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
109 { /* Inline parser_nodes#AIfExpr#n_then (self) on <self:AIfExpr> */
110 var22
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_then
].val
; /* _n_then on <self:AIfExpr> */
115 if (unlikely(var20
== NULL
)) {
116 PRINT_ERROR("Runtime error: %s", "Cast failed");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2705);
121 var23
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var20
, ((val
*)NULL
));
124 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
126 if (likely(varonce24
!=NULL
)) {
130 var27
= standard___standard__NativeString___to_s_with_length(var26
, 8l);
135 nit___nit__AbstractCompilerVisitor___add(var_v
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
138 { /* Inline parser_nodes#AIfExpr#n_else (self) on <self:AIfExpr> */
139 var30
= self
->attrs
[COLOR_nit__parser_nodes__AIfExpr___n_else
].val
; /* _n_else on <self:AIfExpr> */
144 if (unlikely(var28
== NULL
)) {
145 PRINT_ERROR("Runtime error: %s", "Cast failed");
146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2707);
150 var31
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var28
, ((val
*)NULL
));
153 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
155 if (likely(varonce32
!=NULL
)) {
159 var35
= standard___standard__NativeString___to_s_with_length(var34
, 1l);
164 nit___nit__AbstractCompilerVisitor___add(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
171 /* method abstract_compiler#AIfexprExpr#expr for (self: AIfexprExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
172 val
* nit__abstract_compiler___AIfexprExpr___AExpr__expr(val
* self
, val
* p0
) {
173 val
* var
/* : nullable RuntimeVariable */;
174 val
* var_v
/* var v: AbstractCompilerVisitor */;
175 val
* var1
/* : nullable MType */;
176 val
* var3
/* : nullable MType */;
177 val
* var4
/* : RuntimeVariable */;
178 val
* var_res
/* var res: RuntimeVariable */;
179 val
* var5
/* : AExpr */;
180 val
* var7
/* : AExpr */;
181 val
* var8
/* : RuntimeVariable */;
182 val
* var_cond
/* var cond: RuntimeVariable */;
183 val
* var9
/* : NativeArray[String] */;
185 static val
* varonce10
;
186 val
* var11
/* : String */;
187 char* var12
/* : NativeString */;
188 val
* var13
/* : FlatString */;
189 static val
* varonce14
;
190 val
* var15
/* : String */;
191 char* var16
/* : NativeString */;
192 val
* var17
/* : FlatString */;
193 val
* var18
/* : String */;
194 val
* var19
/* : String */;
195 val
* var20
/* : AExpr */;
196 val
* var22
/* : AExpr */;
197 val
* var23
/* : RuntimeVariable */;
198 static val
* varonce24
;
199 val
* var25
/* : String */;
200 char* var26
/* : NativeString */;
201 val
* var27
/* : FlatString */;
202 val
* var28
/* : AExpr */;
203 val
* var30
/* : AExpr */;
204 val
* var31
/* : RuntimeVariable */;
205 static val
* varonce32
;
206 val
* var33
/* : String */;
207 char* var34
/* : NativeString */;
208 val
* var35
/* : FlatString */;
211 { /* Inline typing#AExpr#mtype (self) on <self:AIfexprExpr> */
212 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AIfexprExpr> */
217 if (unlikely(var1
== NULL
)) {
218 PRINT_ERROR("Runtime error: %s", "Cast failed");
219 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2716);
223 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
227 { /* Inline parser_nodes#AIfexprExpr#n_expr (self) on <self:AIfexprExpr> */
228 var7
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_expr
].val
; /* _n_expr on <self:AIfexprExpr> */
229 if (unlikely(var7
== NULL
)) {
230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
231 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1880);
239 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
242 if (unlikely(varonce
==NULL
)) {
243 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
244 if (likely(varonce10
!=NULL
)) {
248 var13
= standard___standard__NativeString___to_s_with_length(var12
, 4l);
252 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
253 if (likely(varonce14
!=NULL
)) {
257 var17
= standard___standard__NativeString___to_s_with_length(var16
, 2l);
261 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
267 var18
= ((val
*(*)(val
* self
))(var_cond
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_cond
); /* to_s on <var_cond:RuntimeVariable>*/
269 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
271 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
275 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
278 { /* Inline parser_nodes#AIfexprExpr#n_then (self) on <self:AIfexprExpr> */
279 var22
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_then
].val
; /* _n_then on <self:AIfexprExpr> */
280 if (unlikely(var22
== NULL
)) {
281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_then");
282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1886);
290 var23
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var20
, ((val
*)NULL
));
293 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
295 if (likely(varonce24
!=NULL
)) {
299 var27
= standard___standard__NativeString___to_s_with_length(var26
, 8l);
304 nit___nit__AbstractCompilerVisitor___add(var_v
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
307 { /* Inline parser_nodes#AIfexprExpr#n_else (self) on <self:AIfexprExpr> */
308 var30
= self
->attrs
[COLOR_nit__parser_nodes__AIfexprExpr___n_else
].val
; /* _n_else on <self:AIfexprExpr> */
309 if (unlikely(var30
== NULL
)) {
310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_else");
311 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1892);
319 var31
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var28
, ((val
*)NULL
));
322 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
324 if (likely(varonce32
!=NULL
)) {
328 var35
= standard___standard__NativeString___to_s_with_length(var34
, 1l);
333 nit___nit__AbstractCompilerVisitor___add(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
340 /* method abstract_compiler#ADoExpr#stmt for (self: ADoExpr, AbstractCompilerVisitor) */
341 void nit__abstract_compiler___ADoExpr___AExpr__stmt(val
* self
, val
* p0
) {
342 val
* var_v
/* var v: AbstractCompilerVisitor */;
343 val
* var
/* : nullable AExpr */;
344 val
* var2
/* : nullable AExpr */;
345 val
* var3
/* : nullable EscapeMark */;
346 val
* var5
/* : nullable EscapeMark */;
349 { /* Inline parser_nodes#ADoExpr#n_block (self) on <self:ADoExpr> */
350 var2
= self
->attrs
[COLOR_nit__parser_nodes__ADoExpr___n_block
].val
; /* _n_block on <self:ADoExpr> */
356 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
359 { /* Inline scope#ADoExpr#break_mark (self) on <self:ADoExpr> */
360 var5
= self
->attrs
[COLOR_nit__scope__ADoExpr___break_mark
].val
; /* _break_mark on <self:ADoExpr> */
366 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var3
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
370 /* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */
371 void nit__abstract_compiler___AWhileExpr___AExpr__stmt(val
* self
, val
* p0
) {
372 val
* var_v
/* var v: AbstractCompilerVisitor */;
374 val
* var
/* : String */;
375 char* var1
/* : NativeString */;
376 val
* var2
/* : FlatString */;
377 val
* var3
/* : AExpr */;
378 val
* var5
/* : AExpr */;
379 val
* var6
/* : RuntimeVariable */;
380 val
* var_cond
/* var cond: RuntimeVariable */;
381 val
* var8
/* : NativeArray[String] */;
382 static val
* varonce7
;
383 static val
* varonce9
;
384 val
* var10
/* : String */;
385 char* var11
/* : NativeString */;
386 val
* var12
/* : FlatString */;
387 static val
* varonce13
;
388 val
* var14
/* : String */;
389 char* var15
/* : NativeString */;
390 val
* var16
/* : FlatString */;
391 val
* var17
/* : String */;
392 val
* var18
/* : String */;
393 val
* var19
/* : nullable AExpr */;
394 val
* var21
/* : nullable AExpr */;
395 val
* var22
/* : nullable EscapeMark */;
396 val
* var24
/* : nullable EscapeMark */;
397 static val
* varonce25
;
398 val
* var26
/* : String */;
399 char* var27
/* : NativeString */;
400 val
* var28
/* : FlatString */;
401 val
* var29
/* : nullable EscapeMark */;
402 val
* var31
/* : nullable EscapeMark */;
404 if (likely(varonce
!=NULL
)) {
408 var2
= standard___standard__NativeString___to_s_with_length(var1
, 9l);
413 nit___nit__AbstractCompilerVisitor___add(var_v
, var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
416 { /* Inline parser_nodes#AWhileExpr#n_expr (self) on <self:AWhileExpr> */
417 var5
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_expr
].val
; /* _n_expr on <self:AWhileExpr> */
418 if (unlikely(var5
== NULL
)) {
419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1904);
428 var6
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var3
);
431 if (unlikely(varonce7
==NULL
)) {
432 var8
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
433 if (likely(varonce9
!=NULL
)) {
437 var12
= standard___standard__NativeString___to_s_with_length(var11
, 5l);
441 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var10
;
442 if (likely(varonce13
!=NULL
)) {
446 var16
= standard___standard__NativeString___to_s_with_length(var15
, 8l);
450 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var14
;
456 var17
= ((val
*(*)(val
* self
))(var_cond
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_cond
); /* to_s on <var_cond:RuntimeVariable>*/
458 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var17
;
460 var18
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
464 nit___nit__AbstractCompilerVisitor___add(var_v
, var18
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
467 { /* Inline parser_nodes#AWhileExpr#n_block (self) on <self:AWhileExpr> */
468 var21
= self
->attrs
[COLOR_nit__parser_nodes__AWhileExpr___n_block
].val
; /* _n_block on <self:AWhileExpr> */
474 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
477 { /* Inline scope#AWhileExpr#continue_mark (self) on <self:AWhileExpr> */
478 var24
= self
->attrs
[COLOR_nit__scope__AWhileExpr___continue_mark
].val
; /* _continue_mark on <self:AWhileExpr> */
484 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
486 if (likely(varonce25
!=NULL
)) {
490 var28
= standard___standard__NativeString___to_s_with_length(var27
, 1l);
495 nit___nit__AbstractCompilerVisitor___add(var_v
, var26
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
498 { /* Inline scope#AWhileExpr#break_mark (self) on <self:AWhileExpr> */
499 var31
= self
->attrs
[COLOR_nit__scope__AWhileExpr___break_mark
].val
; /* _break_mark on <self:AWhileExpr> */
505 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
509 /* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */
510 void nit__abstract_compiler___ALoopExpr___AExpr__stmt(val
* self
, val
* p0
) {
511 val
* var_v
/* var v: AbstractCompilerVisitor */;
513 val
* var
/* : String */;
514 char* var1
/* : NativeString */;
515 val
* var2
/* : FlatString */;
516 val
* var3
/* : nullable AExpr */;
517 val
* var5
/* : nullable AExpr */;
518 val
* var6
/* : nullable EscapeMark */;
519 val
* var8
/* : nullable EscapeMark */;
520 static val
* varonce9
;
521 val
* var10
/* : String */;
522 char* var11
/* : NativeString */;
523 val
* var12
/* : FlatString */;
524 val
* var13
/* : nullable EscapeMark */;
525 val
* var15
/* : nullable EscapeMark */;
527 if (likely(varonce
!=NULL
)) {
531 var2
= standard___standard__NativeString___to_s_with_length(var1
, 9l);
536 nit___nit__AbstractCompilerVisitor___add(var_v
, var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
539 { /* Inline parser_nodes#ALoopExpr#n_block (self) on <self:ALoopExpr> */
540 var5
= self
->attrs
[COLOR_nit__parser_nodes__ALoopExpr___n_block
].val
; /* _n_block on <self:ALoopExpr> */
546 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var3
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
549 { /* Inline scope#ALoopExpr#continue_mark (self) on <self:ALoopExpr> */
550 var8
= self
->attrs
[COLOR_nit__scope__ALoopExpr___continue_mark
].val
; /* _continue_mark on <self:ALoopExpr> */
556 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var6
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
558 if (likely(varonce9
!=NULL
)) {
562 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
567 nit___nit__AbstractCompilerVisitor___add(var_v
, var10
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
570 { /* Inline scope#ALoopExpr#break_mark (self) on <self:ALoopExpr> */
571 var15
= self
->attrs
[COLOR_nit__scope__ALoopExpr___break_mark
].val
; /* _break_mark on <self:ALoopExpr> */
577 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
581 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
582 void nit__abstract_compiler___AForExpr___AExpr__stmt(val
* self
, val
* p0
) {
583 val
* var_v
/* var v: AbstractCompilerVisitor */;
584 val
* var
/* : AExpr */;
585 val
* var2
/* : AExpr */;
586 val
* var3
/* : RuntimeVariable */;
587 val
* var_cl
/* var cl: RuntimeVariable */;
588 val
* var4
/* : nullable CallSite */;
589 val
* var6
/* : nullable CallSite */;
590 val
* var_it_meth
/* var it_meth: nullable CallSite */;
591 short int var7
/* : Bool */;
592 short int var8
/* : Bool */;
593 val
* var_other
/* var other: nullable Object */;
594 short int var10
/* : Bool */;
595 short int var11
/* : Bool */;
596 val
* var12
/* : Array[RuntimeVariable] */;
597 val
* var_
/* var : Array[RuntimeVariable] */;
598 val
* var13
/* : nullable RuntimeVariable */;
599 val
* var_it
/* var it: nullable RuntimeVariable */;
600 short int var14
/* : Bool */;
601 short int var15
/* : Bool */;
602 short int var17
/* : Bool */;
603 short int var18
/* : Bool */;
605 val
* var19
/* : String */;
606 char* var20
/* : NativeString */;
607 val
* var21
/* : FlatString */;
608 val
* var22
/* : nullable CallSite */;
609 val
* var24
/* : nullable CallSite */;
610 val
* var_isok_meth
/* var isok_meth: nullable CallSite */;
611 short int var25
/* : Bool */;
612 short int var26
/* : Bool */;
613 short int var28
/* : Bool */;
614 short int var29
/* : Bool */;
615 val
* var30
/* : Array[RuntimeVariable] */;
616 val
* var_31
/* var : Array[RuntimeVariable] */;
617 val
* var32
/* : nullable RuntimeVariable */;
618 val
* var_ok
/* var ok: nullable RuntimeVariable */;
619 short int var33
/* : Bool */;
620 short int var34
/* : Bool */;
621 short int var36
/* : Bool */;
622 short int var37
/* : Bool */;
623 val
* var39
/* : NativeArray[String] */;
624 static val
* varonce38
;
625 static val
* varonce40
;
626 val
* var41
/* : String */;
627 char* var42
/* : NativeString */;
628 val
* var43
/* : FlatString */;
629 static val
* varonce44
;
630 val
* var45
/* : String */;
631 char* var46
/* : NativeString */;
632 val
* var47
/* : FlatString */;
633 val
* var48
/* : String */;
634 val
* var49
/* : String */;
635 val
* var50
/* : nullable Array[Variable] */;
636 val
* var52
/* : nullable Array[Variable] */;
637 long var53
/* : Int */;
638 long var55
/* : Int */;
639 short int var56
/* : Bool */;
640 short int var58
/* : Bool */;
641 val
* var59
/* : nullable CallSite */;
642 val
* var61
/* : nullable CallSite */;
643 val
* var_item_meth
/* var item_meth: nullable CallSite */;
644 short int var62
/* : Bool */;
645 short int var63
/* : Bool */;
646 short int var65
/* : Bool */;
647 short int var66
/* : Bool */;
648 val
* var67
/* : Array[RuntimeVariable] */;
649 val
* var_68
/* var : Array[RuntimeVariable] */;
650 val
* var69
/* : nullable RuntimeVariable */;
651 val
* var_i
/* var i: nullable RuntimeVariable */;
652 short int var70
/* : Bool */;
653 short int var71
/* : Bool */;
654 short int var73
/* : Bool */;
655 short int var74
/* : Bool */;
656 val
* var75
/* : nullable Array[Variable] */;
657 val
* var77
/* : nullable Array[Variable] */;
658 val
* var78
/* : nullable Object */;
659 val
* var79
/* : RuntimeVariable */;
660 val
* var80
/* : nullable Array[Variable] */;
661 val
* var82
/* : nullable Array[Variable] */;
662 long var83
/* : Int */;
663 long var85
/* : Int */;
664 short int var86
/* : Bool */;
665 short int var88
/* : Bool */;
666 val
* var89
/* : nullable CallSite */;
667 val
* var91
/* : nullable CallSite */;
668 val
* var_key_meth
/* var key_meth: nullable CallSite */;
669 short int var92
/* : Bool */;
670 short int var93
/* : Bool */;
671 short int var95
/* : Bool */;
672 short int var96
/* : Bool */;
673 val
* var97
/* : Array[RuntimeVariable] */;
674 val
* var_98
/* var : Array[RuntimeVariable] */;
675 val
* var99
/* : nullable RuntimeVariable */;
676 val
* var_i100
/* var i: nullable RuntimeVariable */;
677 short int var101
/* : Bool */;
678 short int var102
/* : Bool */;
679 short int var104
/* : Bool */;
680 short int var105
/* : Bool */;
681 val
* var106
/* : nullable Array[Variable] */;
682 val
* var108
/* : nullable Array[Variable] */;
683 val
* var109
/* : nullable Object */;
684 val
* var110
/* : RuntimeVariable */;
685 val
* var111
/* : nullable CallSite */;
686 val
* var113
/* : nullable CallSite */;
687 val
* var_item_meth114
/* var item_meth: nullable CallSite */;
688 short int var115
/* : Bool */;
689 short int var116
/* : Bool */;
690 short int var118
/* : Bool */;
691 short int var119
/* : Bool */;
692 val
* var120
/* : Array[RuntimeVariable] */;
693 val
* var_121
/* var : Array[RuntimeVariable] */;
694 val
* var122
/* : nullable RuntimeVariable */;
695 short int var123
/* : Bool */;
696 short int var124
/* : Bool */;
697 short int var126
/* : Bool */;
698 short int var127
/* : Bool */;
699 val
* var128
/* : nullable Array[Variable] */;
700 val
* var130
/* : nullable Array[Variable] */;
701 val
* var131
/* : nullable Object */;
702 val
* var132
/* : RuntimeVariable */;
703 val
* var133
/* : nullable AExpr */;
704 val
* var135
/* : nullable AExpr */;
705 val
* var136
/* : nullable EscapeMark */;
706 val
* var138
/* : nullable EscapeMark */;
707 val
* var139
/* : nullable CallSite */;
708 val
* var141
/* : nullable CallSite */;
709 val
* var_next_meth
/* var next_meth: nullable CallSite */;
710 short int var142
/* : Bool */;
711 short int var143
/* : Bool */;
712 short int var145
/* : Bool */;
713 short int var146
/* : Bool */;
714 val
* var147
/* : Array[RuntimeVariable] */;
715 val
* var_148
/* var : Array[RuntimeVariable] */;
716 val
* var149
/* : nullable RuntimeVariable */;
717 static val
* varonce150
;
718 val
* var151
/* : String */;
719 char* var152
/* : NativeString */;
720 val
* var153
/* : FlatString */;
721 val
* var154
/* : nullable EscapeMark */;
722 val
* var156
/* : nullable EscapeMark */;
723 val
* var157
/* : nullable CallSite */;
724 val
* var159
/* : nullable CallSite */;
725 val
* var_method_finish
/* var method_finish: nullable CallSite */;
726 short int var160
/* : Bool */;
727 short int var161
/* : Bool */;
728 short int var163
/* : Bool */;
729 short int var164
/* : Bool */;
730 val
* var165
/* : Array[RuntimeVariable] */;
731 val
* var_166
/* var : Array[RuntimeVariable] */;
732 val
* var167
/* : nullable RuntimeVariable */;
735 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
736 var2
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
737 if (unlikely(var2
== NULL
)) {
738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
739 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1940);
747 var3
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, ((val
*)NULL
));
751 { /* Inline typing#AForExpr#method_iterator (self) on <self:AForExpr> */
752 var6
= self
->attrs
[COLOR_nit__typing__AForExpr___method_iterator
].val
; /* _method_iterator on <self:AForExpr> */
758 if (var_it_meth
== NULL
) {
759 var7
= 0; /* is null */
761 var7
= 1; /* arg is null and recv is not */
764 { /* Inline kernel#Object#!= (var_it_meth,((val*)NULL)) on <var_it_meth:nullable CallSite> */
765 var_other
= ((val
*)NULL
);
767 var10
= ((short int(*)(val
* self
, val
* p0
))(var_it_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_it_meth
, var_other
); /* == on <var_it_meth:nullable CallSite(CallSite)>*/
776 if (unlikely(!var7
)) {
777 PRINT_ERROR("Runtime error: %s", "Assert failed");
778 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2764);
781 var12
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
783 standard___standard__Array___with_capacity(var12
, 1l); /* Direct call array#Array#with_capacity on <var12:Array[RuntimeVariable]>*/
787 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_cl
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
790 var13
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_it_meth
, var_
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
793 if (var_it
== NULL
) {
794 var14
= 0; /* is null */
796 var14
= 1; /* arg is null and recv is not */
799 { /* Inline kernel#Object#!= (var_it,((val*)NULL)) on <var_it:nullable RuntimeVariable> */
800 var_other
= ((val
*)NULL
);
802 var17
= ((short int(*)(val
* self
, val
* p0
))(var_it
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_it
, var_other
); /* == on <var_it:nullable RuntimeVariable(RuntimeVariable)>*/
811 if (unlikely(!var14
)) {
812 PRINT_ERROR("Runtime error: %s", "Assert failed");
813 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2766);
816 if (likely(varonce
!=NULL
)) {
820 var21
= standard___standard__NativeString___to_s_with_length(var20
, 9l);
825 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
828 { /* Inline typing#AForExpr#method_is_ok (self) on <self:AForExpr> */
829 var24
= self
->attrs
[COLOR_nit__typing__AForExpr___method_is_ok
].val
; /* _method_is_ok on <self:AForExpr> */
834 var_isok_meth
= var22
;
835 if (var_isok_meth
== NULL
) {
836 var25
= 0; /* is null */
838 var25
= 1; /* arg is null and recv is not */
841 { /* Inline kernel#Object#!= (var_isok_meth,((val*)NULL)) on <var_isok_meth:nullable CallSite> */
842 var_other
= ((val
*)NULL
);
844 var28
= ((short int(*)(val
* self
, val
* p0
))(var_isok_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_isok_meth
, var_other
); /* == on <var_isok_meth:nullable CallSite(CallSite)>*/
853 if (unlikely(!var25
)) {
854 PRINT_ERROR("Runtime error: %s", "Assert failed");
855 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2769);
858 var30
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
860 standard___standard__Array___with_capacity(var30
, 1l); /* Direct call array#Array#with_capacity on <var30:Array[RuntimeVariable]>*/
864 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_31
, var_it
); /* Direct call array#AbstractArray#push on <var_31:Array[RuntimeVariable]>*/
867 var32
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_isok_meth
, var_31
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
870 if (var_ok
== NULL
) {
871 var33
= 0; /* is null */
873 var33
= 1; /* arg is null and recv is not */
876 { /* Inline kernel#Object#!= (var_ok,((val*)NULL)) on <var_ok:nullable RuntimeVariable> */
877 var_other
= ((val
*)NULL
);
879 var36
= ((short int(*)(val
* self
, val
* p0
))(var_ok
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ok
, var_other
); /* == on <var_ok:nullable RuntimeVariable(RuntimeVariable)>*/
888 if (unlikely(!var33
)) {
889 PRINT_ERROR("Runtime error: %s", "Assert failed");
890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2771);
893 if (unlikely(varonce38
==NULL
)) {
894 var39
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
895 if (likely(varonce40
!=NULL
)) {
899 var43
= standard___standard__NativeString___to_s_with_length(var42
, 4l);
903 ((struct instance_standard__NativeArray
*)var39
)->values
[0]=var41
;
904 if (likely(varonce44
!=NULL
)) {
908 var47
= standard___standard__NativeString___to_s_with_length(var46
, 8l);
912 ((struct instance_standard__NativeArray
*)var39
)->values
[2]=var45
;
918 var48
= ((val
*(*)(val
* self
))(var_ok
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_ok
); /* to_s on <var_ok:nullable RuntimeVariable(RuntimeVariable)>*/
920 ((struct instance_standard__NativeArray
*)var39
)->values
[1]=var48
;
922 var49
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
926 nit___nit__AbstractCompilerVisitor___add(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
929 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
930 var52
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
936 PRINT_ERROR("Runtime error: %s", "Receiver is null");
937 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2773);
940 { /* Inline array#AbstractArrayRead#length (var50) on <var50:nullable Array[Variable]> */
941 if (unlikely(var50
== NULL
)) {
942 PRINT_ERROR("Runtime error: %s", "Receiver is null");
943 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
946 var55
= var50
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var50:nullable Array[Variable]> */
952 { /* Inline kernel#Int#== (var53,1l) on <var53:Int> */
961 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
962 var61
= self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
967 var_item_meth
= var59
;
968 if (var_item_meth
== NULL
) {
969 var62
= 0; /* is null */
971 var62
= 1; /* arg is null and recv is not */
974 { /* Inline kernel#Object#!= (var_item_meth,((val*)NULL)) on <var_item_meth:nullable CallSite> */
975 var_other
= ((val
*)NULL
);
977 var65
= ((short int(*)(val
* self
, val
* p0
))(var_item_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_item_meth
, var_other
); /* == on <var_item_meth:nullable CallSite(CallSite)>*/
986 if (unlikely(!var62
)) {
987 PRINT_ERROR("Runtime error: %s", "Assert failed");
988 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2775);
991 var67
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
993 standard___standard__Array___with_capacity(var67
, 1l); /* Direct call array#Array#with_capacity on <var67:Array[RuntimeVariable]>*/
997 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_68
, var_it
); /* Direct call array#AbstractArray#push on <var_68:Array[RuntimeVariable]>*/
1000 var69
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth
, var_68
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
1003 if (var_i
== NULL
) {
1004 var70
= 0; /* is null */
1006 var70
= 1; /* arg is null and recv is not */
1009 { /* Inline kernel#Object#!= (var_i,((val*)NULL)) on <var_i:nullable RuntimeVariable> */
1010 var_other
= ((val
*)NULL
);
1012 var73
= ((short int(*)(val
* self
, val
* p0
))(var_i
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_i
, var_other
); /* == on <var_i:nullable RuntimeVariable(RuntimeVariable)>*/
1017 RET_LABEL72
:(void)0;
1021 if (unlikely(!var70
)) {
1022 PRINT_ERROR("Runtime error: %s", "Assert failed");
1023 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2777);
1027 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1028 var77
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1030 RET_LABEL76
:(void)0;
1033 if (var75
== NULL
) {
1034 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2778);
1038 var78
= standard___standard__SequenceRead___Collection__first(var75
);
1041 var79
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var78
);
1044 nit___nit__AbstractCompilerVisitor___assign(var_v
, var79
, var_i
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1048 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1049 var82
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1051 RET_LABEL81
:(void)0;
1054 if (var80
== NULL
) {
1055 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1056 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2779);
1059 { /* Inline array#AbstractArrayRead#length (var80) on <var80:nullable Array[Variable]> */
1060 if (unlikely(var80
== NULL
)) {
1061 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1062 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 26);
1065 var85
= var80
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var80:nullable Array[Variable]> */
1067 RET_LABEL84
:(void)0;
1071 { /* Inline kernel#Int#== (var83,2l) on <var83:Int> */
1072 var88
= var83
== 2l;
1075 RET_LABEL87
:(void)0;
1080 { /* Inline typing#AForExpr#method_key (self) on <self:AForExpr> */
1081 var91
= self
->attrs
[COLOR_nit__typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
1083 RET_LABEL90
:(void)0;
1086 var_key_meth
= var89
;
1087 if (var_key_meth
== NULL
) {
1088 var92
= 0; /* is null */
1090 var92
= 1; /* arg is null and recv is not */
1093 { /* Inline kernel#Object#!= (var_key_meth,((val*)NULL)) on <var_key_meth:nullable CallSite> */
1094 var_other
= ((val
*)NULL
);
1096 var95
= ((short int(*)(val
* self
, val
* p0
))(var_key_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_key_meth
, var_other
); /* == on <var_key_meth:nullable CallSite(CallSite)>*/
1101 RET_LABEL94
:(void)0;
1105 if (unlikely(!var92
)) {
1106 PRINT_ERROR("Runtime error: %s", "Assert failed");
1107 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2781);
1110 var97
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
1112 standard___standard__Array___with_capacity(var97
, 1l); /* Direct call array#Array#with_capacity on <var97:Array[RuntimeVariable]>*/
1116 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_98
, var_it
); /* Direct call array#AbstractArray#push on <var_98:Array[RuntimeVariable]>*/
1119 var99
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_key_meth
, var_98
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
1122 if (var_i100
== NULL
) {
1123 var101
= 0; /* is null */
1125 var101
= 1; /* arg is null and recv is not */
1128 { /* Inline kernel#Object#!= (var_i100,((val*)NULL)) on <var_i100:nullable RuntimeVariable> */
1129 var_other
= ((val
*)NULL
);
1131 var104
= ((short int(*)(val
* self
, val
* p0
))(var_i100
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_i100
, var_other
); /* == on <var_i100:nullable RuntimeVariable(RuntimeVariable)>*/
1136 RET_LABEL103
:(void)0;
1140 if (unlikely(!var101
)) {
1141 PRINT_ERROR("Runtime error: %s", "Assert failed");
1142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2783);
1146 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1147 var108
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1149 RET_LABEL107
:(void)0;
1152 if (var106
== NULL
) {
1153 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2784);
1157 var109
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var106
, 0l);
1160 var110
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var109
);
1163 nit___nit__AbstractCompilerVisitor___assign(var_v
, var110
, var_i100
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1166 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
1167 var113
= self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
1169 RET_LABEL112
:(void)0;
1172 var_item_meth114
= var111
;
1173 if (var_item_meth114
== NULL
) {
1174 var115
= 0; /* is null */
1176 var115
= 1; /* arg is null and recv is not */
1179 { /* Inline kernel#Object#!= (var_item_meth114,((val*)NULL)) on <var_item_meth114:nullable CallSite> */
1180 var_other
= ((val
*)NULL
);
1182 var118
= ((short int(*)(val
* self
, val
* p0
))(var_item_meth114
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_item_meth114
, var_other
); /* == on <var_item_meth114:nullable CallSite(CallSite)>*/
1187 RET_LABEL117
:(void)0;
1191 if (unlikely(!var115
)) {
1192 PRINT_ERROR("Runtime error: %s", "Assert failed");
1193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2786);
1196 var120
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
1198 standard___standard__Array___with_capacity(var120
, 1l); /* Direct call array#Array#with_capacity on <var120:Array[RuntimeVariable]>*/
1202 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_121
, var_it
); /* Direct call array#AbstractArray#push on <var_121:Array[RuntimeVariable]>*/
1205 var122
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth114
, var_121
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
1208 if (var_i100
== NULL
) {
1209 var123
= 0; /* is null */
1211 var123
= 1; /* arg is null and recv is not */
1214 { /* Inline kernel#Object#!= (var_i100,((val*)NULL)) on <var_i100:nullable RuntimeVariable> */
1215 var_other
= ((val
*)NULL
);
1217 var126
= ((short int(*)(val
* self
, val
* p0
))(var_i100
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_i100
, var_other
); /* == on <var_i100:nullable RuntimeVariable(RuntimeVariable)>*/
1222 RET_LABEL125
:(void)0;
1226 if (unlikely(!var123
)) {
1227 PRINT_ERROR("Runtime error: %s", "Assert failed");
1228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2788);
1232 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
1233 var130
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
1235 RET_LABEL129
:(void)0;
1238 if (var128
== NULL
) {
1239 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1240 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2789);
1243 var131
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var128
, 1l);
1246 var132
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var131
);
1249 nit___nit__AbstractCompilerVisitor___assign(var_v
, var132
, var_i100
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
1252 PRINT_ERROR("Runtime error: %s", "Aborted");
1253 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2791);
1258 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
1259 var135
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
1261 RET_LABEL134
:(void)0;
1265 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var133
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1268 { /* Inline scope#AForExpr#continue_mark (self) on <self:AForExpr> */
1269 var138
= self
->attrs
[COLOR_nit__scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:AForExpr> */
1271 RET_LABEL137
:(void)0;
1275 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var136
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
1278 { /* Inline typing#AForExpr#method_next (self) on <self:AForExpr> */
1279 var141
= self
->attrs
[COLOR_nit__typing__AForExpr___method_next
].val
; /* _method_next on <self:AForExpr> */
1281 RET_LABEL140
:(void)0;
1284 var_next_meth
= var139
;
1285 if (var_next_meth
== NULL
) {
1286 var142
= 0; /* is null */
1288 var142
= 1; /* arg is null and recv is not */
1291 { /* Inline kernel#Object#!= (var_next_meth,((val*)NULL)) on <var_next_meth:nullable CallSite> */
1292 var_other
= ((val
*)NULL
);
1294 var145
= ((short int(*)(val
* self
, val
* p0
))(var_next_meth
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_next_meth
, var_other
); /* == on <var_next_meth:nullable CallSite(CallSite)>*/
1299 RET_LABEL144
:(void)0;
1303 if (unlikely(!var142
)) {
1304 PRINT_ERROR("Runtime error: %s", "Assert failed");
1305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2796);
1308 var147
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
1310 standard___standard__Array___with_capacity(var147
, 1l); /* Direct call array#Array#with_capacity on <var147:Array[RuntimeVariable]>*/
1314 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_148
, var_it
); /* Direct call array#AbstractArray#push on <var_148:Array[RuntimeVariable]>*/
1317 var149
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_next_meth
, var_148
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
1319 if (likely(varonce150
!=NULL
)) {
1320 var151
= varonce150
;
1323 var153
= standard___standard__NativeString___to_s_with_length(var152
, 1l);
1325 varonce150
= var151
;
1328 nit___nit__AbstractCompilerVisitor___add(var_v
, var151
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1331 { /* Inline scope#AForExpr#break_mark (self) on <self:AForExpr> */
1332 var156
= self
->attrs
[COLOR_nit__scope__AForExpr___break_mark
].val
; /* _break_mark on <self:AForExpr> */
1334 RET_LABEL155
:(void)0;
1338 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var154
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
1341 { /* Inline typing#AForExpr#method_finish (self) on <self:AForExpr> */
1342 var159
= self
->attrs
[COLOR_nit__typing__AForExpr___method_finish
].val
; /* _method_finish on <self:AForExpr> */
1344 RET_LABEL158
:(void)0;
1347 var_method_finish
= var157
;
1348 if (var_method_finish
== NULL
) {
1349 var160
= 0; /* is null */
1351 var160
= 1; /* arg is null and recv is not */
1354 { /* Inline kernel#Object#!= (var_method_finish,((val*)NULL)) on <var_method_finish:nullable CallSite> */
1355 var_other
= ((val
*)NULL
);
1357 var163
= ((short int(*)(val
* self
, val
* p0
))(var_method_finish
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_method_finish
, var_other
); /* == on <var_method_finish:nullable CallSite(CallSite)>*/
1362 RET_LABEL162
:(void)0;
1367 var165
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
1369 standard___standard__Array___with_capacity(var165
, 1l); /* Direct call array#Array#with_capacity on <var165:Array[RuntimeVariable]>*/
1373 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_166
, var_it
); /* Direct call array#AbstractArray#push on <var_166:Array[RuntimeVariable]>*/
1376 var167
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_method_finish
, var_166
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
1382 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
1383 void nit__abstract_compiler___AAssertExpr___AExpr__stmt(val
* self
, val
* p0
) {
1384 val
* var_v
/* var v: AbstractCompilerVisitor */;
1385 val
* var
/* : AbstractCompiler */;
1386 val
* var2
/* : AbstractCompiler */;
1387 val
* var3
/* : ModelBuilder */;
1388 val
* var5
/* : ModelBuilder */;
1389 val
* var6
/* : ToolContext */;
1390 val
* var8
/* : ToolContext */;
1391 val
* var9
/* : OptionBool */;
1392 val
* var11
/* : OptionBool */;
1393 val
* var12
/* : nullable Object */;
1394 val
* var14
/* : nullable Object */;
1395 short int var15
/* : Bool */;
1396 val
* var16
/* : AExpr */;
1397 val
* var18
/* : AExpr */;
1398 val
* var19
/* : RuntimeVariable */;
1399 val
* var_cond
/* var cond: RuntimeVariable */;
1400 val
* var20
/* : NativeArray[String] */;
1401 static val
* varonce
;
1402 static val
* varonce21
;
1403 val
* var22
/* : String */;
1404 char* var23
/* : NativeString */;
1405 val
* var24
/* : FlatString */;
1406 static val
* varonce25
;
1407 val
* var26
/* : String */;
1408 char* var27
/* : NativeString */;
1409 val
* var28
/* : FlatString */;
1410 val
* var29
/* : String */;
1411 val
* var30
/* : String */;
1412 val
* var31
/* : nullable AExpr */;
1413 val
* var33
/* : nullable AExpr */;
1414 val
* var34
/* : nullable TId */;
1415 val
* var36
/* : nullable TId */;
1416 val
* var_nid
/* var nid: nullable TId */;
1417 short int var37
/* : Bool */;
1418 short int var38
/* : Bool */;
1419 val
* var_other
/* var other: nullable Object */;
1420 short int var40
/* : Bool */;
1421 short int var41
/* : Bool */;
1422 val
* var43
/* : NativeArray[String] */;
1423 static val
* varonce42
;
1424 static val
* varonce44
;
1425 val
* var45
/* : String */;
1426 char* var46
/* : NativeString */;
1427 val
* var47
/* : FlatString */;
1428 static val
* varonce48
;
1429 val
* var49
/* : String */;
1430 char* var50
/* : NativeString */;
1431 val
* var51
/* : FlatString */;
1432 val
* var52
/* : String */;
1433 val
* var53
/* : String */;
1434 static val
* varonce54
;
1435 val
* var55
/* : String */;
1436 char* var56
/* : NativeString */;
1437 val
* var57
/* : FlatString */;
1438 static val
* varonce58
;
1439 val
* var59
/* : String */;
1440 char* var60
/* : NativeString */;
1441 val
* var61
/* : FlatString */;
1444 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1445 var2
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1446 if (unlikely(var2
== NULL
)) {
1447 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1448 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1456 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
1457 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
1458 if (unlikely(var5
== NULL
)) {
1459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1468 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
1469 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
1470 if (unlikely(var8
== NULL
)) {
1471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1480 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var6) on <var6:ToolContext> */
1481 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var6:ToolContext> */
1482 if (unlikely(var11
== NULL
)) {
1483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 52);
1488 RET_LABEL10
:(void)0;
1492 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
1493 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
1495 RET_LABEL13
:(void)0;
1498 var15
= (short int)((long)(var12
)>>2);
1504 { /* Inline parser_nodes#AAssertExpr#n_expr (self) on <self:AAssertExpr> */
1505 var18
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
1506 if (unlikely(var18
== NULL
)) {
1507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1978);
1512 RET_LABEL17
:(void)0;
1516 var19
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var16
);
1519 if (unlikely(varonce
==NULL
)) {
1520 var20
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1521 if (likely(varonce21
!=NULL
)) {
1524 var23
= "if (unlikely(!";
1525 var24
= standard___standard__NativeString___to_s_with_length(var23
, 14l);
1529 ((struct instance_standard__NativeArray
*)var20
)->values
[0]=var22
;
1530 if (likely(varonce25
!=NULL
)) {
1534 var28
= standard___standard__NativeString___to_s_with_length(var27
, 4l);
1538 ((struct instance_standard__NativeArray
*)var20
)->values
[2]=var26
;
1544 var29
= ((val
*(*)(val
* self
))(var_cond
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_cond
); /* to_s on <var_cond:RuntimeVariable>*/
1546 ((struct instance_standard__NativeArray
*)var20
)->values
[1]=var29
;
1548 var30
= ((val
*(*)(val
* self
))(var20
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var20
); /* native_to_s on <var20:NativeArray[String]>*/
1552 nit___nit__AbstractCompilerVisitor___add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1555 { /* Inline parser_nodes#AAssertExpr#n_else (self) on <self:AAssertExpr> */
1556 var33
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
1558 RET_LABEL32
:(void)0;
1562 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1565 { /* Inline parser_nodes#AAssertExpr#n_id (self) on <self:AAssertExpr> */
1566 var36
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_id
].val
; /* _n_id on <self:AAssertExpr> */
1568 RET_LABEL35
:(void)0;
1572 if (var_nid
== NULL
) {
1573 var37
= 0; /* is null */
1575 var37
= 1; /* arg is null and recv is not */
1578 { /* Inline kernel#Object#!= (var_nid,((val*)NULL)) on <var_nid:nullable TId> */
1579 var_other
= ((val
*)NULL
);
1581 var40
= ((short int(*)(val
* self
, val
* p0
))(var_nid
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_nid
, var_other
); /* == on <var_nid:nullable TId(TId)>*/
1586 RET_LABEL39
:(void)0;
1591 if (unlikely(varonce42
==NULL
)) {
1592 var43
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1593 if (likely(varonce44
!=NULL
)) {
1596 var46
= "Assert \'";
1597 var47
= standard___standard__NativeString___to_s_with_length(var46
, 8l);
1601 ((struct instance_standard__NativeArray
*)var43
)->values
[0]=var45
;
1602 if (likely(varonce48
!=NULL
)) {
1605 var50
= "\' failed";
1606 var51
= standard___standard__NativeString___to_s_with_length(var50
, 8l);
1610 ((struct instance_standard__NativeArray
*)var43
)->values
[2]=var49
;
1616 var52
= nit__lexer_work___Token___text(var_nid
);
1618 ((struct instance_standard__NativeArray
*)var43
)->values
[1]=var52
;
1620 var53
= ((val
*(*)(val
* self
))(var43
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var43
); /* native_to_s on <var43:NativeArray[String]>*/
1624 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1627 if (likely(varonce54
!=NULL
)) {
1630 var56
= "Assert failed";
1631 var57
= standard___standard__NativeString___to_s_with_length(var56
, 13l);
1636 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1639 if (likely(varonce58
!=NULL
)) {
1643 var61
= standard___standard__NativeString___to_s_with_length(var60
, 1l);
1648 nit___nit__AbstractCompilerVisitor___add(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1652 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1653 val
* nit__abstract_compiler___AOrExpr___AExpr__expr(val
* self
, val
* p0
) {
1654 val
* var
/* : nullable RuntimeVariable */;
1655 val
* var_v
/* var v: AbstractCompilerVisitor */;
1656 val
* var1
/* : nullable MType */;
1657 val
* var3
/* : nullable MType */;
1658 val
* var4
/* : RuntimeVariable */;
1659 val
* var_res
/* var res: RuntimeVariable */;
1660 val
* var5
/* : AExpr */;
1661 val
* var7
/* : AExpr */;
1662 val
* var8
/* : RuntimeVariable */;
1663 val
* var_i1
/* var i1: RuntimeVariable */;
1664 val
* var9
/* : NativeArray[String] */;
1665 static val
* varonce
;
1666 static val
* varonce10
;
1667 val
* var11
/* : String */;
1668 char* var12
/* : NativeString */;
1669 val
* var13
/* : FlatString */;
1670 static val
* varonce14
;
1671 val
* var15
/* : String */;
1672 char* var16
/* : NativeString */;
1673 val
* var17
/* : FlatString */;
1674 val
* var18
/* : String */;
1675 val
* var19
/* : String */;
1676 val
* var21
/* : NativeArray[String] */;
1677 static val
* varonce20
;
1678 static val
* varonce22
;
1679 val
* var23
/* : String */;
1680 char* var24
/* : NativeString */;
1681 val
* var25
/* : FlatString */;
1682 val
* var26
/* : String */;
1683 val
* var27
/* : String */;
1684 static val
* varonce28
;
1685 val
* var29
/* : String */;
1686 char* var30
/* : NativeString */;
1687 val
* var31
/* : FlatString */;
1688 val
* var32
/* : AExpr */;
1689 val
* var34
/* : AExpr */;
1690 val
* var35
/* : RuntimeVariable */;
1691 val
* var_i2
/* var i2: RuntimeVariable */;
1692 val
* var37
/* : NativeArray[String] */;
1693 static val
* varonce36
;
1694 static val
* varonce38
;
1695 val
* var39
/* : String */;
1696 char* var40
/* : NativeString */;
1697 val
* var41
/* : FlatString */;
1698 static val
* varonce42
;
1699 val
* var43
/* : String */;
1700 char* var44
/* : NativeString */;
1701 val
* var45
/* : FlatString */;
1702 val
* var46
/* : String */;
1703 val
* var47
/* : String */;
1704 val
* var48
/* : String */;
1705 static val
* varonce49
;
1706 val
* var50
/* : String */;
1707 char* var51
/* : NativeString */;
1708 val
* var52
/* : FlatString */;
1711 { /* Inline typing#AExpr#mtype (self) on <self:AOrExpr> */
1712 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrExpr> */
1717 if (unlikely(var1
== NULL
)) {
1718 PRINT_ERROR("Runtime error: %s", "Cast failed");
1719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2830);
1723 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1727 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrExpr> */
1728 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
1729 if (unlikely(var7
== NULL
)) {
1730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1731 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
1739 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
1742 if (unlikely(varonce
==NULL
)) {
1743 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1744 if (likely(varonce10
!=NULL
)) {
1748 var13
= standard___standard__NativeString___to_s_with_length(var12
, 4l);
1752 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
1753 if (likely(varonce14
!=NULL
)) {
1757 var17
= standard___standard__NativeString___to_s_with_length(var16
, 3l);
1761 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
1767 var18
= ((val
*(*)(val
* self
))(var_i1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i1
); /* to_s on <var_i1:RuntimeVariable>*/
1769 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
1771 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
1775 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1777 if (unlikely(varonce20
==NULL
)) {
1778 var21
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1779 if (likely(varonce22
!=NULL
)) {
1783 var25
= standard___standard__NativeString___to_s_with_length(var24
, 5l);
1787 ((struct instance_standard__NativeArray
*)var21
)->values
[1]=var23
;
1793 var26
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
1795 ((struct instance_standard__NativeArray
*)var21
)->values
[0]=var26
;
1797 var27
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
1801 nit___nit__AbstractCompilerVisitor___add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1803 if (likely(varonce28
!=NULL
)) {
1807 var31
= standard___standard__NativeString___to_s_with_length(var30
, 8l);
1812 nit___nit__AbstractCompilerVisitor___add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1815 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrExpr> */
1816 var34
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
1817 if (unlikely(var34
== NULL
)) {
1818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
1823 RET_LABEL33
:(void)0;
1827 var35
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var32
);
1830 if (unlikely(varonce36
==NULL
)) {
1831 var37
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
1832 if (likely(varonce38
!=NULL
)) {
1836 var41
= standard___standard__NativeString___to_s_with_length(var40
, 3l);
1840 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var39
;
1841 if (likely(varonce42
!=NULL
)) {
1845 var45
= standard___standard__NativeString___to_s_with_length(var44
, 1l);
1849 ((struct instance_standard__NativeArray
*)var37
)->values
[3]=var43
;
1855 var46
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
1857 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var46
;
1859 var47
= ((val
*(*)(val
* self
))(var_i2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i2
); /* to_s on <var_i2:RuntimeVariable>*/
1861 ((struct instance_standard__NativeArray
*)var37
)->values
[2]=var47
;
1863 var48
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
1867 nit___nit__AbstractCompilerVisitor___add(var_v
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1869 if (likely(varonce49
!=NULL
)) {
1873 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
1878 nit___nit__AbstractCompilerVisitor___add(var_v
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1885 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1886 val
* nit__abstract_compiler___AImpliesExpr___AExpr__expr(val
* self
, val
* p0
) {
1887 val
* var
/* : nullable RuntimeVariable */;
1888 val
* var_v
/* var v: AbstractCompilerVisitor */;
1889 val
* var1
/* : nullable MType */;
1890 val
* var3
/* : nullable MType */;
1891 val
* var4
/* : RuntimeVariable */;
1892 val
* var_res
/* var res: RuntimeVariable */;
1893 val
* var5
/* : AExpr */;
1894 val
* var7
/* : AExpr */;
1895 val
* var8
/* : RuntimeVariable */;
1896 val
* var_i1
/* var i1: RuntimeVariable */;
1897 val
* var9
/* : NativeArray[String] */;
1898 static val
* varonce
;
1899 static val
* varonce10
;
1900 val
* var11
/* : String */;
1901 char* var12
/* : NativeString */;
1902 val
* var13
/* : FlatString */;
1903 static val
* varonce14
;
1904 val
* var15
/* : String */;
1905 char* var16
/* : NativeString */;
1906 val
* var17
/* : FlatString */;
1907 val
* var18
/* : String */;
1908 val
* var19
/* : String */;
1909 val
* var21
/* : NativeArray[String] */;
1910 static val
* varonce20
;
1911 static val
* varonce22
;
1912 val
* var23
/* : String */;
1913 char* var24
/* : NativeString */;
1914 val
* var25
/* : FlatString */;
1915 val
* var26
/* : String */;
1916 val
* var27
/* : String */;
1917 static val
* varonce28
;
1918 val
* var29
/* : String */;
1919 char* var30
/* : NativeString */;
1920 val
* var31
/* : FlatString */;
1921 val
* var32
/* : AExpr */;
1922 val
* var34
/* : AExpr */;
1923 val
* var35
/* : RuntimeVariable */;
1924 val
* var_i2
/* var i2: RuntimeVariable */;
1925 val
* var37
/* : NativeArray[String] */;
1926 static val
* varonce36
;
1927 static val
* varonce38
;
1928 val
* var39
/* : String */;
1929 char* var40
/* : NativeString */;
1930 val
* var41
/* : FlatString */;
1931 static val
* varonce42
;
1932 val
* var43
/* : String */;
1933 char* var44
/* : NativeString */;
1934 val
* var45
/* : FlatString */;
1935 val
* var46
/* : String */;
1936 val
* var47
/* : String */;
1937 val
* var48
/* : String */;
1938 static val
* varonce49
;
1939 val
* var50
/* : String */;
1940 char* var51
/* : NativeString */;
1941 val
* var52
/* : FlatString */;
1944 { /* Inline typing#AExpr#mtype (self) on <self:AImpliesExpr> */
1945 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AImpliesExpr> */
1950 if (unlikely(var1
== NULL
)) {
1951 PRINT_ERROR("Runtime error: %s", "Cast failed");
1952 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2845);
1956 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1960 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AImpliesExpr> */
1961 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
1962 if (unlikely(var7
== NULL
)) {
1963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1964 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
1972 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
1975 if (unlikely(varonce
==NULL
)) {
1976 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1977 if (likely(varonce10
!=NULL
)) {
1981 var13
= standard___standard__NativeString___to_s_with_length(var12
, 5l);
1985 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
1986 if (likely(varonce14
!=NULL
)) {
1990 var17
= standard___standard__NativeString___to_s_with_length(var16
, 3l);
1994 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
2000 var18
= ((val
*(*)(val
* self
))(var_i1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i1
); /* to_s on <var_i1:RuntimeVariable>*/
2002 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
2004 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
2008 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2010 if (unlikely(varonce20
==NULL
)) {
2011 var21
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2012 if (likely(varonce22
!=NULL
)) {
2016 var25
= standard___standard__NativeString___to_s_with_length(var24
, 5l);
2020 ((struct instance_standard__NativeArray
*)var21
)->values
[1]=var23
;
2026 var26
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2028 ((struct instance_standard__NativeArray
*)var21
)->values
[0]=var26
;
2030 var27
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
2034 nit___nit__AbstractCompilerVisitor___add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2036 if (likely(varonce28
!=NULL
)) {
2040 var31
= standard___standard__NativeString___to_s_with_length(var30
, 8l);
2045 nit___nit__AbstractCompilerVisitor___add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2048 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AImpliesExpr> */
2049 var34
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
2050 if (unlikely(var34
== NULL
)) {
2051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2052 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
2056 RET_LABEL33
:(void)0;
2060 var35
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var32
);
2063 if (unlikely(varonce36
==NULL
)) {
2064 var37
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
2065 if (likely(varonce38
!=NULL
)) {
2069 var41
= standard___standard__NativeString___to_s_with_length(var40
, 3l);
2073 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var39
;
2074 if (likely(varonce42
!=NULL
)) {
2078 var45
= standard___standard__NativeString___to_s_with_length(var44
, 1l);
2082 ((struct instance_standard__NativeArray
*)var37
)->values
[3]=var43
;
2088 var46
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2090 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var46
;
2092 var47
= ((val
*(*)(val
* self
))(var_i2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i2
); /* to_s on <var_i2:RuntimeVariable>*/
2094 ((struct instance_standard__NativeArray
*)var37
)->values
[2]=var47
;
2096 var48
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
2100 nit___nit__AbstractCompilerVisitor___add(var_v
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2102 if (likely(varonce49
!=NULL
)) {
2106 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
2111 nit___nit__AbstractCompilerVisitor___add(var_v
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2118 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2119 val
* nit__abstract_compiler___AAndExpr___AExpr__expr(val
* self
, val
* p0
) {
2120 val
* var
/* : nullable RuntimeVariable */;
2121 val
* var_v
/* var v: AbstractCompilerVisitor */;
2122 val
* var1
/* : nullable MType */;
2123 val
* var3
/* : nullable MType */;
2124 val
* var4
/* : RuntimeVariable */;
2125 val
* var_res
/* var res: RuntimeVariable */;
2126 val
* var5
/* : AExpr */;
2127 val
* var7
/* : AExpr */;
2128 val
* var8
/* : RuntimeVariable */;
2129 val
* var_i1
/* var i1: RuntimeVariable */;
2130 val
* var9
/* : NativeArray[String] */;
2131 static val
* varonce
;
2132 static val
* varonce10
;
2133 val
* var11
/* : String */;
2134 char* var12
/* : NativeString */;
2135 val
* var13
/* : FlatString */;
2136 static val
* varonce14
;
2137 val
* var15
/* : String */;
2138 char* var16
/* : NativeString */;
2139 val
* var17
/* : FlatString */;
2140 val
* var18
/* : String */;
2141 val
* var19
/* : String */;
2142 val
* var21
/* : NativeArray[String] */;
2143 static val
* varonce20
;
2144 static val
* varonce22
;
2145 val
* var23
/* : String */;
2146 char* var24
/* : NativeString */;
2147 val
* var25
/* : FlatString */;
2148 val
* var26
/* : String */;
2149 val
* var27
/* : String */;
2150 static val
* varonce28
;
2151 val
* var29
/* : String */;
2152 char* var30
/* : NativeString */;
2153 val
* var31
/* : FlatString */;
2154 val
* var32
/* : AExpr */;
2155 val
* var34
/* : AExpr */;
2156 val
* var35
/* : RuntimeVariable */;
2157 val
* var_i2
/* var i2: RuntimeVariable */;
2158 val
* var37
/* : NativeArray[String] */;
2159 static val
* varonce36
;
2160 static val
* varonce38
;
2161 val
* var39
/* : String */;
2162 char* var40
/* : NativeString */;
2163 val
* var41
/* : FlatString */;
2164 static val
* varonce42
;
2165 val
* var43
/* : String */;
2166 char* var44
/* : NativeString */;
2167 val
* var45
/* : FlatString */;
2168 val
* var46
/* : String */;
2169 val
* var47
/* : String */;
2170 val
* var48
/* : String */;
2171 static val
* varonce49
;
2172 val
* var50
/* : String */;
2173 char* var51
/* : NativeString */;
2174 val
* var52
/* : FlatString */;
2177 { /* Inline typing#AExpr#mtype (self) on <self:AAndExpr> */
2178 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AAndExpr> */
2183 if (unlikely(var1
== NULL
)) {
2184 PRINT_ERROR("Runtime error: %s", "Cast failed");
2185 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2860);
2189 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
2193 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AAndExpr> */
2194 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
2195 if (unlikely(var7
== NULL
)) {
2196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
2205 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
2208 if (unlikely(varonce
==NULL
)) {
2209 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2210 if (likely(varonce10
!=NULL
)) {
2214 var13
= standard___standard__NativeString___to_s_with_length(var12
, 5l);
2218 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
2219 if (likely(varonce14
!=NULL
)) {
2223 var17
= standard___standard__NativeString___to_s_with_length(var16
, 3l);
2227 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
2233 var18
= ((val
*(*)(val
* self
))(var_i1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i1
); /* to_s on <var_i1:RuntimeVariable>*/
2235 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
2237 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
2241 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2243 if (unlikely(varonce20
==NULL
)) {
2244 var21
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2245 if (likely(varonce22
!=NULL
)) {
2249 var25
= standard___standard__NativeString___to_s_with_length(var24
, 5l);
2253 ((struct instance_standard__NativeArray
*)var21
)->values
[1]=var23
;
2259 var26
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2261 ((struct instance_standard__NativeArray
*)var21
)->values
[0]=var26
;
2263 var27
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
2267 nit___nit__AbstractCompilerVisitor___add(var_v
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2269 if (likely(varonce28
!=NULL
)) {
2273 var31
= standard___standard__NativeString___to_s_with_length(var30
, 8l);
2278 nit___nit__AbstractCompilerVisitor___add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2281 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AAndExpr> */
2282 var34
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
2283 if (unlikely(var34
== NULL
)) {
2284 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
2289 RET_LABEL33
:(void)0;
2293 var35
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var32
);
2296 if (unlikely(varonce36
==NULL
)) {
2297 var37
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
2298 if (likely(varonce38
!=NULL
)) {
2302 var41
= standard___standard__NativeString___to_s_with_length(var40
, 3l);
2306 ((struct instance_standard__NativeArray
*)var37
)->values
[1]=var39
;
2307 if (likely(varonce42
!=NULL
)) {
2311 var45
= standard___standard__NativeString___to_s_with_length(var44
, 1l);
2315 ((struct instance_standard__NativeArray
*)var37
)->values
[3]=var43
;
2321 var46
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2323 ((struct instance_standard__NativeArray
*)var37
)->values
[0]=var46
;
2325 var47
= ((val
*(*)(val
* self
))(var_i2
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i2
); /* to_s on <var_i2:RuntimeVariable>*/
2327 ((struct instance_standard__NativeArray
*)var37
)->values
[2]=var47
;
2329 var48
= ((val
*(*)(val
* self
))(var37
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var37
); /* native_to_s on <var37:NativeArray[String]>*/
2333 nit___nit__AbstractCompilerVisitor___add(var_v
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2335 if (likely(varonce49
!=NULL
)) {
2339 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
2344 nit___nit__AbstractCompilerVisitor___add(var_v
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2351 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2352 val
* nit__abstract_compiler___ANotExpr___AExpr__expr(val
* self
, val
* p0
) {
2353 val
* var
/* : nullable RuntimeVariable */;
2354 val
* var_v
/* var v: AbstractCompilerVisitor */;
2355 val
* var1
/* : AExpr */;
2356 val
* var3
/* : AExpr */;
2357 val
* var4
/* : RuntimeVariable */;
2358 val
* var_cond
/* var cond: RuntimeVariable */;
2359 val
* var5
/* : NativeArray[String] */;
2360 static val
* varonce
;
2361 static val
* varonce6
;
2362 val
* var7
/* : String */;
2363 char* var8
/* : NativeString */;
2364 val
* var9
/* : FlatString */;
2365 val
* var10
/* : String */;
2366 val
* var11
/* : String */;
2367 val
* var12
/* : nullable MType */;
2368 val
* var14
/* : nullable MType */;
2369 val
* var15
/* : RuntimeVariable */;
2372 { /* Inline parser_nodes#ANotExpr#n_expr (self) on <self:ANotExpr> */
2373 var3
= self
->attrs
[COLOR_nit__parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
2374 if (unlikely(var3
== NULL
)) {
2375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2093);
2384 var4
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var1
);
2387 if (unlikely(varonce
==NULL
)) {
2388 var5
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2389 if (likely(varonce6
!=NULL
)) {
2393 var9
= standard___standard__NativeString___to_s_with_length(var8
, 1l);
2397 ((struct instance_standard__NativeArray
*)var5
)->values
[0]=var7
;
2403 var10
= ((val
*(*)(val
* self
))(var_cond
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_cond
); /* to_s on <var_cond:RuntimeVariable>*/
2405 ((struct instance_standard__NativeArray
*)var5
)->values
[1]=var10
;
2407 var11
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
2411 { /* Inline typing#AExpr#mtype (self) on <self:ANotExpr> */
2412 var14
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ANotExpr> */
2414 RET_LABEL13
:(void)0;
2417 if (unlikely(var12
== NULL
)) {
2418 PRINT_ERROR("Runtime error: %s", "Cast failed");
2419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2876);
2423 var15
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var11
, var12
);
2430 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2431 val
* nit__abstract_compiler___AOrElseExpr___AExpr__expr(val
* self
, val
* p0
) {
2432 val
* var
/* : nullable RuntimeVariable */;
2433 val
* var_v
/* var v: AbstractCompilerVisitor */;
2434 val
* var1
/* : nullable MType */;
2435 val
* var3
/* : nullable MType */;
2436 val
* var4
/* : RuntimeVariable */;
2437 val
* var_res
/* var res: RuntimeVariable */;
2438 val
* var5
/* : AExpr */;
2439 val
* var7
/* : AExpr */;
2440 val
* var8
/* : RuntimeVariable */;
2441 val
* var_i1
/* var i1: RuntimeVariable */;
2442 val
* var9
/* : NativeArray[String] */;
2443 static val
* varonce
;
2444 static val
* varonce10
;
2445 val
* var11
/* : String */;
2446 char* var12
/* : NativeString */;
2447 val
* var13
/* : FlatString */;
2448 static val
* varonce14
;
2449 val
* var15
/* : String */;
2450 char* var16
/* : NativeString */;
2451 val
* var17
/* : FlatString */;
2452 val
* var18
/* : String */;
2453 val
* var19
/* : String */;
2454 static val
* varonce20
;
2455 val
* var21
/* : String */;
2456 char* var22
/* : NativeString */;
2457 val
* var23
/* : FlatString */;
2458 val
* var24
/* : AExpr */;
2459 val
* var26
/* : AExpr */;
2460 val
* var27
/* : RuntimeVariable */;
2461 val
* var_i2
/* var i2: RuntimeVariable */;
2462 static val
* varonce28
;
2463 val
* var29
/* : String */;
2464 char* var30
/* : NativeString */;
2465 val
* var31
/* : FlatString */;
2468 { /* Inline typing#AExpr#mtype (self) on <self:AOrElseExpr> */
2469 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrElseExpr> */
2474 if (unlikely(var1
== NULL
)) {
2475 PRINT_ERROR("Runtime error: %s", "Cast failed");
2476 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2883);
2480 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
2484 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrElseExpr> */
2485 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
2486 if (unlikely(var7
== NULL
)) {
2487 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2053);
2496 var8
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, ((val
*)NULL
));
2499 if (unlikely(varonce
==NULL
)) {
2500 var9
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2501 if (likely(varonce10
!=NULL
)) {
2505 var13
= standard___standard__NativeString___to_s_with_length(var12
, 4l);
2509 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
2510 if (likely(varonce14
!=NULL
)) {
2513 var16
= "!=NULL) {";
2514 var17
= standard___standard__NativeString___to_s_with_length(var16
, 9l);
2518 ((struct instance_standard__NativeArray
*)var9
)->values
[2]=var15
;
2524 var18
= ((val
*(*)(val
* self
))(var_i1
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i1
); /* to_s on <var_i1:RuntimeVariable>*/
2526 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var18
;
2528 var19
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
2532 nit___nit__AbstractCompilerVisitor___add(var_v
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2535 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var_i1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2537 if (likely(varonce20
!=NULL
)) {
2541 var23
= standard___standard__NativeString___to_s_with_length(var22
, 8l);
2546 nit___nit__AbstractCompilerVisitor___add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2549 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrElseExpr> */
2550 var26
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
2551 if (unlikely(var26
== NULL
)) {
2552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2059);
2557 RET_LABEL25
:(void)0;
2561 var27
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var24
, ((val
*)NULL
));
2565 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var_i2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2567 if (likely(varonce28
!=NULL
)) {
2571 var31
= standard___standard__NativeString___to_s_with_length(var30
, 1l);
2576 nit___nit__AbstractCompilerVisitor___add(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2583 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2584 val
* nit__abstract_compiler___AIntExpr___AExpr__expr(val
* self
, val
* p0
) {
2585 val
* var
/* : nullable RuntimeVariable */;
2586 val
* var_v
/* var v: AbstractCompilerVisitor */;
2587 val
* var1
/* : nullable Int */;
2588 val
* var3
/* : nullable Int */;
2589 val
* var4
/* : RuntimeVariable */;
2590 long var5
/* : Int */;
2593 { /* Inline literal#AIntExpr#value (self) on <self:AIntExpr> */
2594 var3
= self
->attrs
[COLOR_nit__literal__AIntExpr___value
].val
; /* _value on <self:AIntExpr> */
2599 if (unlikely(var1
== NULL
)) {
2600 PRINT_ERROR("Runtime error: %s", "Cast failed");
2601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2896);
2605 var5
= (long)(var1
)>>2;
2606 var4
= nit___nit__AbstractCompilerVisitor___int_instance(var_v
, var5
);
2613 /* method abstract_compiler#AByteExpr#expr for (self: AByteExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2614 val
* nit__abstract_compiler___AByteExpr___AExpr__expr(val
* self
, val
* p0
) {
2615 val
* var
/* : nullable RuntimeVariable */;
2616 val
* var_v
/* var v: AbstractCompilerVisitor */;
2617 val
* var1
/* : nullable Byte */;
2618 val
* var3
/* : nullable Byte */;
2619 val
* var4
/* : RuntimeVariable */;
2620 unsigned char var5
/* : Byte */;
2623 { /* Inline literal#AByteExpr#value (self) on <self:AByteExpr> */
2624 var3
= self
->attrs
[COLOR_nit__literal__AByteExpr___value
].val
; /* _value on <self:AByteExpr> */
2629 if (unlikely(var1
== NULL
)) {
2630 PRINT_ERROR("Runtime error: %s", "Cast failed");
2631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2900);
2635 var5
= ((struct instance_standard__Byte
*)var1
)->value
; /* autounbox from nullable Byte to Byte */;
2636 var4
= nit___nit__AbstractCompilerVisitor___byte_instance(var_v
, var5
);
2643 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2644 val
* nit__abstract_compiler___AFloatExpr___AExpr__expr(val
* self
, val
* p0
) {
2645 val
* var
/* : nullable RuntimeVariable */;
2646 val
* var_v
/* var v: AbstractCompilerVisitor */;
2647 val
* var1
/* : NativeArray[String] */;
2648 static val
* varonce
;
2649 val
* var2
/* : TFloat */;
2650 val
* var4
/* : TFloat */;
2651 val
* var5
/* : String */;
2652 val
* var6
/* : String */;
2653 val
* var7
/* : RuntimeVariable */;
2655 if (unlikely(varonce
==NULL
)) {
2656 var1
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__String
);
2662 { /* Inline parser_nodes#AFloatExpr#n_float (self) on <self:AFloatExpr> */
2663 var4
= self
->attrs
[COLOR_nit__parser_nodes__AFloatExpr___n_float
].val
; /* _n_float on <self:AFloatExpr> */
2664 if (unlikely(var4
== NULL
)) {
2665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
2666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2581);
2674 var5
= nit__lexer_work___Token___text(var2
);
2676 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var5
;
2678 var6
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
2682 var7
= nit___nit__AbstractCompilerVisitor___float_instance(var_v
, var6
);
2689 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2690 val
* nit__abstract_compiler___ACharExpr___AExpr__expr(val
* self
, val
* p0
) {
2691 val
* var
/* : nullable RuntimeVariable */;
2692 val
* var_v
/* var v: AbstractCompilerVisitor */;
2693 val
* var1
/* : nullable Char */;
2694 val
* var3
/* : nullable Char */;
2695 val
* var4
/* : RuntimeVariable */;
2696 uint32_t var5
/* : Char */;
2699 { /* Inline literal#ACharExpr#value (self) on <self:ACharExpr> */
2700 var3
= self
->attrs
[COLOR_nit__literal__ACharExpr___value
].val
; /* _value on <self:ACharExpr> */
2705 if (unlikely(var1
== NULL
)) {
2706 PRINT_ERROR("Runtime error: %s", "Cast failed");
2707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2908);
2711 var5
= (uint32_t)((long)(var1
)>>2);
2712 var4
= nit___nit__AbstractCompilerVisitor___char_instance(var_v
, var5
);
2719 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2720 val
* nit__abstract_compiler___AArrayExpr___AExpr__expr(val
* self
, val
* p0
) {
2721 val
* var
/* : nullable RuntimeVariable */;
2722 val
* var_v
/* var v: AbstractCompilerVisitor */;
2723 val
* var1
/* : nullable MType */;
2724 val
* var3
/* : nullable MType */;
2725 val
* var_mtype
/* var mtype: MType */;
2726 val
* var4
/* : Array[RuntimeVariable] */;
2727 val
* var_array
/* var array: Array[RuntimeVariable] */;
2728 val
* var5
/* : RuntimeVariable */;
2729 val
* var_res
/* var res: RuntimeVariable */;
2730 val
* var6
/* : nullable StaticFrame */;
2731 val
* var8
/* : nullable StaticFrame */;
2732 val
* var9
/* : nullable RuntimeVariable */;
2733 val
* var11
/* : nullable RuntimeVariable */;
2734 val
* var_old_comprehension
/* var old_comprehension: nullable RuntimeVariable */;
2735 val
* var12
/* : nullable StaticFrame */;
2736 val
* var14
/* : nullable StaticFrame */;
2737 val
* var16
/* : ANodes[AExpr] */;
2738 val
* var18
/* : ANodes[AExpr] */;
2739 val
* var_
/* var : ANodes[AExpr] */;
2740 val
* var19
/* : Iterator[ANode] */;
2741 val
* var_20
/* var : Iterator[AExpr] */;
2742 short int var21
/* : Bool */;
2743 val
* var22
/* : nullable Object */;
2744 val
* var_nexpr
/* var nexpr: AExpr */;
2745 val
* var23
/* : nullable StaticFrame */;
2746 val
* var25
/* : nullable StaticFrame */;
2749 { /* Inline typing#AArrayExpr#element_mtype (self) on <self:AArrayExpr> */
2750 var3
= self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
2755 if (unlikely(var1
== NULL
)) {
2756 PRINT_ERROR("Runtime error: %s", "Cast failed");
2757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2914);
2761 var4
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2763 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[RuntimeVariable]>*/
2767 var5
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(var_v
, var_array
, var_mtype
);
2771 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2772 var8
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2778 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2918);
2782 { /* Inline abstract_compiler#StaticFrame#comprehension (var6) on <var6:nullable StaticFrame> */
2783 if (unlikely(var6
== NULL
)) {
2784 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1848);
2788 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
; /* _comprehension on <var6:nullable StaticFrame> */
2790 RET_LABEL10
:(void)0;
2793 var_old_comprehension
= var9
;
2795 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2796 var14
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2798 RET_LABEL13
:(void)0;
2801 if (var12
== NULL
) {
2802 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2919);
2806 { /* Inline abstract_compiler#StaticFrame#comprehension= (var12,var_res) on <var12:nullable StaticFrame> */
2807 if (unlikely(var12
== NULL
)) {
2808 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2809 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1848);
2812 var12
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
= var_res
; /* _comprehension on <var12:nullable StaticFrame> */
2813 RET_LABEL15
:(void)0;
2817 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
2818 var18
= self
->attrs
[COLOR_nit__parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
2819 if (unlikely(var18
== NULL
)) {
2820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2821 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2456);
2825 RET_LABEL17
:(void)0;
2830 var19
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
2835 var21
= ((short int(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_20
); /* is_ok on <var_20:Iterator[AExpr]>*/
2839 var22
= ((val
*(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_20
); /* item on <var_20:Iterator[AExpr]>*/
2843 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var_nexpr
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
2846 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_20
); /* next on <var_20:Iterator[AExpr]>*/
2852 BREAK_label
: (void)0;
2854 ((void(*)(val
* self
))((((long)var_20
&3)?class_info
[((long)var_20
&3)]:var_20
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_20
); /* finish on <var_20:Iterator[AExpr]>*/
2857 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2858 var25
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2860 RET_LABEL24
:(void)0;
2863 if (var23
== NULL
) {
2864 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2923);
2868 { /* Inline abstract_compiler#StaticFrame#comprehension= (var23,var_old_comprehension) on <var23:nullable StaticFrame> */
2869 if (unlikely(var23
== NULL
)) {
2870 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2871 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1848);
2874 var23
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
= var_old_comprehension
; /* _comprehension on <var23:nullable StaticFrame> */
2875 RET_LABEL26
:(void)0;
2883 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2884 val
* nit__abstract_compiler___AStringFormExpr___AExpr__expr(val
* self
, val
* p0
) {
2885 val
* var
/* : nullable RuntimeVariable */;
2886 val
* var_v
/* var v: AbstractCompilerVisitor */;
2887 val
* var1
/* : nullable String */;
2888 val
* var3
/* : nullable String */;
2889 val
* var4
/* : RuntimeVariable */;
2892 { /* Inline literal#AStringFormExpr#value (self) on <self:AStringFormExpr> */
2893 var3
= self
->attrs
[COLOR_nit__literal__AStringFormExpr___value
].val
; /* _value on <self:AStringFormExpr> */
2898 if (unlikely(var1
== NULL
)) {
2899 PRINT_ERROR("Runtime error: %s", "Cast failed");
2900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2930);
2904 var4
= nit___nit__AbstractCompilerVisitor___string_instance(var_v
, var1
);
2911 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2912 val
* nit__abstract_compiler___ASuperstringExpr___AExpr__expr(val
* self
, val
* p0
) {
2913 val
* var
/* : nullable RuntimeVariable */;
2914 val
* var_v
/* var v: AbstractCompilerVisitor */;
2915 val
* var1
/* : nullable MType */;
2916 val
* var3
/* : nullable MType */;
2917 val
* var_type_string
/* var type_string: MType */;
2918 val
* var4
/* : Array[AExpr] */;
2919 val
* var_array
/* var array: Array[AExpr] */;
2920 val
* var5
/* : ANodes[AExpr] */;
2921 val
* var7
/* : ANodes[AExpr] */;
2922 val
* var_
/* var : ANodes[AExpr] */;
2923 val
* var8
/* : Iterator[ANode] */;
2924 val
* var_9
/* var : Iterator[AExpr] */;
2925 short int var10
/* : Bool */;
2926 val
* var11
/* : nullable Object */;
2927 val
* var_ne
/* var ne: AExpr */;
2928 short int var12
/* : Bool */;
2929 short int var13
/* : Bool */;
2932 short int var_14
/* var : Bool */;
2933 val
* var15
/* : nullable String */;
2934 val
* var17
/* : nullable String */;
2935 static val
* varonce
;
2936 val
* var18
/* : String */;
2937 char* var19
/* : NativeString */;
2938 val
* var20
/* : FlatString */;
2939 short int var21
/* : Bool */;
2940 short int var22
/* : Bool */;
2941 static val
* varonce24
;
2942 val
* var25
/* : String */;
2943 char* var26
/* : NativeString */;
2944 val
* var27
/* : FlatString */;
2945 val
* var28
/* : String */;
2946 val
* var_varonce
/* var varonce: String */;
2947 val
* var30
/* : NativeArray[String] */;
2948 static val
* varonce29
;
2949 static val
* varonce31
;
2950 val
* var32
/* : String */;
2951 char* var33
/* : NativeString */;
2952 val
* var34
/* : FlatString */;
2953 static val
* varonce35
;
2954 val
* var36
/* : String */;
2955 char* var37
/* : NativeString */;
2956 val
* var38
/* : FlatString */;
2957 val
* var39
/* : String */;
2958 long var40
/* : Int */;
2959 long var42
/* : Int */;
2960 val
* var43
/* : RuntimeVariable */;
2961 val
* var44
/* : RuntimeVariable */;
2962 val
* var_a
/* var a: RuntimeVariable */;
2963 val
* var46
/* : NativeArray[String] */;
2964 static val
* varonce45
;
2965 static val
* varonce47
;
2966 val
* var48
/* : String */;
2967 char* var49
/* : NativeString */;
2968 val
* var50
/* : FlatString */;
2969 static val
* varonce51
;
2970 val
* var52
/* : String */;
2971 char* var53
/* : NativeString */;
2972 val
* var54
/* : FlatString */;
2973 static val
* varonce55
;
2974 val
* var56
/* : String */;
2975 char* var57
/* : NativeString */;
2976 val
* var58
/* : FlatString */;
2977 val
* var59
/* : MType */;
2978 val
* var61
/* : MType */;
2979 val
* var62
/* : String */;
2980 val
* var63
/* : String */;
2981 long var_i
/* var i: Int */;
2982 long var64
/* : Int */;
2983 long var66
/* : Int */;
2984 long var_67
/* var : Int */;
2985 short int var68
/* : Bool */;
2986 short int var70
/* : Bool */;
2989 const char* var_class_name
;
2990 short int var73
/* : Bool */;
2991 val
* var74
/* : nullable Object */;
2992 val
* var_ne75
/* var ne: AExpr */;
2993 short int var76
/* : Bool */;
2996 short int var79
/* : Bool */;
2997 val
* var81
/* : RuntimeVariable */;
2998 val
* var_e
/* var e: RuntimeVariable */;
2999 long var82
/* : Int */;
3000 static val
* varonce84
;
3001 val
* var85
/* : String */;
3002 char* var86
/* : NativeString */;
3003 val
* var87
/* : FlatString */;
3004 val
* var89
/* : NativeArray[String] */;
3005 static val
* varonce88
;
3006 static val
* varonce90
;
3007 val
* var91
/* : String */;
3008 char* var92
/* : NativeString */;
3009 val
* var93
/* : FlatString */;
3010 static val
* varonce94
;
3011 val
* var95
/* : String */;
3012 char* var96
/* : NativeString */;
3013 val
* var97
/* : FlatString */;
3014 val
* var98
/* : String */;
3015 val
* var99
/* : String */;
3016 val
* var101
/* : NativeArray[String] */;
3017 static val
* varonce100
;
3018 static val
* varonce102
;
3019 val
* var103
/* : String */;
3020 char* var104
/* : NativeString */;
3021 val
* var105
/* : FlatString */;
3022 val
* var106
/* : String */;
3023 static val
* varonce107
;
3024 val
* var108
/* : String */;
3025 char* var109
/* : NativeString */;
3026 val
* var110
/* : FlatString */;
3027 static val
* varonce111
;
3028 val
* var112
/* : String */;
3029 char* var113
/* : NativeString */;
3030 val
* var114
/* : FlatString */;
3031 val
* var115
/* : MClassType */;
3032 val
* var116
/* : MMethod */;
3033 val
* var_to_s_method
/* var to_s_method: MMethod */;
3034 long var_i117
/* var i: Int */;
3035 long var118
/* : Int */;
3036 long var120
/* : Int */;
3037 long var_121
/* var : Int */;
3038 short int var122
/* : Bool */;
3039 short int var124
/* : Bool */;
3042 const char* var_class_name127
;
3043 short int var128
/* : Bool */;
3044 val
* var129
/* : nullable Object */;
3045 val
* var_ne130
/* var ne: AExpr */;
3046 short int var131
/* : Bool */;
3049 val
* var135
/* : RuntimeVariable */;
3050 val
* var_e136
/* var e: RuntimeVariable */;
3051 val
* var137
/* : MType */;
3052 val
* var139
/* : MType */;
3053 val
* var140
/* : AbstractCompiler */;
3054 val
* var142
/* : AbstractCompiler */;
3055 val
* var143
/* : MModule */;
3056 val
* var145
/* : MModule */;
3057 short int var146
/* : Bool */;
3058 short int var147
/* : Bool */;
3059 val
* var148
/* : Array[RuntimeVariable] */;
3060 val
* var_149
/* var : Array[RuntimeVariable] */;
3061 val
* var150
/* : nullable RuntimeVariable */;
3062 long var151
/* : Int */;
3063 static val
* varonce153
;
3064 val
* var154
/* : String */;
3065 char* var155
/* : NativeString */;
3066 val
* var156
/* : FlatString */;
3067 val
* var157
/* : MType */;
3068 val
* var159
/* : MType */;
3069 val
* var160
/* : MMethod */;
3070 val
* var161
/* : Array[RuntimeVariable] */;
3071 val
* var_162
/* var : Array[RuntimeVariable] */;
3072 val
* var163
/* : nullable RuntimeVariable */;
3073 val
* var_res
/* var res: nullable RuntimeVariable */;
3074 val
* var165
/* : NativeArray[String] */;
3075 static val
* varonce164
;
3076 static val
* varonce166
;
3077 val
* var167
/* : String */;
3078 char* var168
/* : NativeString */;
3079 val
* var169
/* : FlatString */;
3080 static val
* varonce170
;
3081 val
* var171
/* : String */;
3082 char* var172
/* : NativeString */;
3083 val
* var173
/* : FlatString */;
3084 val
* var174
/* : String */;
3085 val
* var175
/* : String */;
3088 { /* Inline typing#AExpr#mtype (self) on <self:ASuperstringExpr> */
3089 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ASuperstringExpr> */
3094 if (unlikely(var1
== NULL
)) {
3095 PRINT_ERROR("Runtime error: %s", "Cast failed");
3096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2936);
3099 var_type_string
= var1
;
3100 var4
= NEW_standard__Array(&type_standard__Array__nit__AExpr
);
3102 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[AExpr]>*/
3106 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
3107 var7
= self
->attrs
[COLOR_nit__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
3108 if (unlikely(var7
== NULL
)) {
3109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
3110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2626);
3119 var8
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
3124 var10
= ((short int(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_9
); /* is_ok on <var_9:Iterator[AExpr]>*/
3128 var11
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_9
); /* item on <var_9:Iterator[AExpr]>*/
3131 /* <var_ne:AExpr> isa AStringFormExpr */
3132 cltype
= type_nit__AStringFormExpr
.color
;
3133 idtype
= type_nit__AStringFormExpr
.id
;
3134 if(cltype
>= var_ne
->type
->table_size
) {
3137 var13
= var_ne
->type
->type_table
[cltype
] == idtype
;
3142 { /* Inline literal#AStringFormExpr#value (var_ne) on <var_ne:AExpr(AStringFormExpr)> */
3143 var17
= var_ne
->attrs
[COLOR_nit__literal__AStringFormExpr___value
].val
; /* _value on <var_ne:AExpr(AStringFormExpr)> */
3145 RET_LABEL16
:(void)0;
3148 if (likely(varonce
!=NULL
)) {
3152 var20
= standard___standard__NativeString___to_s_with_length(var19
, 0l);
3156 if (var15
== NULL
) {
3157 var21
= 0; /* <var18:String> cannot be null */
3159 var22
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var15
, var18
); /* == on <var15:nullable String>*/
3171 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_array
, var_ne
); /* Direct call array#Array#add on <var_array:Array[AExpr]>*/
3173 BREAK_label
: (void)0;
3175 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_9
); /* next on <var_9:Iterator[AExpr]>*/
3181 BREAK_label23
: (void)0;
3183 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_9
); /* finish on <var_9:Iterator[AExpr]>*/
3185 if (likely(varonce24
!=NULL
)) {
3189 var27
= standard___standard__NativeString___to_s_with_length(var26
, 7l);
3194 var28
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var25
);
3196 var_varonce
= var28
;
3197 if (unlikely(varonce29
==NULL
)) {
3198 var30
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3199 if (likely(varonce31
!=NULL
)) {
3202 var33
= "if (unlikely(";
3203 var34
= standard___standard__NativeString___to_s_with_length(var33
, 13l);
3207 ((struct instance_standard__NativeArray
*)var30
)->values
[0]=var32
;
3208 if (likely(varonce35
!=NULL
)) {
3211 var37
= "==NULL)) {";
3212 var38
= standard___standard__NativeString___to_s_with_length(var37
, 10l);
3216 ((struct instance_standard__NativeArray
*)var30
)->values
[2]=var36
;
3221 ((struct instance_standard__NativeArray
*)var30
)->values
[1]=var_varonce
;
3223 var39
= ((val
*(*)(val
* self
))(var30
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var30
); /* native_to_s on <var30:NativeArray[String]>*/
3227 nit___nit__AbstractCompilerVisitor___add(var_v
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3230 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[AExpr]> */
3231 var42
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[AExpr]> */
3233 RET_LABEL41
:(void)0;
3237 var43
= nit___nit__AbstractCompilerVisitor___int_instance(var_v
, var40
);
3240 var44
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(var_v
, var_type_string
, var43
); /* native_array_instance on <var_v:AbstractCompilerVisitor>*/
3243 if (unlikely(varonce45
==NULL
)) {
3244 var46
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3245 if (likely(varonce47
!=NULL
)) {
3249 var50
= standard___standard__NativeString___to_s_with_length(var49
, 7l);
3253 ((struct instance_standard__NativeArray
*)var46
)->values
[0]=var48
;
3254 if (likely(varonce51
!=NULL
)) {
3258 var54
= standard___standard__NativeString___to_s_with_length(var53
, 1l);
3262 ((struct instance_standard__NativeArray
*)var46
)->values
[2]=var52
;
3263 if (likely(varonce55
!=NULL
)) {
3267 var58
= standard___standard__NativeString___to_s_with_length(var57
, 1l);
3271 ((struct instance_standard__NativeArray
*)var46
)->values
[4]=var56
;
3277 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_a) on <var_a:RuntimeVariable> */
3278 var61
= var_a
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_a:RuntimeVariable> */
3279 if (unlikely(var61
== NULL
)) {
3280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
3285 RET_LABEL60
:(void)0;
3289 var62
= ((val
*(*)(val
* self
))(var59
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var59
); /* ctype on <var59:MType>*/
3291 ((struct instance_standard__NativeArray
*)var46
)->values
[1]=var62
;
3292 ((struct instance_standard__NativeArray
*)var46
)->values
[3]=var_varonce
;
3294 var63
= ((val
*(*)(val
* self
))(var46
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var46
); /* native_to_s on <var46:NativeArray[String]>*/
3298 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3302 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[AExpr]> */
3303 var66
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[AExpr]> */
3305 RET_LABEL65
:(void)0;
3311 { /* Inline kernel#Int#< (var_i,var_67) on <var_i:Int> */
3312 /* Covariant cast for argument 0 (i) <var_67:Int> isa OTHER */
3313 /* <var_67:Int> isa OTHER */
3314 var70
= 1; /* easy <var_67:Int> isa OTHER*/
3315 if (unlikely(!var70
)) {
3316 var_class_name
= type_standard__Int
.name
;
3317 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3318 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3321 var73
= var_i
< var_67
;
3324 RET_LABEL69
:(void)0;
3329 var74
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
3332 /* <var_ne75:AExpr> isa AStringFormExpr */
3333 cltype77
= type_nit__AStringFormExpr
.color
;
3334 idtype78
= type_nit__AStringFormExpr
.id
;
3335 if(cltype77
>= var_ne75
->type
->table_size
) {
3338 var76
= var_ne75
->type
->type_table
[cltype77
] == idtype78
;
3346 var81
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var_ne75
, ((val
*)NULL
));
3350 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__native_array_set(var_v
, var_a
, var_i
, var_e
); /* Direct call separate_compiler#SeparateCompilerVisitor#native_array_set on <var_v:AbstractCompilerVisitor>*/
3352 BREAK_label80
: (void)0;
3354 var82
= standard___standard__Int___Discrete__successor(var_i
, 1l);
3361 BREAK_label83
: (void)0;
3362 if (likely(varonce84
!=NULL
)) {
3366 var87
= standard___standard__NativeString___to_s_with_length(var86
, 8l);
3371 nit___nit__AbstractCompilerVisitor___add(var_v
, var85
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3373 if (unlikely(varonce88
==NULL
)) {
3374 var89
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3375 if (likely(varonce90
!=NULL
)) {
3379 var93
= standard___standard__NativeString___to_s_with_length(var92
, 3l);
3383 ((struct instance_standard__NativeArray
*)var89
)->values
[1]=var91
;
3384 if (likely(varonce94
!=NULL
)) {
3388 var97
= standard___standard__NativeString___to_s_with_length(var96
, 1l);
3392 ((struct instance_standard__NativeArray
*)var89
)->values
[3]=var95
;
3398 var98
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:RuntimeVariable>*/
3400 ((struct instance_standard__NativeArray
*)var89
)->values
[0]=var98
;
3401 ((struct instance_standard__NativeArray
*)var89
)->values
[2]=var_varonce
;
3403 var99
= ((val
*(*)(val
* self
))(var89
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var89
); /* native_to_s on <var89:NativeArray[String]>*/
3407 nit___nit__AbstractCompilerVisitor___add(var_v
, var99
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3409 if (unlikely(varonce100
==NULL
)) {
3410 var101
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3411 if (likely(varonce102
!=NULL
)) {
3412 var103
= varonce102
;
3414 var104
= " = NULL;";
3415 var105
= standard___standard__NativeString___to_s_with_length(var104
, 8l);
3417 varonce102
= var103
;
3419 ((struct instance_standard__NativeArray
*)var101
)->values
[1]=var103
;
3421 var101
= varonce100
;
3424 ((struct instance_standard__NativeArray
*)var101
)->values
[0]=var_varonce
;
3426 var106
= ((val
*(*)(val
* self
))(var101
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var101
); /* native_to_s on <var101:NativeArray[String]>*/
3428 varonce100
= var101
;
3430 nit___nit__AbstractCompilerVisitor___add(var_v
, var106
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3432 if (likely(varonce107
!=NULL
)) {
3433 var108
= varonce107
;
3436 var110
= standard___standard__NativeString___to_s_with_length(var109
, 1l);
3438 varonce107
= var108
;
3441 nit___nit__AbstractCompilerVisitor___add(var_v
, var108
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3443 if (likely(varonce111
!=NULL
)) {
3444 var112
= varonce111
;
3447 var114
= standard___standard__NativeString___to_s_with_length(var113
, 4l);
3449 varonce111
= var112
;
3452 var115
= nit___nit__AbstractCompilerVisitor___object_type(var_v
);
3455 var116
= nit___nit__AbstractCompilerVisitor___get_property(var_v
, var112
, var115
);
3457 var_to_s_method
= var116
;
3460 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[AExpr]> */
3461 var120
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[AExpr]> */
3463 RET_LABEL119
:(void)0;
3469 { /* Inline kernel#Int#< (var_i117,var_121) on <var_i117:Int> */
3470 /* Covariant cast for argument 0 (i) <var_121:Int> isa OTHER */
3471 /* <var_121:Int> isa OTHER */
3472 var124
= 1; /* easy <var_121:Int> isa OTHER*/
3473 if (unlikely(!var124
)) {
3474 var_class_name127
= type_standard__Int
.name
;
3475 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name127
);
3476 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
3479 var128
= var_i117
< var_121
;
3482 RET_LABEL123
:(void)0;
3487 var129
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i117
);
3490 /* <var_ne130:AExpr> isa AStringFormExpr */
3491 cltype132
= type_nit__AStringFormExpr
.color
;
3492 idtype133
= type_nit__AStringFormExpr
.id
;
3493 if(cltype132
>= var_ne130
->type
->table_size
) {
3496 var131
= var_ne130
->type
->type_table
[cltype132
] == idtype133
;
3499 goto BREAK_label134
;
3503 var135
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var_ne130
, ((val
*)NULL
));
3507 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_e136) on <var_e136:RuntimeVariable> */
3508 var139
= var_e136
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_e136:RuntimeVariable> */
3509 if (unlikely(var139
== NULL
)) {
3510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
3511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
3515 RET_LABEL138
:(void)0;
3519 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
3520 var142
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
3521 if (unlikely(var142
== NULL
)) {
3522 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3523 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
3527 RET_LABEL141
:(void)0;
3531 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var140) on <var140:AbstractCompiler> */
3532 var145
= var140
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var140:AbstractCompiler> */
3533 if (unlikely(var145
== NULL
)) {
3534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
3539 RET_LABEL144
:(void)0;
3543 var146
= nit___nit__MType___is_subtype(var137
, var143
, ((val
*)NULL
), var_type_string
);
3547 var148
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
3549 standard___standard__Array___with_capacity(var148
, 1l); /* Direct call array#Array#with_capacity on <var148:Array[RuntimeVariable]>*/
3553 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_149
, var_e136
); /* Direct call array#AbstractArray#push on <var_149:Array[RuntimeVariable]>*/
3556 var150
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_to_s_method
, var_149
);
3558 if (unlikely(var150
== NULL
)) {
3559 PRINT_ERROR("Runtime error: %s", "Cast failed");
3560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2983);
3567 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__native_array_set(var_v
, var_a
, var_i117
, var_e136
); /* Direct call separate_compiler#SeparateCompilerVisitor#native_array_set on <var_v:AbstractCompilerVisitor>*/
3569 BREAK_label134
: (void)0;
3571 var151
= standard___standard__Int___Discrete__successor(var_i117
, 1l);
3575 goto BREAK_label152
;
3578 BREAK_label152
: (void)0;
3579 if (likely(varonce153
!=NULL
)) {
3580 var154
= varonce153
;
3582 var155
= "native_to_s";
3583 var156
= standard___standard__NativeString___to_s_with_length(var155
, 11l);
3585 varonce153
= var154
;
3588 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_a) on <var_a:RuntimeVariable> */
3589 var159
= var_a
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_a:RuntimeVariable> */
3590 if (unlikely(var159
== NULL
)) {
3591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
3596 RET_LABEL158
:(void)0;
3600 var160
= nit___nit__AbstractCompilerVisitor___get_property(var_v
, var154
, var157
);
3602 var161
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
3604 standard___standard__Array___with_capacity(var161
, 1l); /* Direct call array#Array#with_capacity on <var161:Array[RuntimeVariable]>*/
3608 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_162
, var_a
); /* Direct call array#AbstractArray#push on <var_162:Array[RuntimeVariable]>*/
3611 var163
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var160
, var_162
);
3614 if (unlikely(varonce164
==NULL
)) {
3615 var165
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3616 if (likely(varonce166
!=NULL
)) {
3617 var167
= varonce166
;
3620 var169
= standard___standard__NativeString___to_s_with_length(var168
, 3l);
3622 varonce166
= var167
;
3624 ((struct instance_standard__NativeArray
*)var165
)->values
[1]=var167
;
3625 if (likely(varonce170
!=NULL
)) {
3626 var171
= varonce170
;
3629 var173
= standard___standard__NativeString___to_s_with_length(var172
, 1l);
3631 varonce170
= var171
;
3633 ((struct instance_standard__NativeArray
*)var165
)->values
[3]=var171
;
3635 var165
= varonce164
;
3638 ((struct instance_standard__NativeArray
*)var165
)->values
[0]=var_varonce
;
3640 var174
= ((val
*(*)(val
* self
))(var_a
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_a
); /* to_s on <var_a:RuntimeVariable>*/
3642 ((struct instance_standard__NativeArray
*)var165
)->values
[2]=var174
;
3644 var175
= ((val
*(*)(val
* self
))(var165
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var165
); /* native_to_s on <var165:NativeArray[String]>*/
3646 varonce164
= var165
;
3648 nit___nit__AbstractCompilerVisitor___add(var_v
, var175
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3655 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3656 val
* nit__abstract_compiler___ACrangeExpr___AExpr__expr(val
* self
, val
* p0
) {
3657 val
* var
/* : nullable RuntimeVariable */;
3658 val
* var_v
/* var v: AbstractCompilerVisitor */;
3659 val
* var1
/* : AExpr */;
3660 val
* var3
/* : AExpr */;
3661 val
* var4
/* : RuntimeVariable */;
3662 val
* var_i1
/* var i1: RuntimeVariable */;
3663 val
* var5
/* : AExpr */;
3664 val
* var7
/* : AExpr */;
3665 val
* var8
/* : RuntimeVariable */;
3666 val
* var_i2
/* var i2: RuntimeVariable */;
3667 val
* var9
/* : nullable MType */;
3668 val
* var11
/* : nullable MType */;
3669 short int var12
/* : Bool */;
3672 const char* var_class_name
;
3673 val
* var_mtype
/* var mtype: MClassType */;
3674 val
* var13
/* : RuntimeVariable */;
3675 val
* var_res
/* var res: RuntimeVariable */;
3676 val
* var14
/* : nullable CallSite */;
3677 val
* var16
/* : nullable CallSite */;
3678 val
* var17
/* : Array[RuntimeVariable] */;
3679 val
* var_
/* var : Array[RuntimeVariable] */;
3680 val
* var18
/* : nullable RuntimeVariable */;
3683 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ACrangeExpr> */
3684 var3
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ACrangeExpr> */
3685 if (unlikely(var3
== NULL
)) {
3686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2417);
3695 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
3699 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ACrangeExpr> */
3700 var7
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ACrangeExpr> */
3701 if (unlikely(var7
== NULL
)) {
3702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2423);
3711 var8
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, ((val
*)NULL
));
3715 { /* Inline typing#AExpr#mtype (self) on <self:ACrangeExpr> */
3716 var11
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ACrangeExpr> */
3718 RET_LABEL10
:(void)0;
3721 /* <var9:nullable MType> isa MClassType */
3722 cltype
= type_nit__MClassType
.color
;
3723 idtype
= type_nit__MClassType
.id
;
3727 if(cltype
>= var9
->type
->table_size
) {
3730 var12
= var9
->type
->type_table
[cltype
] == idtype
;
3733 if (unlikely(!var12
)) {
3734 var_class_name
= var9
== NULL ?
"null" : var9
->type
->name
;
3735 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3736 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3003);
3741 var13
= ((val
*(*)(val
* self
, val
* p0
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
); /* init_instance on <var_v:AbstractCompilerVisitor>*/
3745 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:ACrangeExpr> */
3746 var16
= self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ACrangeExpr> */
3748 RET_LABEL15
:(void)0;
3751 if (unlikely(var14
== NULL
)) {
3752 PRINT_ERROR("Runtime error: %s", "Cast failed");
3753 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3005);
3756 var17
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
3758 standard___standard__Array___with_capacity(var17
, 3l); /* Direct call array#Array#with_capacity on <var17:Array[RuntimeVariable]>*/
3762 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3765 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3768 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3771 var18
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var14
, var_
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
3778 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3779 val
* nit__abstract_compiler___AOrangeExpr___AExpr__expr(val
* self
, val
* p0
) {
3780 val
* var
/* : nullable RuntimeVariable */;
3781 val
* var_v
/* var v: AbstractCompilerVisitor */;
3782 val
* var1
/* : AExpr */;
3783 val
* var3
/* : AExpr */;
3784 val
* var4
/* : RuntimeVariable */;
3785 val
* var_i1
/* var i1: RuntimeVariable */;
3786 val
* var5
/* : AExpr */;
3787 val
* var7
/* : AExpr */;
3788 val
* var8
/* : RuntimeVariable */;
3789 val
* var_i2
/* var i2: RuntimeVariable */;
3790 val
* var9
/* : nullable MType */;
3791 val
* var11
/* : nullable MType */;
3792 short int var12
/* : Bool */;
3795 const char* var_class_name
;
3796 val
* var_mtype
/* var mtype: MClassType */;
3797 val
* var13
/* : RuntimeVariable */;
3798 val
* var_res
/* var res: RuntimeVariable */;
3799 val
* var14
/* : nullable CallSite */;
3800 val
* var16
/* : nullable CallSite */;
3801 val
* var17
/* : Array[RuntimeVariable] */;
3802 val
* var_
/* var : Array[RuntimeVariable] */;
3803 val
* var18
/* : nullable RuntimeVariable */;
3806 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:AOrangeExpr> */
3807 var3
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:AOrangeExpr> */
3808 if (unlikely(var3
== NULL
)) {
3809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2417);
3818 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
3822 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:AOrangeExpr> */
3823 var7
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrangeExpr> */
3824 if (unlikely(var7
== NULL
)) {
3825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
3826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2423);
3834 var8
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, ((val
*)NULL
));
3838 { /* Inline typing#AExpr#mtype (self) on <self:AOrangeExpr> */
3839 var11
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrangeExpr> */
3841 RET_LABEL10
:(void)0;
3844 /* <var9:nullable MType> isa MClassType */
3845 cltype
= type_nit__MClassType
.color
;
3846 idtype
= type_nit__MClassType
.id
;
3850 if(cltype
>= var9
->type
->table_size
) {
3853 var12
= var9
->type
->type_table
[cltype
] == idtype
;
3856 if (unlikely(!var12
)) {
3857 var_class_name
= var9
== NULL ?
"null" : var9
->type
->name
;
3858 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3015);
3864 var13
= ((val
*(*)(val
* self
, val
* p0
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
); /* init_instance on <var_v:AbstractCompilerVisitor>*/
3868 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:AOrangeExpr> */
3869 var16
= self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:AOrangeExpr> */
3871 RET_LABEL15
:(void)0;
3874 if (unlikely(var14
== NULL
)) {
3875 PRINT_ERROR("Runtime error: %s", "Cast failed");
3876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3017);
3879 var17
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
3881 standard___standard__Array___with_capacity(var17
, 3l); /* Direct call array#Array#with_capacity on <var17:Array[RuntimeVariable]>*/
3885 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3888 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3891 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
3894 var18
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var14
, var_
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
3901 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3902 val
* nit__abstract_compiler___ATrueExpr___AExpr__expr(val
* self
, val
* p0
) {
3903 val
* var
/* : nullable RuntimeVariable */;
3904 val
* var_v
/* var v: AbstractCompilerVisitor */;
3905 val
* var1
/* : RuntimeVariable */;
3908 var1
= nit___nit__AbstractCompilerVisitor___bool_instance(var_v
, 1);
3915 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3916 val
* nit__abstract_compiler___AFalseExpr___AExpr__expr(val
* self
, val
* p0
) {
3917 val
* var
/* : nullable RuntimeVariable */;
3918 val
* var_v
/* var v: AbstractCompilerVisitor */;
3919 val
* var1
/* : RuntimeVariable */;
3922 var1
= nit___nit__AbstractCompilerVisitor___bool_instance(var_v
, 0);
3929 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3930 val
* nit__abstract_compiler___ANullExpr___AExpr__expr(val
* self
, val
* p0
) {
3931 val
* var
/* : nullable RuntimeVariable */;
3932 val
* var_v
/* var v: AbstractCompilerVisitor */;
3933 val
* var1
/* : RuntimeVariable */;
3936 var1
= nit___nit__AbstractCompilerVisitor___null_instance(var_v
);
3943 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3944 val
* nit__abstract_compiler___AIsaExpr___AExpr__expr(val
* self
, val
* p0
) {
3945 val
* var
/* : nullable RuntimeVariable */;
3946 val
* var_v
/* var v: AbstractCompilerVisitor */;
3947 val
* var1
/* : AExpr */;
3948 val
* var3
/* : AExpr */;
3949 val
* var4
/* : RuntimeVariable */;
3950 val
* var_i
/* var i: RuntimeVariable */;
3951 val
* var5
/* : nullable MType */;
3952 val
* var7
/* : nullable MType */;
3953 static val
* varonce
;
3954 val
* var8
/* : String */;
3955 char* var9
/* : NativeString */;
3956 val
* var10
/* : FlatString */;
3957 val
* var11
/* : RuntimeVariable */;
3960 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
3961 var3
= self
->attrs
[COLOR_nit__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
3962 if (unlikely(var3
== NULL
)) {
3963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3964 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2149);
3972 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
3976 { /* Inline typing#AIsaExpr#cast_type (self) on <self:AIsaExpr> */
3977 var7
= self
->attrs
[COLOR_nit__typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
3982 if (unlikely(var5
== NULL
)) {
3983 PRINT_ERROR("Runtime error: %s", "Cast failed");
3984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3038);
3987 if (likely(varonce
!=NULL
)) {
3991 var10
= standard___standard__NativeString___to_s_with_length(var9
, 3l);
3996 var11
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var5
, var8
); /* type_test on <var_v:AbstractCompilerVisitor>*/
4003 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4004 val
* nit__abstract_compiler___AAsCastExpr___AExpr__expr(val
* self
, val
* p0
) {
4005 val
* var
/* : nullable RuntimeVariable */;
4006 val
* var_v
/* var v: AbstractCompilerVisitor */;
4007 val
* var1
/* : AExpr */;
4008 val
* var3
/* : AExpr */;
4009 val
* var4
/* : RuntimeVariable */;
4010 val
* var_i
/* var i: RuntimeVariable */;
4011 val
* var5
/* : AbstractCompiler */;
4012 val
* var7
/* : AbstractCompiler */;
4013 val
* var8
/* : ModelBuilder */;
4014 val
* var10
/* : ModelBuilder */;
4015 val
* var11
/* : ToolContext */;
4016 val
* var13
/* : ToolContext */;
4017 val
* var14
/* : OptionBool */;
4018 val
* var16
/* : OptionBool */;
4019 val
* var17
/* : nullable Object */;
4020 val
* var19
/* : nullable Object */;
4021 short int var20
/* : Bool */;
4022 val
* var21
/* : nullable MType */;
4023 val
* var23
/* : nullable MType */;
4024 static val
* varonce
;
4025 val
* var24
/* : String */;
4026 char* var25
/* : NativeString */;
4027 val
* var26
/* : FlatString */;
4030 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsCastExpr> */
4031 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
4032 if (unlikely(var3
== NULL
)) {
4033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2648);
4042 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
4046 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4047 var7
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
4048 if (unlikely(var7
== NULL
)) {
4049 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
4058 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on <var5:AbstractCompiler> */
4059 var10
= var5
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var5:AbstractCompiler> */
4060 if (unlikely(var10
== NULL
)) {
4061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4070 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var8) on <var8:ModelBuilder> */
4071 var13
= var8
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var8:ModelBuilder> */
4072 if (unlikely(var13
== NULL
)) {
4073 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4074 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4078 RET_LABEL12
:(void)0;
4082 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var11) on <var11:ToolContext> */
4083 var16
= var11
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var11:ToolContext> */
4084 if (unlikely(var16
== NULL
)) {
4085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
4086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 52);
4090 RET_LABEL15
:(void)0;
4094 { /* Inline opts#Option#value (var14) on <var14:OptionBool> */
4095 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionBool> */
4097 RET_LABEL18
:(void)0;
4100 var20
= (short int)((long)(var17
)>>2);
4107 { /* Inline typing#AExpr#mtype (self) on <self:AAsCastExpr> */
4108 var23
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AAsCastExpr> */
4110 RET_LABEL22
:(void)0;
4113 if (unlikely(var21
== NULL
)) {
4114 PRINT_ERROR("Runtime error: %s", "Cast failed");
4115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3048);
4118 if (likely(varonce
!=NULL
)) {
4122 var26
= standard___standard__NativeString___to_s_with_length(var25
, 2l);
4127 nit___nit__AbstractCompilerVisitor___add_cast(var_v
, var_i
, var21
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
4134 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4135 val
* nit__abstract_compiler___AAsNotnullExpr___AExpr__expr(val
* self
, val
* p0
) {
4136 val
* var
/* : nullable RuntimeVariable */;
4137 val
* var_v
/* var v: AbstractCompilerVisitor */;
4138 val
* var1
/* : AExpr */;
4139 val
* var3
/* : AExpr */;
4140 val
* var4
/* : RuntimeVariable */;
4141 val
* var_i
/* var i: RuntimeVariable */;
4142 val
* var5
/* : AbstractCompiler */;
4143 val
* var7
/* : AbstractCompiler */;
4144 val
* var8
/* : ModelBuilder */;
4145 val
* var10
/* : ModelBuilder */;
4146 val
* var11
/* : ToolContext */;
4147 val
* var13
/* : ToolContext */;
4148 val
* var14
/* : OptionBool */;
4149 val
* var16
/* : OptionBool */;
4150 val
* var17
/* : nullable Object */;
4151 val
* var19
/* : nullable Object */;
4152 short int var20
/* : Bool */;
4153 val
* var21
/* : MType */;
4154 val
* var23
/* : MType */;
4155 short int var24
/* : Bool */;
4156 val
* var25
/* : NativeArray[String] */;
4157 static val
* varonce
;
4158 static val
* varonce26
;
4159 val
* var27
/* : String */;
4160 char* var28
/* : NativeString */;
4161 val
* var29
/* : FlatString */;
4162 static val
* varonce30
;
4163 val
* var31
/* : String */;
4164 char* var32
/* : NativeString */;
4165 val
* var33
/* : FlatString */;
4166 val
* var34
/* : String */;
4167 val
* var35
/* : String */;
4168 static val
* varonce36
;
4169 val
* var37
/* : String */;
4170 char* var38
/* : NativeString */;
4171 val
* var39
/* : FlatString */;
4172 static val
* varonce40
;
4173 val
* var41
/* : String */;
4174 char* var42
/* : NativeString */;
4175 val
* var43
/* : FlatString */;
4178 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsNotnullExpr> */
4179 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
4180 if (unlikely(var3
== NULL
)) {
4181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4182 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2648);
4190 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
4194 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
4195 var7
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
4196 if (unlikely(var7
== NULL
)) {
4197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
4206 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var5) on <var5:AbstractCompiler> */
4207 var10
= var5
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var5:AbstractCompiler> */
4208 if (unlikely(var10
== NULL
)) {
4209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4218 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var8) on <var8:ModelBuilder> */
4219 var13
= var8
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var8:ModelBuilder> */
4220 if (unlikely(var13
== NULL
)) {
4221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4226 RET_LABEL12
:(void)0;
4230 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var11) on <var11:ToolContext> */
4231 var16
= var11
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var11:ToolContext> */
4232 if (unlikely(var16
== NULL
)) {
4233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
4234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 52);
4238 RET_LABEL15
:(void)0;
4242 { /* Inline opts#Option#value (var14) on <var14:OptionBool> */
4243 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionBool> */
4245 RET_LABEL18
:(void)0;
4248 var20
= (short int)((long)(var17
)>>2);
4255 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_i) on <var_i:RuntimeVariable> */
4256 var23
= var_i
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_i:RuntimeVariable> */
4257 if (unlikely(var23
== NULL
)) {
4258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4259 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
4263 RET_LABEL22
:(void)0;
4267 var24
= ((short int(*)(val
* self
))(var21
->class->vft
[COLOR_nit__abstract_compiler__MType__is_c_primitive
]))(var21
); /* is_c_primitive on <var21:MType>*/
4274 if (unlikely(varonce
==NULL
)) {
4275 var25
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4276 if (likely(varonce26
!=NULL
)) {
4279 var28
= "if (unlikely(";
4280 var29
= standard___standard__NativeString___to_s_with_length(var28
, 13l);
4284 ((struct instance_standard__NativeArray
*)var25
)->values
[0]=var27
;
4285 if (likely(varonce30
!=NULL
)) {
4288 var32
= " == NULL)) {";
4289 var33
= standard___standard__NativeString___to_s_with_length(var32
, 12l);
4293 ((struct instance_standard__NativeArray
*)var25
)->values
[2]=var31
;
4299 var34
= ((val
*(*)(val
* self
))(var_i
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i
); /* to_s on <var_i:RuntimeVariable>*/
4301 ((struct instance_standard__NativeArray
*)var25
)->values
[1]=var34
;
4303 var35
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
4307 nit___nit__AbstractCompilerVisitor___add(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4309 if (likely(varonce36
!=NULL
)) {
4312 var38
= "Cast failed";
4313 var39
= standard___standard__NativeString___to_s_with_length(var38
, 11l);
4318 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
4320 if (likely(varonce40
!=NULL
)) {
4324 var43
= standard___standard__NativeString___to_s_with_length(var42
, 1l);
4329 nit___nit__AbstractCompilerVisitor___add(var_v
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4336 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4337 val
* nit__abstract_compiler___AParExpr___AExpr__expr(val
* self
, val
* p0
) {
4338 val
* var
/* : nullable RuntimeVariable */;
4339 val
* var_v
/* var v: AbstractCompilerVisitor */;
4340 val
* var1
/* : AExpr */;
4341 val
* var3
/* : AExpr */;
4342 val
* var4
/* : RuntimeVariable */;
4345 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
4346 var3
= self
->attrs
[COLOR_nit__parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
4347 if (unlikely(var3
== NULL
)) {
4348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2637);
4357 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
4364 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4365 val
* nit__abstract_compiler___AOnceExpr___AExpr__expr(val
* self
, val
* p0
) {
4366 val
* var
/* : nullable RuntimeVariable */;
4367 val
* var_v
/* var v: AbstractCompilerVisitor */;
4368 val
* var1
/* : nullable MType */;
4369 val
* var3
/* : nullable MType */;
4370 val
* var_mtype
/* var mtype: MType */;
4371 static val
* varonce
;
4372 val
* var4
/* : String */;
4373 char* var5
/* : NativeString */;
4374 val
* var6
/* : FlatString */;
4375 val
* var7
/* : String */;
4376 val
* var_name
/* var name: String */;
4377 static val
* varonce8
;
4378 val
* var9
/* : String */;
4379 char* var10
/* : NativeString */;
4380 val
* var11
/* : FlatString */;
4381 val
* var12
/* : String */;
4382 val
* var13
/* : String */;
4383 val
* var_guard
/* var guard: String */;
4384 val
* var15
/* : NativeArray[String] */;
4385 static val
* varonce14
;
4386 static val
* varonce16
;
4387 val
* var17
/* : String */;
4388 char* var18
/* : NativeString */;
4389 val
* var19
/* : FlatString */;
4390 static val
* varonce20
;
4391 val
* var21
/* : String */;
4392 char* var22
/* : NativeString */;
4393 val
* var23
/* : FlatString */;
4394 static val
* varonce24
;
4395 val
* var25
/* : String */;
4396 char* var26
/* : NativeString */;
4397 val
* var27
/* : FlatString */;
4398 val
* var28
/* : String */;
4399 val
* var29
/* : String */;
4400 val
* var31
/* : NativeArray[String] */;
4401 static val
* varonce30
;
4402 static val
* varonce32
;
4403 val
* var33
/* : String */;
4404 char* var34
/* : NativeString */;
4405 val
* var35
/* : FlatString */;
4406 static val
* varonce36
;
4407 val
* var37
/* : String */;
4408 char* var38
/* : NativeString */;
4409 val
* var39
/* : FlatString */;
4410 val
* var40
/* : String */;
4411 val
* var41
/* : RuntimeVariable */;
4412 val
* var_res
/* var res: RuntimeVariable */;
4413 val
* var43
/* : NativeArray[String] */;
4414 static val
* varonce42
;
4415 static val
* varonce44
;
4416 val
* var45
/* : String */;
4417 char* var46
/* : NativeString */;
4418 val
* var47
/* : FlatString */;
4419 static val
* varonce48
;
4420 val
* var49
/* : String */;
4421 char* var50
/* : NativeString */;
4422 val
* var51
/* : FlatString */;
4423 val
* var52
/* : String */;
4424 val
* var54
/* : NativeArray[String] */;
4425 static val
* varonce53
;
4426 static val
* varonce55
;
4427 val
* var56
/* : String */;
4428 char* var57
/* : NativeString */;
4429 val
* var58
/* : FlatString */;
4430 static val
* varonce59
;
4431 val
* var60
/* : String */;
4432 char* var61
/* : NativeString */;
4433 val
* var62
/* : FlatString */;
4434 val
* var63
/* : String */;
4435 val
* var64
/* : String */;
4436 static val
* varonce65
;
4437 val
* var66
/* : String */;
4438 char* var67
/* : NativeString */;
4439 val
* var68
/* : FlatString */;
4440 val
* var69
/* : AExpr */;
4441 val
* var71
/* : AExpr */;
4442 val
* var72
/* : RuntimeVariable */;
4443 val
* var_i
/* var i: RuntimeVariable */;
4444 val
* var74
/* : NativeArray[String] */;
4445 static val
* varonce73
;
4446 static val
* varonce75
;
4447 val
* var76
/* : String */;
4448 char* var77
/* : NativeString */;
4449 val
* var78
/* : FlatString */;
4450 static val
* varonce79
;
4451 val
* var80
/* : String */;
4452 char* var81
/* : NativeString */;
4453 val
* var82
/* : FlatString */;
4454 val
* var83
/* : String */;
4455 val
* var84
/* : String */;
4456 val
* var85
/* : String */;
4457 val
* var87
/* : NativeArray[String] */;
4458 static val
* varonce86
;
4459 static val
* varonce88
;
4460 val
* var89
/* : String */;
4461 char* var90
/* : NativeString */;
4462 val
* var91
/* : FlatString */;
4463 static val
* varonce92
;
4464 val
* var93
/* : String */;
4465 char* var94
/* : NativeString */;
4466 val
* var95
/* : FlatString */;
4467 val
* var96
/* : String */;
4468 val
* var97
/* : String */;
4469 val
* var99
/* : NativeArray[String] */;
4470 static val
* varonce98
;
4471 static val
* varonce100
;
4472 val
* var101
/* : String */;
4473 char* var102
/* : NativeString */;
4474 val
* var103
/* : FlatString */;
4475 val
* var104
/* : String */;
4476 static val
* varonce105
;
4477 val
* var106
/* : String */;
4478 char* var107
/* : NativeString */;
4479 val
* var108
/* : FlatString */;
4482 { /* Inline typing#AExpr#mtype (self) on <self:AOnceExpr> */
4483 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOnceExpr> */
4488 if (unlikely(var1
== NULL
)) {
4489 PRINT_ERROR("Runtime error: %s", "Cast failed");
4490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3075);
4494 if (likely(varonce
!=NULL
)) {
4498 var6
= standard___standard__NativeString___to_s_with_length(var5
, 7l);
4503 var7
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var4
);
4506 if (likely(varonce8
!=NULL
)) {
4510 var11
= standard___standard__NativeString___to_s_with_length(var10
, 6l);
4515 var12
= ((val
*(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__string__String___43d
]))(var_name
, var9
); /* + on <var_name:String>*/
4518 var13
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var12
);
4521 if (unlikely(varonce14
==NULL
)) {
4522 var15
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4523 if (likely(varonce16
!=NULL
)) {
4527 var19
= standard___standard__NativeString___to_s_with_length(var18
, 7l);
4531 ((struct instance_standard__NativeArray
*)var15
)->values
[0]=var17
;
4532 if (likely(varonce20
!=NULL
)) {
4536 var23
= standard___standard__NativeString___to_s_with_length(var22
, 1l);
4540 ((struct instance_standard__NativeArray
*)var15
)->values
[2]=var21
;
4541 if (likely(varonce24
!=NULL
)) {
4545 var27
= standard___standard__NativeString___to_s_with_length(var26
, 1l);
4549 ((struct instance_standard__NativeArray
*)var15
)->values
[4]=var25
;
4555 var28
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
); /* ctype on <var_mtype:MType>*/
4557 ((struct instance_standard__NativeArray
*)var15
)->values
[1]=var28
;
4558 ((struct instance_standard__NativeArray
*)var15
)->values
[3]=var_name
;
4560 var29
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
4564 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var29
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
4566 if (unlikely(varonce30
==NULL
)) {
4567 var31
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4568 if (likely(varonce32
!=NULL
)) {
4571 var34
= "static int ";
4572 var35
= standard___standard__NativeString___to_s_with_length(var34
, 11l);
4576 ((struct instance_standard__NativeArray
*)var31
)->values
[0]=var33
;
4577 if (likely(varonce36
!=NULL
)) {
4581 var39
= standard___standard__NativeString___to_s_with_length(var38
, 1l);
4585 ((struct instance_standard__NativeArray
*)var31
)->values
[2]=var37
;
4590 ((struct instance_standard__NativeArray
*)var31
)->values
[1]=var_guard
;
4592 var40
= ((val
*(*)(val
* self
))(var31
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var31
); /* native_to_s on <var31:NativeArray[String]>*/
4596 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var40
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
4599 var41
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var_mtype
);
4602 if (unlikely(varonce42
==NULL
)) {
4603 var43
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4604 if (likely(varonce44
!=NULL
)) {
4607 var46
= "if (likely(";
4608 var47
= standard___standard__NativeString___to_s_with_length(var46
, 11l);
4612 ((struct instance_standard__NativeArray
*)var43
)->values
[0]=var45
;
4613 if (likely(varonce48
!=NULL
)) {
4617 var51
= standard___standard__NativeString___to_s_with_length(var50
, 4l);
4621 ((struct instance_standard__NativeArray
*)var43
)->values
[2]=var49
;
4626 ((struct instance_standard__NativeArray
*)var43
)->values
[1]=var_guard
;
4628 var52
= ((val
*(*)(val
* self
))(var43
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var43
); /* native_to_s on <var43:NativeArray[String]>*/
4632 nit___nit__AbstractCompilerVisitor___add(var_v
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4634 if (unlikely(varonce53
==NULL
)) {
4635 var54
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4636 if (likely(varonce55
!=NULL
)) {
4640 var58
= standard___standard__NativeString___to_s_with_length(var57
, 3l);
4644 ((struct instance_standard__NativeArray
*)var54
)->values
[1]=var56
;
4645 if (likely(varonce59
!=NULL
)) {
4649 var62
= standard___standard__NativeString___to_s_with_length(var61
, 1l);
4653 ((struct instance_standard__NativeArray
*)var54
)->values
[3]=var60
;
4659 var63
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
4661 ((struct instance_standard__NativeArray
*)var54
)->values
[0]=var63
;
4662 ((struct instance_standard__NativeArray
*)var54
)->values
[2]=var_name
;
4664 var64
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var54
); /* native_to_s on <var54:NativeArray[String]>*/
4668 nit___nit__AbstractCompilerVisitor___add(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4670 if (likely(varonce65
!=NULL
)) {
4674 var68
= standard___standard__NativeString___to_s_with_length(var67
, 8l);
4679 nit___nit__AbstractCompilerVisitor___add(var_v
, var66
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4682 { /* Inline parser_nodes#AOnceExpr#n_expr (self) on <self:AOnceExpr> */
4683 var71
= self
->attrs
[COLOR_nit__parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
4684 if (unlikely(var71
== NULL
)) {
4685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2017);
4690 RET_LABEL70
:(void)0;
4694 var72
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var69
, var_mtype
);
4697 if (unlikely(varonce73
==NULL
)) {
4698 var74
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4699 if (likely(varonce75
!=NULL
)) {
4703 var78
= standard___standard__NativeString___to_s_with_length(var77
, 3l);
4707 ((struct instance_standard__NativeArray
*)var74
)->values
[1]=var76
;
4708 if (likely(varonce79
!=NULL
)) {
4712 var82
= standard___standard__NativeString___to_s_with_length(var81
, 1l);
4716 ((struct instance_standard__NativeArray
*)var74
)->values
[3]=var80
;
4722 var83
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
4724 ((struct instance_standard__NativeArray
*)var74
)->values
[0]=var83
;
4726 var84
= ((val
*(*)(val
* self
))(var_i
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_i
); /* to_s on <var_i:RuntimeVariable>*/
4728 ((struct instance_standard__NativeArray
*)var74
)->values
[2]=var84
;
4730 var85
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var74
); /* native_to_s on <var74:NativeArray[String]>*/
4734 nit___nit__AbstractCompilerVisitor___add(var_v
, var85
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4736 if (unlikely(varonce86
==NULL
)) {
4737 var87
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
4738 if (likely(varonce88
!=NULL
)) {
4742 var91
= standard___standard__NativeString___to_s_with_length(var90
, 3l);
4746 ((struct instance_standard__NativeArray
*)var87
)->values
[1]=var89
;
4747 if (likely(varonce92
!=NULL
)) {
4751 var95
= standard___standard__NativeString___to_s_with_length(var94
, 1l);
4755 ((struct instance_standard__NativeArray
*)var87
)->values
[3]=var93
;
4760 ((struct instance_standard__NativeArray
*)var87
)->values
[0]=var_name
;
4762 var96
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
4764 ((struct instance_standard__NativeArray
*)var87
)->values
[2]=var96
;
4766 var97
= ((val
*(*)(val
* self
))(var87
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var87
); /* native_to_s on <var87:NativeArray[String]>*/
4770 nit___nit__AbstractCompilerVisitor___add(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4772 if (unlikely(varonce98
==NULL
)) {
4773 var99
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4774 if (likely(varonce100
!=NULL
)) {
4775 var101
= varonce100
;
4778 var103
= standard___standard__NativeString___to_s_with_length(var102
, 5l);
4780 varonce100
= var101
;
4782 ((struct instance_standard__NativeArray
*)var99
)->values
[1]=var101
;
4787 ((struct instance_standard__NativeArray
*)var99
)->values
[0]=var_guard
;
4789 var104
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
4793 nit___nit__AbstractCompilerVisitor___add(var_v
, var104
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4795 if (likely(varonce105
!=NULL
)) {
4796 var106
= varonce105
;
4799 var108
= standard___standard__NativeString___to_s_with_length(var107
, 1l);
4801 varonce105
= var106
;
4804 nit___nit__AbstractCompilerVisitor___add(var_v
, var106
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4811 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4812 val
* nit__abstract_compiler___ASendExpr___AExpr__expr(val
* self
, val
* p0
) {
4813 val
* var
/* : nullable RuntimeVariable */;
4814 val
* var_v
/* var v: AbstractCompilerVisitor */;
4815 val
* var1
/* : AExpr */;
4816 val
* var3
/* : AExpr */;
4817 val
* var4
/* : RuntimeVariable */;
4818 val
* var_recv
/* var recv: RuntimeVariable */;
4819 val
* var5
/* : nullable CallSite */;
4820 val
* var7
/* : nullable CallSite */;
4821 val
* var_callsite
/* var callsite: CallSite */;
4822 val
* var8
/* : MMethodDef */;
4823 val
* var10
/* : MMethodDef */;
4824 val
* var11
/* : nullable SignatureMap */;
4825 val
* var13
/* : nullable SignatureMap */;
4826 val
* var14
/* : Array[AExpr] */;
4827 val
* var15
/* : Array[RuntimeVariable] */;
4828 val
* var_args
/* var args: Array[RuntimeVariable] */;
4829 val
* var16
/* : nullable RuntimeVariable */;
4832 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
4833 var3
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
4834 if (unlikely(var3
== NULL
)) {
4835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
4844 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
4848 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
4849 var7
= self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
4854 if (unlikely(var5
== NULL
)) {
4855 PRINT_ERROR("Runtime error: %s", "Cast failed");
4856 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3097);
4859 var_callsite
= var5
;
4861 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4862 var10
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4863 if (unlikely(var10
== NULL
)) {
4864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 627);
4873 { /* Inline typing#CallSite#signaturemap (var_callsite) on <var_callsite:CallSite> */
4874 var13
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___signaturemap
].val
; /* _signaturemap on <var_callsite:CallSite> */
4876 RET_LABEL12
:(void)0;
4880 var14
= nit__typing___ASendExpr___raw_arguments(self
);
4883 var15
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var8
, var11
, var_recv
, var14
);
4887 var16
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
4894 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
4895 void nit__abstract_compiler___ASendReassignFormExpr___AExpr__stmt(val
* self
, val
* p0
) {
4896 val
* var_v
/* var v: AbstractCompilerVisitor */;
4897 val
* var
/* : AExpr */;
4898 val
* var2
/* : AExpr */;
4899 val
* var3
/* : RuntimeVariable */;
4900 val
* var_recv
/* var recv: RuntimeVariable */;
4901 val
* var4
/* : nullable CallSite */;
4902 val
* var6
/* : nullable CallSite */;
4903 val
* var_callsite
/* var callsite: CallSite */;
4904 val
* var7
/* : MMethodDef */;
4905 val
* var9
/* : MMethodDef */;
4906 val
* var10
/* : nullable SignatureMap */;
4907 val
* var12
/* : nullable SignatureMap */;
4908 val
* var13
/* : Array[AExpr] */;
4909 val
* var14
/* : Array[RuntimeVariable] */;
4910 val
* var_args
/* var args: Array[RuntimeVariable] */;
4911 val
* var15
/* : AExpr */;
4912 val
* var17
/* : AExpr */;
4913 val
* var18
/* : RuntimeVariable */;
4914 val
* var_value
/* var value: RuntimeVariable */;
4915 val
* var19
/* : nullable RuntimeVariable */;
4916 val
* var_left
/* var left: nullable RuntimeVariable */;
4917 short int var20
/* : Bool */;
4918 short int var21
/* : Bool */;
4919 val
* var_other
/* var other: nullable Object */;
4920 short int var23
/* : Bool */;
4921 short int var24
/* : Bool */;
4922 val
* var25
/* : nullable CallSite */;
4923 val
* var27
/* : nullable CallSite */;
4924 val
* var28
/* : Array[RuntimeVariable] */;
4925 val
* var_
/* var : Array[RuntimeVariable] */;
4926 val
* var29
/* : nullable RuntimeVariable */;
4927 val
* var_res
/* var res: nullable RuntimeVariable */;
4928 short int var30
/* : Bool */;
4929 short int var31
/* : Bool */;
4930 short int var33
/* : Bool */;
4931 short int var34
/* : Bool */;
4932 val
* var35
/* : nullable CallSite */;
4933 val
* var37
/* : nullable CallSite */;
4934 val
* var38
/* : nullable RuntimeVariable */;
4937 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
4938 var2
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
4939 if (unlikely(var2
== NULL
)) {
4940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2025);
4949 var3
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, ((val
*)NULL
));
4953 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendReassignFormExpr> */
4954 var6
= self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendReassignFormExpr> */
4959 if (unlikely(var4
== NULL
)) {
4960 PRINT_ERROR("Runtime error: %s", "Cast failed");
4961 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3107);
4964 var_callsite
= var4
;
4966 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4967 var9
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4968 if (unlikely(var9
== NULL
)) {
4969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4970 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 627);
4978 { /* Inline typing#CallSite#signaturemap (var_callsite) on <var_callsite:CallSite> */
4979 var12
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___signaturemap
].val
; /* _signaturemap on <var_callsite:CallSite> */
4981 RET_LABEL11
:(void)0;
4985 var13
= nit__typing___ASendExpr___raw_arguments(self
);
4988 var14
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var7
, var10
, var_recv
, var13
);
4992 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
4993 var17
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ASendReassignFormExpr> */
4994 if (unlikely(var17
== NULL
)) {
4995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
4996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2006);
5000 RET_LABEL16
:(void)0;
5004 var18
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var15
, ((val
*)NULL
));
5008 var19
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
5011 if (var_left
== NULL
) {
5012 var20
= 0; /* is null */
5014 var20
= 1; /* arg is null and recv is not */
5017 { /* Inline kernel#Object#!= (var_left,((val*)NULL)) on <var_left:nullable RuntimeVariable> */
5018 var_other
= ((val
*)NULL
);
5020 var23
= ((short int(*)(val
* self
, val
* p0
))(var_left
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_left
, var_other
); /* == on <var_left:nullable RuntimeVariable(RuntimeVariable)>*/
5025 RET_LABEL22
:(void)0;
5029 if (unlikely(!var20
)) {
5030 PRINT_ERROR("Runtime error: %s", "Assert failed");
5031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3113);
5035 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:ASendReassignFormExpr> */
5036 var27
= self
->attrs
[COLOR_nit__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:ASendReassignFormExpr> */
5038 RET_LABEL26
:(void)0;
5041 if (unlikely(var25
== NULL
)) {
5042 PRINT_ERROR("Runtime error: %s", "Cast failed");
5043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3115);
5046 var28
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5048 standard___standard__Array___with_capacity(var28
, 2l); /* Direct call array#Array#with_capacity on <var28:Array[RuntimeVariable]>*/
5052 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_left
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5055 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5058 var29
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var25
, var_
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
5061 if (var_res
== NULL
) {
5062 var30
= 0; /* is null */
5064 var30
= 1; /* arg is null and recv is not */
5067 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable RuntimeVariable> */
5068 var_other
= ((val
*)NULL
);
5070 var33
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/
5075 RET_LABEL32
:(void)0;
5079 if (unlikely(!var30
)) {
5080 PRINT_ERROR("Runtime error: %s", "Assert failed");
5081 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3116);
5085 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var_res
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5088 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:ASendReassignFormExpr> */
5089 var37
= self
->attrs
[COLOR_nit__typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
5091 RET_LABEL36
:(void)0;
5094 if (unlikely(var35
== NULL
)) {
5095 PRINT_ERROR("Runtime error: %s", "Cast failed");
5096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3119);
5100 var38
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var35
, var_args
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
5104 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5105 val
* nit__abstract_compiler___ASuperExpr___AExpr__expr(val
* self
, val
* p0
) {
5106 val
* var
/* : nullable RuntimeVariable */;
5107 val
* var_v
/* var v: AbstractCompilerVisitor */;
5108 val
* var1
/* : nullable StaticFrame */;
5109 val
* var3
/* : nullable StaticFrame */;
5110 val
* var4
/* : Array[RuntimeVariable] */;
5111 val
* var6
/* : Array[RuntimeVariable] */;
5112 val
* var7
/* : nullable Object */;
5113 val
* var_recv
/* var recv: RuntimeVariable */;
5114 val
* var8
/* : nullable CallSite */;
5115 val
* var10
/* : nullable CallSite */;
5116 val
* var_callsite
/* var callsite: nullable CallSite */;
5117 short int var11
/* : Bool */;
5118 short int var12
/* : Bool */;
5119 val
* var_other
/* var other: nullable Object */;
5120 short int var14
/* : Bool */;
5121 short int var15
/* : Bool */;
5122 val
* var16
/* : AExprs */;
5123 val
* var18
/* : AExprs */;
5124 val
* var19
/* : ANodes[AExpr] */;
5125 val
* var21
/* : ANodes[AExpr] */;
5126 short int var22
/* : Bool */;
5127 val
* var23
/* : Array[RuntimeVariable] */;
5128 val
* var_
/* var : Array[RuntimeVariable] */;
5129 val
* var_args
/* var args: nullable Object */;
5130 long var_i
/* var i: Int */;
5131 val
* var24
/* : MSignature */;
5132 val
* var26
/* : MSignature */;
5133 long var27
/* : Int */;
5134 long var_28
/* var : Int */;
5135 short int var29
/* : Bool */;
5136 short int var31
/* : Bool */;
5139 const char* var_class_name
;
5140 short int var32
/* : Bool */;
5141 val
* var33
/* : nullable StaticFrame */;
5142 val
* var35
/* : nullable StaticFrame */;
5143 val
* var36
/* : Array[RuntimeVariable] */;
5144 val
* var38
/* : Array[RuntimeVariable] */;
5145 long var39
/* : Int */;
5146 short int var41
/* : Bool */;
5149 const char* var_class_name44
;
5150 long var45
/* : Int */;
5151 val
* var46
/* : nullable Object */;
5152 long var47
/* : Int */;
5153 val
* var48
/* : MMethodDef */;
5154 val
* var50
/* : MMethodDef */;
5155 val
* var51
/* : nullable SignatureMap */;
5156 val
* var53
/* : nullable SignatureMap */;
5157 val
* var54
/* : AExprs */;
5158 val
* var56
/* : AExprs */;
5159 val
* var57
/* : ANodes[AExpr] */;
5160 val
* var59
/* : ANodes[AExpr] */;
5161 val
* var60
/* : Array[RuntimeVariable] */;
5162 val
* var61
/* : nullable RuntimeVariable */;
5163 val
* var_res
/* var res: nullable RuntimeVariable */;
5164 val
* var62
/* : nullable MMethodDef */;
5165 val
* var64
/* : nullable MMethodDef */;
5166 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5167 val
* var65
/* : AExprs */;
5168 val
* var67
/* : AExprs */;
5169 val
* var68
/* : ANodes[AExpr] */;
5170 val
* var70
/* : ANodes[AExpr] */;
5171 short int var71
/* : Bool */;
5172 val
* var72
/* : nullable StaticFrame */;
5173 val
* var74
/* : nullable StaticFrame */;
5174 val
* var75
/* : Array[RuntimeVariable] */;
5175 val
* var77
/* : Array[RuntimeVariable] */;
5176 val
* var_args78
/* var args: nullable Object */;
5177 val
* var79
/* : nullable SignatureMap */;
5178 val
* var81
/* : nullable SignatureMap */;
5179 val
* var82
/* : AExprs */;
5180 val
* var84
/* : AExprs */;
5181 val
* var85
/* : ANodes[AExpr] */;
5182 val
* var87
/* : ANodes[AExpr] */;
5183 val
* var88
/* : Array[RuntimeVariable] */;
5184 val
* var89
/* : MType */;
5185 val
* var91
/* : MType */;
5186 short int var92
/* : Bool */;
5189 const char* var_class_name95
;
5190 val
* var96
/* : nullable RuntimeVariable */;
5193 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5194 var3
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5200 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3126);
5204 { /* Inline abstract_compiler#StaticFrame#arguments (var1) on <var1:nullable StaticFrame> */
5205 if (unlikely(var1
== NULL
)) {
5206 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5210 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var1:nullable StaticFrame> */
5211 if (unlikely(var6
== NULL
)) {
5212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5221 var7
= standard___standard__SequenceRead___Collection__first(var4
);
5225 { /* Inline typing#ASuperExpr#callsite (self) on <self:ASuperExpr> */
5226 var10
= self
->attrs
[COLOR_nit__typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
5231 var_callsite
= var8
;
5232 if (var_callsite
== NULL
) {
5233 var11
= 0; /* is null */
5235 var11
= 1; /* arg is null and recv is not */
5238 { /* Inline kernel#Object#!= (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
5239 var_other
= ((val
*)NULL
);
5241 var14
= ((short int(*)(val
* self
, val
* p0
))(var_callsite
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_callsite
, var_other
); /* == on <var_callsite:nullable CallSite(CallSite)>*/
5246 RET_LABEL13
:(void)0;
5252 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
5253 var18
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
5254 if (unlikely(var18
== NULL
)) {
5255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5256 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
5260 RET_LABEL17
:(void)0;
5264 { /* Inline parser_nodes#AExprs#n_exprs (var16) on <var16:AExprs> */
5265 var21
= var16
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var16:AExprs> */
5266 if (unlikely(var21
== NULL
)) {
5267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5272 RET_LABEL20
:(void)0;
5276 var22
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var19
);
5279 var23
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5281 standard___standard__Array___with_capacity(var23
, 1l); /* Direct call array#Array#with_capacity on <var23:Array[RuntimeVariable]>*/
5285 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5290 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5291 var26
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
5292 if (unlikely(var26
== NULL
)) {
5293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
5294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 631);
5298 RET_LABEL25
:(void)0;
5302 var27
= nit___nit__MSignature___arity(var24
);
5307 { /* Inline kernel#Int#< (var_i,var_28) on <var_i:Int> */
5308 /* Covariant cast for argument 0 (i) <var_28:Int> isa OTHER */
5309 /* <var_28:Int> isa OTHER */
5310 var31
= 1; /* easy <var_28:Int> isa OTHER*/
5311 if (unlikely(!var31
)) {
5312 var_class_name
= type_standard__Int
.name
;
5313 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5314 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
5317 var32
= var_i
< var_28
;
5320 RET_LABEL30
:(void)0;
5325 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5326 var35
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5328 RET_LABEL34
:(void)0;
5331 if (var33
== NULL
) {
5332 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5333 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3136);
5336 { /* Inline abstract_compiler#StaticFrame#arguments (var33) on <var33:nullable StaticFrame> */
5337 if (unlikely(var33
== NULL
)) {
5338 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5342 var38
= var33
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var33:nullable StaticFrame> */
5343 if (unlikely(var38
== NULL
)) {
5344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5349 RET_LABEL37
:(void)0;
5353 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
5354 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5355 /* <1l:Int> isa OTHER */
5356 var41
= 1; /* easy <1l:Int> isa OTHER*/
5357 if (unlikely(!var41
)) {
5358 var_class_name44
= type_standard__Int
.name
;
5359 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44
);
5360 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
5366 RET_LABEL40
:(void)0;
5370 var46
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var36
, var39
);
5373 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var46
); /* Direct call array#Array#add on <var_args:nullable Object(Array[RuntimeVariable])>*/
5376 var47
= standard___standard__Int___Discrete__successor(var_i
, 1l);
5383 BREAK_label
: (void)0;
5386 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5387 var50
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:nullable CallSite(CallSite)> */
5388 if (unlikely(var50
== NULL
)) {
5389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
5390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 627);
5394 RET_LABEL49
:(void)0;
5398 { /* Inline typing#CallSite#signaturemap (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5399 var53
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___signaturemap
].val
; /* _signaturemap on <var_callsite:nullable CallSite(CallSite)> */
5401 RET_LABEL52
:(void)0;
5405 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
5406 var56
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
5407 if (unlikely(var56
== NULL
)) {
5408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
5413 RET_LABEL55
:(void)0;
5417 { /* Inline parser_nodes#AExprs#n_exprs (var54) on <var54:AExprs> */
5418 var59
= var54
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var54:AExprs> */
5419 if (unlikely(var59
== NULL
)) {
5420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5421 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5425 RET_LABEL58
:(void)0;
5429 var60
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var48
, var51
, var_recv
, var57
);
5434 var61
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
5442 { /* Inline typing#ASuperExpr#mpropdef (self) on <self:ASuperExpr> */
5443 var64
= self
->attrs
[COLOR_nit__typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
5445 RET_LABEL63
:(void)0;
5448 if (unlikely(var62
== NULL
)) {
5449 PRINT_ERROR("Runtime error: %s", "Cast failed");
5450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3147);
5453 var_mpropdef
= var62
;
5455 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
5456 var67
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
5457 if (unlikely(var67
== NULL
)) {
5458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5459 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
5463 RET_LABEL66
:(void)0;
5467 { /* Inline parser_nodes#AExprs#n_exprs (var65) on <var65:AExprs> */
5468 var70
= var65
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var65:AExprs> */
5469 if (unlikely(var70
== NULL
)) {
5470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5475 RET_LABEL69
:(void)0;
5479 var71
= nit___nit__ANodes___standard__abstract_collection__Collection__is_empty(var68
);
5483 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
5484 var74
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
5486 RET_LABEL73
:(void)0;
5489 if (var72
== NULL
) {
5490 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3151);
5494 { /* Inline abstract_compiler#StaticFrame#arguments (var72) on <var72:nullable StaticFrame> */
5495 if (unlikely(var72
== NULL
)) {
5496 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5500 var77
= var72
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var72:nullable StaticFrame> */
5501 if (unlikely(var77
== NULL
)) {
5502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1835);
5507 RET_LABEL76
:(void)0;
5513 { /* Inline typing#ASuperExpr#signaturemap (self) on <self:ASuperExpr> */
5514 var81
= self
->attrs
[COLOR_nit__typing__ASuperExpr___signaturemap
].val
; /* _signaturemap on <self:ASuperExpr> */
5516 RET_LABEL80
:(void)0;
5520 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
5521 var84
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
5522 if (unlikely(var84
== NULL
)) {
5523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2344);
5528 RET_LABEL83
:(void)0;
5532 { /* Inline parser_nodes#AExprs#n_exprs (var82) on <var82:AExprs> */
5533 var87
= var82
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var82:AExprs> */
5534 if (unlikely(var87
== NULL
)) {
5535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5540 RET_LABEL86
:(void)0;
5544 var88
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var_mpropdef
, var79
, var_recv
, var85
);
5549 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
5550 var91
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
5551 if (unlikely(var91
== NULL
)) {
5552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
5553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
5557 RET_LABEL90
:(void)0;
5560 /* <var89:MType> isa MClassType */
5561 cltype93
= type_nit__MClassType
.color
;
5562 idtype94
= type_nit__MClassType
.id
;
5563 if(cltype93
>= var89
->type
->table_size
) {
5566 var92
= var89
->type
->type_table
[cltype93
] == idtype94
;
5568 if (unlikely(!var92
)) {
5569 var_class_name95
= var89
== NULL ?
"null" : var89
->type
->name
;
5570 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name95
);
5571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3157);
5575 var96
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__supercall(var_v
, var_mpropdef
, var89
, var_args78
);
5582 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5583 val
* nit__abstract_compiler___ANewExpr___AExpr__expr(val
* self
, val
* p0
) {
5584 val
* var
/* : nullable RuntimeVariable */;
5585 val
* var_v
/* var v: AbstractCompilerVisitor */;
5586 val
* var1
/* : nullable MClassType */;
5587 val
* var3
/* : nullable MClassType */;
5588 val
* var_mtype
/* var mtype: nullable MClassType */;
5589 short int var4
/* : Bool */;
5590 short int var5
/* : Bool */;
5591 val
* var_other
/* var other: nullable Object */;
5592 short int var7
/* : Bool */;
5593 short int var8
/* : Bool */;
5594 val
* var9
/* : MClass */;
5595 val
* var11
/* : MClass */;
5596 val
* var12
/* : String */;
5597 val
* var14
/* : String */;
5598 static val
* varonce
;
5599 val
* var15
/* : String */;
5600 char* var16
/* : NativeString */;
5601 val
* var17
/* : FlatString */;
5602 short int var18
/* : Bool */;
5603 val
* var19
/* : AExprs */;
5604 val
* var21
/* : AExprs */;
5605 val
* var22
/* : ANodes[AExpr] */;
5606 val
* var24
/* : ANodes[AExpr] */;
5607 long var25
/* : Int */;
5608 short int var26
/* : Bool */;
5609 short int var28
/* : Bool */;
5610 val
* var29
/* : AExprs */;
5611 val
* var31
/* : AExprs */;
5612 val
* var32
/* : ANodes[AExpr] */;
5613 val
* var34
/* : ANodes[AExpr] */;
5614 val
* var35
/* : nullable Object */;
5615 val
* var36
/* : RuntimeVariable */;
5616 val
* var_l
/* var l: RuntimeVariable */;
5617 short int var37
/* : Bool */;
5620 val
* var38
/* : Array[MType] */;
5621 val
* var40
/* : Array[MType] */;
5622 val
* var41
/* : nullable Object */;
5623 val
* var_elttype
/* var elttype: MType */;
5624 val
* var42
/* : RuntimeVariable */;
5625 val
* var43
/* : RuntimeVariable */;
5626 val
* var_recv
/* var recv: RuntimeVariable */;
5627 val
* var44
/* : nullable CallSite */;
5628 val
* var46
/* : nullable CallSite */;
5629 val
* var_callsite
/* var callsite: nullable CallSite */;
5630 short int var47
/* : Bool */;
5631 short int var48
/* : Bool */;
5632 val
* var_other50
/* var other: nullable Object */;
5633 short int var51
/* : Bool */;
5634 short int var53
/* : Bool */;
5635 val
* var54
/* : MMethodDef */;
5636 val
* var56
/* : MMethodDef */;
5637 val
* var57
/* : nullable SignatureMap */;
5638 val
* var59
/* : nullable SignatureMap */;
5639 val
* var60
/* : AExprs */;
5640 val
* var62
/* : AExprs */;
5641 val
* var63
/* : ANodes[AExpr] */;
5642 val
* var65
/* : ANodes[AExpr] */;
5643 val
* var66
/* : Array[RuntimeVariable] */;
5644 val
* var_args
/* var args: Array[RuntimeVariable] */;
5645 val
* var67
/* : nullable RuntimeVariable */;
5646 val
* var_res2
/* var res2: nullable RuntimeVariable */;
5647 short int var68
/* : Bool */;
5648 short int var69
/* : Bool */;
5649 short int var71
/* : Bool */;
5650 short int var72
/* : Bool */;
5653 { /* Inline typing#ANewExpr#recvtype (self) on <self:ANewExpr> */
5654 var3
= self
->attrs
[COLOR_nit__typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
5660 if (var_mtype
== NULL
) {
5661 var4
= 0; /* is null */
5663 var4
= 1; /* arg is null and recv is not */
5666 { /* Inline kernel#Object#!= (var_mtype,((val*)NULL)) on <var_mtype:nullable MClassType> */
5667 var_other
= ((val
*)NULL
);
5669 var7
= ((short int(*)(val
* self
, val
* p0
))(var_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_mtype
, var_other
); /* == on <var_mtype:nullable MClassType(MClassType)>*/
5678 if (unlikely(!var4
)) {
5679 PRINT_ERROR("Runtime error: %s", "Assert failed");
5680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3165);
5684 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MClassType(MClassType)> */
5685 var11
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MClassType(MClassType)> */
5686 if (unlikely(var11
== NULL
)) {
5687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
5692 RET_LABEL10
:(void)0;
5696 { /* Inline model#MClass#name (var9) on <var9:MClass> */
5697 var14
= var9
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var9:MClass> */
5698 if (unlikely(var14
== NULL
)) {
5699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
5704 RET_LABEL13
:(void)0;
5707 if (likely(varonce
!=NULL
)) {
5710 var16
= "NativeArray";
5711 var17
= standard___standard__NativeString___to_s_with_length(var16
, 11l);
5716 var18
= ((short int(*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var12
, var15
); /* == on <var12:String>*/
5720 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5721 var21
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5722 if (unlikely(var21
== NULL
)) {
5723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2261);
5728 RET_LABEL20
:(void)0;
5732 { /* Inline parser_nodes#AExprs#n_exprs (var19) on <var19:AExprs> */
5733 var24
= var19
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var19:AExprs> */
5734 if (unlikely(var24
== NULL
)) {
5735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5736 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5740 RET_LABEL23
:(void)0;
5744 var25
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var22
);
5747 { /* Inline kernel#Int#== (var25,1l) on <var25:Int> */
5748 var28
= var25
== 1l;
5751 RET_LABEL27
:(void)0;
5754 if (unlikely(!var26
)) {
5755 PRINT_ERROR("Runtime error: %s", "Assert failed");
5756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3168);
5760 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5761 var31
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5762 if (unlikely(var31
== NULL
)) {
5763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5764 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2261);
5768 RET_LABEL30
:(void)0;
5772 { /* Inline parser_nodes#AExprs#n_exprs (var29) on <var29:AExprs> */
5773 var34
= var29
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var29:AExprs> */
5774 if (unlikely(var34
== NULL
)) {
5775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5780 RET_LABEL33
:(void)0;
5784 var35
= standard___standard__SequenceRead___Collection__first(var32
);
5787 var36
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var35
, ((val
*)NULL
));
5790 /* <var_mtype:nullable MClassType(MClassType)> isa MGenericType */
5791 cltype
= type_nit__MGenericType
.color
;
5792 idtype
= type_nit__MGenericType
.id
;
5793 if(cltype
>= var_mtype
->type
->table_size
) {
5796 var37
= var_mtype
->type
->type_table
[cltype
] == idtype
;
5798 if (unlikely(!var37
)) {
5799 PRINT_ERROR("Runtime error: %s", "Assert failed");
5800 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3170);
5804 { /* Inline model#MGenericType#arguments (var_mtype) on <var_mtype:nullable MClassType(MGenericType)> */
5805 var40
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <var_mtype:nullable MClassType(MGenericType)> */
5806 if (unlikely(var40
== NULL
)) {
5807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
5808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1244);
5812 RET_LABEL39
:(void)0;
5816 var41
= standard___standard__SequenceRead___Collection__first(var38
);
5818 var_elttype
= var41
;
5820 var42
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(var_v
, var_elttype
, var_l
); /* native_array_instance on <var_v:AbstractCompilerVisitor>*/
5827 var43
= nit___nit__AbstractCompilerVisitor___init_instance_or_extern(var_v
, var_mtype
);
5831 { /* Inline typing#ANewExpr#callsite (self) on <self:ANewExpr> */
5832 var46
= self
->attrs
[COLOR_nit__typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
5834 RET_LABEL45
:(void)0;
5837 var_callsite
= var44
;
5838 if (var_callsite
== NULL
) {
5839 var47
= 1; /* is null */
5841 var47
= 0; /* arg is null but recv is not */
5844 { /* Inline kernel#Object#== (var_callsite,((val*)NULL)) on <var_callsite:nullable CallSite> */
5845 var_other50
= ((val
*)NULL
);
5847 { /* Inline kernel#Object#is_same_instance (var_callsite,var_other50) on <var_callsite:nullable CallSite(CallSite)> */
5848 var53
= var_callsite
== var_other50
;
5851 RET_LABEL52
:(void)0;
5856 RET_LABEL49
:(void)0;
5866 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5867 var56
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:nullable CallSite(CallSite)> */
5868 if (unlikely(var56
== NULL
)) {
5869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
5870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 627);
5874 RET_LABEL55
:(void)0;
5878 { /* Inline typing#CallSite#signaturemap (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
5879 var59
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___signaturemap
].val
; /* _signaturemap on <var_callsite:nullable CallSite(CallSite)> */
5881 RET_LABEL58
:(void)0;
5885 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5886 var62
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5887 if (unlikely(var62
== NULL
)) {
5888 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5889 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2261);
5893 RET_LABEL61
:(void)0;
5897 { /* Inline parser_nodes#AExprs#n_exprs (var60) on <var60:AExprs> */
5898 var65
= var60
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var60:AExprs> */
5899 if (unlikely(var65
== NULL
)) {
5900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2771);
5905 RET_LABEL64
:(void)0;
5909 var66
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var54
, var57
, var_recv
, var63
);
5913 var67
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_callsite
, var_args
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
5916 if (var_res2
== NULL
) {
5917 var68
= 0; /* is null */
5919 var68
= 1; /* arg is null and recv is not */
5922 { /* Inline kernel#Object#!= (var_res2,((val*)NULL)) on <var_res2:nullable RuntimeVariable> */
5923 var_other
= ((val
*)NULL
);
5925 var71
= ((short int(*)(val
* self
, val
* p0
))(var_res2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res2
, var_other
); /* == on <var_res2:nullable RuntimeVariable(RuntimeVariable)>*/
5930 RET_LABEL70
:(void)0;
5944 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5945 val
* nit__abstract_compiler___AAttrExpr___AExpr__expr(val
* self
, val
* p0
) {
5946 val
* var
/* : nullable RuntimeVariable */;
5947 val
* var_v
/* var v: AbstractCompilerVisitor */;
5948 val
* var1
/* : AExpr */;
5949 val
* var3
/* : AExpr */;
5950 val
* var4
/* : RuntimeVariable */;
5951 val
* var_recv
/* var recv: RuntimeVariable */;
5952 val
* var5
/* : nullable MAttribute */;
5953 val
* var7
/* : nullable MAttribute */;
5954 val
* var_mproperty
/* var mproperty: MAttribute */;
5955 val
* var8
/* : RuntimeVariable */;
5958 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrExpr> */
5959 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrExpr> */
5960 if (unlikely(var3
== NULL
)) {
5961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5962 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2269);
5970 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
5974 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrExpr> */
5975 var7
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrExpr> */
5980 if (unlikely(var5
== NULL
)) {
5981 PRINT_ERROR("Runtime error: %s", "Cast failed");
5982 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3194);
5985 var_mproperty
= var5
;
5987 var8
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
5994 /* method abstract_compiler#AAttrAssignExpr#expr for (self: AAttrAssignExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5995 val
* nit__abstract_compiler___AAttrAssignExpr___AExpr__expr(val
* self
, val
* p0
) {
5996 val
* var
/* : nullable RuntimeVariable */;
5997 val
* var_v
/* var v: AbstractCompilerVisitor */;
5998 val
* var1
/* : AExpr */;
5999 val
* var3
/* : AExpr */;
6000 val
* var4
/* : RuntimeVariable */;
6001 val
* var_recv
/* var recv: RuntimeVariable */;
6002 val
* var5
/* : AExpr */;
6003 val
* var7
/* : AExpr */;
6004 val
* var8
/* : RuntimeVariable */;
6005 val
* var_i
/* var i: RuntimeVariable */;
6006 val
* var9
/* : nullable MAttribute */;
6007 val
* var11
/* : nullable MAttribute */;
6008 val
* var_mproperty
/* var mproperty: MAttribute */;
6011 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrAssignExpr> */
6012 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrAssignExpr> */
6013 if (unlikely(var3
== NULL
)) {
6014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2269);
6023 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
6027 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:AAttrAssignExpr> */
6028 var7
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:AAttrAssignExpr> */
6029 if (unlikely(var7
== NULL
)) {
6030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1995);
6039 var8
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, ((val
*)NULL
));
6043 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrAssignExpr> */
6044 var11
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrAssignExpr> */
6046 RET_LABEL10
:(void)0;
6049 if (unlikely(var9
== NULL
)) {
6050 PRINT_ERROR("Runtime error: %s", "Cast failed");
6051 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3204);
6054 var_mproperty
= var9
;
6056 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_i
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
6063 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
6064 void nit__abstract_compiler___AAttrReassignExpr___AExpr__stmt(val
* self
, val
* p0
) {
6065 val
* var_v
/* var v: AbstractCompilerVisitor */;
6066 val
* var
/* : AExpr */;
6067 val
* var2
/* : AExpr */;
6068 val
* var3
/* : RuntimeVariable */;
6069 val
* var_recv
/* var recv: RuntimeVariable */;
6070 val
* var4
/* : AExpr */;
6071 val
* var6
/* : AExpr */;
6072 val
* var7
/* : RuntimeVariable */;
6073 val
* var_value
/* var value: RuntimeVariable */;
6074 val
* var8
/* : nullable MAttribute */;
6075 val
* var10
/* : nullable MAttribute */;
6076 val
* var_mproperty
/* var mproperty: MAttribute */;
6077 val
* var11
/* : RuntimeVariable */;
6078 val
* var_attr
/* var attr: RuntimeVariable */;
6079 val
* var12
/* : nullable CallSite */;
6080 val
* var14
/* : nullable CallSite */;
6081 val
* var15
/* : Array[RuntimeVariable] */;
6082 val
* var_
/* var : Array[RuntimeVariable] */;
6083 val
* var16
/* : nullable RuntimeVariable */;
6084 val
* var_res
/* var res: nullable RuntimeVariable */;
6085 short int var17
/* : Bool */;
6086 short int var18
/* : Bool */;
6087 val
* var_other
/* var other: nullable Object */;
6088 short int var20
/* : Bool */;
6089 short int var21
/* : Bool */;
6092 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
6093 var2
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrReassignExpr> */
6094 if (unlikely(var2
== NULL
)) {
6095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2269);
6104 var3
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, ((val
*)NULL
));
6108 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:AAttrReassignExpr> */
6109 var6
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:AAttrReassignExpr> */
6110 if (unlikely(var6
== NULL
)) {
6111 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
6112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2006);
6120 var7
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var4
, ((val
*)NULL
));
6124 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrReassignExpr> */
6125 var10
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrReassignExpr> */
6130 if (unlikely(var8
== NULL
)) {
6131 PRINT_ERROR("Runtime error: %s", "Cast failed");
6132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3215);
6135 var_mproperty
= var8
;
6137 var11
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
6141 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AAttrReassignExpr> */
6142 var14
= self
->attrs
[COLOR_nit__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AAttrReassignExpr> */
6144 RET_LABEL13
:(void)0;
6147 if (unlikely(var12
== NULL
)) {
6148 PRINT_ERROR("Runtime error: %s", "Cast failed");
6149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3217);
6152 var15
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6154 standard___standard__Array___with_capacity(var15
, 2l); /* Direct call array#Array#with_capacity on <var15:Array[RuntimeVariable]>*/
6158 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_attr
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6161 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
6164 var16
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var12
, var_
); /* compile_callsite on <var_v:AbstractCompilerVisitor>*/
6167 if (var_res
== NULL
) {
6168 var17
= 0; /* is null */
6170 var17
= 1; /* arg is null and recv is not */
6173 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable RuntimeVariable> */
6174 var_other
= ((val
*)NULL
);
6176 var20
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable RuntimeVariable(RuntimeVariable)>*/
6181 RET_LABEL19
:(void)0;
6185 if (unlikely(!var17
)) {
6186 PRINT_ERROR("Runtime error: %s", "Assert failed");
6187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3218);
6191 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(var_v
, var_mproperty
, var_recv
, var_res
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <var_v:AbstractCompilerVisitor>*/
6195 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6196 val
* nit__abstract_compiler___AIssetAttrExpr___AExpr__expr(val
* self
, val
* p0
) {
6197 val
* var
/* : nullable RuntimeVariable */;
6198 val
* var_v
/* var v: AbstractCompilerVisitor */;
6199 val
* var1
/* : AExpr */;
6200 val
* var3
/* : AExpr */;
6201 val
* var4
/* : RuntimeVariable */;
6202 val
* var_recv
/* var recv: RuntimeVariable */;
6203 val
* var5
/* : nullable MAttribute */;
6204 val
* var7
/* : nullable MAttribute */;
6205 val
* var_mproperty
/* var mproperty: MAttribute */;
6206 val
* var8
/* : RuntimeVariable */;
6209 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AIssetAttrExpr> */
6210 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AIssetAttrExpr> */
6211 if (unlikely(var3
== NULL
)) {
6212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6213 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2269);
6221 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
6225 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AIssetAttrExpr> */
6226 var7
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AIssetAttrExpr> */
6231 if (unlikely(var5
== NULL
)) {
6232 PRINT_ERROR("Runtime error: %s", "Cast failed");
6233 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3227);
6236 var_mproperty
= var5
;
6238 var8
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__isset_attribute(var_v
, var_mproperty
, var_recv
);
6245 /* method abstract_compiler#AVarargExpr#expr for (self: AVarargExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6246 val
* nit__abstract_compiler___AVarargExpr___AExpr__expr(val
* self
, val
* p0
) {
6247 val
* var
/* : nullable RuntimeVariable */;
6248 val
* var_v
/* var v: AbstractCompilerVisitor */;
6249 val
* var1
/* : AExpr */;
6250 val
* var3
/* : AExpr */;
6251 val
* var4
/* : RuntimeVariable */;
6254 { /* Inline parser_nodes#AVarargExpr#n_expr (self) on <self:AVarargExpr> */
6255 var3
= self
->attrs
[COLOR_nit__parser_nodes__AVarargExpr___n_expr
].val
; /* _n_expr on <self:AVarargExpr> */
6256 if (unlikely(var3
== NULL
)) {
6257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2692);
6266 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
6273 /* method abstract_compiler#ANamedargExpr#expr for (self: ANamedargExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6274 val
* nit__abstract_compiler___ANamedargExpr___AExpr__expr(val
* self
, val
* p0
) {
6275 val
* var
/* : nullable RuntimeVariable */;
6276 val
* var_v
/* var v: AbstractCompilerVisitor */;
6277 val
* var1
/* : AExpr */;
6278 val
* var3
/* : AExpr */;
6279 val
* var4
/* : RuntimeVariable */;
6282 { /* Inline parser_nodes#ANamedargExpr#n_expr (self) on <self:ANamedargExpr> */
6283 var3
= self
->attrs
[COLOR_nit__parser_nodes__ANamedargExpr___n_expr
].val
; /* _n_expr on <self:ANamedargExpr> */
6284 if (unlikely(var3
== NULL
)) {
6285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6286 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2709);
6294 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, ((val
*)NULL
));
6301 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
6302 void nit__abstract_compiler___ADebugTypeExpr___AExpr__stmt(val
* self
, val
* p0
) {
6303 val
* var_v
/* var v: AbstractCompilerVisitor */;
6307 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
6308 val
* nit__abstract_compiler___MModule___properties(val
* self
, val
* p0
) {
6309 val
* var
/* : Set[MProperty] */;
6310 val
* var_mclass
/* var mclass: MClass */;
6311 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6312 val
* var3
/* : Map[MClass, Set[MProperty]] */;
6313 short int var4
/* : Bool */;
6314 short int var5
/* : Bool */;
6315 val
* var6
/* : HashSet[MProperty] */;
6316 val
* var_properties
/* var properties: HashSet[MProperty] */;
6317 val
* var7
/* : Array[MClass] */;
6318 val
* var_parents
/* var parents: Array[MClass] */;
6319 val
* var8
/* : POSet[MClass] */;
6320 short int var9
/* : Bool */;
6321 val
* var10
/* : POSetElement[MClass] */;
6322 val
* var11
/* : Collection[nullable Object] */;
6323 val
* var_
/* var : Array[MClass] */;
6324 val
* var12
/* : ArrayIterator[nullable Object] */;
6325 val
* var_13
/* var : ArrayIterator[MClass] */;
6326 short int var14
/* : Bool */;
6327 val
* var15
/* : nullable Object */;
6328 val
* var_parent
/* var parent: MClass */;
6329 val
* var16
/* : Set[MProperty] */;
6330 val
* var17
/* : Array[MClassDef] */;
6331 val
* var19
/* : Array[MClassDef] */;
6332 val
* var_20
/* var : Array[MClassDef] */;
6333 val
* var21
/* : ArrayIterator[nullable Object] */;
6334 val
* var_22
/* var : ArrayIterator[MClassDef] */;
6335 short int var23
/* : Bool */;
6336 val
* var24
/* : nullable Object */;
6337 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6338 val
* var25
/* : POSetElement[MModule] */;
6339 val
* var27
/* : POSetElement[MModule] */;
6340 val
* var28
/* : MModule */;
6341 val
* var30
/* : MModule */;
6342 short int var31
/* : Bool */;
6343 short int var32
/* : Bool */;
6344 val
* var34
/* : Array[MProperty] */;
6345 val
* var36
/* : Array[MProperty] */;
6346 val
* var_37
/* var : Array[MProperty] */;
6347 val
* var38
/* : ArrayIterator[nullable Object] */;
6348 val
* var_39
/* var : ArrayIterator[MProperty] */;
6349 short int var40
/* : Bool */;
6350 val
* var41
/* : nullable Object */;
6351 val
* var_mprop
/* var mprop: MProperty */;
6352 val
* var44
/* : Map[MClass, Set[MProperty]] */;
6353 val
* var46
/* : Map[MClass, Set[MProperty]] */;
6354 val
* var47
/* : Map[MClass, Set[MProperty]] */;
6355 val
* var49
/* : Map[MClass, Set[MProperty]] */;
6356 val
* var50
/* : nullable Object */;
6359 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6360 var3
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6361 if (unlikely(var3
== NULL
)) {
6362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6363 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3286);
6371 var4
= ((short int(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_standard__abstract_collection__MapRead__has_key
]))(var1
, var_mclass
); /* has_key on <var1:Map[MClass, Set[MProperty]]>*/
6375 var6
= NEW_standard__HashSet(&type_standard__HashSet__nit__MProperty
);
6377 standard___standard__HashSet___standard__kernel__Object__init(var6
); /* Direct call hash_collection#HashSet#init on <var6:HashSet[MProperty]>*/
6379 var_properties
= var6
;
6380 var7
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
6382 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[MClass]>*/
6386 var8
= nit__model___MModule___flatten_mclass_hierarchy(self
);
6389 var9
= poset___poset__POSet___standard__abstract_collection__Collection__has(var8
, var_mclass
);
6393 var10
= nit___nit__MClass___in_hierarchy(var_mclass
, self
);
6396 var11
= poset___poset__POSetElement___direct_greaters(var10
);
6399 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_parents
, var11
); /* Direct call array#Array#add_all on <var_parents:Array[MClass]>*/
6405 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
6410 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
6414 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
6418 var16
= nit__abstract_compiler___MModule___properties(self
, var_parent
);
6421 standard___standard__SimpleCollection___add_all(var_properties
, var16
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_properties:HashSet[MProperty]>*/
6424 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MClass]>*/
6430 BREAK_label
: (void)0;
6432 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_13
); /* Direct call array#ArrayIterator#finish on <var_13:ArrayIterator[MClass]>*/
6435 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
6436 var19
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
6437 if (unlikely(var19
== NULL
)) {
6438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
6439 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 454);
6443 RET_LABEL18
:(void)0;
6448 var21
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_20
);
6453 var23
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_22
);
6457 var24
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_22
);
6459 var_mclassdef
= var24
;
6461 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
6462 var27
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
6463 if (unlikely(var27
== NULL
)) {
6464 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
6465 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
6469 RET_LABEL26
:(void)0;
6473 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
6474 var30
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
6475 if (unlikely(var30
== NULL
)) {
6476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
6477 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
6481 RET_LABEL29
:(void)0;
6485 var31
= poset___poset__POSetElement____60d_61d(var25
, var28
);
6493 { /* Inline model#MClassDef#intro_mproperties (var_mclassdef) on <var_mclassdef:MClassDef> */
6494 var36
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_mclassdef:MClassDef> */
6495 if (unlikely(var36
== NULL
)) {
6496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
6497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 681);
6501 RET_LABEL35
:(void)0;
6506 var38
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_37
);
6511 var40
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_39
);
6515 var41
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_39
);
6519 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_properties
, var_mprop
); /* Direct call hash_collection#HashSet#add on <var_properties:HashSet[MProperty]>*/
6522 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_39
); /* Direct call array#ArrayIterator#next on <var_39:ArrayIterator[MProperty]>*/
6528 BREAK_label42
: (void)0;
6530 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_39
); /* Direct call array#ArrayIterator#finish on <var_39:ArrayIterator[MProperty]>*/
6532 BREAK_label33
: (void)0;
6534 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_22
); /* Direct call array#ArrayIterator#next on <var_22:ArrayIterator[MClassDef]>*/
6540 BREAK_label43
: (void)0;
6542 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_22
); /* Direct call array#ArrayIterator#finish on <var_22:ArrayIterator[MClassDef]>*/
6545 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6546 var46
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6547 if (unlikely(var46
== NULL
)) {
6548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3286);
6553 RET_LABEL45
:(void)0;
6557 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)var44
&3)?class_info
[((long)var44
&3)]:var44
->class)->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var44
, var_mclass
, var_properties
); /* []= on <var44:Map[MClass, Set[MProperty]]>*/
6562 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
6563 var49
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6564 if (unlikely(var49
== NULL
)) {
6565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6566 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3286);
6570 RET_LABEL48
:(void)0;
6574 var50
= ((val
*(*)(val
* self
, val
* p0
))((((long)var47
&3)?class_info
[((long)var47
&3)]:var47
->class)->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var47
, var_mclass
); /* [] on <var47:Map[MClass, Set[MProperty]]>*/
6581 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
6582 val
* nit__abstract_compiler___MModule___properties_cache(val
* self
) {
6583 val
* var
/* : Map[MClass, Set[MProperty]] */;
6584 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6585 var1
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
6586 if (unlikely(var1
== NULL
)) {
6587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
6588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3286);
6595 /* method abstract_compiler#Sys#main for (self: Sys) */
6596 void nit__abstract_compiler___standard__Sys___main(val
* self
) {
6597 val
* var
/* : ToolContext */;
6598 val
* var_toolcontext
/* var toolcontext: ToolContext */;
6599 static val
* varonce
;
6600 val
* var1
/* : String */;
6601 char* var2
/* : NativeString */;
6602 val
* var3
/* : FlatString */;
6603 val
* var5
/* : Sequence[String] */;
6604 val
* var6
/* : Model */;
6605 val
* var_model
/* var model: Model */;
6606 val
* var8
/* : ModelBuilder */;
6607 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
6608 val
* var9
/* : OptionContext */;
6609 val
* var11
/* : OptionContext */;
6610 val
* var12
/* : Array[String] */;
6611 val
* var14
/* : Array[String] */;
6612 val
* var_arguments
/* var arguments: Array[String] */;
6613 short int var15
/* : Bool */;
6614 long var16
/* : Int */;
6615 long var18
/* : Int */;
6616 short int var19
/* : Bool */;
6617 short int var21
/* : Bool */;
6620 const char* var_class_name
;
6621 short int var22
/* : Bool */;
6622 short int var_
/* var : Bool */;
6623 val
* var23
/* : OptionString */;
6624 val
* var25
/* : OptionString */;
6625 val
* var26
/* : nullable Object */;
6626 val
* var28
/* : nullable Object */;
6627 short int var29
/* : Bool */;
6628 short int var30
/* : Bool */;
6629 val
* var_other
/* var other: nullable Object */;
6630 short int var32
/* : Bool */;
6631 short int var33
/* : Bool */;
6632 static val
* varonce34
;
6633 val
* var35
/* : String */;
6634 char* var36
/* : NativeString */;
6635 val
* var37
/* : FlatString */;
6636 val
* var39
/* : Array[MModule] */;
6637 val
* var_mmodules
/* var mmodules: Array[MModule] */;
6638 short int var40
/* : Bool */;
6639 val
* var_41
/* var : Array[MModule] */;
6640 val
* var42
/* : ArrayIterator[nullable Object] */;
6641 val
* var_43
/* var : ArrayIterator[MModule] */;
6642 short int var44
/* : Bool */;
6643 val
* var45
/* : nullable Object */;
6644 val
* var_mmodule
/* var mmodule: MModule */;
6645 val
* var47
/* : NativeArray[String] */;
6646 static val
* varonce46
;
6647 static val
* varonce48
;
6648 val
* var49
/* : String */;
6649 char* var50
/* : NativeString */;
6650 val
* var51
/* : FlatString */;
6651 static val
* varonce52
;
6652 val
* var53
/* : String */;
6653 char* var54
/* : NativeString */;
6654 val
* var55
/* : FlatString */;
6655 val
* var56
/* : String */;
6656 val
* var57
/* : String */;
6657 val
* var58
/* : Array[MModule] */;
6658 val
* var_59
/* var : Array[MModule] */;
6659 val
* var_ms
/* var ms: Array[MModule] */;
6660 var
= NEW_nit__ToolContext(&type_nit__ToolContext
);
6662 nit__separate_erasure_compiler___ToolContext___standard__kernel__Object__init(var
); /* Direct call separate_erasure_compiler#ToolContext#init on <var:ToolContext>*/
6664 var_toolcontext
= var
;
6665 if (likely(varonce
!=NULL
)) {
6668 var2
= "Usage: nitc [OPTION]... file.nit...\nCompiles Nit programs.";
6669 var3
= standard___standard__NativeString___to_s_with_length(var2
, 58l);
6674 { /* Inline toolcontext#ToolContext#tooldescription= (var_toolcontext,var1) on <var_toolcontext:ToolContext> */
6675 var_toolcontext
->attrs
[COLOR_nit__toolcontext__ToolContext___tooldescription
].val
= var1
; /* _tooldescription on <var_toolcontext:ToolContext> */
6680 var5
= standard__string___Sys___args(self
);
6683 nit__nith___ToolContext___process_options(var_toolcontext
, var5
); /* Direct call nith#ToolContext#process_options on <var_toolcontext:ToolContext>*/
6685 var6
= NEW_nit__Model(&type_nit__Model
);
6687 { /* Inline kernel#Object#init (var6) on <var6:Model> */
6692 var8
= NEW_nit__ModelBuilder(&type_nit__ModelBuilder
);
6694 ((void(*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_nit__modelbuilder_base__ModelBuilder__model_61d
]))(var8
, var_model
); /* model= on <var8:ModelBuilder>*/
6697 ((void(*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_nit__modelbuilder_base__ModelBuilder__toolcontext_61d
]))(var8
, var_toolcontext
); /* toolcontext= on <var8:ModelBuilder>*/
6700 ((void(*)(val
* self
))(var8
->class->vft
[COLOR_standard__kernel__Object__init
]))(var8
); /* init on <var8:ModelBuilder>*/
6702 var_modelbuilder
= var8
;
6704 { /* Inline toolcontext#ToolContext#option_context (var_toolcontext) on <var_toolcontext:ToolContext> */
6705 var11
= var_toolcontext
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <var_toolcontext:ToolContext> */
6706 if (unlikely(var11
== NULL
)) {
6707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
6708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
6712 RET_LABEL10
:(void)0;
6716 { /* Inline opts#OptionContext#rest (var9) on <var9:OptionContext> */
6717 var14
= var9
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <var9:OptionContext> */
6718 if (unlikely(var14
== NULL
)) {
6719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
6720 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 267);
6724 RET_LABEL13
:(void)0;
6727 var_arguments
= var12
;
6729 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[String]> */
6730 var18
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[String]> */
6732 RET_LABEL17
:(void)0;
6736 { /* Inline kernel#Int#> (var16,1l) on <var16:Int> */
6737 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6738 /* <1l:Int> isa OTHER */
6739 var21
= 1; /* easy <1l:Int> isa OTHER*/
6740 if (unlikely(!var21
)) {
6741 var_class_name
= type_standard__Int
.name
;
6742 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6743 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
6749 RET_LABEL20
:(void)0;
6755 { /* Inline abstract_compiler#ToolContext#opt_output (var_toolcontext) on <var_toolcontext:ToolContext> */
6756 var25
= var_toolcontext
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var_toolcontext:ToolContext> */
6757 if (unlikely(var25
== NULL
)) {
6758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
6759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 30);
6763 RET_LABEL24
:(void)0;
6767 { /* Inline opts#Option#value (var23) on <var23:OptionString> */
6768 var28
= var23
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var23:OptionString> */
6770 RET_LABEL27
:(void)0;
6773 if (var26
== NULL
) {
6774 var29
= 0; /* is null */
6776 var29
= 1; /* arg is null and recv is not */
6779 { /* Inline kernel#Object#!= (var26,((val*)NULL)) on <var26:nullable Object(nullable String)> */
6780 var_other
= ((val
*)NULL
);
6782 var32
= ((short int(*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var26
, var_other
); /* == on <var26:nullable String(String)>*/
6787 RET_LABEL31
:(void)0;
6796 if (likely(varonce34
!=NULL
)) {
6799 var36
= "Option Error: --output needs a single source file. Do you prefer --dir?";
6800 var37
= standard___standard__NativeString___to_s_with_length(var36
, 71l);
6805 standard__file___Sys___print(self
, var35
); /* Direct call file#Sys#print on <self:Sys>*/
6808 { /* Inline kernel#Sys#exit (self,1l) on <self:Sys> */
6810 RET_LABEL38
:(void)0;
6816 var39
= nit__loader___ModelBuilder___parse(var_modelbuilder
, var_arguments
);
6818 var_mmodules
= var39
;
6820 var40
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mmodules
);
6827 nit__modelbuilder___ModelBuilder___run_phases(var_modelbuilder
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var_modelbuilder:ModelBuilder>*/
6829 var_41
= var_mmodules
;
6831 var42
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_41
);
6836 var44
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_43
);
6840 var45
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_43
);
6842 var_mmodule
= var45
;
6843 if (unlikely(varonce46
==NULL
)) {
6844 var47
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
6845 if (likely(varonce48
!=NULL
)) {
6848 var50
= "*** PROCESS ";
6849 var51
= standard___standard__NativeString___to_s_with_length(var50
, 12l);
6853 ((struct instance_standard__NativeArray
*)var47
)->values
[0]=var49
;
6854 if (likely(varonce52
!=NULL
)) {
6858 var55
= standard___standard__NativeString___to_s_with_length(var54
, 4l);
6862 ((struct instance_standard__NativeArray
*)var47
)->values
[2]=var53
;
6868 var56
= ((val
*(*)(val
* self
))(var_mmodule
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mmodule
); /* to_s on <var_mmodule:MModule>*/
6870 ((struct instance_standard__NativeArray
*)var47
)->values
[1]=var56
;
6872 var57
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var47
); /* native_to_s on <var47:NativeArray[String]>*/
6876 nit___nit__ToolContext___info(var_toolcontext
, var57
, 1l); /* Direct call toolcontext#ToolContext#info on <var_toolcontext:ToolContext>*/
6878 var58
= NEW_standard__Array(&type_standard__Array__nit__MModule
);
6880 standard___standard__Array___with_capacity(var58
, 1l); /* Direct call array#Array#with_capacity on <var58:Array[MModule]>*/
6884 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_59
, var_mmodule
); /* Direct call array#AbstractArray#push on <var_59:Array[MModule]>*/
6888 nit__modelbuilder___ToolContext___run_global_phases(var_toolcontext
, var_ms
); /* Direct call modelbuilder#ToolContext#run_global_phases on <var_toolcontext:ToolContext>*/
6891 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_43
); /* Direct call array#ArrayIterator#next on <var_43:ArrayIterator[MModule]>*/
6897 BREAK_label
: (void)0;
6899 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_43
); /* Direct call array#ArrayIterator#finish on <var_43:ArrayIterator[MModule]>*/