1 #include "nit__abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
3 void nit__abstract_compiler___AForExpr___AExpr__stmt(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
5 val
* var
/* : AExpr */;
6 val
* var2
/* : AExpr */;
7 val
* var3
/* : null */;
8 val
* var4
/* : RuntimeVariable */;
9 val
* var_cl
/* var cl: RuntimeVariable */;
10 val
* var5
/* : nullable CallSite */;
11 val
* var7
/* : nullable CallSite */;
12 val
* var_it_meth
/* var it_meth: nullable CallSite */;
13 val
* var8
/* : null */;
14 short int var9
/* : Bool */;
15 short int var10
/* : Bool */;
16 val
* var_other
/* var other: nullable Object */;
17 short int var12
/* : Bool */;
18 short int var13
/* : Bool */;
19 val
* var14
/* : Array[RuntimeVariable] */;
20 long var15
/* : Int */;
21 val
* var_
/* var : Array[RuntimeVariable] */;
22 val
* var16
/* : nullable RuntimeVariable */;
23 val
* var_it
/* var it: nullable RuntimeVariable */;
24 val
* var17
/* : null */;
25 short int var18
/* : Bool */;
26 short int var19
/* : Bool */;
27 short int var21
/* : Bool */;
28 short int var22
/* : Bool */;
30 val
* var23
/* : String */;
31 char* var24
/* : NativeString */;
32 long var25
/* : Int */;
33 val
* var26
/* : FlatString */;
34 val
* var27
/* : nullable CallSite */;
35 val
* var29
/* : nullable CallSite */;
36 val
* var_isok_meth
/* var isok_meth: nullable CallSite */;
37 val
* var30
/* : null */;
38 short int var31
/* : Bool */;
39 short int var32
/* : Bool */;
40 short int var34
/* : Bool */;
41 short int var35
/* : Bool */;
42 val
* var36
/* : Array[RuntimeVariable] */;
43 long var37
/* : Int */;
44 val
* var_38
/* var : Array[RuntimeVariable] */;
45 val
* var39
/* : nullable RuntimeVariable */;
46 val
* var_ok
/* var ok: nullable RuntimeVariable */;
47 val
* var40
/* : null */;
48 short int var41
/* : Bool */;
49 short int var42
/* : Bool */;
50 short int var44
/* : Bool */;
51 short int var45
/* : Bool */;
52 static val
* varonce46
;
53 val
* var47
/* : String */;
54 char* var48
/* : NativeString */;
55 long var49
/* : Int */;
56 val
* var50
/* : FlatString */;
57 static val
* varonce51
;
58 val
* var52
/* : String */;
59 char* var53
/* : NativeString */;
60 long var54
/* : Int */;
61 val
* var55
/* : FlatString */;
62 val
* var56
/* : Array[Object] */;
63 long var57
/* : Int */;
64 val
* var58
/* : NativeArray[Object] */;
65 val
* var59
/* : String */;
66 val
* var60
/* : nullable Array[Variable] */;
67 val
* var62
/* : nullable Array[Variable] */;
68 long var63
/* : Int */;
69 long var65
/* : Int */;
70 long var66
/* : Int */;
71 short int var67
/* : Bool */;
72 short int var69
/* : Bool */;
73 val
* var70
/* : nullable CallSite */;
74 val
* var72
/* : nullable CallSite */;
75 val
* var_item_meth
/* var item_meth: nullable CallSite */;
76 val
* var73
/* : null */;
77 short int var74
/* : Bool */;
78 short int var75
/* : Bool */;
79 short int var77
/* : Bool */;
80 short int var78
/* : Bool */;
81 val
* var79
/* : Array[RuntimeVariable] */;
82 long var80
/* : Int */;
83 val
* var_81
/* var : Array[RuntimeVariable] */;
84 val
* var82
/* : nullable RuntimeVariable */;
85 val
* var_i
/* var i: nullable RuntimeVariable */;
86 val
* var83
/* : null */;
87 short int var84
/* : Bool */;
88 short int var85
/* : Bool */;
89 short int var87
/* : Bool */;
90 short int var88
/* : Bool */;
91 val
* var89
/* : nullable Array[Variable] */;
92 val
* var91
/* : nullable Array[Variable] */;
93 val
* var92
/* : nullable Object */;
94 val
* var93
/* : RuntimeVariable */;
95 val
* var94
/* : nullable Array[Variable] */;
96 val
* var96
/* : nullable Array[Variable] */;
97 long var97
/* : Int */;
98 long var99
/* : Int */;
99 long var100
/* : Int */;
100 short int var101
/* : Bool */;
101 short int var103
/* : Bool */;
102 val
* var104
/* : nullable CallSite */;
103 val
* var106
/* : nullable CallSite */;
104 val
* var_key_meth
/* var key_meth: nullable CallSite */;
105 val
* var107
/* : null */;
106 short int var108
/* : Bool */;
107 short int var109
/* : Bool */;
108 short int var111
/* : Bool */;
109 short int var112
/* : Bool */;
110 val
* var113
/* : Array[RuntimeVariable] */;
111 long var114
/* : Int */;
112 val
* var_115
/* var : Array[RuntimeVariable] */;
113 val
* var116
/* : nullable RuntimeVariable */;
114 val
* var_i117
/* var i: nullable RuntimeVariable */;
115 val
* var118
/* : null */;
116 short int var119
/* : Bool */;
117 short int var120
/* : Bool */;
118 short int var122
/* : Bool */;
119 short int var123
/* : Bool */;
120 val
* var124
/* : nullable Array[Variable] */;
121 val
* var126
/* : nullable Array[Variable] */;
122 long var127
/* : Int */;
123 val
* var128
/* : nullable Object */;
124 val
* var129
/* : RuntimeVariable */;
125 val
* var130
/* : nullable CallSite */;
126 val
* var132
/* : nullable CallSite */;
127 val
* var_item_meth133
/* var item_meth: nullable CallSite */;
128 val
* var134
/* : null */;
129 short int var135
/* : Bool */;
130 short int var136
/* : Bool */;
131 short int var138
/* : Bool */;
132 short int var139
/* : Bool */;
133 val
* var140
/* : Array[RuntimeVariable] */;
134 long var141
/* : Int */;
135 val
* var_142
/* var : Array[RuntimeVariable] */;
136 val
* var143
/* : nullable RuntimeVariable */;
137 val
* var144
/* : null */;
138 short int var145
/* : Bool */;
139 short int var146
/* : Bool */;
140 short int var148
/* : Bool */;
141 short int var149
/* : Bool */;
142 val
* var150
/* : nullable Array[Variable] */;
143 val
* var152
/* : nullable Array[Variable] */;
144 long var153
/* : Int */;
145 val
* var154
/* : nullable Object */;
146 val
* var155
/* : RuntimeVariable */;
147 val
* var156
/* : nullable AExpr */;
148 val
* var158
/* : nullable AExpr */;
149 val
* var159
/* : nullable EscapeMark */;
150 val
* var161
/* : nullable EscapeMark */;
151 val
* var162
/* : nullable CallSite */;
152 val
* var164
/* : nullable CallSite */;
153 val
* var_next_meth
/* var next_meth: nullable CallSite */;
154 val
* var165
/* : null */;
155 short int var166
/* : Bool */;
156 short int var167
/* : Bool */;
157 short int var169
/* : Bool */;
158 short int var170
/* : Bool */;
159 val
* var171
/* : Array[RuntimeVariable] */;
160 long var172
/* : Int */;
161 val
* var_173
/* var : Array[RuntimeVariable] */;
162 val
* var174
/* : nullable RuntimeVariable */;
163 static val
* varonce175
;
164 val
* var176
/* : String */;
165 char* var177
/* : NativeString */;
166 long var178
/* : Int */;
167 val
* var179
/* : FlatString */;
168 val
* var180
/* : nullable EscapeMark */;
169 val
* var182
/* : nullable EscapeMark */;
170 val
* var183
/* : nullable CallSite */;
171 val
* var185
/* : nullable CallSite */;
172 val
* var_method_finish
/* var method_finish: nullable CallSite */;
173 val
* var186
/* : null */;
174 short int var187
/* : Bool */;
175 short int var188
/* : Bool */;
176 short int var190
/* : Bool */;
177 short int var191
/* : Bool */;
178 val
* var192
/* : Array[RuntimeVariable] */;
179 long var193
/* : Int */;
180 val
* var_194
/* var : Array[RuntimeVariable] */;
181 val
* var195
/* : nullable RuntimeVariable */;
184 { /* Inline parser_nodes#AForExpr#n_expr (self) on <self:AForExpr> */
185 var2
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_expr
].val
; /* _n_expr on <self:AForExpr> */
186 if (unlikely(var2
== NULL
)) {
187 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1738);
197 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, var3
);
201 { /* Inline typing#AForExpr#method_iterator (self) on <self:AForExpr> */
202 var7
= self
->attrs
[COLOR_nit__typing__AForExpr___method_iterator
].val
; /* _method_iterator on <self:AForExpr> */
209 if (var_it_meth
== NULL
) {
210 var9
= 0; /* is null */
212 var9
= 1; /* arg is null and recv is not */
215 { /* Inline kernel#Object#!= (var_it_meth,var8) on <var_it_meth:nullable CallSite> */
218 var12
= ((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)>*/;
227 if (unlikely(!var9
)) {
228 PRINT_ERROR("Runtime error: %s", "Assert failed");
229 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2563);
232 var14
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
235 standard___standard__Array___with_capacity(var14
, var15
); /* Direct call array#Array#with_capacity on <var14:Array[RuntimeVariable]>*/
239 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_cl
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
242 var16
= ((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>*/;
246 if (var_it
== NULL
) {
247 var18
= 0; /* is null */
249 var18
= 1; /* arg is null and recv is not */
252 { /* Inline kernel#Object#!= (var_it,var17) on <var_it:nullable RuntimeVariable> */
255 var21
= ((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)>*/;
264 if (unlikely(!var18
)) {
265 PRINT_ERROR("Runtime error: %s", "Assert failed");
266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2565);
274 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
279 nit___nit__AbstractCompilerVisitor___add(var_v
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
282 { /* Inline typing#AForExpr#method_is_ok (self) on <self:AForExpr> */
283 var29
= self
->attrs
[COLOR_nit__typing__AForExpr___method_is_ok
].val
; /* _method_is_ok on <self:AForExpr> */
288 var_isok_meth
= var27
;
290 if (var_isok_meth
== NULL
) {
291 var31
= 0; /* is null */
293 var31
= 1; /* arg is null and recv is not */
296 { /* Inline kernel#Object#!= (var_isok_meth,var30) on <var_isok_meth:nullable CallSite> */
299 var34
= ((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)>*/;
308 if (unlikely(!var31
)) {
309 PRINT_ERROR("Runtime error: %s", "Assert failed");
310 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2568);
313 var36
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
316 standard___standard__Array___with_capacity(var36
, var37
); /* Direct call array#Array#with_capacity on <var36:Array[RuntimeVariable]>*/
320 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_38
, var_it
); /* Direct call array#AbstractArray#push on <var_38:Array[RuntimeVariable]>*/
323 var39
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_isok_meth
, var_38
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
327 if (var_ok
== NULL
) {
328 var41
= 0; /* is null */
330 var41
= 1; /* arg is null and recv is not */
333 { /* Inline kernel#Object#!= (var_ok,var40) on <var_ok:nullable RuntimeVariable> */
336 var44
= ((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)>*/;
345 if (unlikely(!var41
)) {
346 PRINT_ERROR("Runtime error: %s", "Assert failed");
347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2570);
355 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
364 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
368 var56
= NEW_standard__Array(&type_standard__Array__standard__Object
);
369 { /* var56 = array_instance Array[Object] */
371 var58
= NEW_standard__NativeArray(var57
, &type_standard__NativeArray__standard__Object
);
372 ((struct instance_standard__NativeArray
*)var58
)->values
[0] = (val
*) var47
;
373 ((struct instance_standard__NativeArray
*)var58
)->values
[1] = (val
*) var_ok
;
374 ((struct instance_standard__NativeArray
*)var58
)->values
[2] = (val
*) var52
;
376 ((void (*)(val
* self
, val
* p0
, long p1
))(var56
->class->vft
[COLOR_standard__array__Array__with_native
]))(var56
, var58
, var57
) /* with_native on <var56:Array[Object]>*/;
380 var59
= ((val
* (*)(val
* self
))(var56
->class->vft
[COLOR_standard__string__Object__to_s
]))(var56
) /* to_s on <var56:Array[Object]>*/;
383 nit___nit__AbstractCompilerVisitor___add(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
386 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
387 var62
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
393 PRINT_ERROR("Runtime error: %s", "Receiver is null");
394 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2572);
397 { /* Inline array#AbstractArrayRead#length (var60) on <var60:nullable Array[Variable]> */
398 if (unlikely(var60
== NULL
)) {
399 PRINT_ERROR("Runtime error: %s", "Receiver is null");
400 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 24);
403 var65
= var60
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var60:nullable Array[Variable]> */
410 { /* Inline kernel#Int#== (var63,var66) on <var63:Int> */
411 var69
= var63
== var66
;
419 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
420 var72
= self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
425 var_item_meth
= var70
;
427 if (var_item_meth
== NULL
) {
428 var74
= 0; /* is null */
430 var74
= 1; /* arg is null and recv is not */
433 { /* Inline kernel#Object#!= (var_item_meth,var73) on <var_item_meth:nullable CallSite> */
436 var77
= ((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)>*/;
445 if (unlikely(!var74
)) {
446 PRINT_ERROR("Runtime error: %s", "Assert failed");
447 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2574);
450 var79
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
453 standard___standard__Array___with_capacity(var79
, var80
); /* Direct call array#Array#with_capacity on <var79:Array[RuntimeVariable]>*/
457 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_81
, var_it
); /* Direct call array#AbstractArray#push on <var_81:Array[RuntimeVariable]>*/
460 var82
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth
, var_81
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
465 var84
= 0; /* is null */
467 var84
= 1; /* arg is null and recv is not */
470 { /* Inline kernel#Object#!= (var_i,var83) on <var_i:nullable RuntimeVariable> */
473 var87
= ((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)>*/;
482 if (unlikely(!var84
)) {
483 PRINT_ERROR("Runtime error: %s", "Assert failed");
484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2576);
488 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
489 var91
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
495 PRINT_ERROR("Runtime error: %s", "Receiver is null");
496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2577);
499 var92
= standard___standard__SequenceRead___Collection__first(var89
);
502 var93
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var92
);
505 nit___nit__AbstractCompilerVisitor___assign(var_v
, var93
, var_i
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
509 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
510 var96
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
516 PRINT_ERROR("Runtime error: %s", "Receiver is null");
517 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2578);
520 { /* Inline array#AbstractArrayRead#length (var94) on <var94:nullable Array[Variable]> */
521 if (unlikely(var94
== NULL
)) {
522 PRINT_ERROR("Runtime error: %s", "Receiver is null");
523 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array
, 24);
526 var99
= var94
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var94:nullable Array[Variable]> */
533 { /* Inline kernel#Int#== (var97,var100) on <var97:Int> */
534 var103
= var97
== var100
;
537 RET_LABEL102
:(void)0;
542 { /* Inline typing#AForExpr#method_key (self) on <self:AForExpr> */
543 var106
= self
->attrs
[COLOR_nit__typing__AForExpr___method_key
].val
; /* _method_key on <self:AForExpr> */
545 RET_LABEL105
:(void)0;
548 var_key_meth
= var104
;
550 if (var_key_meth
== NULL
) {
551 var108
= 0; /* is null */
553 var108
= 1; /* arg is null and recv is not */
556 { /* Inline kernel#Object#!= (var_key_meth,var107) on <var_key_meth:nullable CallSite> */
559 var111
= ((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)>*/;
564 RET_LABEL110
:(void)0;
568 if (unlikely(!var108
)) {
569 PRINT_ERROR("Runtime error: %s", "Assert failed");
570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2580);
573 var113
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
576 standard___standard__Array___with_capacity(var113
, var114
); /* Direct call array#Array#with_capacity on <var113:Array[RuntimeVariable]>*/
580 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_115
, var_it
); /* Direct call array#AbstractArray#push on <var_115:Array[RuntimeVariable]>*/
583 var116
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_key_meth
, var_115
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
587 if (var_i117
== NULL
) {
588 var119
= 0; /* is null */
590 var119
= 1; /* arg is null and recv is not */
593 { /* Inline kernel#Object#!= (var_i117,var118) on <var_i117:nullable RuntimeVariable> */
596 var122
= ((short int (*)(val
* self
, val
* p0
))(var_i117
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_i117
, var_other
) /* == on <var_i117:nullable RuntimeVariable(RuntimeVariable)>*/;
601 RET_LABEL121
:(void)0;
605 if (unlikely(!var119
)) {
606 PRINT_ERROR("Runtime error: %s", "Assert failed");
607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2582);
611 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
612 var126
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
614 RET_LABEL125
:(void)0;
618 if (var124
== NULL
) {
619 PRINT_ERROR("Runtime error: %s", "Receiver is null");
620 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2583);
623 var128
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var124
, var127
);
626 var129
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var128
);
629 nit___nit__AbstractCompilerVisitor___assign(var_v
, var129
, var_i117
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
632 { /* Inline typing#AForExpr#method_item (self) on <self:AForExpr> */
633 var132
= self
->attrs
[COLOR_nit__typing__AForExpr___method_item
].val
; /* _method_item on <self:AForExpr> */
635 RET_LABEL131
:(void)0;
638 var_item_meth133
= var130
;
640 if (var_item_meth133
== NULL
) {
641 var135
= 0; /* is null */
643 var135
= 1; /* arg is null and recv is not */
646 { /* Inline kernel#Object#!= (var_item_meth133,var134) on <var_item_meth133:nullable CallSite> */
649 var138
= ((short int (*)(val
* self
, val
* p0
))(var_item_meth133
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_item_meth133
, var_other
) /* == on <var_item_meth133:nullable CallSite(CallSite)>*/;
654 RET_LABEL137
:(void)0;
658 if (unlikely(!var135
)) {
659 PRINT_ERROR("Runtime error: %s", "Assert failed");
660 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2585);
663 var140
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
666 standard___standard__Array___with_capacity(var140
, var141
); /* Direct call array#Array#with_capacity on <var140:Array[RuntimeVariable]>*/
670 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_142
, var_it
); /* Direct call array#AbstractArray#push on <var_142:Array[RuntimeVariable]>*/
673 var143
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_item_meth133
, var_142
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
677 if (var_i117
== NULL
) {
678 var145
= 0; /* is null */
680 var145
= 1; /* arg is null and recv is not */
683 { /* Inline kernel#Object#!= (var_i117,var144) on <var_i117:nullable RuntimeVariable> */
686 var148
= ((short int (*)(val
* self
, val
* p0
))(var_i117
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_i117
, var_other
) /* == on <var_i117:nullable RuntimeVariable(RuntimeVariable)>*/;
691 RET_LABEL147
:(void)0;
695 if (unlikely(!var145
)) {
696 PRINT_ERROR("Runtime error: %s", "Assert failed");
697 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2587);
701 { /* Inline scope#AForExpr#variables (self) on <self:AForExpr> */
702 var152
= self
->attrs
[COLOR_nit__scope__AForExpr___variables
].val
; /* _variables on <self:AForExpr> */
704 RET_LABEL151
:(void)0;
708 if (var150
== NULL
) {
709 PRINT_ERROR("Runtime error: %s", "Receiver is null");
710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2588);
713 var154
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var150
, var153
);
716 var155
= nit___nit__AbstractCompilerVisitor___variable(var_v
, var154
);
719 nit___nit__AbstractCompilerVisitor___assign(var_v
, var155
, var_i117
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
722 PRINT_ERROR("Runtime error: %s", "Aborted");
723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2590);
728 { /* Inline parser_nodes#AForExpr#n_block (self) on <self:AForExpr> */
729 var158
= self
->attrs
[COLOR_nit__parser_nodes__AForExpr___n_block
].val
; /* _n_block on <self:AForExpr> */
731 RET_LABEL157
:(void)0;
735 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var156
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
738 { /* Inline scope#AForExpr#continue_mark (self) on <self:AForExpr> */
739 var161
= self
->attrs
[COLOR_nit__scope__AForExpr___continue_mark
].val
; /* _continue_mark on <self:AForExpr> */
741 RET_LABEL160
:(void)0;
745 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var159
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
748 { /* Inline typing#AForExpr#method_next (self) on <self:AForExpr> */
749 var164
= self
->attrs
[COLOR_nit__typing__AForExpr___method_next
].val
; /* _method_next on <self:AForExpr> */
751 RET_LABEL163
:(void)0;
754 var_next_meth
= var162
;
756 if (var_next_meth
== NULL
) {
757 var166
= 0; /* is null */
759 var166
= 1; /* arg is null and recv is not */
762 { /* Inline kernel#Object#!= (var_next_meth,var165) on <var_next_meth:nullable CallSite> */
765 var169
= ((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)>*/;
770 RET_LABEL168
:(void)0;
774 if (unlikely(!var166
)) {
775 PRINT_ERROR("Runtime error: %s", "Assert failed");
776 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2595);
779 var171
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
782 standard___standard__Array___with_capacity(var171
, var172
); /* Direct call array#Array#with_capacity on <var171:Array[RuntimeVariable]>*/
786 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_173
, var_it
); /* Direct call array#AbstractArray#push on <var_173:Array[RuntimeVariable]>*/
789 var174
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_next_meth
, var_173
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
796 var179
= standard___standard__NativeString___to_s_with_length(var177
, var178
);
801 nit___nit__AbstractCompilerVisitor___add(var_v
, var176
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
804 { /* Inline scope#AForExpr#break_mark (self) on <self:AForExpr> */
805 var182
= self
->attrs
[COLOR_nit__scope__AForExpr___break_mark
].val
; /* _break_mark on <self:AForExpr> */
807 RET_LABEL181
:(void)0;
811 nit___nit__AbstractCompilerVisitor___add_escape_label(var_v
, var180
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <var_v:AbstractCompilerVisitor>*/
814 { /* Inline typing#AForExpr#method_finish (self) on <self:AForExpr> */
815 var185
= self
->attrs
[COLOR_nit__typing__AForExpr___method_finish
].val
; /* _method_finish on <self:AForExpr> */
817 RET_LABEL184
:(void)0;
820 var_method_finish
= var183
;
822 if (var_method_finish
== NULL
) {
823 var187
= 0; /* is null */
825 var187
= 1; /* arg is null and recv is not */
828 { /* Inline kernel#Object#!= (var_method_finish,var186) on <var_method_finish:nullable CallSite> */
831 var190
= ((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)>*/;
836 RET_LABEL189
:(void)0;
841 var192
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
844 standard___standard__Array___with_capacity(var192
, var193
); /* Direct call array#Array#with_capacity on <var192:Array[RuntimeVariable]>*/
848 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_194
, var_it
); /* Direct call array#AbstractArray#push on <var_194:Array[RuntimeVariable]>*/
851 var195
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var_method_finish
, var_194
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
857 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
858 void nit__abstract_compiler___AAssertExpr___AExpr__stmt(val
* self
, val
* p0
) {
859 val
* var_v
/* var v: AbstractCompilerVisitor */;
860 val
* var
/* : AbstractCompiler */;
861 val
* var2
/* : AbstractCompiler */;
862 val
* var3
/* : ModelBuilder */;
863 val
* var5
/* : ModelBuilder */;
864 val
* var6
/* : ToolContext */;
865 val
* var8
/* : ToolContext */;
866 val
* var9
/* : OptionBool */;
867 val
* var11
/* : OptionBool */;
868 val
* var12
/* : nullable Object */;
869 val
* var14
/* : nullable Object */;
870 short int var15
/* : Bool */;
871 val
* var16
/* : AExpr */;
872 val
* var18
/* : AExpr */;
873 val
* var19
/* : RuntimeVariable */;
874 val
* var_cond
/* var cond: RuntimeVariable */;
876 val
* var20
/* : String */;
877 char* var21
/* : NativeString */;
878 long var22
/* : Int */;
879 val
* var23
/* : FlatString */;
880 static val
* varonce24
;
881 val
* var25
/* : String */;
882 char* var26
/* : NativeString */;
883 long var27
/* : Int */;
884 val
* var28
/* : FlatString */;
885 val
* var29
/* : Array[Object] */;
886 long var30
/* : Int */;
887 val
* var31
/* : NativeArray[Object] */;
888 val
* var32
/* : String */;
889 val
* var33
/* : nullable AExpr */;
890 val
* var35
/* : nullable AExpr */;
891 val
* var36
/* : nullable TId */;
892 val
* var38
/* : nullable TId */;
893 val
* var_nid
/* var nid: nullable TId */;
894 val
* var39
/* : null */;
895 short int var40
/* : Bool */;
896 short int var41
/* : Bool */;
897 val
* var_other
/* var other: nullable Object */;
898 short int var43
/* : Bool */;
899 short int var44
/* : Bool */;
900 static val
* varonce45
;
901 val
* var46
/* : String */;
902 char* var47
/* : NativeString */;
903 long var48
/* : Int */;
904 val
* var49
/* : FlatString */;
905 val
* var50
/* : String */;
906 static val
* varonce51
;
907 val
* var52
/* : String */;
908 char* var53
/* : NativeString */;
909 long var54
/* : Int */;
910 val
* var55
/* : FlatString */;
911 val
* var56
/* : Array[Object] */;
912 long var57
/* : Int */;
913 val
* var58
/* : NativeArray[Object] */;
914 val
* var59
/* : String */;
915 static val
* varonce60
;
916 val
* var61
/* : String */;
917 char* var62
/* : NativeString */;
918 long var63
/* : Int */;
919 val
* var64
/* : FlatString */;
920 static val
* varonce65
;
921 val
* var66
/* : String */;
922 char* var67
/* : NativeString */;
923 long var68
/* : Int */;
924 val
* var69
/* : FlatString */;
927 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
928 var2
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
929 if (unlikely(var2
== NULL
)) {
930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
939 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
940 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
941 if (unlikely(var5
== NULL
)) {
942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
943 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
951 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
952 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
953 if (unlikely(var8
== NULL
)) {
954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
963 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var6) on <var6:ToolContext> */
964 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var6:ToolContext> */
965 if (unlikely(var11
== NULL
)) {
966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 51);
975 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
976 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
981 var15
= ((struct instance_standard__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
987 { /* Inline parser_nodes#AAssertExpr#n_expr (self) on <self:AAssertExpr> */
988 var18
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_expr
].val
; /* _n_expr on <self:AAssertExpr> */
989 if (unlikely(var18
== NULL
)) {
990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
991 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1758);
999 var19
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var16
);
1005 var21
= "if (unlikely(!";
1007 var23
= standard___standard__NativeString___to_s_with_length(var21
, var22
);
1016 var28
= standard___standard__NativeString___to_s_with_length(var26
, var27
);
1020 var29
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1021 { /* var29 = array_instance Array[Object] */
1023 var31
= NEW_standard__NativeArray(var30
, &type_standard__NativeArray__standard__Object
);
1024 ((struct instance_standard__NativeArray
*)var31
)->values
[0] = (val
*) var20
;
1025 ((struct instance_standard__NativeArray
*)var31
)->values
[1] = (val
*) var_cond
;
1026 ((struct instance_standard__NativeArray
*)var31
)->values
[2] = (val
*) var25
;
1028 ((void (*)(val
* self
, val
* p0
, long p1
))(var29
->class->vft
[COLOR_standard__array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
1032 var32
= ((val
* (*)(val
* self
))(var29
->class->vft
[COLOR_standard__string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
1035 nit___nit__AbstractCompilerVisitor___add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1038 { /* Inline parser_nodes#AAssertExpr#n_else (self) on <self:AAssertExpr> */
1039 var35
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_else
].val
; /* _n_else on <self:AAssertExpr> */
1041 RET_LABEL34
:(void)0;
1045 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var33
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
1048 { /* Inline parser_nodes#AAssertExpr#n_id (self) on <self:AAssertExpr> */
1049 var38
= self
->attrs
[COLOR_nit__parser_nodes__AAssertExpr___n_id
].val
; /* _n_id on <self:AAssertExpr> */
1051 RET_LABEL37
:(void)0;
1056 if (var_nid
== NULL
) {
1057 var40
= 0; /* is null */
1059 var40
= 1; /* arg is null and recv is not */
1062 { /* Inline kernel#Object#!= (var_nid,var39) on <var_nid:nullable TId> */
1065 var43
= ((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)>*/;
1070 RET_LABEL42
:(void)0;
1078 var47
= "Assert \'";
1080 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
1085 var50
= nit__lexer_work___Token___text(var_nid
);
1090 var53
= "\' failed";
1092 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
1096 var56
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1097 { /* var56 = array_instance Array[Object] */
1099 var58
= NEW_standard__NativeArray(var57
, &type_standard__NativeArray__standard__Object
);
1100 ((struct instance_standard__NativeArray
*)var58
)->values
[0] = (val
*) var46
;
1101 ((struct instance_standard__NativeArray
*)var58
)->values
[1] = (val
*) var50
;
1102 ((struct instance_standard__NativeArray
*)var58
)->values
[2] = (val
*) var52
;
1104 ((void (*)(val
* self
, val
* p0
, long p1
))(var56
->class->vft
[COLOR_standard__array__Array__with_native
]))(var56
, var58
, var57
) /* with_native on <var56:Array[Object]>*/;
1108 var59
= ((val
* (*)(val
* self
))(var56
->class->vft
[COLOR_standard__string__Object__to_s
]))(var56
) /* to_s on <var56:Array[Object]>*/;
1111 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1117 var62
= "Assert failed";
1119 var64
= standard___standard__NativeString___to_s_with_length(var62
, var63
);
1124 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var61
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
1132 var69
= standard___standard__NativeString___to_s_with_length(var67
, var68
);
1137 nit___nit__AbstractCompilerVisitor___add(var_v
, var66
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1141 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1142 val
* nit__abstract_compiler___AOrExpr___AExpr__expr(val
* self
, val
* p0
) {
1143 val
* var
/* : nullable RuntimeVariable */;
1144 val
* var_v
/* var v: AbstractCompilerVisitor */;
1145 val
* var1
/* : nullable MType */;
1146 val
* var3
/* : nullable MType */;
1147 val
* var4
/* : RuntimeVariable */;
1148 val
* var_res
/* var res: RuntimeVariable */;
1149 val
* var5
/* : AExpr */;
1150 val
* var7
/* : AExpr */;
1151 val
* var8
/* : RuntimeVariable */;
1152 val
* var_i1
/* var i1: RuntimeVariable */;
1153 static val
* varonce
;
1154 val
* var9
/* : String */;
1155 char* var10
/* : NativeString */;
1156 long var11
/* : Int */;
1157 val
* var12
/* : FlatString */;
1158 static val
* varonce13
;
1159 val
* var14
/* : String */;
1160 char* var15
/* : NativeString */;
1161 long var16
/* : Int */;
1162 val
* var17
/* : FlatString */;
1163 val
* var18
/* : Array[Object] */;
1164 long var19
/* : Int */;
1165 val
* var20
/* : NativeArray[Object] */;
1166 val
* var21
/* : String */;
1167 static val
* varonce22
;
1168 val
* var23
/* : String */;
1169 char* var24
/* : NativeString */;
1170 long var25
/* : Int */;
1171 val
* var26
/* : FlatString */;
1172 val
* var27
/* : Array[Object] */;
1173 long var28
/* : Int */;
1174 val
* var29
/* : NativeArray[Object] */;
1175 val
* var30
/* : String */;
1176 static val
* varonce31
;
1177 val
* var32
/* : String */;
1178 char* var33
/* : NativeString */;
1179 long var34
/* : Int */;
1180 val
* var35
/* : FlatString */;
1181 val
* var36
/* : AExpr */;
1182 val
* var38
/* : AExpr */;
1183 val
* var39
/* : RuntimeVariable */;
1184 val
* var_i2
/* var i2: RuntimeVariable */;
1185 static val
* varonce40
;
1186 val
* var41
/* : String */;
1187 char* var42
/* : NativeString */;
1188 long var43
/* : Int */;
1189 val
* var44
/* : FlatString */;
1190 static val
* varonce45
;
1191 val
* var46
/* : String */;
1192 char* var47
/* : NativeString */;
1193 long var48
/* : Int */;
1194 val
* var49
/* : FlatString */;
1195 val
* var50
/* : Array[Object] */;
1196 long var51
/* : Int */;
1197 val
* var52
/* : NativeArray[Object] */;
1198 val
* var53
/* : String */;
1199 static val
* varonce54
;
1200 val
* var55
/* : String */;
1201 char* var56
/* : NativeString */;
1202 long var57
/* : Int */;
1203 val
* var58
/* : FlatString */;
1206 { /* Inline typing#AExpr#mtype (self) on <self:AOrExpr> */
1207 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrExpr> */
1212 if (unlikely(var1
== NULL
)) {
1213 PRINT_ERROR("Runtime error: %s", "Cast failed");
1214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2629);
1218 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1222 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrExpr> */
1223 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrExpr> */
1224 if (unlikely(var7
== NULL
)) {
1225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1226 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1823);
1234 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
1242 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
1251 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
1255 var18
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1256 { /* var18 = array_instance Array[Object] */
1258 var20
= NEW_standard__NativeArray(var19
, &type_standard__NativeArray__standard__Object
);
1259 ((struct instance_standard__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1260 ((struct instance_standard__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1261 ((struct instance_standard__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1263 ((void (*)(val
* self
, val
* p0
, long p1
))(var18
->class->vft
[COLOR_standard__array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1267 var21
= ((val
* (*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1270 nit___nit__AbstractCompilerVisitor___add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1277 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
1281 var27
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1282 { /* var27 = array_instance Array[Object] */
1284 var29
= NEW_standard__NativeArray(var28
, &type_standard__NativeArray__standard__Object
);
1285 ((struct instance_standard__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1286 ((struct instance_standard__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1288 ((void (*)(val
* self
, val
* p0
, long p1
))(var27
->class->vft
[COLOR_standard__array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1292 var30
= ((val
* (*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1295 nit___nit__AbstractCompilerVisitor___add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1302 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
1307 nit___nit__AbstractCompilerVisitor___add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1310 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrExpr> */
1311 var38
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrExpr> */
1312 if (unlikely(var38
== NULL
)) {
1313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1314 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1826);
1318 RET_LABEL37
:(void)0;
1322 var39
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var36
);
1330 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
1339 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
1343 var50
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1344 { /* var50 = array_instance Array[Object] */
1346 var52
= NEW_standard__NativeArray(var51
, &type_standard__NativeArray__standard__Object
);
1347 ((struct instance_standard__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1348 ((struct instance_standard__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1349 ((struct instance_standard__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1350 ((struct instance_standard__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1352 ((void (*)(val
* self
, val
* p0
, long p1
))(var50
->class->vft
[COLOR_standard__array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1356 var53
= ((val
* (*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1359 nit___nit__AbstractCompilerVisitor___add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1366 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
1371 nit___nit__AbstractCompilerVisitor___add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1378 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1379 val
* nit__abstract_compiler___AImpliesExpr___AExpr__expr(val
* self
, val
* p0
) {
1380 val
* var
/* : nullable RuntimeVariable */;
1381 val
* var_v
/* var v: AbstractCompilerVisitor */;
1382 val
* var1
/* : nullable MType */;
1383 val
* var3
/* : nullable MType */;
1384 val
* var4
/* : RuntimeVariable */;
1385 val
* var_res
/* var res: RuntimeVariable */;
1386 val
* var5
/* : AExpr */;
1387 val
* var7
/* : AExpr */;
1388 val
* var8
/* : RuntimeVariable */;
1389 val
* var_i1
/* var i1: RuntimeVariable */;
1390 static val
* varonce
;
1391 val
* var9
/* : String */;
1392 char* var10
/* : NativeString */;
1393 long var11
/* : Int */;
1394 val
* var12
/* : FlatString */;
1395 static val
* varonce13
;
1396 val
* var14
/* : String */;
1397 char* var15
/* : NativeString */;
1398 long var16
/* : Int */;
1399 val
* var17
/* : FlatString */;
1400 val
* var18
/* : Array[Object] */;
1401 long var19
/* : Int */;
1402 val
* var20
/* : NativeArray[Object] */;
1403 val
* var21
/* : String */;
1404 static val
* varonce22
;
1405 val
* var23
/* : String */;
1406 char* var24
/* : NativeString */;
1407 long var25
/* : Int */;
1408 val
* var26
/* : FlatString */;
1409 val
* var27
/* : Array[Object] */;
1410 long var28
/* : Int */;
1411 val
* var29
/* : NativeArray[Object] */;
1412 val
* var30
/* : String */;
1413 static val
* varonce31
;
1414 val
* var32
/* : String */;
1415 char* var33
/* : NativeString */;
1416 long var34
/* : Int */;
1417 val
* var35
/* : FlatString */;
1418 val
* var36
/* : AExpr */;
1419 val
* var38
/* : AExpr */;
1420 val
* var39
/* : RuntimeVariable */;
1421 val
* var_i2
/* var i2: RuntimeVariable */;
1422 static val
* varonce40
;
1423 val
* var41
/* : String */;
1424 char* var42
/* : NativeString */;
1425 long var43
/* : Int */;
1426 val
* var44
/* : FlatString */;
1427 static val
* varonce45
;
1428 val
* var46
/* : String */;
1429 char* var47
/* : NativeString */;
1430 long var48
/* : Int */;
1431 val
* var49
/* : FlatString */;
1432 val
* var50
/* : Array[Object] */;
1433 long var51
/* : Int */;
1434 val
* var52
/* : NativeArray[Object] */;
1435 val
* var53
/* : String */;
1436 static val
* varonce54
;
1437 val
* var55
/* : String */;
1438 char* var56
/* : NativeString */;
1439 long var57
/* : Int */;
1440 val
* var58
/* : FlatString */;
1443 { /* Inline typing#AExpr#mtype (self) on <self:AImpliesExpr> */
1444 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AImpliesExpr> */
1449 if (unlikely(var1
== NULL
)) {
1450 PRINT_ERROR("Runtime error: %s", "Cast failed");
1451 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2644);
1455 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1459 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AImpliesExpr> */
1460 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AImpliesExpr> */
1461 if (unlikely(var7
== NULL
)) {
1462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1463 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1823);
1471 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
1479 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
1488 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
1492 var18
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1493 { /* var18 = array_instance Array[Object] */
1495 var20
= NEW_standard__NativeArray(var19
, &type_standard__NativeArray__standard__Object
);
1496 ((struct instance_standard__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1497 ((struct instance_standard__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1498 ((struct instance_standard__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1500 ((void (*)(val
* self
, val
* p0
, long p1
))(var18
->class->vft
[COLOR_standard__array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1504 var21
= ((val
* (*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1507 nit___nit__AbstractCompilerVisitor___add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1514 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
1518 var27
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1519 { /* var27 = array_instance Array[Object] */
1521 var29
= NEW_standard__NativeArray(var28
, &type_standard__NativeArray__standard__Object
);
1522 ((struct instance_standard__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1523 ((struct instance_standard__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1525 ((void (*)(val
* self
, val
* p0
, long p1
))(var27
->class->vft
[COLOR_standard__array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1529 var30
= ((val
* (*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1532 nit___nit__AbstractCompilerVisitor___add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1539 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
1544 nit___nit__AbstractCompilerVisitor___add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1547 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AImpliesExpr> */
1548 var38
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AImpliesExpr> */
1549 if (unlikely(var38
== NULL
)) {
1550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1551 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1826);
1555 RET_LABEL37
:(void)0;
1559 var39
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var36
);
1567 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
1576 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
1580 var50
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1581 { /* var50 = array_instance Array[Object] */
1583 var52
= NEW_standard__NativeArray(var51
, &type_standard__NativeArray__standard__Object
);
1584 ((struct instance_standard__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1585 ((struct instance_standard__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1586 ((struct instance_standard__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1587 ((struct instance_standard__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1589 ((void (*)(val
* self
, val
* p0
, long p1
))(var50
->class->vft
[COLOR_standard__array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1593 var53
= ((val
* (*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1596 nit___nit__AbstractCompilerVisitor___add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1603 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
1608 nit___nit__AbstractCompilerVisitor___add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1615 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1616 val
* nit__abstract_compiler___AAndExpr___AExpr__expr(val
* self
, val
* p0
) {
1617 val
* var
/* : nullable RuntimeVariable */;
1618 val
* var_v
/* var v: AbstractCompilerVisitor */;
1619 val
* var1
/* : nullable MType */;
1620 val
* var3
/* : nullable MType */;
1621 val
* var4
/* : RuntimeVariable */;
1622 val
* var_res
/* var res: RuntimeVariable */;
1623 val
* var5
/* : AExpr */;
1624 val
* var7
/* : AExpr */;
1625 val
* var8
/* : RuntimeVariable */;
1626 val
* var_i1
/* var i1: RuntimeVariable */;
1627 static val
* varonce
;
1628 val
* var9
/* : String */;
1629 char* var10
/* : NativeString */;
1630 long var11
/* : Int */;
1631 val
* var12
/* : FlatString */;
1632 static val
* varonce13
;
1633 val
* var14
/* : String */;
1634 char* var15
/* : NativeString */;
1635 long var16
/* : Int */;
1636 val
* var17
/* : FlatString */;
1637 val
* var18
/* : Array[Object] */;
1638 long var19
/* : Int */;
1639 val
* var20
/* : NativeArray[Object] */;
1640 val
* var21
/* : String */;
1641 static val
* varonce22
;
1642 val
* var23
/* : String */;
1643 char* var24
/* : NativeString */;
1644 long var25
/* : Int */;
1645 val
* var26
/* : FlatString */;
1646 val
* var27
/* : Array[Object] */;
1647 long var28
/* : Int */;
1648 val
* var29
/* : NativeArray[Object] */;
1649 val
* var30
/* : String */;
1650 static val
* varonce31
;
1651 val
* var32
/* : String */;
1652 char* var33
/* : NativeString */;
1653 long var34
/* : Int */;
1654 val
* var35
/* : FlatString */;
1655 val
* var36
/* : AExpr */;
1656 val
* var38
/* : AExpr */;
1657 val
* var39
/* : RuntimeVariable */;
1658 val
* var_i2
/* var i2: RuntimeVariable */;
1659 static val
* varonce40
;
1660 val
* var41
/* : String */;
1661 char* var42
/* : NativeString */;
1662 long var43
/* : Int */;
1663 val
* var44
/* : FlatString */;
1664 static val
* varonce45
;
1665 val
* var46
/* : String */;
1666 char* var47
/* : NativeString */;
1667 long var48
/* : Int */;
1668 val
* var49
/* : FlatString */;
1669 val
* var50
/* : Array[Object] */;
1670 long var51
/* : Int */;
1671 val
* var52
/* : NativeArray[Object] */;
1672 val
* var53
/* : String */;
1673 static val
* varonce54
;
1674 val
* var55
/* : String */;
1675 char* var56
/* : NativeString */;
1676 long var57
/* : Int */;
1677 val
* var58
/* : FlatString */;
1680 { /* Inline typing#AExpr#mtype (self) on <self:AAndExpr> */
1681 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AAndExpr> */
1686 if (unlikely(var1
== NULL
)) {
1687 PRINT_ERROR("Runtime error: %s", "Cast failed");
1688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2659);
1692 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1696 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AAndExpr> */
1697 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AAndExpr> */
1698 if (unlikely(var7
== NULL
)) {
1699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1823);
1708 var8
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var5
);
1716 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
1725 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
1729 var18
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1730 { /* var18 = array_instance Array[Object] */
1732 var20
= NEW_standard__NativeArray(var19
, &type_standard__NativeArray__standard__Object
);
1733 ((struct instance_standard__NativeArray
*)var20
)->values
[0] = (val
*) var9
;
1734 ((struct instance_standard__NativeArray
*)var20
)->values
[1] = (val
*) var_i1
;
1735 ((struct instance_standard__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1737 ((void (*)(val
* self
, val
* p0
, long p1
))(var18
->class->vft
[COLOR_standard__array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1741 var21
= ((val
* (*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1744 nit___nit__AbstractCompilerVisitor___add(var_v
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1751 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
1755 var27
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1756 { /* var27 = array_instance Array[Object] */
1758 var29
= NEW_standard__NativeArray(var28
, &type_standard__NativeArray__standard__Object
);
1759 ((struct instance_standard__NativeArray
*)var29
)->values
[0] = (val
*) var_res
;
1760 ((struct instance_standard__NativeArray
*)var29
)->values
[1] = (val
*) var23
;
1762 ((void (*)(val
* self
, val
* p0
, long p1
))(var27
->class->vft
[COLOR_standard__array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1766 var30
= ((val
* (*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1769 nit___nit__AbstractCompilerVisitor___add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1776 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
1781 nit___nit__AbstractCompilerVisitor___add(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1784 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AAndExpr> */
1785 var38
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AAndExpr> */
1786 if (unlikely(var38
== NULL
)) {
1787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
1788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1826);
1792 RET_LABEL37
:(void)0;
1796 var39
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var36
);
1804 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
1813 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
1817 var50
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1818 { /* var50 = array_instance Array[Object] */
1820 var52
= NEW_standard__NativeArray(var51
, &type_standard__NativeArray__standard__Object
);
1821 ((struct instance_standard__NativeArray
*)var52
)->values
[0] = (val
*) var_res
;
1822 ((struct instance_standard__NativeArray
*)var52
)->values
[1] = (val
*) var41
;
1823 ((struct instance_standard__NativeArray
*)var52
)->values
[2] = (val
*) var_i2
;
1824 ((struct instance_standard__NativeArray
*)var52
)->values
[3] = (val
*) var46
;
1826 ((void (*)(val
* self
, val
* p0
, long p1
))(var50
->class->vft
[COLOR_standard__array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1830 var53
= ((val
* (*)(val
* self
))(var50
->class->vft
[COLOR_standard__string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1833 nit___nit__AbstractCompilerVisitor___add(var_v
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1840 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
1845 nit___nit__AbstractCompilerVisitor___add(var_v
, var55
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1852 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1853 val
* nit__abstract_compiler___ANotExpr___AExpr__expr(val
* self
, val
* p0
) {
1854 val
* var
/* : nullable RuntimeVariable */;
1855 val
* var_v
/* var v: AbstractCompilerVisitor */;
1856 val
* var1
/* : AExpr */;
1857 val
* var3
/* : AExpr */;
1858 val
* var4
/* : RuntimeVariable */;
1859 val
* var_cond
/* var cond: RuntimeVariable */;
1860 static val
* varonce
;
1861 val
* var5
/* : String */;
1862 char* var6
/* : NativeString */;
1863 long var7
/* : Int */;
1864 val
* var8
/* : FlatString */;
1865 val
* var9
/* : Array[Object] */;
1866 long var10
/* : Int */;
1867 val
* var11
/* : NativeArray[Object] */;
1868 val
* var12
/* : String */;
1869 val
* var13
/* : nullable MType */;
1870 val
* var15
/* : nullable MType */;
1871 val
* var16
/* : RuntimeVariable */;
1874 { /* Inline parser_nodes#ANotExpr#n_expr (self) on <self:ANotExpr> */
1875 var3
= self
->attrs
[COLOR_nit__parser_nodes__ANotExpr___n_expr
].val
; /* _n_expr on <self:ANotExpr> */
1876 if (unlikely(var3
== NULL
)) {
1877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1878 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1857);
1886 var4
= nit___nit__AbstractCompilerVisitor___expr_bool(var_v
, var1
);
1894 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
1898 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1899 { /* var9 = array_instance Array[Object] */
1901 var11
= NEW_standard__NativeArray(var10
, &type_standard__NativeArray__standard__Object
);
1902 ((struct instance_standard__NativeArray
*)var11
)->values
[0] = (val
*) var5
;
1903 ((struct instance_standard__NativeArray
*)var11
)->values
[1] = (val
*) var_cond
;
1905 ((void (*)(val
* self
, val
* p0
, long p1
))(var9
->class->vft
[COLOR_standard__array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[Object]>*/;
1909 var12
= ((val
* (*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__Object__to_s
]))(var9
) /* to_s on <var9:Array[Object]>*/;
1912 { /* Inline typing#AExpr#mtype (self) on <self:ANotExpr> */
1913 var15
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ANotExpr> */
1915 RET_LABEL14
:(void)0;
1918 if (unlikely(var13
== NULL
)) {
1919 PRINT_ERROR("Runtime error: %s", "Cast failed");
1920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2675);
1924 var16
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var12
, var13
);
1931 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1932 val
* nit__abstract_compiler___AOrElseExpr___AExpr__expr(val
* self
, val
* p0
) {
1933 val
* var
/* : nullable RuntimeVariable */;
1934 val
* var_v
/* var v: AbstractCompilerVisitor */;
1935 val
* var1
/* : nullable MType */;
1936 val
* var3
/* : nullable MType */;
1937 val
* var4
/* : RuntimeVariable */;
1938 val
* var_res
/* var res: RuntimeVariable */;
1939 val
* var5
/* : AExpr */;
1940 val
* var7
/* : AExpr */;
1941 val
* var8
/* : null */;
1942 val
* var9
/* : RuntimeVariable */;
1943 val
* var_i1
/* var i1: RuntimeVariable */;
1944 static val
* varonce
;
1945 val
* var10
/* : String */;
1946 char* var11
/* : NativeString */;
1947 long var12
/* : Int */;
1948 val
* var13
/* : FlatString */;
1949 static val
* varonce14
;
1950 val
* var15
/* : String */;
1951 char* var16
/* : NativeString */;
1952 long var17
/* : Int */;
1953 val
* var18
/* : FlatString */;
1954 val
* var19
/* : Array[Object] */;
1955 long var20
/* : Int */;
1956 val
* var21
/* : NativeArray[Object] */;
1957 val
* var22
/* : String */;
1958 static val
* varonce23
;
1959 val
* var24
/* : String */;
1960 char* var25
/* : NativeString */;
1961 long var26
/* : Int */;
1962 val
* var27
/* : FlatString */;
1963 val
* var28
/* : AExpr */;
1964 val
* var30
/* : AExpr */;
1965 val
* var31
/* : null */;
1966 val
* var32
/* : RuntimeVariable */;
1967 val
* var_i2
/* var i2: RuntimeVariable */;
1968 static val
* varonce33
;
1969 val
* var34
/* : String */;
1970 char* var35
/* : NativeString */;
1971 long var36
/* : Int */;
1972 val
* var37
/* : FlatString */;
1975 { /* Inline typing#AExpr#mtype (self) on <self:AOrElseExpr> */
1976 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrElseExpr> */
1981 if (unlikely(var1
== NULL
)) {
1982 PRINT_ERROR("Runtime error: %s", "Cast failed");
1983 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2682);
1987 var4
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var1
);
1991 { /* Inline parser_nodes#ABinBoolExpr#n_expr (self) on <self:AOrElseExpr> */
1992 var7
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr
].val
; /* _n_expr on <self:AOrElseExpr> */
1993 if (unlikely(var7
== NULL
)) {
1994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
1995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1823);
2004 var9
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, var8
);
2012 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
2019 var16
= "!=NULL) {";
2021 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
2025 var19
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2026 { /* var19 = array_instance Array[Object] */
2028 var21
= NEW_standard__NativeArray(var20
, &type_standard__NativeArray__standard__Object
);
2029 ((struct instance_standard__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
2030 ((struct instance_standard__NativeArray
*)var21
)->values
[1] = (val
*) var_i1
;
2031 ((struct instance_standard__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
2033 ((void (*)(val
* self
, val
* p0
, long p1
))(var19
->class->vft
[COLOR_standard__array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
2037 var22
= ((val
* (*)(val
* self
))(var19
->class->vft
[COLOR_standard__string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
2040 nit___nit__AbstractCompilerVisitor___add(var_v
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2043 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var_i1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2050 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
2055 nit___nit__AbstractCompilerVisitor___add(var_v
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2058 { /* Inline parser_nodes#ABinBoolExpr#n_expr2 (self) on <self:AOrElseExpr> */
2059 var30
= self
->attrs
[COLOR_nit__parser_nodes__ABinBoolExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrElseExpr> */
2060 if (unlikely(var30
== NULL
)) {
2061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1826);
2066 RET_LABEL29
:(void)0;
2071 var32
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var28
, var31
);
2075 nit___nit__AbstractCompilerVisitor___assign(var_v
, var_res
, var_i2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <var_v:AbstractCompilerVisitor>*/
2082 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
2087 nit___nit__AbstractCompilerVisitor___add(var_v
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2094 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2095 val
* nit__abstract_compiler___AIntExpr___AExpr__expr(val
* self
, val
* p0
) {
2096 val
* var
/* : nullable RuntimeVariable */;
2097 val
* var_v
/* var v: AbstractCompilerVisitor */;
2098 val
* var1
/* : nullable Int */;
2099 val
* var3
/* : nullable Int */;
2100 val
* var4
/* : String */;
2101 long var5
/* : Int */;
2102 val
* var6
/* : Array[Object] */;
2103 long var7
/* : Int */;
2104 val
* var8
/* : NativeArray[Object] */;
2105 val
* var9
/* : String */;
2106 val
* var10
/* : nullable MType */;
2107 val
* var12
/* : nullable MType */;
2108 val
* var13
/* : RuntimeVariable */;
2111 { /* Inline literal#AIntExpr#value (self) on <self:AIntExpr> */
2112 var3
= self
->attrs
[COLOR_nit__literal__AIntExpr___value
].val
; /* _value on <self:AIntExpr> */
2118 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2695);
2122 var5
= ((struct instance_standard__Int
*)var1
)->value
; /* autounbox from nullable Int to Int */;
2123 var4
= standard__string___Int___Object__to_s(var5
);
2125 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2126 { /* var6 = array_instance Array[Object] */
2128 var8
= NEW_standard__NativeArray(var7
, &type_standard__NativeArray__standard__Object
);
2129 ((struct instance_standard__NativeArray
*)var8
)->values
[0] = (val
*) var4
;
2131 ((void (*)(val
* self
, val
* p0
, long p1
))(var6
->class->vft
[COLOR_standard__array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[Object]>*/;
2135 var9
= ((val
* (*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__Object__to_s
]))(var6
) /* to_s on <var6:Array[Object]>*/;
2138 { /* Inline typing#AExpr#mtype (self) on <self:AIntExpr> */
2139 var12
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AIntExpr> */
2141 RET_LABEL11
:(void)0;
2144 if (unlikely(var10
== NULL
)) {
2145 PRINT_ERROR("Runtime error: %s", "Cast failed");
2146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2695);
2150 var13
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var9
, var10
);
2157 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2158 val
* nit__abstract_compiler___AFloatExpr___AExpr__expr(val
* self
, val
* p0
) {
2159 val
* var
/* : nullable RuntimeVariable */;
2160 val
* var_v
/* var v: AbstractCompilerVisitor */;
2161 val
* var1
/* : TFloat */;
2162 val
* var3
/* : TFloat */;
2163 val
* var4
/* : String */;
2164 val
* var5
/* : Array[Object] */;
2165 long var6
/* : Int */;
2166 val
* var7
/* : NativeArray[Object] */;
2167 val
* var8
/* : String */;
2168 val
* var9
/* : nullable MType */;
2169 val
* var11
/* : nullable MType */;
2170 val
* var12
/* : RuntimeVariable */;
2173 { /* Inline parser_nodes#AFloatExpr#n_float (self) on <self:AFloatExpr> */
2174 var3
= self
->attrs
[COLOR_nit__parser_nodes__AFloatExpr___n_float
].val
; /* _n_float on <self:AFloatExpr> */
2175 if (unlikely(var3
== NULL
)) {
2176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_float");
2177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2232);
2185 var4
= nit__lexer_work___Token___text(var1
);
2187 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2188 { /* var5 = array_instance Array[Object] */
2190 var7
= NEW_standard__NativeArray(var6
, &type_standard__NativeArray__standard__Object
);
2191 ((struct instance_standard__NativeArray
*)var7
)->values
[0] = (val
*) var4
;
2193 ((void (*)(val
* self
, val
* p0
, long p1
))(var5
->class->vft
[COLOR_standard__array__Array__with_native
]))(var5
, var7
, var6
) /* with_native on <var5:Array[Object]>*/;
2197 var8
= ((val
* (*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__Object__to_s
]))(var5
) /* to_s on <var5:Array[Object]>*/;
2200 { /* Inline typing#AExpr#mtype (self) on <self:AFloatExpr> */
2201 var11
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AFloatExpr> */
2203 RET_LABEL10
:(void)0;
2206 if (unlikely(var9
== NULL
)) {
2207 PRINT_ERROR("Runtime error: %s", "Cast failed");
2208 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2699);
2212 var12
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var8
, var9
);
2219 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2220 val
* nit__abstract_compiler___ACharExpr___AExpr__expr(val
* self
, val
* p0
) {
2221 val
* var
/* : nullable RuntimeVariable */;
2222 val
* var_v
/* var v: AbstractCompilerVisitor */;
2223 static val
* varonce
;
2224 val
* var1
/* : String */;
2225 char* var2
/* : NativeString */;
2226 long var3
/* : Int */;
2227 val
* var4
/* : FlatString */;
2228 val
* var5
/* : nullable Char */;
2229 val
* var7
/* : nullable Char */;
2230 val
* var8
/* : String */;
2231 char var9
/* : Char */;
2232 val
* var10
/* : String */;
2233 static val
* varonce11
;
2234 val
* var12
/* : String */;
2235 char* var13
/* : NativeString */;
2236 long var14
/* : Int */;
2237 val
* var15
/* : FlatString */;
2238 val
* var16
/* : Array[Object] */;
2239 long var17
/* : Int */;
2240 val
* var18
/* : NativeArray[Object] */;
2241 val
* var19
/* : String */;
2242 val
* var20
/* : nullable MType */;
2243 val
* var22
/* : nullable MType */;
2244 val
* var23
/* : RuntimeVariable */;
2251 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
2256 { /* Inline literal#ACharExpr#value (self) on <self:ACharExpr> */
2257 var7
= self
->attrs
[COLOR_nit__literal__ACharExpr___value
].val
; /* _value on <self:ACharExpr> */
2263 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2703);
2267 var9
= ((struct instance_standard__Char
*)var5
)->value
; /* autounbox from nullable Char to Char */;
2268 var8
= standard__string___Char___Object__to_s(var9
);
2271 var10
= standard___standard__Text___escape_to_c(var8
);
2278 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
2282 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2283 { /* var16 = array_instance Array[Object] */
2285 var18
= NEW_standard__NativeArray(var17
, &type_standard__NativeArray__standard__Object
);
2286 ((struct instance_standard__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
2287 ((struct instance_standard__NativeArray
*)var18
)->values
[1] = (val
*) var10
;
2288 ((struct instance_standard__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2290 ((void (*)(val
* self
, val
* p0
, long p1
))(var16
->class->vft
[COLOR_standard__array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2294 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2297 { /* Inline typing#AExpr#mtype (self) on <self:ACharExpr> */
2298 var22
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ACharExpr> */
2300 RET_LABEL21
:(void)0;
2303 if (unlikely(var20
== NULL
)) {
2304 PRINT_ERROR("Runtime error: %s", "Cast failed");
2305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2703);
2309 var23
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var19
, var20
);
2316 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2317 val
* nit__abstract_compiler___AArrayExpr___AExpr__expr(val
* self
, val
* p0
) {
2318 val
* var
/* : nullable RuntimeVariable */;
2319 val
* var_v
/* var v: AbstractCompilerVisitor */;
2320 val
* var1
/* : nullable MType */;
2321 val
* var3
/* : nullable MType */;
2322 val
* var_mtype
/* var mtype: MType */;
2323 val
* var4
/* : Array[RuntimeVariable] */;
2324 val
* var_array
/* var array: Array[RuntimeVariable] */;
2325 val
* var5
/* : RuntimeVariable */;
2326 val
* var_res
/* var res: RuntimeVariable */;
2327 val
* var6
/* : nullable StaticFrame */;
2328 val
* var8
/* : nullable StaticFrame */;
2329 val
* var9
/* : nullable RuntimeVariable */;
2330 val
* var11
/* : nullable RuntimeVariable */;
2331 val
* var_old_comprehension
/* var old_comprehension: nullable RuntimeVariable */;
2332 val
* var12
/* : nullable StaticFrame */;
2333 val
* var14
/* : nullable StaticFrame */;
2334 val
* var16
/* : ANodes[AExpr] */;
2335 val
* var18
/* : ANodes[AExpr] */;
2336 val
* var_
/* var : ANodes[AExpr] */;
2337 val
* var19
/* : Iterator[ANode] */;
2338 val
* var_20
/* var : Iterator[AExpr] */;
2339 short int var21
/* : Bool */;
2340 val
* var22
/* : nullable Object */;
2341 val
* var_nexpr
/* var nexpr: AExpr */;
2342 val
* var24
/* : nullable StaticFrame */;
2343 val
* var26
/* : nullable StaticFrame */;
2346 { /* Inline typing#AArrayExpr#element_mtype (self) on <self:AArrayExpr> */
2347 var3
= self
->attrs
[COLOR_nit__typing__AArrayExpr___element_mtype
].val
; /* _element_mtype on <self:AArrayExpr> */
2352 if (unlikely(var1
== NULL
)) {
2353 PRINT_ERROR("Runtime error: %s", "Cast failed");
2354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2709);
2358 var4
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2360 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[RuntimeVariable]>*/
2364 var5
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(var_v
, var_array
, var_mtype
);
2368 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2369 var8
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2375 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2713);
2379 { /* Inline abstract_compiler#StaticFrame#comprehension (var6) on <var6:nullable StaticFrame> */
2380 if (unlikely(var6
== NULL
)) {
2381 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2382 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1744);
2385 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
; /* _comprehension on <var6:nullable StaticFrame> */
2387 RET_LABEL10
:(void)0;
2390 var_old_comprehension
= var9
;
2392 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2393 var14
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2395 RET_LABEL13
:(void)0;
2398 if (var12
== NULL
) {
2399 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2714);
2403 { /* Inline abstract_compiler#StaticFrame#comprehension= (var12,var_res) on <var12:nullable StaticFrame> */
2404 if (unlikely(var12
== NULL
)) {
2405 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1744);
2409 var12
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
= var_res
; /* _comprehension on <var12:nullable StaticFrame> */
2410 RET_LABEL15
:(void)0;
2414 { /* Inline parser_nodes#AArrayExpr#n_exprs (self) on <self:AArrayExpr> */
2415 var18
= self
->attrs
[COLOR_nit__parser_nodes__AArrayExpr___n_exprs
].val
; /* _n_exprs on <self:AArrayExpr> */
2416 if (unlikely(var18
== NULL
)) {
2417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2418 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2160);
2422 RET_LABEL17
:(void)0;
2427 var19
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
2432 var21
= ((short int (*)(val
* self
))(var_20
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_20
) /* is_ok on <var_20:Iterator[AExpr]>*/;
2436 var22
= ((val
* (*)(val
* self
))(var_20
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_20
) /* item on <var_20:Iterator[AExpr]>*/;
2440 nit___nit__AbstractCompilerVisitor___stmt(var_v
, var_nexpr
); /* Direct call abstract_compiler#AbstractCompilerVisitor#stmt on <var_v:AbstractCompilerVisitor>*/
2443 ((void (*)(val
* self
))(var_20
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_20
) /* next on <var_20:Iterator[AExpr]>*/;
2449 BREAK_label
: (void)0;
2451 { /* Inline abstract_collection#Iterator#finish (var_20) on <var_20:Iterator[AExpr]> */
2452 RET_LABEL23
:(void)0;
2456 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
2457 var26
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
2459 RET_LABEL25
:(void)0;
2462 if (var24
== NULL
) {
2463 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2718);
2467 { /* Inline abstract_compiler#StaticFrame#comprehension= (var24,var_old_comprehension) on <var24:nullable StaticFrame> */
2468 if (unlikely(var24
== NULL
)) {
2469 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1744);
2473 var24
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___comprehension
].val
= var_old_comprehension
; /* _comprehension on <var24:nullable StaticFrame> */
2474 RET_LABEL27
:(void)0;
2482 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2483 val
* nit__abstract_compiler___AStringFormExpr___AExpr__expr(val
* self
, val
* p0
) {
2484 val
* var
/* : nullable RuntimeVariable */;
2485 val
* var_v
/* var v: AbstractCompilerVisitor */;
2486 val
* var1
/* : nullable String */;
2487 val
* var3
/* : nullable String */;
2488 val
* var4
/* : RuntimeVariable */;
2491 { /* Inline literal#AStringFormExpr#value (self) on <self:AStringFormExpr> */
2492 var3
= self
->attrs
[COLOR_nit__literal__AStringFormExpr___value
].val
; /* _value on <self:AStringFormExpr> */
2497 if (unlikely(var1
== NULL
)) {
2498 PRINT_ERROR("Runtime error: %s", "Cast failed");
2499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2725);
2503 var4
= nit___nit__AbstractCompilerVisitor___string_instance(var_v
, var1
);
2510 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2511 val
* nit__abstract_compiler___ASuperstringExpr___AExpr__expr(val
* self
, val
* p0
) {
2512 val
* var
/* : nullable RuntimeVariable */;
2513 val
* var_v
/* var v: AbstractCompilerVisitor */;
2514 val
* var1
/* : Array[RuntimeVariable] */;
2515 val
* var_array
/* var array: Array[RuntimeVariable] */;
2516 val
* var2
/* : ANodes[AExpr] */;
2517 val
* var4
/* : ANodes[AExpr] */;
2518 val
* var_
/* var : ANodes[AExpr] */;
2519 val
* var5
/* : Iterator[ANode] */;
2520 val
* var_6
/* var : Iterator[AExpr] */;
2521 short int var7
/* : Bool */;
2522 val
* var8
/* : nullable Object */;
2523 val
* var_ne
/* var ne: AExpr */;
2524 short int var9
/* : Bool */;
2525 short int var10
/* : Bool */;
2528 short int var_11
/* var : Bool */;
2529 val
* var12
/* : nullable String */;
2530 val
* var14
/* : nullable String */;
2531 static val
* varonce
;
2532 val
* var15
/* : String */;
2533 char* var16
/* : NativeString */;
2534 long var17
/* : Int */;
2535 val
* var18
/* : FlatString */;
2536 short int var19
/* : Bool */;
2537 short int var20
/* : Bool */;
2538 val
* var21
/* : null */;
2539 val
* var22
/* : RuntimeVariable */;
2540 val
* var_i
/* var i: RuntimeVariable */;
2541 val
* var25
/* : MClassType */;
2542 val
* var26
/* : RuntimeVariable */;
2543 val
* var_a
/* var a: RuntimeVariable */;
2544 static val
* varonce27
;
2545 val
* var28
/* : String */;
2546 char* var29
/* : NativeString */;
2547 long var30
/* : Int */;
2548 val
* var31
/* : FlatString */;
2549 val
* var32
/* : MType */;
2550 val
* var34
/* : MType */;
2551 val
* var35
/* : MMethod */;
2552 val
* var36
/* : Array[RuntimeVariable] */;
2553 long var37
/* : Int */;
2554 val
* var_38
/* var : Array[RuntimeVariable] */;
2555 val
* var39
/* : nullable RuntimeVariable */;
2556 val
* var_res
/* var res: nullable RuntimeVariable */;
2558 var1
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2560 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[RuntimeVariable]>*/
2564 { /* Inline parser_nodes#ASuperstringExpr#n_exprs (self) on <self:ASuperstringExpr> */
2565 var4
= self
->attrs
[COLOR_nit__parser_nodes__ASuperstringExpr___n_exprs
].val
; /* _n_exprs on <self:ASuperstringExpr> */
2566 if (unlikely(var4
== NULL
)) {
2567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
2568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2277);
2577 var5
= nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_
);
2582 var7
= ((short int (*)(val
* self
))(var_6
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_6
) /* is_ok on <var_6:Iterator[AExpr]>*/;
2586 var8
= ((val
* (*)(val
* self
))(var_6
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_6
) /* item on <var_6:Iterator[AExpr]>*/;
2589 /* <var_ne:AExpr> isa AStringFormExpr */
2590 cltype
= type_nit__AStringFormExpr
.color
;
2591 idtype
= type_nit__AStringFormExpr
.id
;
2592 if(cltype
>= var_ne
->type
->table_size
) {
2595 var10
= var_ne
->type
->type_table
[cltype
] == idtype
;
2600 { /* Inline literal#AStringFormExpr#value (var_ne) on <var_ne:AExpr(AStringFormExpr)> */
2601 var14
= var_ne
->attrs
[COLOR_nit__literal__AStringFormExpr___value
].val
; /* _value on <var_ne:AExpr(AStringFormExpr)> */
2603 RET_LABEL13
:(void)0;
2611 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
2615 if (var12
== NULL
) {
2616 var19
= 0; /* <var15:String> cannot be null */
2618 var20
= ((short int (*)(val
* self
, val
* p0
))(var12
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var12
, var15
) /* == on <var12:nullable String>*/;
2631 var22
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var_ne
, var21
);
2635 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_array
, var_i
); /* Direct call array#Array#add on <var_array:Array[RuntimeVariable]>*/
2637 BREAK_label
: (void)0;
2639 ((void (*)(val
* self
))(var_6
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_6
) /* next on <var_6:Iterator[AExpr]>*/;
2645 BREAK_label23
: (void)0;
2647 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:Iterator[AExpr]> */
2648 RET_LABEL24
:(void)0;
2652 var25
= nit___nit__AbstractCompilerVisitor___object_type(var_v
);
2655 var26
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(var_v
, var_array
, var25
);
2663 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
2668 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_a) on <var_a:RuntimeVariable> */
2669 var34
= var_a
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_a:RuntimeVariable> */
2670 if (unlikely(var34
== NULL
)) {
2671 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2672 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2676 RET_LABEL33
:(void)0;
2680 var35
= nit___nit__AbstractCompilerVisitor___get_property(var_v
, var28
, var32
);
2682 var36
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2685 standard___standard__Array___with_capacity(var36
, var37
); /* Direct call array#Array#with_capacity on <var36:Array[RuntimeVariable]>*/
2689 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_38
, var_a
); /* Direct call array#AbstractArray#push on <var_38:Array[RuntimeVariable]>*/
2692 var39
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var35
, var_38
);
2700 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2701 val
* nit__abstract_compiler___ACrangeExpr___AExpr__expr(val
* self
, val
* p0
) {
2702 val
* var
/* : nullable RuntimeVariable */;
2703 val
* var_v
/* var v: AbstractCompilerVisitor */;
2704 val
* var1
/* : AExpr */;
2705 val
* var3
/* : AExpr */;
2706 val
* var4
/* : null */;
2707 val
* var5
/* : RuntimeVariable */;
2708 val
* var_i1
/* var i1: RuntimeVariable */;
2709 val
* var6
/* : AExpr */;
2710 val
* var8
/* : AExpr */;
2711 val
* var9
/* : null */;
2712 val
* var10
/* : RuntimeVariable */;
2713 val
* var_i2
/* var i2: RuntimeVariable */;
2714 val
* var11
/* : nullable MType */;
2715 val
* var13
/* : nullable MType */;
2716 short int var14
/* : Bool */;
2719 const char* var_class_name
;
2720 val
* var_mtype
/* var mtype: MClassType */;
2721 val
* var15
/* : RuntimeVariable */;
2722 val
* var_res
/* var res: RuntimeVariable */;
2723 val
* var16
/* : nullable CallSite */;
2724 val
* var18
/* : nullable CallSite */;
2725 val
* var19
/* : Array[RuntimeVariable] */;
2726 long var20
/* : Int */;
2727 val
* var_
/* var : Array[RuntimeVariable] */;
2728 val
* var21
/* : nullable RuntimeVariable */;
2731 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:ACrangeExpr> */
2732 var3
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:ACrangeExpr> */
2733 if (unlikely(var3
== NULL
)) {
2734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2124);
2744 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
2748 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:ACrangeExpr> */
2749 var8
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:ACrangeExpr> */
2750 if (unlikely(var8
== NULL
)) {
2751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2127);
2761 var10
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var6
, var9
);
2765 { /* Inline typing#AExpr#mtype (self) on <self:ACrangeExpr> */
2766 var13
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ACrangeExpr> */
2768 RET_LABEL12
:(void)0;
2771 /* <var11:nullable MType> isa MClassType */
2772 cltype
= type_nit__MClassType
.color
;
2773 idtype
= type_nit__MClassType
.id
;
2777 if(cltype
>= var11
->type
->table_size
) {
2780 var14
= var11
->type
->type_table
[cltype
] == idtype
;
2783 if (unlikely(!var14
)) {
2784 var_class_name
= var11
== NULL ?
"null" : var11
->type
->name
;
2785 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2786 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2748);
2791 var15
= ((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>*/;
2795 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:ACrangeExpr> */
2796 var18
= self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:ACrangeExpr> */
2798 RET_LABEL17
:(void)0;
2801 if (unlikely(var16
== NULL
)) {
2802 PRINT_ERROR("Runtime error: %s", "Cast failed");
2803 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2750);
2806 var19
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2809 standard___standard__Array___with_capacity(var19
, var20
); /* Direct call array#Array#with_capacity on <var19:Array[RuntimeVariable]>*/
2813 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2816 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2819 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2822 var21
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var16
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
2829 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2830 val
* nit__abstract_compiler___AOrangeExpr___AExpr__expr(val
* self
, val
* p0
) {
2831 val
* var
/* : nullable RuntimeVariable */;
2832 val
* var_v
/* var v: AbstractCompilerVisitor */;
2833 val
* var1
/* : AExpr */;
2834 val
* var3
/* : AExpr */;
2835 val
* var4
/* : null */;
2836 val
* var5
/* : RuntimeVariable */;
2837 val
* var_i1
/* var i1: RuntimeVariable */;
2838 val
* var6
/* : AExpr */;
2839 val
* var8
/* : AExpr */;
2840 val
* var9
/* : null */;
2841 val
* var10
/* : RuntimeVariable */;
2842 val
* var_i2
/* var i2: RuntimeVariable */;
2843 val
* var11
/* : nullable MType */;
2844 val
* var13
/* : nullable MType */;
2845 short int var14
/* : Bool */;
2848 const char* var_class_name
;
2849 val
* var_mtype
/* var mtype: MClassType */;
2850 val
* var15
/* : RuntimeVariable */;
2851 val
* var_res
/* var res: RuntimeVariable */;
2852 val
* var16
/* : nullable CallSite */;
2853 val
* var18
/* : nullable CallSite */;
2854 val
* var19
/* : Array[RuntimeVariable] */;
2855 long var20
/* : Int */;
2856 val
* var_
/* var : Array[RuntimeVariable] */;
2857 val
* var21
/* : nullable RuntimeVariable */;
2860 { /* Inline parser_nodes#ARangeExpr#n_expr (self) on <self:AOrangeExpr> */
2861 var3
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr
].val
; /* _n_expr on <self:AOrangeExpr> */
2862 if (unlikely(var3
== NULL
)) {
2863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
2864 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2124);
2873 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
2877 { /* Inline parser_nodes#ARangeExpr#n_expr2 (self) on <self:AOrangeExpr> */
2878 var8
= self
->attrs
[COLOR_nit__parser_nodes__ARangeExpr___n_expr2
].val
; /* _n_expr2 on <self:AOrangeExpr> */
2879 if (unlikely(var8
== NULL
)) {
2880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr2");
2881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2127);
2890 var10
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var6
, var9
);
2894 { /* Inline typing#AExpr#mtype (self) on <self:AOrangeExpr> */
2895 var13
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOrangeExpr> */
2897 RET_LABEL12
:(void)0;
2900 /* <var11:nullable MType> isa MClassType */
2901 cltype
= type_nit__MClassType
.color
;
2902 idtype
= type_nit__MClassType
.id
;
2906 if(cltype
>= var11
->type
->table_size
) {
2909 var14
= var11
->type
->type_table
[cltype
] == idtype
;
2912 if (unlikely(!var14
)) {
2913 var_class_name
= var11
== NULL ?
"null" : var11
->type
->name
;
2914 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2915 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2760);
2920 var15
= ((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>*/;
2924 { /* Inline typing#ARangeExpr#init_callsite (self) on <self:AOrangeExpr> */
2925 var18
= self
->attrs
[COLOR_nit__typing__ARangeExpr___init_callsite
].val
; /* _init_callsite on <self:AOrangeExpr> */
2927 RET_LABEL17
:(void)0;
2930 if (unlikely(var16
== NULL
)) {
2931 PRINT_ERROR("Runtime error: %s", "Cast failed");
2932 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2762);
2935 var19
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2938 standard___standard__Array___with_capacity(var19
, var20
); /* Direct call array#Array#with_capacity on <var19:Array[RuntimeVariable]>*/
2942 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_res
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2945 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i1
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2948 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_i2
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
2951 var21
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var16
, var_
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
2958 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2959 val
* nit__abstract_compiler___ATrueExpr___AExpr__expr(val
* self
, val
* p0
) {
2960 val
* var
/* : nullable RuntimeVariable */;
2961 val
* var_v
/* var v: AbstractCompilerVisitor */;
2962 static val
* varonce
;
2963 val
* var1
/* : String */;
2964 char* var2
/* : NativeString */;
2965 long var3
/* : Int */;
2966 val
* var4
/* : FlatString */;
2967 val
* var5
/* : nullable MType */;
2968 val
* var7
/* : nullable MType */;
2969 val
* var8
/* : RuntimeVariable */;
2976 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
2981 { /* Inline typing#AExpr#mtype (self) on <self:ATrueExpr> */
2982 var7
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ATrueExpr> */
2987 if (unlikely(var5
== NULL
)) {
2988 PRINT_ERROR("Runtime error: %s", "Cast failed");
2989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2768);
2993 var8
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var1
, var5
);
3000 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3001 val
* nit__abstract_compiler___AFalseExpr___AExpr__expr(val
* self
, val
* p0
) {
3002 val
* var
/* : nullable RuntimeVariable */;
3003 val
* var_v
/* var v: AbstractCompilerVisitor */;
3004 static val
* varonce
;
3005 val
* var1
/* : String */;
3006 char* var2
/* : NativeString */;
3007 long var3
/* : Int */;
3008 val
* var4
/* : FlatString */;
3009 val
* var5
/* : nullable MType */;
3010 val
* var7
/* : nullable MType */;
3011 val
* var8
/* : RuntimeVariable */;
3018 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
3023 { /* Inline typing#AExpr#mtype (self) on <self:AFalseExpr> */
3024 var7
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AFalseExpr> */
3029 if (unlikely(var5
== NULL
)) {
3030 PRINT_ERROR("Runtime error: %s", "Cast failed");
3031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2772);
3035 var8
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var1
, var5
);
3042 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3043 val
* nit__abstract_compiler___ANullExpr___AExpr__expr(val
* self
, val
* p0
) {
3044 val
* var
/* : nullable RuntimeVariable */;
3045 val
* var_v
/* var v: AbstractCompilerVisitor */;
3046 static val
* varonce
;
3047 val
* var1
/* : String */;
3048 char* var2
/* : NativeString */;
3049 long var3
/* : Int */;
3050 val
* var4
/* : FlatString */;
3051 val
* var5
/* : nullable MType */;
3052 val
* var7
/* : nullable MType */;
3053 val
* var8
/* : RuntimeVariable */;
3060 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
3065 { /* Inline typing#AExpr#mtype (self) on <self:ANullExpr> */
3066 var7
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:ANullExpr> */
3071 if (unlikely(var5
== NULL
)) {
3072 PRINT_ERROR("Runtime error: %s", "Cast failed");
3073 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2776);
3077 var8
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var1
, var5
);
3084 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3085 val
* nit__abstract_compiler___AIsaExpr___AExpr__expr(val
* self
, val
* p0
) {
3086 val
* var
/* : nullable RuntimeVariable */;
3087 val
* var_v
/* var v: AbstractCompilerVisitor */;
3088 val
* var1
/* : AExpr */;
3089 val
* var3
/* : AExpr */;
3090 val
* var4
/* : null */;
3091 val
* var5
/* : RuntimeVariable */;
3092 val
* var_i
/* var i: RuntimeVariable */;
3093 val
* var6
/* : nullable MType */;
3094 val
* var8
/* : nullable MType */;
3095 static val
* varonce
;
3096 val
* var9
/* : String */;
3097 char* var10
/* : NativeString */;
3098 long var11
/* : Int */;
3099 val
* var12
/* : FlatString */;
3100 val
* var13
/* : RuntimeVariable */;
3103 { /* Inline parser_nodes#AIsaExpr#n_expr (self) on <self:AIsaExpr> */
3104 var3
= self
->attrs
[COLOR_nit__parser_nodes__AIsaExpr___n_expr
].val
; /* _n_expr on <self:AIsaExpr> */
3105 if (unlikely(var3
== NULL
)) {
3106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3107 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1905);
3116 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
3120 { /* Inline typing#AIsaExpr#cast_type (self) on <self:AIsaExpr> */
3121 var8
= self
->attrs
[COLOR_nit__typing__AIsaExpr___cast_type
].val
; /* _cast_type on <self:AIsaExpr> */
3126 if (unlikely(var6
== NULL
)) {
3127 PRINT_ERROR("Runtime error: %s", "Cast failed");
3128 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2783);
3136 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
3141 var13
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var6
, var9
) /* type_test on <var_v:AbstractCompilerVisitor>*/;
3148 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3149 val
* nit__abstract_compiler___AAsCastExpr___AExpr__expr(val
* self
, val
* p0
) {
3150 val
* var
/* : nullable RuntimeVariable */;
3151 val
* var_v
/* var v: AbstractCompilerVisitor */;
3152 val
* var1
/* : AExpr */;
3153 val
* var3
/* : AExpr */;
3154 val
* var4
/* : null */;
3155 val
* var5
/* : RuntimeVariable */;
3156 val
* var_i
/* var i: RuntimeVariable */;
3157 val
* var6
/* : AbstractCompiler */;
3158 val
* var8
/* : AbstractCompiler */;
3159 val
* var9
/* : ModelBuilder */;
3160 val
* var11
/* : ModelBuilder */;
3161 val
* var12
/* : ToolContext */;
3162 val
* var14
/* : ToolContext */;
3163 val
* var15
/* : OptionBool */;
3164 val
* var17
/* : OptionBool */;
3165 val
* var18
/* : nullable Object */;
3166 val
* var20
/* : nullable Object */;
3167 short int var21
/* : Bool */;
3168 val
* var22
/* : nullable MType */;
3169 val
* var24
/* : nullable MType */;
3170 static val
* varonce
;
3171 val
* var25
/* : String */;
3172 char* var26
/* : NativeString */;
3173 long var27
/* : Int */;
3174 val
* var28
/* : FlatString */;
3177 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsCastExpr> */
3178 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsCastExpr> */
3179 if (unlikely(var3
== NULL
)) {
3180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2299);
3190 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
3194 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
3195 var8
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
3196 if (unlikely(var8
== NULL
)) {
3197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3198 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
3206 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
3207 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
3208 if (unlikely(var11
== NULL
)) {
3209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3214 RET_LABEL10
:(void)0;
3218 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var9) on <var9:ModelBuilder> */
3219 var14
= var9
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var9:ModelBuilder> */
3220 if (unlikely(var14
== NULL
)) {
3221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3226 RET_LABEL13
:(void)0;
3230 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var12) on <var12:ToolContext> */
3231 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var12:ToolContext> */
3232 if (unlikely(var17
== NULL
)) {
3233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
3234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 51);
3238 RET_LABEL16
:(void)0;
3242 { /* Inline opts#Option#value (var15) on <var15:OptionBool> */
3243 var20
= var15
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var15:OptionBool> */
3245 RET_LABEL19
:(void)0;
3248 var21
= ((struct instance_standard__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
3255 { /* Inline typing#AExpr#mtype (self) on <self:AAsCastExpr> */
3256 var24
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AAsCastExpr> */
3258 RET_LABEL23
:(void)0;
3261 if (unlikely(var22
== NULL
)) {
3262 PRINT_ERROR("Runtime error: %s", "Cast failed");
3263 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2793);
3271 var28
= standard___standard__NativeString___to_s_with_length(var26
, var27
);
3276 nit___nit__AbstractCompilerVisitor___add_cast(var_v
, var_i
, var22
, var25
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_cast on <var_v:AbstractCompilerVisitor>*/
3283 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3284 val
* nit__abstract_compiler___AAsNotnullExpr___AExpr__expr(val
* self
, val
* p0
) {
3285 val
* var
/* : nullable RuntimeVariable */;
3286 val
* var_v
/* var v: AbstractCompilerVisitor */;
3287 val
* var1
/* : AExpr */;
3288 val
* var3
/* : AExpr */;
3289 val
* var4
/* : null */;
3290 val
* var5
/* : RuntimeVariable */;
3291 val
* var_i
/* var i: RuntimeVariable */;
3292 val
* var6
/* : AbstractCompiler */;
3293 val
* var8
/* : AbstractCompiler */;
3294 val
* var9
/* : ModelBuilder */;
3295 val
* var11
/* : ModelBuilder */;
3296 val
* var12
/* : ToolContext */;
3297 val
* var14
/* : ToolContext */;
3298 val
* var15
/* : OptionBool */;
3299 val
* var17
/* : OptionBool */;
3300 val
* var18
/* : nullable Object */;
3301 val
* var20
/* : nullable Object */;
3302 short int var21
/* : Bool */;
3303 val
* var22
/* : MType */;
3304 val
* var24
/* : MType */;
3305 val
* var25
/* : String */;
3306 static val
* varonce
;
3307 val
* var26
/* : String */;
3308 char* var27
/* : NativeString */;
3309 long var28
/* : Int */;
3310 val
* var29
/* : FlatString */;
3311 short int var30
/* : Bool */;
3312 val
* var_other
/* var other: nullable Object */;
3313 short int var32
/* : Bool */;
3314 short int var33
/* : Bool */;
3315 static val
* varonce34
;
3316 val
* var35
/* : String */;
3317 char* var36
/* : NativeString */;
3318 long var37
/* : Int */;
3319 val
* var38
/* : FlatString */;
3320 static val
* varonce39
;
3321 val
* var40
/* : String */;
3322 char* var41
/* : NativeString */;
3323 long var42
/* : Int */;
3324 val
* var43
/* : FlatString */;
3325 val
* var44
/* : Array[Object] */;
3326 long var45
/* : Int */;
3327 val
* var46
/* : NativeArray[Object] */;
3328 val
* var47
/* : String */;
3329 static val
* varonce48
;
3330 val
* var49
/* : String */;
3331 char* var50
/* : NativeString */;
3332 long var51
/* : Int */;
3333 val
* var52
/* : FlatString */;
3334 static val
* varonce53
;
3335 val
* var54
/* : String */;
3336 char* var55
/* : NativeString */;
3337 long var56
/* : Int */;
3338 val
* var57
/* : FlatString */;
3341 { /* Inline parser_nodes#AAsCastForm#n_expr (self) on <self:AAsNotnullExpr> */
3342 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAsCastForm___n_expr
].val
; /* _n_expr on <self:AAsNotnullExpr> */
3343 if (unlikely(var3
== NULL
)) {
3344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2299);
3354 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
3358 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
3359 var8
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
3360 if (unlikely(var8
== NULL
)) {
3361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
3370 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var6) on <var6:AbstractCompiler> */
3371 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var6:AbstractCompiler> */
3372 if (unlikely(var11
== NULL
)) {
3373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3378 RET_LABEL10
:(void)0;
3382 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var9) on <var9:ModelBuilder> */
3383 var14
= var9
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var9:ModelBuilder> */
3384 if (unlikely(var14
== NULL
)) {
3385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3386 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3390 RET_LABEL13
:(void)0;
3394 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (var12) on <var12:ToolContext> */
3395 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <var12:ToolContext> */
3396 if (unlikely(var17
== NULL
)) {
3397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
3398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 51);
3402 RET_LABEL16
:(void)0;
3406 { /* Inline opts#Option#value (var15) on <var15:OptionBool> */
3407 var20
= var15
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var15:OptionBool> */
3409 RET_LABEL19
:(void)0;
3412 var21
= ((struct instance_standard__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
3419 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_i) on <var_i:RuntimeVariable> */
3420 var24
= var_i
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_i:RuntimeVariable> */
3421 if (unlikely(var24
== NULL
)) {
3422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3427 RET_LABEL23
:(void)0;
3431 var25
= ((val
* (*)(val
* self
))(var22
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var22
) /* ctype on <var22:MType>*/;
3438 var29
= standard___standard__NativeString___to_s_with_length(var27
, var28
);
3443 { /* Inline kernel#Object#!= (var25,var26) on <var25:String> */
3446 var32
= ((short int (*)(val
* self
, val
* p0
))(var25
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var25
, var_other
) /* == on <var25:String>*/;
3451 RET_LABEL31
:(void)0;
3462 var36
= "if (unlikely(";
3464 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
3471 var41
= " == NULL)) {";
3473 var43
= standard___standard__NativeString___to_s_with_length(var41
, var42
);
3477 var44
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3478 { /* var44 = array_instance Array[Object] */
3480 var46
= NEW_standard__NativeArray(var45
, &type_standard__NativeArray__standard__Object
);
3481 ((struct instance_standard__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
3482 ((struct instance_standard__NativeArray
*)var46
)->values
[1] = (val
*) var_i
;
3483 ((struct instance_standard__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
3485 ((void (*)(val
* self
, val
* p0
, long p1
))(var44
->class->vft
[COLOR_standard__array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
3489 var47
= ((val
* (*)(val
* self
))(var44
->class->vft
[COLOR_standard__string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
3492 nit___nit__AbstractCompilerVisitor___add(var_v
, var47
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3497 var50
= "Cast failed";
3499 var52
= standard___standard__NativeString___to_s_with_length(var50
, var51
);
3504 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:AbstractCompilerVisitor>*/
3511 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
3516 nit___nit__AbstractCompilerVisitor___add(var_v
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3523 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3524 val
* nit__abstract_compiler___AParExpr___AExpr__expr(val
* self
, val
* p0
) {
3525 val
* var
/* : nullable RuntimeVariable */;
3526 val
* var_v
/* var v: AbstractCompilerVisitor */;
3527 val
* var1
/* : AExpr */;
3528 val
* var3
/* : AExpr */;
3529 val
* var4
/* : null */;
3530 val
* var5
/* : RuntimeVariable */;
3533 { /* Inline parser_nodes#AParExpr#n_expr (self) on <self:AParExpr> */
3534 var3
= self
->attrs
[COLOR_nit__parser_nodes__AParExpr___n_expr
].val
; /* _n_expr on <self:AParExpr> */
3535 if (unlikely(var3
== NULL
)) {
3536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2288);
3546 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
3553 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3554 val
* nit__abstract_compiler___AOnceExpr___AExpr__expr(val
* self
, val
* p0
) {
3555 val
* var
/* : nullable RuntimeVariable */;
3556 val
* var_v
/* var v: AbstractCompilerVisitor */;
3557 val
* var1
/* : nullable MType */;
3558 val
* var3
/* : nullable MType */;
3559 val
* var_mtype
/* var mtype: MType */;
3560 static val
* varonce
;
3561 val
* var4
/* : String */;
3562 char* var5
/* : NativeString */;
3563 long var6
/* : Int */;
3564 val
* var7
/* : FlatString */;
3565 val
* var8
/* : String */;
3566 val
* var_name
/* var name: String */;
3567 static val
* varonce9
;
3568 val
* var10
/* : String */;
3569 char* var11
/* : NativeString */;
3570 long var12
/* : Int */;
3571 val
* var13
/* : FlatString */;
3572 val
* var14
/* : String */;
3573 val
* var15
/* : String */;
3574 val
* var_guard
/* var guard: String */;
3575 static val
* varonce16
;
3576 val
* var17
/* : String */;
3577 char* var18
/* : NativeString */;
3578 long var19
/* : Int */;
3579 val
* var20
/* : FlatString */;
3580 val
* var21
/* : String */;
3581 static val
* varonce22
;
3582 val
* var23
/* : String */;
3583 char* var24
/* : NativeString */;
3584 long var25
/* : Int */;
3585 val
* var26
/* : FlatString */;
3586 static val
* varonce27
;
3587 val
* var28
/* : String */;
3588 char* var29
/* : NativeString */;
3589 long var30
/* : Int */;
3590 val
* var31
/* : FlatString */;
3591 val
* var32
/* : Array[Object] */;
3592 long var33
/* : Int */;
3593 val
* var34
/* : NativeArray[Object] */;
3594 val
* var35
/* : String */;
3595 static val
* varonce36
;
3596 val
* var37
/* : String */;
3597 char* var38
/* : NativeString */;
3598 long var39
/* : Int */;
3599 val
* var40
/* : FlatString */;
3600 static val
* varonce41
;
3601 val
* var42
/* : String */;
3602 char* var43
/* : NativeString */;
3603 long var44
/* : Int */;
3604 val
* var45
/* : FlatString */;
3605 val
* var46
/* : Array[Object] */;
3606 long var47
/* : Int */;
3607 val
* var48
/* : NativeArray[Object] */;
3608 val
* var49
/* : String */;
3609 val
* var50
/* : RuntimeVariable */;
3610 val
* var_res
/* var res: RuntimeVariable */;
3611 static val
* varonce51
;
3612 val
* var52
/* : String */;
3613 char* var53
/* : NativeString */;
3614 long var54
/* : Int */;
3615 val
* var55
/* : FlatString */;
3616 static val
* varonce56
;
3617 val
* var57
/* : String */;
3618 char* var58
/* : NativeString */;
3619 long var59
/* : Int */;
3620 val
* var60
/* : FlatString */;
3621 val
* var61
/* : Array[Object] */;
3622 long var62
/* : Int */;
3623 val
* var63
/* : NativeArray[Object] */;
3624 val
* var64
/* : String */;
3625 static val
* varonce65
;
3626 val
* var66
/* : String */;
3627 char* var67
/* : NativeString */;
3628 long var68
/* : Int */;
3629 val
* var69
/* : FlatString */;
3630 static val
* varonce70
;
3631 val
* var71
/* : String */;
3632 char* var72
/* : NativeString */;
3633 long var73
/* : Int */;
3634 val
* var74
/* : FlatString */;
3635 val
* var75
/* : Array[Object] */;
3636 long var76
/* : Int */;
3637 val
* var77
/* : NativeArray[Object] */;
3638 val
* var78
/* : String */;
3639 static val
* varonce79
;
3640 val
* var80
/* : String */;
3641 char* var81
/* : NativeString */;
3642 long var82
/* : Int */;
3643 val
* var83
/* : FlatString */;
3644 val
* var84
/* : AExpr */;
3645 val
* var86
/* : AExpr */;
3646 val
* var87
/* : RuntimeVariable */;
3647 val
* var_i
/* var i: RuntimeVariable */;
3648 static val
* varonce88
;
3649 val
* var89
/* : String */;
3650 char* var90
/* : NativeString */;
3651 long var91
/* : Int */;
3652 val
* var92
/* : FlatString */;
3653 static val
* varonce93
;
3654 val
* var94
/* : String */;
3655 char* var95
/* : NativeString */;
3656 long var96
/* : Int */;
3657 val
* var97
/* : FlatString */;
3658 val
* var98
/* : Array[Object] */;
3659 long var99
/* : Int */;
3660 val
* var100
/* : NativeArray[Object] */;
3661 val
* var101
/* : String */;
3662 static val
* varonce102
;
3663 val
* var103
/* : String */;
3664 char* var104
/* : NativeString */;
3665 long var105
/* : Int */;
3666 val
* var106
/* : FlatString */;
3667 static val
* varonce107
;
3668 val
* var108
/* : String */;
3669 char* var109
/* : NativeString */;
3670 long var110
/* : Int */;
3671 val
* var111
/* : FlatString */;
3672 val
* var112
/* : Array[Object] */;
3673 long var113
/* : Int */;
3674 val
* var114
/* : NativeArray[Object] */;
3675 val
* var115
/* : String */;
3676 static val
* varonce116
;
3677 val
* var117
/* : String */;
3678 char* var118
/* : NativeString */;
3679 long var119
/* : Int */;
3680 val
* var120
/* : FlatString */;
3681 val
* var121
/* : Array[Object] */;
3682 long var122
/* : Int */;
3683 val
* var123
/* : NativeArray[Object] */;
3684 val
* var124
/* : String */;
3685 static val
* varonce125
;
3686 val
* var126
/* : String */;
3687 char* var127
/* : NativeString */;
3688 long var128
/* : Int */;
3689 val
* var129
/* : FlatString */;
3692 { /* Inline typing#AExpr#mtype (self) on <self:AOnceExpr> */
3693 var3
= self
->attrs
[COLOR_nit__typing__AExpr___mtype
].val
; /* _mtype on <self:AOnceExpr> */
3698 if (unlikely(var1
== NULL
)) {
3699 PRINT_ERROR("Runtime error: %s", "Cast failed");
3700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2820);
3709 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
3714 var8
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var4
);
3722 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
3727 var14
= ((val
* (*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__string__String___43d
]))(var_name
, var10
) /* + on <var_name:String>*/;
3730 var15
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var14
);
3738 var20
= standard___standard__NativeString___to_s_with_length(var18
, var19
);
3743 var21
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3750 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
3759 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
3763 var32
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3764 { /* var32 = array_instance Array[Object] */
3766 var34
= NEW_standard__NativeArray(var33
, &type_standard__NativeArray__standard__Object
);
3767 ((struct instance_standard__NativeArray
*)var34
)->values
[0] = (val
*) var17
;
3768 ((struct instance_standard__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
3769 ((struct instance_standard__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
3770 ((struct instance_standard__NativeArray
*)var34
)->values
[3] = (val
*) var_name
;
3771 ((struct instance_standard__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
3773 ((void (*)(val
* self
, val
* p0
, long p1
))(var32
->class->vft
[COLOR_standard__array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
3777 var35
= ((val
* (*)(val
* self
))(var32
->class->vft
[COLOR_standard__string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
3780 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var35
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3785 var38
= "static int ";
3787 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
3796 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
3800 var46
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3801 { /* var46 = array_instance Array[Object] */
3803 var48
= NEW_standard__NativeArray(var47
, &type_standard__NativeArray__standard__Object
);
3804 ((struct instance_standard__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
3805 ((struct instance_standard__NativeArray
*)var48
)->values
[1] = (val
*) var_guard
;
3806 ((struct instance_standard__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
3808 ((void (*)(val
* self
, val
* p0
, long p1
))(var46
->class->vft
[COLOR_standard__array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
3812 var49
= ((val
* (*)(val
* self
))(var46
->class->vft
[COLOR_standard__string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
3815 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3818 var50
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var_mtype
);
3826 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
3835 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
3839 var61
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3840 { /* var61 = array_instance Array[Object] */
3842 var63
= NEW_standard__NativeArray(var62
, &type_standard__NativeArray__standard__Object
);
3843 ((struct instance_standard__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
3844 ((struct instance_standard__NativeArray
*)var63
)->values
[1] = (val
*) var_guard
;
3845 ((struct instance_standard__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
3847 ((void (*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
3851 var64
= ((val
* (*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
3854 nit___nit__AbstractCompilerVisitor___add(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3861 var69
= standard___standard__NativeString___to_s_with_length(var67
, var68
);
3870 var74
= standard___standard__NativeString___to_s_with_length(var72
, var73
);
3874 var75
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3875 { /* var75 = array_instance Array[Object] */
3877 var77
= NEW_standard__NativeArray(var76
, &type_standard__NativeArray__standard__Object
);
3878 ((struct instance_standard__NativeArray
*)var77
)->values
[0] = (val
*) var_res
;
3879 ((struct instance_standard__NativeArray
*)var77
)->values
[1] = (val
*) var66
;
3880 ((struct instance_standard__NativeArray
*)var77
)->values
[2] = (val
*) var_name
;
3881 ((struct instance_standard__NativeArray
*)var77
)->values
[3] = (val
*) var71
;
3883 ((void (*)(val
* self
, val
* p0
, long p1
))(var75
->class->vft
[COLOR_standard__array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
3887 var78
= ((val
* (*)(val
* self
))(var75
->class->vft
[COLOR_standard__string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
3890 nit___nit__AbstractCompilerVisitor___add(var_v
, var78
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3897 var83
= standard___standard__NativeString___to_s_with_length(var81
, var82
);
3902 nit___nit__AbstractCompilerVisitor___add(var_v
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3905 { /* Inline parser_nodes#AOnceExpr#n_expr (self) on <self:AOnceExpr> */
3906 var86
= self
->attrs
[COLOR_nit__parser_nodes__AOnceExpr___n_expr
].val
; /* _n_expr on <self:AOnceExpr> */
3907 if (unlikely(var86
== NULL
)) {
3908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
3909 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1794);
3913 RET_LABEL85
:(void)0;
3917 var87
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var84
, var_mtype
);
3925 var92
= standard___standard__NativeString___to_s_with_length(var90
, var91
);
3934 var97
= standard___standard__NativeString___to_s_with_length(var95
, var96
);
3938 var98
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3939 { /* var98 = array_instance Array[Object] */
3941 var100
= NEW_standard__NativeArray(var99
, &type_standard__NativeArray__standard__Object
);
3942 ((struct instance_standard__NativeArray
*)var100
)->values
[0] = (val
*) var_res
;
3943 ((struct instance_standard__NativeArray
*)var100
)->values
[1] = (val
*) var89
;
3944 ((struct instance_standard__NativeArray
*)var100
)->values
[2] = (val
*) var_i
;
3945 ((struct instance_standard__NativeArray
*)var100
)->values
[3] = (val
*) var94
;
3947 ((void (*)(val
* self
, val
* p0
, long p1
))(var98
->class->vft
[COLOR_standard__array__Array__with_native
]))(var98
, var100
, var99
) /* with_native on <var98:Array[Object]>*/;
3951 var101
= ((val
* (*)(val
* self
))(var98
->class->vft
[COLOR_standard__string__Object__to_s
]))(var98
) /* to_s on <var98:Array[Object]>*/;
3954 nit___nit__AbstractCompilerVisitor___add(var_v
, var101
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3957 var103
= varonce102
;
3961 var106
= standard___standard__NativeString___to_s_with_length(var104
, var105
);
3963 varonce102
= var103
;
3966 var108
= varonce107
;
3970 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
3972 varonce107
= var108
;
3974 var112
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3975 { /* var112 = array_instance Array[Object] */
3977 var114
= NEW_standard__NativeArray(var113
, &type_standard__NativeArray__standard__Object
);
3978 ((struct instance_standard__NativeArray
*)var114
)->values
[0] = (val
*) var_name
;
3979 ((struct instance_standard__NativeArray
*)var114
)->values
[1] = (val
*) var103
;
3980 ((struct instance_standard__NativeArray
*)var114
)->values
[2] = (val
*) var_res
;
3981 ((struct instance_standard__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
3983 ((void (*)(val
* self
, val
* p0
, long p1
))(var112
->class->vft
[COLOR_standard__array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
3987 var115
= ((val
* (*)(val
* self
))(var112
->class->vft
[COLOR_standard__string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
3990 nit___nit__AbstractCompilerVisitor___add(var_v
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3993 var117
= varonce116
;
3997 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
3999 varonce116
= var117
;
4001 var121
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4002 { /* var121 = array_instance Array[Object] */
4004 var123
= NEW_standard__NativeArray(var122
, &type_standard__NativeArray__standard__Object
);
4005 ((struct instance_standard__NativeArray
*)var123
)->values
[0] = (val
*) var_guard
;
4006 ((struct instance_standard__NativeArray
*)var123
)->values
[1] = (val
*) var117
;
4008 ((void (*)(val
* self
, val
* p0
, long p1
))(var121
->class->vft
[COLOR_standard__array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
4012 var124
= ((val
* (*)(val
* self
))(var121
->class->vft
[COLOR_standard__string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
4015 nit___nit__AbstractCompilerVisitor___add(var_v
, var124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4018 var126
= varonce125
;
4022 var129
= standard___standard__NativeString___to_s_with_length(var127
, var128
);
4024 varonce125
= var126
;
4027 nit___nit__AbstractCompilerVisitor___add(var_v
, var126
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
4034 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4035 val
* nit__abstract_compiler___ASendExpr___AExpr__expr(val
* self
, val
* p0
) {
4036 val
* var
/* : nullable RuntimeVariable */;
4037 val
* var_v
/* var v: AbstractCompilerVisitor */;
4038 val
* var1
/* : AExpr */;
4039 val
* var3
/* : AExpr */;
4040 val
* var4
/* : null */;
4041 val
* var5
/* : RuntimeVariable */;
4042 val
* var_recv
/* var recv: RuntimeVariable */;
4043 val
* var6
/* : nullable CallSite */;
4044 val
* var8
/* : nullable CallSite */;
4045 val
* var_callsite
/* var callsite: CallSite */;
4046 val
* var9
/* : MMethodDef */;
4047 val
* var11
/* : MMethodDef */;
4048 val
* var12
/* : Array[AExpr] */;
4049 val
* var13
/* : Array[RuntimeVariable] */;
4050 val
* var_args
/* var args: Array[RuntimeVariable] */;
4051 val
* var14
/* : nullable RuntimeVariable */;
4054 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendExpr> */
4055 var3
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendExpr> */
4056 if (unlikely(var3
== NULL
)) {
4057 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1802);
4067 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
4071 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendExpr> */
4072 var8
= self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendExpr> */
4077 if (unlikely(var6
== NULL
)) {
4078 PRINT_ERROR("Runtime error: %s", "Cast failed");
4079 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2842);
4082 var_callsite
= var6
;
4084 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4085 var11
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4086 if (unlikely(var11
== NULL
)) {
4087 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4088 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
4092 RET_LABEL10
:(void)0;
4096 var12
= nit__typing___ASendExpr___raw_arguments(self
);
4099 var13
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var9
, var_recv
, var12
);
4103 var14
= ((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>*/;
4110 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
4111 void nit__abstract_compiler___ASendReassignFormExpr___AExpr__stmt(val
* self
, val
* p0
) {
4112 val
* var_v
/* var v: AbstractCompilerVisitor */;
4113 val
* var
/* : AExpr */;
4114 val
* var2
/* : AExpr */;
4115 val
* var3
/* : null */;
4116 val
* var4
/* : RuntimeVariable */;
4117 val
* var_recv
/* var recv: RuntimeVariable */;
4118 val
* var5
/* : nullable CallSite */;
4119 val
* var7
/* : nullable CallSite */;
4120 val
* var_callsite
/* var callsite: CallSite */;
4121 val
* var8
/* : MMethodDef */;
4122 val
* var10
/* : MMethodDef */;
4123 val
* var11
/* : Array[AExpr] */;
4124 val
* var12
/* : Array[RuntimeVariable] */;
4125 val
* var_args
/* var args: Array[RuntimeVariable] */;
4126 val
* var13
/* : AExpr */;
4127 val
* var15
/* : AExpr */;
4128 val
* var16
/* : null */;
4129 val
* var17
/* : RuntimeVariable */;
4130 val
* var_value
/* var value: RuntimeVariable */;
4131 val
* var18
/* : nullable RuntimeVariable */;
4132 val
* var_left
/* var left: nullable RuntimeVariable */;
4133 val
* var19
/* : null */;
4134 short int var20
/* : Bool */;
4135 short int var21
/* : Bool */;
4136 val
* var_other
/* var other: nullable Object */;
4137 short int var23
/* : Bool */;
4138 short int var24
/* : Bool */;
4139 val
* var25
/* : nullable CallSite */;
4140 val
* var27
/* : nullable CallSite */;
4141 val
* var28
/* : Array[RuntimeVariable] */;
4142 long var29
/* : Int */;
4143 val
* var_
/* var : Array[RuntimeVariable] */;
4144 val
* var30
/* : nullable RuntimeVariable */;
4145 val
* var_res
/* var res: nullable RuntimeVariable */;
4146 val
* var31
/* : null */;
4147 short int var32
/* : Bool */;
4148 short int var33
/* : Bool */;
4149 short int var35
/* : Bool */;
4150 short int var36
/* : Bool */;
4151 val
* var37
/* : nullable CallSite */;
4152 val
* var39
/* : nullable CallSite */;
4153 val
* var40
/* : nullable RuntimeVariable */;
4156 { /* Inline parser_nodes#ASendExpr#n_expr (self) on <self:ASendReassignFormExpr> */
4157 var2
= self
->attrs
[COLOR_nit__parser_nodes__ASendExpr___n_expr
].val
; /* _n_expr on <self:ASendReassignFormExpr> */
4158 if (unlikely(var2
== NULL
)) {
4159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
4160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1802);
4169 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, var3
);
4173 { /* Inline typing#ASendExpr#callsite (self) on <self:ASendReassignFormExpr> */
4174 var7
= self
->attrs
[COLOR_nit__typing__ASendExpr___callsite
].val
; /* _callsite on <self:ASendReassignFormExpr> */
4179 if (unlikely(var5
== NULL
)) {
4180 PRINT_ERROR("Runtime error: %s", "Cast failed");
4181 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2852);
4184 var_callsite
= var5
;
4186 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
4187 var10
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
4188 if (unlikely(var10
== NULL
)) {
4189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
4198 var11
= nit__typing___ASendExpr___raw_arguments(self
);
4201 var12
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var8
, var_recv
, var11
);
4205 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:ASendReassignFormExpr> */
4206 var15
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:ASendReassignFormExpr> */
4207 if (unlikely(var15
== NULL
)) {
4208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
4209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1783);
4213 RET_LABEL14
:(void)0;
4218 var17
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var13
, var16
);
4222 var18
= ((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>*/;
4226 if (var_left
== NULL
) {
4227 var20
= 0; /* is null */
4229 var20
= 1; /* arg is null and recv is not */
4232 { /* Inline kernel#Object#!= (var_left,var19) on <var_left:nullable RuntimeVariable> */
4235 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)>*/;
4240 RET_LABEL22
:(void)0;
4244 if (unlikely(!var20
)) {
4245 PRINT_ERROR("Runtime error: %s", "Assert failed");
4246 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2858);
4250 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:ASendReassignFormExpr> */
4251 var27
= self
->attrs
[COLOR_nit__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:ASendReassignFormExpr> */
4253 RET_LABEL26
:(void)0;
4256 if (unlikely(var25
== NULL
)) {
4257 PRINT_ERROR("Runtime error: %s", "Cast failed");
4258 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2860);
4261 var28
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
4264 standard___standard__Array___with_capacity(var28
, var29
); /* Direct call array#Array#with_capacity on <var28:Array[RuntimeVariable]>*/
4268 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_left
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
4271 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
4274 var30
= ((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>*/;
4278 if (var_res
== NULL
) {
4279 var32
= 0; /* is null */
4281 var32
= 1; /* arg is null and recv is not */
4284 { /* Inline kernel#Object#!= (var_res,var31) on <var_res:nullable RuntimeVariable> */
4287 var35
= ((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)>*/;
4292 RET_LABEL34
:(void)0;
4296 if (unlikely(!var32
)) {
4297 PRINT_ERROR("Runtime error: %s", "Assert failed");
4298 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2861);
4302 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var_res
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
4305 { /* Inline typing#ASendReassignFormExpr#write_callsite (self) on <self:ASendReassignFormExpr> */
4306 var39
= self
->attrs
[COLOR_nit__typing__ASendReassignFormExpr___write_callsite
].val
; /* _write_callsite on <self:ASendReassignFormExpr> */
4308 RET_LABEL38
:(void)0;
4311 if (unlikely(var37
== NULL
)) {
4312 PRINT_ERROR("Runtime error: %s", "Cast failed");
4313 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2864);
4317 var40
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var37
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4321 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4322 val
* nit__abstract_compiler___ASuperExpr___AExpr__expr(val
* self
, val
* p0
) {
4323 val
* var
/* : nullable RuntimeVariable */;
4324 val
* var_v
/* var v: AbstractCompilerVisitor */;
4325 val
* var1
/* : nullable StaticFrame */;
4326 val
* var3
/* : nullable StaticFrame */;
4327 val
* var4
/* : Array[RuntimeVariable] */;
4328 val
* var6
/* : Array[RuntimeVariable] */;
4329 val
* var7
/* : nullable Object */;
4330 val
* var_recv
/* var recv: RuntimeVariable */;
4331 val
* var8
/* : nullable CallSite */;
4332 val
* var10
/* : nullable CallSite */;
4333 val
* var_callsite
/* var callsite: nullable CallSite */;
4334 val
* var11
/* : null */;
4335 short int var12
/* : Bool */;
4336 short int var13
/* : Bool */;
4337 val
* var_other
/* var other: nullable Object */;
4338 short int var15
/* : Bool */;
4339 short int var16
/* : Bool */;
4340 val
* var17
/* : MMethodDef */;
4341 val
* var19
/* : MMethodDef */;
4342 val
* var20
/* : AExprs */;
4343 val
* var22
/* : AExprs */;
4344 val
* var23
/* : ANodes[AExpr] */;
4345 val
* var25
/* : ANodes[AExpr] */;
4346 val
* var26
/* : Array[RuntimeVariable] */;
4347 val
* var_args
/* var args: Array[RuntimeVariable] */;
4348 long var27
/* : Int */;
4349 long var29
/* : Int */;
4350 long var30
/* : Int */;
4351 short int var31
/* : Bool */;
4352 short int var33
/* : Bool */;
4353 long var34
/* : Int */;
4354 long var_i
/* var i: Int */;
4355 val
* var35
/* : MSignature */;
4356 val
* var37
/* : MSignature */;
4357 long var38
/* : Int */;
4358 long var_
/* var : Int */;
4359 short int var39
/* : Bool */;
4360 short int var41
/* : Bool */;
4363 const char* var_class_name
;
4364 short int var42
/* : Bool */;
4365 val
* var43
/* : nullable StaticFrame */;
4366 val
* var45
/* : nullable StaticFrame */;
4367 val
* var46
/* : Array[RuntimeVariable] */;
4368 val
* var48
/* : Array[RuntimeVariable] */;
4369 long var49
/* : Int */;
4370 long var50
/* : Int */;
4371 short int var52
/* : Bool */;
4374 const char* var_class_name55
;
4375 long var56
/* : Int */;
4376 val
* var57
/* : nullable Object */;
4377 long var58
/* : Int */;
4378 long var59
/* : Int */;
4379 val
* var60
/* : nullable RuntimeVariable */;
4380 val
* var_res
/* var res: nullable RuntimeVariable */;
4381 val
* var61
/* : nullable MMethodDef */;
4382 val
* var63
/* : nullable MMethodDef */;
4383 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
4384 val
* var64
/* : AExprs */;
4385 val
* var66
/* : AExprs */;
4386 val
* var67
/* : ANodes[AExpr] */;
4387 val
* var69
/* : ANodes[AExpr] */;
4388 val
* var70
/* : Array[RuntimeVariable] */;
4389 val
* var_args71
/* var args: Array[RuntimeVariable] */;
4390 long var72
/* : Int */;
4391 long var74
/* : Int */;
4392 long var75
/* : Int */;
4393 short int var76
/* : Bool */;
4394 short int var78
/* : Bool */;
4395 val
* var79
/* : nullable StaticFrame */;
4396 val
* var81
/* : nullable StaticFrame */;
4397 val
* var82
/* : Array[RuntimeVariable] */;
4398 val
* var84
/* : Array[RuntimeVariable] */;
4399 val
* var85
/* : MType */;
4400 val
* var87
/* : MType */;
4401 short int var88
/* : Bool */;
4404 const char* var_class_name91
;
4405 val
* var92
/* : nullable RuntimeVariable */;
4408 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4409 var3
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4415 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2871);
4419 { /* Inline abstract_compiler#StaticFrame#arguments (var1) on <var1:nullable StaticFrame> */
4420 if (unlikely(var1
== NULL
)) {
4421 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4425 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var1:nullable StaticFrame> */
4426 if (unlikely(var6
== NULL
)) {
4427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4428 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4436 var7
= standard___standard__SequenceRead___Collection__first(var4
);
4440 { /* Inline typing#ASuperExpr#callsite (self) on <self:ASuperExpr> */
4441 var10
= self
->attrs
[COLOR_nit__typing__ASuperExpr___callsite
].val
; /* _callsite on <self:ASuperExpr> */
4446 var_callsite
= var8
;
4448 if (var_callsite
== NULL
) {
4449 var12
= 0; /* is null */
4451 var12
= 1; /* arg is null and recv is not */
4454 { /* Inline kernel#Object#!= (var_callsite,var11) on <var_callsite:nullable CallSite> */
4457 var15
= ((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)>*/;
4462 RET_LABEL14
:(void)0;
4468 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
4469 var19
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:nullable CallSite(CallSite)> */
4470 if (unlikely(var19
== NULL
)) {
4471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
4472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
4476 RET_LABEL18
:(void)0;
4480 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
4481 var22
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
4482 if (unlikely(var22
== NULL
)) {
4483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2051);
4488 RET_LABEL21
:(void)0;
4492 { /* Inline parser_nodes#AExprs#n_exprs (var20) on <var20:AExprs> */
4493 var25
= var20
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var20:AExprs> */
4494 if (unlikely(var25
== NULL
)) {
4495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
4500 RET_LABEL24
:(void)0;
4504 var26
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var17
, var_recv
, var23
);
4508 { /* Inline array#AbstractArrayRead#length (var_args) on <var_args:Array[RuntimeVariable]> */
4509 var29
= var_args
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_args:Array[RuntimeVariable]> */
4511 RET_LABEL28
:(void)0;
4516 { /* Inline kernel#Int#== (var27,var30) on <var27:Int> */
4517 var33
= var27
== var30
;
4520 RET_LABEL32
:(void)0;
4527 { /* Inline typing#CallSite#msignature (var_callsite) on <var_callsite:nullable CallSite(CallSite)> */
4528 var37
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___msignature
].val
; /* _msignature on <var_callsite:nullable CallSite(CallSite)> */
4529 if (unlikely(var37
== NULL
)) {
4530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _msignature");
4531 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 494);
4535 RET_LABEL36
:(void)0;
4539 var38
= nit___nit__MSignature___arity(var35
);
4544 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
4545 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
4546 /* <var_:Int> isa OTHER */
4547 var41
= 1; /* easy <var_:Int> isa OTHER*/
4548 if (unlikely(!var41
)) {
4549 var_class_name
= type_standard__Int
.name
;
4550 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4551 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
4554 var42
= var_i
< var_
;
4557 RET_LABEL40
:(void)0;
4562 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4563 var45
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4565 RET_LABEL44
:(void)0;
4568 if (var43
== NULL
) {
4569 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2880);
4573 { /* Inline abstract_compiler#StaticFrame#arguments (var43) on <var43:nullable StaticFrame> */
4574 if (unlikely(var43
== NULL
)) {
4575 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4579 var48
= var43
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var43:nullable StaticFrame> */
4580 if (unlikely(var48
== NULL
)) {
4581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4582 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4586 RET_LABEL47
:(void)0;
4591 { /* Inline kernel#Int#+ (var_i,var49) on <var_i:Int> */
4592 /* Covariant cast for argument 0 (i) <var49:Int> isa OTHER */
4593 /* <var49:Int> isa OTHER */
4594 var52
= 1; /* easy <var49:Int> isa OTHER*/
4595 if (unlikely(!var52
)) {
4596 var_class_name55
= type_standard__Int
.name
;
4597 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
4598 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4601 var56
= var_i
+ var49
;
4604 RET_LABEL51
:(void)0;
4608 var57
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var46
, var50
);
4611 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var57
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
4615 var59
= standard___standard__Int___Discrete__successor(var_i
, var58
);
4622 BREAK_label
: (void)0;
4626 var60
= ((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>*/;
4634 { /* Inline typing#ASuperExpr#mpropdef (self) on <self:ASuperExpr> */
4635 var63
= self
->attrs
[COLOR_nit__typing__ASuperExpr___mpropdef
].val
; /* _mpropdef on <self:ASuperExpr> */
4637 RET_LABEL62
:(void)0;
4640 if (unlikely(var61
== NULL
)) {
4641 PRINT_ERROR("Runtime error: %s", "Cast failed");
4642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2888);
4645 var_mpropdef
= var61
;
4647 { /* Inline parser_nodes#ASuperExpr#n_args (self) on <self:ASuperExpr> */
4648 var66
= self
->attrs
[COLOR_nit__parser_nodes__ASuperExpr___n_args
].val
; /* _n_args on <self:ASuperExpr> */
4649 if (unlikely(var66
== NULL
)) {
4650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2051);
4655 RET_LABEL65
:(void)0;
4659 { /* Inline parser_nodes#AExprs#n_exprs (var64) on <var64:AExprs> */
4660 var69
= var64
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var64:AExprs> */
4661 if (unlikely(var69
== NULL
)) {
4662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
4667 RET_LABEL68
:(void)0;
4671 var70
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var_mpropdef
, var_recv
, var67
);
4675 { /* Inline array#AbstractArrayRead#length (var_args71) on <var_args71:Array[RuntimeVariable]> */
4676 var74
= var_args71
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_args71:Array[RuntimeVariable]> */
4678 RET_LABEL73
:(void)0;
4683 { /* Inline kernel#Int#== (var72,var75) on <var72:Int> */
4684 var78
= var72
== var75
;
4687 RET_LABEL77
:(void)0;
4692 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (var_v) on <var_v:AbstractCompilerVisitor> */
4693 var81
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <var_v:AbstractCompilerVisitor> */
4695 RET_LABEL80
:(void)0;
4698 if (var79
== NULL
) {
4699 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4700 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2891);
4703 { /* Inline abstract_compiler#StaticFrame#arguments (var79) on <var79:nullable StaticFrame> */
4704 if (unlikely(var79
== NULL
)) {
4705 PRINT_ERROR("Runtime error: %s", "Receiver is null");
4706 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4709 var84
= var79
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var79:nullable StaticFrame> */
4710 if (unlikely(var84
== NULL
)) {
4711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
4716 RET_LABEL83
:(void)0;
4723 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
4724 var87
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
4725 if (unlikely(var87
== NULL
)) {
4726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4731 RET_LABEL86
:(void)0;
4734 /* <var85:MType> isa MClassType */
4735 cltype89
= type_nit__MClassType
.color
;
4736 idtype90
= type_nit__MClassType
.id
;
4737 if(cltype89
>= var85
->type
->table_size
) {
4740 var88
= var85
->type
->type_table
[cltype89
] == idtype90
;
4742 if (unlikely(!var88
)) {
4743 var_class_name91
= var85
== NULL ?
"null" : var85
->type
->name
;
4744 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name91
);
4745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2895);
4749 var92
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__supercall(var_v
, var_mpropdef
, var85
, var_args71
);
4756 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4757 val
* nit__abstract_compiler___ANewExpr___AExpr__expr(val
* self
, val
* p0
) {
4758 val
* var
/* : nullable RuntimeVariable */;
4759 val
* var_v
/* var v: AbstractCompilerVisitor */;
4760 val
* var1
/* : nullable MClassType */;
4761 val
* var3
/* : nullable MClassType */;
4762 val
* var_mtype
/* var mtype: nullable MClassType */;
4763 val
* var4
/* : null */;
4764 short int var5
/* : Bool */;
4765 short int var6
/* : Bool */;
4766 val
* var_other
/* var other: nullable Object */;
4767 short int var8
/* : Bool */;
4768 short int var9
/* : Bool */;
4769 val
* var10
/* : MClass */;
4770 val
* var12
/* : MClass */;
4771 val
* var13
/* : String */;
4772 val
* var15
/* : String */;
4773 static val
* varonce
;
4774 val
* var16
/* : String */;
4775 char* var17
/* : NativeString */;
4776 long var18
/* : Int */;
4777 val
* var19
/* : FlatString */;
4778 short int var20
/* : Bool */;
4779 val
* var21
/* : AExprs */;
4780 val
* var23
/* : AExprs */;
4781 val
* var24
/* : ANodes[AExpr] */;
4782 val
* var26
/* : ANodes[AExpr] */;
4783 long var27
/* : Int */;
4784 long var28
/* : Int */;
4785 short int var29
/* : Bool */;
4786 short int var31
/* : Bool */;
4787 val
* var32
/* : AExprs */;
4788 val
* var34
/* : AExprs */;
4789 val
* var35
/* : ANodes[AExpr] */;
4790 val
* var37
/* : ANodes[AExpr] */;
4791 val
* var38
/* : nullable Object */;
4792 val
* var39
/* : null */;
4793 val
* var40
/* : RuntimeVariable */;
4794 val
* var_l
/* var l: RuntimeVariable */;
4795 short int var41
/* : Bool */;
4798 val
* var42
/* : Array[MType] */;
4799 val
* var44
/* : Array[MType] */;
4800 val
* var45
/* : nullable Object */;
4801 val
* var_elttype
/* var elttype: MType */;
4802 val
* var46
/* : RuntimeVariable */;
4803 val
* var47
/* : RuntimeVariable */;
4804 val
* var_recv
/* var recv: RuntimeVariable */;
4805 val
* var48
/* : nullable CallSite */;
4806 val
* var50
/* : nullable CallSite */;
4807 val
* var_callsite
/* var callsite: CallSite */;
4808 val
* var51
/* : MMethodDef */;
4809 val
* var53
/* : MMethodDef */;
4810 val
* var54
/* : AExprs */;
4811 val
* var56
/* : AExprs */;
4812 val
* var57
/* : ANodes[AExpr] */;
4813 val
* var59
/* : ANodes[AExpr] */;
4814 val
* var60
/* : Array[RuntimeVariable] */;
4815 val
* var_args
/* var args: Array[RuntimeVariable] */;
4816 val
* var61
/* : nullable RuntimeVariable */;
4817 val
* var_res2
/* var res2: nullable RuntimeVariable */;
4818 val
* var62
/* : null */;
4819 short int var63
/* : Bool */;
4820 short int var64
/* : Bool */;
4821 short int var66
/* : Bool */;
4822 short int var67
/* : Bool */;
4825 { /* Inline typing#ANewExpr#recvtype (self) on <self:ANewExpr> */
4826 var3
= self
->attrs
[COLOR_nit__typing__ANewExpr___recvtype
].val
; /* _recvtype on <self:ANewExpr> */
4833 if (var_mtype
== NULL
) {
4834 var5
= 0; /* is null */
4836 var5
= 1; /* arg is null and recv is not */
4839 { /* Inline kernel#Object#!= (var_mtype,var4) on <var_mtype:nullable MClassType> */
4842 var8
= ((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)>*/;
4851 if (unlikely(!var5
)) {
4852 PRINT_ERROR("Runtime error: %s", "Assert failed");
4853 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2903);
4857 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:nullable MClassType(MClassType)> */
4858 var12
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:nullable MClassType(MClassType)> */
4859 if (unlikely(var12
== NULL
)) {
4860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
4865 RET_LABEL11
:(void)0;
4869 { /* Inline model#MClass#name (var10) on <var10:MClass> */
4870 var15
= var10
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var10:MClass> */
4871 if (unlikely(var15
== NULL
)) {
4872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4873 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
4877 RET_LABEL14
:(void)0;
4883 var17
= "NativeArray";
4885 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
4890 var20
= ((short int (*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var13
, var16
) /* == on <var13:String>*/;
4894 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
4895 var23
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
4896 if (unlikely(var23
== NULL
)) {
4897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1968);
4902 RET_LABEL22
:(void)0;
4906 { /* Inline parser_nodes#AExprs#n_exprs (var21) on <var21:AExprs> */
4907 var26
= var21
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var21:AExprs> */
4908 if (unlikely(var26
== NULL
)) {
4909 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
4914 RET_LABEL25
:(void)0;
4918 var27
= nit___nit__ANodes___standard__abstract_collection__Collection__length(var24
);
4922 { /* Inline kernel#Int#== (var27,var28) on <var27:Int> */
4923 var31
= var27
== var28
;
4926 RET_LABEL30
:(void)0;
4929 if (unlikely(!var29
)) {
4930 PRINT_ERROR("Runtime error: %s", "Assert failed");
4931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2906);
4935 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
4936 var34
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
4937 if (unlikely(var34
== NULL
)) {
4938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
4939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1968);
4943 RET_LABEL33
:(void)0;
4947 { /* Inline parser_nodes#AExprs#n_exprs (var32) on <var32:AExprs> */
4948 var37
= var32
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var32:AExprs> */
4949 if (unlikely(var37
== NULL
)) {
4950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
4951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
4955 RET_LABEL36
:(void)0;
4959 var38
= standard___standard__SequenceRead___Collection__first(var35
);
4963 var40
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var38
, var39
);
4966 /* <var_mtype:nullable MClassType(MClassType)> isa MGenericType */
4967 cltype
= type_nit__MGenericType
.color
;
4968 idtype
= type_nit__MGenericType
.id
;
4969 if(cltype
>= var_mtype
->type
->table_size
) {
4972 var41
= var_mtype
->type
->type_table
[cltype
] == idtype
;
4974 if (unlikely(!var41
)) {
4975 PRINT_ERROR("Runtime error: %s", "Assert failed");
4976 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2908);
4980 { /* Inline model#MGenericType#arguments (var_mtype) on <var_mtype:nullable MClassType(MGenericType)> */
4981 var44
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___arguments
].val
; /* _arguments on <var_mtype:nullable MClassType(MGenericType)> */
4982 if (unlikely(var44
== NULL
)) {
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1164);
4988 RET_LABEL43
:(void)0;
4992 var45
= standard___standard__SequenceRead___Collection__first(var42
);
4994 var_elttype
= var45
;
4996 var46
= ((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>*/;
5003 var47
= nit___nit__AbstractCompilerVisitor___init_instance_or_extern(var_v
, var_mtype
);
5007 { /* Inline typing#ANewExpr#callsite (self) on <self:ANewExpr> */
5008 var50
= self
->attrs
[COLOR_nit__typing__ANewExpr___callsite
].val
; /* _callsite on <self:ANewExpr> */
5010 RET_LABEL49
:(void)0;
5013 if (unlikely(var48
== NULL
)) {
5014 PRINT_ERROR("Runtime error: %s", "Cast failed");
5015 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2915);
5018 var_callsite
= var48
;
5020 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
5021 var53
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
5022 if (unlikely(var53
== NULL
)) {
5023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
5024 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
5028 RET_LABEL52
:(void)0;
5032 { /* Inline parser_nodes#ANewExpr#n_args (self) on <self:ANewExpr> */
5033 var56
= self
->attrs
[COLOR_nit__parser_nodes__ANewExpr___n_args
].val
; /* _n_args on <self:ANewExpr> */
5034 if (unlikely(var56
== NULL
)) {
5035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_args");
5036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1968);
5040 RET_LABEL55
:(void)0;
5044 { /* Inline parser_nodes#AExprs#n_exprs (var54) on <var54:AExprs> */
5045 var59
= var54
->attrs
[COLOR_nit__parser_nodes__AExprs___n_exprs
].val
; /* _n_exprs on <var54:AExprs> */
5046 if (unlikely(var59
== NULL
)) {
5047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_exprs");
5048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2408);
5052 RET_LABEL58
:(void)0;
5056 var60
= nit___nit__AbstractCompilerVisitor___varargize(var_v
, var51
, var_recv
, var57
);
5060 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>*/;
5064 if (var_res2
== NULL
) {
5065 var63
= 0; /* is null */
5067 var63
= 1; /* arg is null and recv is not */
5070 { /* Inline kernel#Object#!= (var_res2,var62) on <var_res2:nullable RuntimeVariable> */
5073 var66
= ((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)>*/;
5078 RET_LABEL65
:(void)0;
5092 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5093 val
* nit__abstract_compiler___AAttrExpr___AExpr__expr(val
* self
, val
* p0
) {
5094 val
* var
/* : nullable RuntimeVariable */;
5095 val
* var_v
/* var v: AbstractCompilerVisitor */;
5096 val
* var1
/* : AExpr */;
5097 val
* var3
/* : AExpr */;
5098 val
* var4
/* : null */;
5099 val
* var5
/* : RuntimeVariable */;
5100 val
* var_recv
/* var recv: RuntimeVariable */;
5101 val
* var6
/* : nullable MAttribute */;
5102 val
* var8
/* : nullable MAttribute */;
5103 val
* var_mproperty
/* var mproperty: MAttribute */;
5104 val
* var9
/* : RuntimeVariable */;
5107 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrExpr> */
5108 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrExpr> */
5109 if (unlikely(var3
== NULL
)) {
5110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1976);
5120 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
5124 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrExpr> */
5125 var8
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrExpr> */
5130 if (unlikely(var6
== NULL
)) {
5131 PRINT_ERROR("Runtime error: %s", "Cast failed");
5132 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2930);
5135 var_mproperty
= var6
;
5137 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
5144 /* method abstract_compiler#AAttrAssignExpr#expr for (self: AAttrAssignExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5145 val
* nit__abstract_compiler___AAttrAssignExpr___AExpr__expr(val
* self
, val
* p0
) {
5146 val
* var
/* : nullable RuntimeVariable */;
5147 val
* var_v
/* var v: AbstractCompilerVisitor */;
5148 val
* var1
/* : AExpr */;
5149 val
* var3
/* : AExpr */;
5150 val
* var4
/* : null */;
5151 val
* var5
/* : RuntimeVariable */;
5152 val
* var_recv
/* var recv: RuntimeVariable */;
5153 val
* var6
/* : AExpr */;
5154 val
* var8
/* : AExpr */;
5155 val
* var9
/* : null */;
5156 val
* var10
/* : RuntimeVariable */;
5157 val
* var_i
/* var i: RuntimeVariable */;
5158 val
* var11
/* : nullable MAttribute */;
5159 val
* var13
/* : nullable MAttribute */;
5160 val
* var_mproperty
/* var mproperty: MAttribute */;
5163 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrAssignExpr> */
5164 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrAssignExpr> */
5165 if (unlikely(var3
== NULL
)) {
5166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5167 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1976);
5176 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
5180 { /* Inline parser_nodes#AAssignFormExpr#n_value (self) on <self:AAttrAssignExpr> */
5181 var8
= self
->attrs
[COLOR_nit__parser_nodes__AAssignFormExpr___n_value
].val
; /* _n_value on <self:AAttrAssignExpr> */
5182 if (unlikely(var8
== NULL
)) {
5183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1772);
5193 var10
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var6
, var9
);
5197 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrAssignExpr> */
5198 var13
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrAssignExpr> */
5200 RET_LABEL12
:(void)0;
5203 if (unlikely(var11
== NULL
)) {
5204 PRINT_ERROR("Runtime error: %s", "Cast failed");
5205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2940);
5208 var_mproperty
= var11
;
5210 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>*/
5217 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
5218 void nit__abstract_compiler___AAttrReassignExpr___AExpr__stmt(val
* self
, val
* p0
) {
5219 val
* var_v
/* var v: AbstractCompilerVisitor */;
5220 val
* var
/* : AExpr */;
5221 val
* var2
/* : AExpr */;
5222 val
* var3
/* : null */;
5223 val
* var4
/* : RuntimeVariable */;
5224 val
* var_recv
/* var recv: RuntimeVariable */;
5225 val
* var5
/* : AExpr */;
5226 val
* var7
/* : AExpr */;
5227 val
* var8
/* : null */;
5228 val
* var9
/* : RuntimeVariable */;
5229 val
* var_value
/* var value: RuntimeVariable */;
5230 val
* var10
/* : nullable MAttribute */;
5231 val
* var12
/* : nullable MAttribute */;
5232 val
* var_mproperty
/* var mproperty: MAttribute */;
5233 val
* var13
/* : RuntimeVariable */;
5234 val
* var_attr
/* var attr: RuntimeVariable */;
5235 val
* var14
/* : nullable CallSite */;
5236 val
* var16
/* : nullable CallSite */;
5237 val
* var17
/* : Array[RuntimeVariable] */;
5238 long var18
/* : Int */;
5239 val
* var_
/* var : Array[RuntimeVariable] */;
5240 val
* var19
/* : nullable RuntimeVariable */;
5241 val
* var_res
/* var res: nullable RuntimeVariable */;
5242 val
* var20
/* : null */;
5243 short int var21
/* : Bool */;
5244 short int var22
/* : Bool */;
5245 val
* var_other
/* var other: nullable Object */;
5246 short int var24
/* : Bool */;
5247 short int var25
/* : Bool */;
5250 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AAttrReassignExpr> */
5251 var2
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AAttrReassignExpr> */
5252 if (unlikely(var2
== NULL
)) {
5253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1976);
5263 var4
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var
, var3
);
5267 { /* Inline parser_nodes#AReassignFormExpr#n_value (self) on <self:AAttrReassignExpr> */
5268 var7
= self
->attrs
[COLOR_nit__parser_nodes__AReassignFormExpr___n_value
].val
; /* _n_value on <self:AAttrReassignExpr> */
5269 if (unlikely(var7
== NULL
)) {
5270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_value");
5271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1783);
5280 var9
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var5
, var8
);
5284 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AAttrReassignExpr> */
5285 var12
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AAttrReassignExpr> */
5287 RET_LABEL11
:(void)0;
5290 if (unlikely(var10
== NULL
)) {
5291 PRINT_ERROR("Runtime error: %s", "Cast failed");
5292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2951);
5295 var_mproperty
= var10
;
5297 var13
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__read_attribute(var_v
, var_mproperty
, var_recv
);
5301 { /* Inline typing#AReassignFormExpr#reassign_callsite (self) on <self:AAttrReassignExpr> */
5302 var16
= self
->attrs
[COLOR_nit__typing__AReassignFormExpr___reassign_callsite
].val
; /* _reassign_callsite on <self:AAttrReassignExpr> */
5304 RET_LABEL15
:(void)0;
5307 if (unlikely(var14
== NULL
)) {
5308 PRINT_ERROR("Runtime error: %s", "Cast failed");
5309 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2953);
5312 var17
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5315 standard___standard__Array___with_capacity(var17
, var18
); /* Direct call array#Array#with_capacity on <var17:Array[RuntimeVariable]>*/
5319 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_attr
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5322 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_value
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
5325 var19
= ((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>*/;
5329 if (var_res
== NULL
) {
5330 var21
= 0; /* is null */
5332 var21
= 1; /* arg is null and recv is not */
5335 { /* Inline kernel#Object#!= (var_res,var20) on <var_res:nullable RuntimeVariable> */
5338 var24
= ((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)>*/;
5343 RET_LABEL23
:(void)0;
5347 if (unlikely(!var21
)) {
5348 PRINT_ERROR("Runtime error: %s", "Assert failed");
5349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2954);
5353 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>*/
5357 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5358 val
* nit__abstract_compiler___AIssetAttrExpr___AExpr__expr(val
* self
, val
* p0
) {
5359 val
* var
/* : nullable RuntimeVariable */;
5360 val
* var_v
/* var v: AbstractCompilerVisitor */;
5361 val
* var1
/* : AExpr */;
5362 val
* var3
/* : AExpr */;
5363 val
* var4
/* : null */;
5364 val
* var5
/* : RuntimeVariable */;
5365 val
* var_recv
/* var recv: RuntimeVariable */;
5366 val
* var6
/* : nullable MAttribute */;
5367 val
* var8
/* : nullable MAttribute */;
5368 val
* var_mproperty
/* var mproperty: MAttribute */;
5369 val
* var9
/* : RuntimeVariable */;
5372 { /* Inline parser_nodes#AAttrFormExpr#n_expr (self) on <self:AIssetAttrExpr> */
5373 var3
= self
->attrs
[COLOR_nit__parser_nodes__AAttrFormExpr___n_expr
].val
; /* _n_expr on <self:AIssetAttrExpr> */
5374 if (unlikely(var3
== NULL
)) {
5375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
5376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 1976);
5385 var5
= nit___nit__AbstractCompilerVisitor___expr(var_v
, var1
, var4
);
5389 { /* Inline typing#AAttrFormExpr#mproperty (self) on <self:AIssetAttrExpr> */
5390 var8
= self
->attrs
[COLOR_nit__typing__AAttrFormExpr___mproperty
].val
; /* _mproperty on <self:AIssetAttrExpr> */
5395 if (unlikely(var6
== NULL
)) {
5396 PRINT_ERROR("Runtime error: %s", "Cast failed");
5397 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 2963);
5400 var_mproperty
= var6
;
5402 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__isset_attribute(var_v
, var_mproperty
, var_recv
);
5409 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
5410 void nit__abstract_compiler___ADebugTypeExpr___AExpr__stmt(val
* self
, val
* p0
) {
5411 val
* var_v
/* var v: AbstractCompilerVisitor */;
5415 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
5416 val
* nit__abstract_compiler___MModule___properties(val
* self
, val
* p0
) {
5417 val
* var
/* : Set[MProperty] */;
5418 val
* var_mclass
/* var mclass: MClass */;
5419 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5420 val
* var3
/* : Map[MClass, Set[MProperty]] */;
5421 short int var4
/* : Bool */;
5422 short int var5
/* : Bool */;
5423 val
* var6
/* : HashSet[MProperty] */;
5424 val
* var_properties
/* var properties: HashSet[MProperty] */;
5425 val
* var7
/* : Array[MClass] */;
5426 val
* var_parents
/* var parents: Array[MClass] */;
5427 val
* var8
/* : POSet[MClass] */;
5428 short int var9
/* : Bool */;
5429 val
* var10
/* : POSetElement[MClass] */;
5430 val
* var11
/* : Collection[nullable Object] */;
5431 val
* var_
/* var : Array[MClass] */;
5432 val
* var12
/* : ArrayIterator[nullable Object] */;
5433 val
* var_13
/* var : ArrayIterator[MClass] */;
5434 short int var14
/* : Bool */;
5435 val
* var15
/* : nullable Object */;
5436 val
* var_parent
/* var parent: MClass */;
5437 val
* var16
/* : Set[MProperty] */;
5438 val
* var18
/* : Array[MClassDef] */;
5439 val
* var20
/* : Array[MClassDef] */;
5440 val
* var_21
/* var : Array[MClassDef] */;
5441 val
* var22
/* : ArrayIterator[nullable Object] */;
5442 val
* var_23
/* var : ArrayIterator[MClassDef] */;
5443 short int var24
/* : Bool */;
5444 val
* var25
/* : nullable Object */;
5445 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5446 val
* var26
/* : POSetElement[MModule] */;
5447 val
* var28
/* : POSetElement[MModule] */;
5448 val
* var29
/* : MModule */;
5449 val
* var31
/* : MModule */;
5450 short int var32
/* : Bool */;
5451 short int var33
/* : Bool */;
5452 val
* var35
/* : Array[MProperty] */;
5453 val
* var37
/* : Array[MProperty] */;
5454 val
* var_38
/* var : Array[MProperty] */;
5455 val
* var39
/* : ArrayIterator[nullable Object] */;
5456 val
* var_40
/* var : ArrayIterator[MProperty] */;
5457 short int var41
/* : Bool */;
5458 val
* var42
/* : nullable Object */;
5459 val
* var_mprop
/* var mprop: MProperty */;
5460 val
* var47
/* : Map[MClass, Set[MProperty]] */;
5461 val
* var49
/* : Map[MClass, Set[MProperty]] */;
5462 val
* var50
/* : Map[MClass, Set[MProperty]] */;
5463 val
* var52
/* : Map[MClass, Set[MProperty]] */;
5464 val
* var53
/* : nullable Object */;
5467 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
5468 var3
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
5469 if (unlikely(var3
== NULL
)) {
5470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
5471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3008);
5479 var4
= standard___standard__MapRead___has_key(var1
, var_mclass
);
5483 var6
= NEW_standard__HashSet(&type_standard__HashSet__nit__MProperty
);
5485 standard___standard__HashSet___standard__kernel__Object__init(var6
); /* Direct call hash_collection#HashSet#init on <var6:HashSet[MProperty]>*/
5487 var_properties
= var6
;
5488 var7
= NEW_standard__Array(&type_standard__Array__nit__MClass
);
5490 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[MClass]>*/
5494 var8
= nit__model___MModule___flatten_mclass_hierarchy(self
);
5497 var9
= poset___poset__POSet___standard__abstract_collection__Collection__has(var8
, var_mclass
);
5501 var10
= nit___nit__MClass___in_hierarchy(var_mclass
, self
);
5504 var11
= poset___poset__POSetElement___direct_greaters(var10
);
5507 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_parents
, var11
); /* Direct call array#Array#add_all on <var_parents:Array[MClass]>*/
5513 var12
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
5518 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_13
);
5522 var15
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_13
);
5526 var16
= nit__abstract_compiler___MModule___properties(self
, var_parent
);
5529 standard___standard__SimpleCollection___add_all(var_properties
, var16
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_properties:HashSet[MProperty]>*/
5532 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_13
); /* Direct call array#ArrayIterator#next on <var_13:ArrayIterator[MClass]>*/
5538 BREAK_label
: (void)0;
5540 { /* Inline abstract_collection#Iterator#finish (var_13) on <var_13:ArrayIterator[MClass]> */
5541 RET_LABEL17
:(void)0;
5545 { /* Inline model#MClass#mclassdefs (var_mclass) on <var_mclass:MClass> */
5546 var20
= var_mclass
->attrs
[COLOR_nit__model__MClass___mclassdefs
].val
; /* _mclassdefs on <var_mclass:MClass> */
5547 if (unlikely(var20
== NULL
)) {
5548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdefs");
5549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 417);
5553 RET_LABEL19
:(void)0;
5558 var22
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_21
);
5563 var24
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_23
);
5567 var25
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_23
);
5569 var_mclassdef
= var25
;
5571 { /* Inline mmodule#MModule#in_importation (self) on <self:MModule> */
5572 var28
= self
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <self:MModule> */
5573 if (unlikely(var28
== NULL
)) {
5574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5579 RET_LABEL27
:(void)0;
5583 { /* Inline model#MClassDef#mmodule (var_mclassdef) on <var_mclassdef:MClassDef> */
5584 var31
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_mclassdef:MClassDef> */
5585 if (unlikely(var31
== NULL
)) {
5586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
5587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
5591 RET_LABEL30
:(void)0;
5595 var32
= poset___poset__POSetElement____60d_61d(var26
, var29
);
5603 { /* Inline model#MClassDef#intro_mproperties (var_mclassdef) on <var_mclassdef:MClassDef> */
5604 var37
= var_mclassdef
->attrs
[COLOR_nit__model__MClassDef___intro_mproperties
].val
; /* _intro_mproperties on <var_mclassdef:MClassDef> */
5605 if (unlikely(var37
== NULL
)) {
5606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mproperties");
5607 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 620);
5611 RET_LABEL36
:(void)0;
5616 var39
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_38
);
5621 var41
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_40
);
5625 var42
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_40
);
5629 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_properties
, var_mprop
); /* Direct call hash_collection#HashSet#add on <var_properties:HashSet[MProperty]>*/
5632 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_40
); /* Direct call array#ArrayIterator#next on <var_40:ArrayIterator[MProperty]>*/
5638 BREAK_label43
: (void)0;
5640 { /* Inline abstract_collection#Iterator#finish (var_40) on <var_40:ArrayIterator[MProperty]> */
5641 RET_LABEL44
:(void)0;
5644 BREAK_label34
: (void)0;
5646 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_23
); /* Direct call array#ArrayIterator#next on <var_23:ArrayIterator[MClassDef]>*/
5652 BREAK_label45
: (void)0;
5654 { /* Inline abstract_collection#Iterator#finish (var_23) on <var_23:ArrayIterator[MClassDef]> */
5655 RET_LABEL46
:(void)0;
5659 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
5660 var49
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
5661 if (unlikely(var49
== NULL
)) {
5662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
5663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3008);
5667 RET_LABEL48
:(void)0;
5671 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var47
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var47
, var_mclass
, var_properties
) /* []= on <var47:Map[MClass, Set[MProperty]]>*/;
5676 { /* Inline abstract_compiler#MModule#properties_cache (self) on <self:MModule> */
5677 var52
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
5678 if (unlikely(var52
== NULL
)) {
5679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
5680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3008);
5684 RET_LABEL51
:(void)0;
5688 var53
= ((val
* (*)(val
* self
, val
* p0
))(var50
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var50
, var_mclass
) /* [] on <var50:Map[MClass, Set[MProperty]]>*/;
5695 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
5696 val
* nit__abstract_compiler___MModule___properties_cache(val
* self
) {
5697 val
* var
/* : Map[MClass, Set[MProperty]] */;
5698 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5699 var1
= self
->attrs
[COLOR_nit__abstract_compiler__MModule___properties_cache
].val
; /* _properties_cache on <self:MModule> */
5700 if (unlikely(var1
== NULL
)) {
5701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _properties_cache");
5702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 3008);
5709 /* method abstract_compiler#MModule#finalize_ffi for (self: MModule, AbstractCompiler) */
5710 void nit__abstract_compiler___MModule___finalize_ffi(val
* self
, val
* p0
) {
5711 val
* var_c
/* var c: AbstractCompiler */;
5715 /* method abstract_compiler#MModule#collect_linker_libs for (self: MModule): nullable Array[String] */
5716 val
* nit__abstract_compiler___MModule___collect_linker_libs(val
* self
) {
5717 val
* var
/* : nullable Array[String] */;
5718 val
* var1
/* : null */;
5725 /* method abstract_compiler#Sys#main for (self: Sys) */
5726 void nit__abstract_compiler___standard__Sys___main(val
* self
) {
5727 val
* var
/* : ToolContext */;
5728 val
* var_toolcontext
/* var toolcontext: ToolContext */;
5729 static val
* varonce
;
5730 val
* var1
/* : String */;
5731 char* var2
/* : NativeString */;
5732 long var3
/* : Int */;
5733 val
* var4
/* : FlatString */;
5734 val
* var6
/* : Sequence[String] */;
5735 val
* var7
/* : Model */;
5736 val
* var_model
/* var model: Model */;
5737 val
* var9
/* : ModelBuilder */;
5738 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
5739 val
* var10
/* : OptionContext */;
5740 val
* var12
/* : OptionContext */;
5741 val
* var13
/* : Array[String] */;
5742 val
* var15
/* : Array[String] */;
5743 val
* var_arguments
/* var arguments: Array[String] */;
5744 short int var16
/* : Bool */;
5745 long var17
/* : Int */;
5746 long var19
/* : Int */;
5747 long var20
/* : Int */;
5748 short int var21
/* : Bool */;
5749 short int var23
/* : Bool */;
5752 const char* var_class_name
;
5753 short int var24
/* : Bool */;
5754 short int var_
/* var : Bool */;
5755 val
* var25
/* : OptionString */;
5756 val
* var27
/* : OptionString */;
5757 val
* var28
/* : nullable Object */;
5758 val
* var30
/* : nullable Object */;
5759 val
* var31
/* : null */;
5760 short int var32
/* : Bool */;
5761 short int var33
/* : Bool */;
5762 val
* var_other
/* var other: nullable Object */;
5763 short int var35
/* : Bool */;
5764 short int var36
/* : Bool */;
5765 static val
* varonce37
;
5766 val
* var38
/* : String */;
5767 char* var39
/* : NativeString */;
5768 long var40
/* : Int */;
5769 val
* var41
/* : FlatString */;
5770 long var42
/* : Int */;
5771 val
* var44
/* : Array[MModule] */;
5772 val
* var_mmodules
/* var mmodules: Array[MModule] */;
5773 short int var45
/* : Bool */;
5774 val
* var_46
/* var : Array[MModule] */;
5775 val
* var47
/* : ArrayIterator[nullable Object] */;
5776 val
* var_48
/* var : ArrayIterator[MModule] */;
5777 short int var49
/* : Bool */;
5778 val
* var50
/* : nullable Object */;
5779 val
* var_mmodule
/* var mmodule: MModule */;
5780 static val
* varonce51
;
5781 val
* var52
/* : String */;
5782 char* var53
/* : NativeString */;
5783 long var54
/* : Int */;
5784 val
* var55
/* : FlatString */;
5785 static val
* varonce56
;
5786 val
* var57
/* : String */;
5787 char* var58
/* : NativeString */;
5788 long var59
/* : Int */;
5789 val
* var60
/* : FlatString */;
5790 val
* var61
/* : Array[Object] */;
5791 long var62
/* : Int */;
5792 val
* var63
/* : NativeArray[Object] */;
5793 val
* var64
/* : String */;
5794 long var65
/* : Int */;
5795 val
* var66
/* : Array[MModule] */;
5796 long var67
/* : Int */;
5797 val
* var_68
/* var : Array[MModule] */;
5798 val
* var_ms
/* var ms: Array[MModule] */;
5799 var
= NEW_nit__ToolContext(&type_nit__ToolContext
);
5801 nit__separate_erasure_compiler___ToolContext___standard__kernel__Object__init(var
); /* Direct call separate_erasure_compiler#ToolContext#init on <var:ToolContext>*/
5803 var_toolcontext
= var
;
5807 var2
= "Usage: nitc [OPTION]... file.nit...\nCompiles Nit programs.";
5809 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
5814 { /* Inline toolcontext#ToolContext#tooldescription= (var_toolcontext,var1) on <var_toolcontext:ToolContext> */
5815 var_toolcontext
->attrs
[COLOR_nit__toolcontext__ToolContext___tooldescription
].val
= var1
; /* _tooldescription on <var_toolcontext:ToolContext> */
5820 var6
= standard__string___Object___args(self
);
5823 nit__nith___ToolContext___process_options(var_toolcontext
, var6
); /* Direct call nith#ToolContext#process_options on <var_toolcontext:ToolContext>*/
5825 var7
= NEW_nit__Model(&type_nit__Model
);
5827 { /* Inline kernel#Object#init (var7) on <var7:Model> */
5832 var9
= NEW_nit__ModelBuilder(&type_nit__ModelBuilder
);
5834 ((void (*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__modelbuilder_base__ModelBuilder__model_61d
]))(var9
, var_model
) /* model= on <var9:ModelBuilder>*/;
5837 ((void (*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__modelbuilder_base__ModelBuilder__toolcontext_61d
]))(var9
, var_toolcontext
) /* toolcontext= on <var9:ModelBuilder>*/;
5840 ((void (*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
) /* init on <var9:ModelBuilder>*/;
5842 var_modelbuilder
= var9
;
5844 { /* Inline toolcontext#ToolContext#option_context (var_toolcontext) on <var_toolcontext:ToolContext> */
5845 var12
= var_toolcontext
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <var_toolcontext:ToolContext> */
5846 if (unlikely(var12
== NULL
)) {
5847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
5848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
5852 RET_LABEL11
:(void)0;
5856 { /* Inline opts#OptionContext#rest (var10) on <var10:OptionContext> */
5857 var15
= var10
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <var10:OptionContext> */
5858 if (unlikely(var15
== NULL
)) {
5859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
5860 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 267);
5864 RET_LABEL14
:(void)0;
5867 var_arguments
= var13
;
5869 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[String]> */
5870 var19
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[String]> */
5872 RET_LABEL18
:(void)0;
5877 { /* Inline kernel#Int#> (var17,var20) on <var17:Int> */
5878 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
5879 /* <var20:Int> isa OTHER */
5880 var23
= 1; /* easy <var20:Int> isa OTHER*/
5881 if (unlikely(!var23
)) {
5882 var_class_name
= type_standard__Int
.name
;
5883 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5884 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
5887 var24
= var17
> var20
;
5890 RET_LABEL22
:(void)0;
5896 { /* Inline abstract_compiler#ToolContext#opt_output (var_toolcontext) on <var_toolcontext:ToolContext> */
5897 var27
= var_toolcontext
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var_toolcontext:ToolContext> */
5898 if (unlikely(var27
== NULL
)) {
5899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
5900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 29);
5904 RET_LABEL26
:(void)0;
5908 { /* Inline opts#Option#value (var25) on <var25:OptionString> */
5909 var30
= var25
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var25:OptionString> */
5911 RET_LABEL29
:(void)0;
5915 if (var28
== NULL
) {
5916 var32
= 0; /* is null */
5918 var32
= 1; /* arg is null and recv is not */
5921 { /* Inline kernel#Object#!= (var28,var31) on <var28:nullable Object(nullable String)> */
5924 var35
= ((short int (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var28
, var_other
) /* == on <var28:nullable String(String)>*/;
5929 RET_LABEL34
:(void)0;
5941 var39
= "Error: --output needs a single source file. Do you prefer --dir?";
5943 var41
= standard___standard__NativeString___to_s_with_length(var39
, var40
);
5948 standard__file___Object___print(self
, var38
); /* Direct call file#Object#print on <self:Sys>*/
5952 { /* Inline kernel#Object#exit (self,var42) on <self:Sys> */
5954 RET_LABEL43
:(void)0;
5960 var44
= nit__loader___ModelBuilder___parse(var_modelbuilder
, var_arguments
);
5962 var_mmodules
= var44
;
5964 var45
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_mmodules
);
5971 nit__modelbuilder___ModelBuilder___run_phases(var_modelbuilder
); /* Direct call modelbuilder#ModelBuilder#run_phases on <var_modelbuilder:ModelBuilder>*/
5973 var_46
= var_mmodules
;
5975 var47
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_46
);
5980 var49
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_48
);
5984 var50
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_48
);
5986 var_mmodule
= var50
;
5990 var53
= "*** PROCESS ";
5992 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
6001 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
6005 var61
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6006 { /* var61 = array_instance Array[Object] */
6008 var63
= NEW_standard__NativeArray(var62
, &type_standard__NativeArray__standard__Object
);
6009 ((struct instance_standard__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
6010 ((struct instance_standard__NativeArray
*)var63
)->values
[1] = (val
*) var_mmodule
;
6011 ((struct instance_standard__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
6013 ((void (*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
6017 var64
= ((val
* (*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
6021 nit___nit__ToolContext___info(var_toolcontext
, var64
, var65
); /* Direct call toolcontext#ToolContext#info on <var_toolcontext:ToolContext>*/
6023 var66
= NEW_standard__Array(&type_standard__Array__nit__MModule
);
6026 standard___standard__Array___with_capacity(var66
, var67
); /* Direct call array#Array#with_capacity on <var66:Array[MModule]>*/
6030 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_68
, var_mmodule
); /* Direct call array#AbstractArray#push on <var_68:Array[MModule]>*/
6034 nit__modelbuilder___ToolContext___run_global_phases(var_toolcontext
, var_ms
); /* Direct call modelbuilder#ToolContext#run_global_phases on <var_toolcontext:ToolContext>*/
6037 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_48
); /* Direct call array#ArrayIterator#next on <var_48:ArrayIterator[MModule]>*/
6043 BREAK_label
: (void)0;
6045 { /* Inline abstract_collection#Iterator#finish (var_48) on <var_48:ArrayIterator[MModule]> */
6046 RET_LABEL69
:(void)0;