1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AIfExpr#stmt for (self: AIfExpr, AbstractCompilerVisitor) */
3 void abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
5 val
* var
/* : AExpr */;
6 val
* var1
/* : RuntimeVariable */;
7 val
* var_cond
/* var cond: RuntimeVariable */;
9 val
* var2
/* : String */;
10 char* var3
/* : NativeString */;
11 long var4
/* : Int */;
12 val
* var5
/* : String */;
14 val
* var7
/* : String */;
15 char* var8
/* : NativeString */;
16 long var9
/* : Int */;
17 val
* var10
/* : String */;
18 val
* var11
/* : Array[Object] */;
19 long var12
/* : Int */;
20 val
* var13
/* : NativeArray[Object] */;
21 val
* var14
/* : String */;
22 val
* var15
/* : nullable AExpr */;
23 static val
* varonce16
;
24 val
* var17
/* : String */;
25 char* var18
/* : NativeString */;
26 long var19
/* : Int */;
27 val
* var20
/* : String */;
28 val
* var21
/* : nullable AExpr */;
29 static val
* varonce22
;
30 val
* var23
/* : String */;
31 char* var24
/* : NativeString */;
32 long var25
/* : Int */;
33 val
* var26
/* : String */;
35 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
36 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
43 var5
= string__NativeString__to_s_with_length(var3
, var4
);
52 var10
= string__NativeString__to_s_with_length(var8
, var9
);
56 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
57 { /* var11 = array_instance Array[Object] */
59 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
60 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var2
;
61 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var_cond
;
62 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
63 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
64 CHECK_NEW_array__Array(var11
);
66 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
67 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
68 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
69 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var15
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
75 var20
= string__NativeString__to_s_with_length(var18
, var19
);
79 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
80 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
81 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
87 var26
= string__NativeString__to_s_with_length(var24
, var25
);
91 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var23
) /* add on <var_v:AbstractCompilerVisitor>*/;
94 /* method abstract_compiler#AIfExpr#stmt for (self: Object, AbstractCompilerVisitor) */
95 void VIRTUAL_abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
96 abstract_compiler__AIfExpr__stmt(self
, p0
);
99 /* method abstract_compiler#AIfExpr#expr for (self: AIfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
100 val
* abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
101 val
* var
/* : nullable RuntimeVariable */;
102 val
* var_v
/* var v: AbstractCompilerVisitor */;
103 val
* var1
/* : nullable MType */;
104 val
* var2
/* : RuntimeVariable */;
105 val
* var_res
/* var res: RuntimeVariable */;
106 val
* var3
/* : AExpr */;
107 val
* var4
/* : RuntimeVariable */;
108 val
* var_cond
/* var cond: RuntimeVariable */;
110 val
* var5
/* : String */;
111 char* var6
/* : NativeString */;
112 long var7
/* : Int */;
113 val
* var8
/* : String */;
114 static val
* varonce9
;
115 val
* var10
/* : String */;
116 char* var11
/* : NativeString */;
117 long var12
/* : Int */;
118 val
* var13
/* : String */;
119 val
* var14
/* : Array[Object] */;
120 long var15
/* : Int */;
121 val
* var16
/* : NativeArray[Object] */;
122 val
* var17
/* : String */;
123 val
* var18
/* : nullable AExpr */;
124 val
* var19
/* : null */;
125 val
* var20
/* : RuntimeVariable */;
126 static val
* varonce21
;
127 val
* var22
/* : String */;
128 char* var23
/* : NativeString */;
129 long var24
/* : Int */;
130 val
* var25
/* : String */;
131 val
* var26
/* : nullable AExpr */;
132 val
* var27
/* : null */;
133 val
* var28
/* : RuntimeVariable */;
134 static val
* varonce29
;
135 val
* var30
/* : String */;
136 char* var31
/* : NativeString */;
137 long var32
/* : Int */;
138 val
* var33
/* : String */;
140 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfExpr>*/;
142 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1851);
145 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
147 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
148 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
155 var8
= string__NativeString__to_s_with_length(var6
, var7
);
164 var13
= string__NativeString__to_s_with_length(var11
, var12
);
168 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
169 { /* var14 = array_instance Array[Object] */
171 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
172 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
173 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
174 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
175 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
176 CHECK_NEW_array__Array(var14
);
178 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
179 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
180 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
182 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1854);
186 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
187 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
193 var25
= string__NativeString__to_s_with_length(var23
, var24
);
197 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
198 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
200 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1856);
204 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
205 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
211 var33
= string__NativeString__to_s_with_length(var31
, var32
);
215 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
221 /* method abstract_compiler#AIfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
222 val
* VIRTUAL_abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
223 val
* var
/* : nullable RuntimeVariable */;
224 val
* var1
/* : nullable RuntimeVariable */;
225 var1
= abstract_compiler__AIfExpr__expr(self
, p0
);
230 /* method abstract_compiler#AIfexprExpr#expr for (self: AIfexprExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
231 val
* abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
232 val
* var
/* : nullable RuntimeVariable */;
233 val
* var_v
/* var v: AbstractCompilerVisitor */;
234 val
* var1
/* : nullable MType */;
235 val
* var2
/* : RuntimeVariable */;
236 val
* var_res
/* var res: RuntimeVariable */;
237 val
* var3
/* : AExpr */;
238 val
* var4
/* : RuntimeVariable */;
239 val
* var_cond
/* var cond: RuntimeVariable */;
241 val
* var5
/* : String */;
242 char* var6
/* : NativeString */;
243 long var7
/* : Int */;
244 val
* var8
/* : String */;
245 static val
* varonce9
;
246 val
* var10
/* : String */;
247 char* var11
/* : NativeString */;
248 long var12
/* : Int */;
249 val
* var13
/* : String */;
250 val
* var14
/* : Array[Object] */;
251 long var15
/* : Int */;
252 val
* var16
/* : NativeArray[Object] */;
253 val
* var17
/* : String */;
254 val
* var18
/* : AExpr */;
255 val
* var19
/* : null */;
256 val
* var20
/* : RuntimeVariable */;
257 static val
* varonce21
;
258 val
* var22
/* : String */;
259 char* var23
/* : NativeString */;
260 long var24
/* : Int */;
261 val
* var25
/* : String */;
262 val
* var26
/* : AExpr */;
263 val
* var27
/* : null */;
264 val
* var28
/* : RuntimeVariable */;
265 static val
* varonce29
;
266 val
* var30
/* : String */;
267 char* var31
/* : NativeString */;
268 long var32
/* : Int */;
269 val
* var33
/* : String */;
271 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfexprExpr>*/;
273 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 1865);
276 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
278 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_expr
]))(self
) /* n_expr on <self:AIfexprExpr>*/;
279 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
286 var8
= string__NativeString__to_s_with_length(var6
, var7
);
295 var13
= string__NativeString__to_s_with_length(var11
, var12
);
299 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
300 { /* var14 = array_instance Array[Object] */
302 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
303 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
304 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
305 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
306 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
307 CHECK_NEW_array__Array(var14
);
309 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
310 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
311 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_then
]))(self
) /* n_then on <self:AIfexprExpr>*/;
313 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
314 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
320 var25
= string__NativeString__to_s_with_length(var23
, var24
);
324 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
325 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_else
]))(self
) /* n_else on <self:AIfexprExpr>*/;
327 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
328 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
334 var33
= string__NativeString__to_s_with_length(var31
, var32
);
338 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
344 /* method abstract_compiler#AIfexprExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
345 val
* VIRTUAL_abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
346 val
* var
/* : nullable RuntimeVariable */;
347 val
* var1
/* : nullable RuntimeVariable */;
348 var1
= abstract_compiler__AIfexprExpr__expr(self
, p0
);
353 /* method abstract_compiler#ADoExpr#stmt for (self: ADoExpr, AbstractCompilerVisitor) */
354 void abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
355 val
* var_v
/* var v: AbstractCompilerVisitor */;
356 val
* var
/* : nullable AExpr */;
357 val
* var1
/* : nullable EscapeMark */;
358 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
359 val
* var2
/* : null */;
360 short int var3
/* : Bool */;
362 val
* var4
/* : String */;
363 char* var5
/* : NativeString */;
364 long var6
/* : Int */;
365 val
* var7
/* : String */;
366 val
* var8
/* : String */;
367 static val
* varonce9
;
368 val
* var10
/* : String */;
369 char* var11
/* : NativeString */;
370 long var12
/* : Int */;
371 val
* var13
/* : String */;
372 val
* var14
/* : Array[Object] */;
373 long var15
/* : Int */;
374 val
* var16
/* : NativeArray[Object] */;
375 val
* var17
/* : String */;
377 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
378 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
379 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
380 var_escapemark
= var1
;
382 if (var_escapemark
== NULL
) {
383 var3
= 0; /* is null */
385 var3
= 1; /* arg is null and recv is not */
393 var7
= string__NativeString__to_s_with_length(var5
, var6
);
397 var8
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var_escapemark
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
401 var11
= ": (void)0;";
403 var13
= string__NativeString__to_s_with_length(var11
, var12
);
407 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
408 { /* var14 = array_instance Array[Object] */
410 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
411 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var4
;
412 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var8
;
413 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
414 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
415 CHECK_NEW_array__Array(var14
);
417 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
418 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
423 /* method abstract_compiler#ADoExpr#stmt for (self: Object, AbstractCompilerVisitor) */
424 void VIRTUAL_abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
425 abstract_compiler__ADoExpr__stmt(self
, p0
);
428 /* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */
429 void abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
430 val
* var_v
/* var v: AbstractCompilerVisitor */;
432 val
* var
/* : String */;
433 char* var1
/* : NativeString */;
434 long var2
/* : Int */;
435 val
* var3
/* : String */;
436 val
* var4
/* : AExpr */;
437 val
* var5
/* : RuntimeVariable */;
438 val
* var_cond
/* var cond: RuntimeVariable */;
439 static val
* varonce6
;
440 val
* var7
/* : String */;
441 char* var8
/* : NativeString */;
442 long var9
/* : Int */;
443 val
* var10
/* : String */;
444 static val
* varonce11
;
445 val
* var12
/* : String */;
446 char* var13
/* : NativeString */;
447 long var14
/* : Int */;
448 val
* var15
/* : String */;
449 val
* var16
/* : Array[Object] */;
450 long var17
/* : Int */;
451 val
* var18
/* : NativeArray[Object] */;
452 val
* var19
/* : String */;
453 val
* var20
/* : nullable AExpr */;
454 static val
* varonce21
;
455 val
* var22
/* : String */;
456 char* var23
/* : NativeString */;
457 long var24
/* : Int */;
458 val
* var25
/* : String */;
459 val
* var26
/* : nullable EscapeMark */;
460 val
* var27
/* : String */;
461 static val
* varonce28
;
462 val
* var29
/* : String */;
463 char* var30
/* : NativeString */;
464 long var31
/* : Int */;
465 val
* var32
/* : String */;
466 val
* var33
/* : Array[Object] */;
467 long var34
/* : Int */;
468 val
* var35
/* : NativeArray[Object] */;
469 val
* var36
/* : String */;
470 static val
* varonce37
;
471 val
* var38
/* : String */;
472 char* var39
/* : NativeString */;
473 long var40
/* : Int */;
474 val
* var41
/* : String */;
475 static val
* varonce42
;
476 val
* var43
/* : String */;
477 char* var44
/* : NativeString */;
478 long var45
/* : Int */;
479 val
* var46
/* : String */;
480 val
* var47
/* : nullable EscapeMark */;
481 val
* var48
/* : String */;
482 static val
* varonce49
;
483 val
* var50
/* : String */;
484 char* var51
/* : NativeString */;
485 long var52
/* : Int */;
486 val
* var53
/* : String */;
487 val
* var54
/* : Array[Object] */;
488 long var55
/* : Int */;
489 val
* var56
/* : NativeArray[Object] */;
490 val
* var57
/* : String */;
497 var3
= string__NativeString__to_s_with_length(var1
, var2
);
501 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
502 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
503 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var4
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
510 var10
= string__NativeString__to_s_with_length(var8
, var9
);
519 var15
= string__NativeString__to_s_with_length(var13
, var14
);
523 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
524 { /* var16 = array_instance Array[Object] */
526 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
527 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
528 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_cond
;
529 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
530 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
531 CHECK_NEW_array__Array(var16
);
533 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
534 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var19
) /* add on <var_v:AbstractCompilerVisitor>*/;
535 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
536 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var20
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
542 var25
= string__NativeString__to_s_with_length(var23
, var24
);
546 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
547 var27
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var26
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
551 var30
= ": (void)0;";
553 var32
= string__NativeString__to_s_with_length(var30
, var31
);
557 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
558 { /* var33 = array_instance Array[Object] */
560 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
561 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var22
;
562 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var27
;
563 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
564 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
565 CHECK_NEW_array__Array(var33
);
567 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
568 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var36
) /* add on <var_v:AbstractCompilerVisitor>*/;
574 var41
= string__NativeString__to_s_with_length(var39
, var40
);
578 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var38
) /* add on <var_v:AbstractCompilerVisitor>*/;
584 var46
= string__NativeString__to_s_with_length(var44
, var45
);
588 var47
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
589 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var47
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
593 var51
= ": (void)0;";
595 var53
= string__NativeString__to_s_with_length(var51
, var52
);
599 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
600 { /* var54 = array_instance Array[Object] */
602 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
603 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var43
;
604 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var48
;
605 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
606 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
607 CHECK_NEW_array__Array(var54
);
609 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
610 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
613 /* method abstract_compiler#AWhileExpr#stmt for (self: Object, AbstractCompilerVisitor) */
614 void VIRTUAL_abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
615 abstract_compiler__AWhileExpr__stmt(self
, p0
);
618 /* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */
619 void abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
620 val
* var_v
/* var v: AbstractCompilerVisitor */;
622 val
* var
/* : String */;
623 char* var1
/* : NativeString */;
624 long var2
/* : Int */;
625 val
* var3
/* : String */;
626 val
* var4
/* : nullable AExpr */;
627 static val
* varonce5
;
628 val
* var6
/* : String */;
629 char* var7
/* : NativeString */;
630 long var8
/* : Int */;
631 val
* var9
/* : String */;
632 val
* var10
/* : nullable EscapeMark */;
633 val
* var11
/* : String */;
634 static val
* varonce12
;
635 val
* var13
/* : String */;
636 char* var14
/* : NativeString */;
637 long var15
/* : Int */;
638 val
* var16
/* : String */;
639 val
* var17
/* : Array[Object] */;
640 long var18
/* : Int */;
641 val
* var19
/* : NativeArray[Object] */;
642 val
* var20
/* : String */;
643 static val
* varonce21
;
644 val
* var22
/* : String */;
645 char* var23
/* : NativeString */;
646 long var24
/* : Int */;
647 val
* var25
/* : String */;
648 static val
* varonce26
;
649 val
* var27
/* : String */;
650 char* var28
/* : NativeString */;
651 long var29
/* : Int */;
652 val
* var30
/* : String */;
653 val
* var31
/* : nullable EscapeMark */;
654 val
* var32
/* : String */;
655 static val
* varonce33
;
656 val
* var34
/* : String */;
657 char* var35
/* : NativeString */;
658 long var36
/* : Int */;
659 val
* var37
/* : String */;
660 val
* var38
/* : Array[Object] */;
661 long var39
/* : Int */;
662 val
* var40
/* : NativeArray[Object] */;
663 val
* var41
/* : String */;
670 var3
= string__NativeString__to_s_with_length(var1
, var2
);
674 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
675 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
676 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var4
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
682 var9
= string__NativeString__to_s_with_length(var7
, var8
);
686 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
687 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var10
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
691 var14
= ": (void)0;";
693 var16
= string__NativeString__to_s_with_length(var14
, var15
);
697 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
698 { /* var17 = array_instance Array[Object] */
700 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
701 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var6
;
702 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var11
;
703 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
704 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
705 CHECK_NEW_array__Array(var17
);
707 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
708 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
714 var25
= string__NativeString__to_s_with_length(var23
, var24
);
718 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
724 var30
= string__NativeString__to_s_with_length(var28
, var29
);
728 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
729 var32
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var31
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
733 var35
= ": (void)0;";
735 var37
= string__NativeString__to_s_with_length(var35
, var36
);
739 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
740 { /* var38 = array_instance Array[Object] */
742 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
743 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var27
;
744 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var32
;
745 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
746 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
747 CHECK_NEW_array__Array(var38
);
749 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
750 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var41
) /* add on <var_v:AbstractCompilerVisitor>*/;
753 /* method abstract_compiler#ALoopExpr#stmt for (self: Object, AbstractCompilerVisitor) */
754 void VIRTUAL_abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
755 abstract_compiler__ALoopExpr__stmt(self
, p0
);
758 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
759 void abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
760 val
* var_v
/* var v: AbstractCompilerVisitor */;
761 val
* var
/* : AExpr */;
762 val
* var_nexpr
/* var nexpr: AExpr */;
763 short int var1
/* : Bool */;
764 short int var2
/* : Bool */;
765 val
* var3
/* : nullable Array[Variable] */;
766 long var4
/* : Int */;
767 long var5
/* : Int */;
768 short int var6
/* : Bool */;
769 short int var8
/* : Bool */;
770 short int var_
/* var : Bool */;
771 short int var9
/* : Bool */;
774 short int var_10
/* var : Bool */;
775 val
* var11
/* : AbstractCompiler */;
776 val
* var12
/* : ModelBuilder */;
777 val
* var13
/* : ToolContext */;
778 val
* var14
/* : OptionBool */;
779 val
* var15
/* : nullable Object */;
780 short int var16
/* : Bool */;
781 short int var17
/* : Bool */;
782 val
* var18
/* : AExpr */;
783 val
* var19
/* : null */;
784 val
* var20
/* : RuntimeVariable */;
785 val
* var_from
/* var from: RuntimeVariable */;
786 val
* var21
/* : AExpr */;
787 val
* var22
/* : null */;
788 val
* var23
/* : RuntimeVariable */;
789 val
* var_to
/* var to: RuntimeVariable */;
790 val
* var24
/* : nullable Array[Variable] */;
791 val
* var25
/* : nullable Object */;
792 val
* var26
/* : RuntimeVariable */;
793 val
* var_variable
/* var variable: RuntimeVariable */;
795 val
* var27
/* : String */;
796 char* var28
/* : NativeString */;
797 long var29
/* : Int */;
798 val
* var30
/* : String */;
799 static val
* varonce31
;
800 val
* var32
/* : String */;
801 char* var33
/* : NativeString */;
802 long var34
/* : Int */;
803 val
* var35
/* : String */;
804 val
* var36
/* : MType */;
805 val
* var37
/* : MMethod */;
806 val
* var38
/* : Array[RuntimeVariable] */;
807 long var39
/* : Int */;
808 val
* var40
/* : NativeArray[RuntimeVariable] */;
809 val
* var41
/* : nullable RuntimeVariable */;
810 val
* var_ok
/* var ok: nullable RuntimeVariable */;
811 val
* var42
/* : null */;
812 short int var43
/* : Bool */;
813 static val
* varonce44
;
814 val
* var45
/* : String */;
815 char* var46
/* : NativeString */;
816 long var47
/* : Int */;
817 val
* var48
/* : String */;
818 static val
* varonce49
;
819 val
* var50
/* : String */;
820 char* var51
/* : NativeString */;
821 long var52
/* : Int */;
822 val
* var53
/* : String */;
823 val
* var54
/* : Array[Object] */;
824 long var55
/* : Int */;
825 val
* var56
/* : NativeArray[Object] */;
826 val
* var57
/* : String */;
827 val
* var58
/* : nullable AExpr */;
828 static val
* varonce59
;
829 val
* var60
/* : String */;
830 char* var61
/* : NativeString */;
831 long var62
/* : Int */;
832 val
* var63
/* : String */;
833 val
* var64
/* : nullable EscapeMark */;
834 val
* var65
/* : String */;
835 static val
* varonce66
;
836 val
* var67
/* : String */;
837 char* var68
/* : NativeString */;
838 long var69
/* : Int */;
839 val
* var70
/* : String */;
840 val
* var71
/* : Array[Object] */;
841 long var72
/* : Int */;
842 val
* var73
/* : NativeArray[Object] */;
843 val
* var74
/* : String */;
844 static val
* varonce75
;
845 val
* var76
/* : String */;
846 char* var77
/* : NativeString */;
847 long var78
/* : Int */;
848 val
* var79
/* : String */;
849 val
* var80
/* : MType */;
850 val
* var81
/* : MMethod */;
851 val
* var82
/* : Array[RuntimeVariable] */;
852 long var83
/* : Int */;
853 val
* var84
/* : NativeArray[RuntimeVariable] */;
854 val
* var85
/* : nullable RuntimeVariable */;
855 val
* var_succ
/* var succ: nullable RuntimeVariable */;
856 val
* var86
/* : null */;
857 short int var87
/* : Bool */;
858 static val
* varonce88
;
859 val
* var89
/* : String */;
860 char* var90
/* : NativeString */;
861 long var91
/* : Int */;
862 val
* var92
/* : String */;
863 static val
* varonce93
;
864 val
* var94
/* : String */;
865 char* var95
/* : NativeString */;
866 long var96
/* : Int */;
867 val
* var97
/* : String */;
868 val
* var98
/* : nullable EscapeMark */;
869 val
* var99
/* : String */;
870 static val
* varonce100
;
871 val
* var101
/* : String */;
872 char* var102
/* : NativeString */;
873 long var103
/* : Int */;
874 val
* var104
/* : String */;
875 val
* var105
/* : Array[Object] */;
876 long var106
/* : Int */;
877 val
* var107
/* : NativeArray[Object] */;
878 val
* var108
/* : String */;
879 val
* var109
/* : AExpr */;
880 val
* var110
/* : null */;
881 val
* var111
/* : RuntimeVariable */;
882 val
* var_cl
/* var cl: RuntimeVariable */;
883 val
* var112
/* : nullable MMethod */;
884 val
* var_it_meth
/* var it_meth: nullable MMethod */;
885 val
* var113
/* : null */;
886 short int var114
/* : Bool */;
887 val
* var115
/* : Array[RuntimeVariable] */;
888 long var116
/* : Int */;
889 val
* var117
/* : NativeArray[RuntimeVariable] */;
890 val
* var118
/* : nullable RuntimeVariable */;
891 val
* var_it
/* var it: nullable RuntimeVariable */;
892 val
* var119
/* : null */;
893 short int var120
/* : Bool */;
894 static val
* varonce121
;
895 val
* var122
/* : String */;
896 char* var123
/* : NativeString */;
897 long var124
/* : Int */;
898 val
* var125
/* : String */;
899 val
* var126
/* : nullable MMethod */;
900 val
* var_isok_meth
/* var isok_meth: nullable MMethod */;
901 val
* var127
/* : null */;
902 short int var128
/* : Bool */;
903 val
* var129
/* : Array[RuntimeVariable] */;
904 long var130
/* : Int */;
905 val
* var131
/* : NativeArray[RuntimeVariable] */;
906 val
* var132
/* : nullable RuntimeVariable */;
907 val
* var_ok133
/* var ok: nullable RuntimeVariable */;
908 val
* var134
/* : null */;
909 short int var135
/* : Bool */;
910 static val
* varonce136
;
911 val
* var137
/* : String */;
912 char* var138
/* : NativeString */;
913 long var139
/* : Int */;
914 val
* var140
/* : String */;
915 static val
* varonce141
;
916 val
* var142
/* : String */;
917 char* var143
/* : NativeString */;
918 long var144
/* : Int */;
919 val
* var145
/* : String */;
920 val
* var146
/* : Array[Object] */;
921 long var147
/* : Int */;
922 val
* var148
/* : NativeArray[Object] */;
923 val
* var149
/* : String */;
924 val
* var150
/* : nullable Array[Variable] */;
925 long var151
/* : Int */;
926 long var152
/* : Int */;
927 short int var153
/* : Bool */;
928 short int var155
/* : Bool */;
929 val
* var156
/* : nullable MMethod */;
930 val
* var_item_meth
/* var item_meth: nullable MMethod */;
931 val
* var157
/* : null */;
932 short int var158
/* : Bool */;
933 val
* var159
/* : Array[RuntimeVariable] */;
934 long var160
/* : Int */;
935 val
* var161
/* : NativeArray[RuntimeVariable] */;
936 val
* var162
/* : nullable RuntimeVariable */;
937 val
* var_i
/* var i: nullable RuntimeVariable */;
938 val
* var163
/* : null */;
939 short int var164
/* : Bool */;
940 val
* var165
/* : nullable Array[Variable] */;
941 val
* var166
/* : nullable Object */;
942 val
* var167
/* : RuntimeVariable */;
943 val
* var168
/* : nullable Array[Variable] */;
944 long var169
/* : Int */;
945 long var170
/* : Int */;
946 short int var171
/* : Bool */;
947 short int var173
/* : Bool */;
948 val
* var174
/* : nullable MMethod */;
949 val
* var_key_meth
/* var key_meth: nullable MMethod */;
950 val
* var175
/* : null */;
951 short int var176
/* : Bool */;
952 val
* var177
/* : Array[RuntimeVariable] */;
953 long var178
/* : Int */;
954 val
* var179
/* : NativeArray[RuntimeVariable] */;
955 val
* var180
/* : nullable RuntimeVariable */;
956 val
* var_i181
/* var i: nullable RuntimeVariable */;
957 val
* var182
/* : null */;
958 short int var183
/* : Bool */;
959 val
* var184
/* : nullable Array[Variable] */;
960 long var185
/* : Int */;
961 val
* var186
/* : nullable Object */;
962 val
* var187
/* : RuntimeVariable */;
963 val
* var188
/* : nullable MMethod */;
964 val
* var_item_meth189
/* var item_meth: nullable MMethod */;
965 val
* var190
/* : null */;
966 short int var191
/* : Bool */;
967 val
* var192
/* : Array[RuntimeVariable] */;
968 long var193
/* : Int */;
969 val
* var194
/* : NativeArray[RuntimeVariable] */;
970 val
* var195
/* : nullable RuntimeVariable */;
971 val
* var196
/* : null */;
972 short int var197
/* : Bool */;
973 val
* var198
/* : nullable Array[Variable] */;
974 long var199
/* : Int */;
975 val
* var200
/* : nullable Object */;
976 val
* var201
/* : RuntimeVariable */;
977 val
* var202
/* : nullable AExpr */;
978 static val
* varonce203
;
979 val
* var204
/* : String */;
980 char* var205
/* : NativeString */;
981 long var206
/* : Int */;
982 val
* var207
/* : String */;
983 val
* var208
/* : nullable EscapeMark */;
984 val
* var209
/* : String */;
985 static val
* varonce210
;
986 val
* var211
/* : String */;
987 char* var212
/* : NativeString */;
988 long var213
/* : Int */;
989 val
* var214
/* : String */;
990 val
* var215
/* : Array[Object] */;
991 long var216
/* : Int */;
992 val
* var217
/* : NativeArray[Object] */;
993 val
* var218
/* : String */;
994 val
* var219
/* : nullable MMethod */;
995 val
* var_next_meth
/* var next_meth: nullable MMethod */;
996 val
* var220
/* : null */;
997 short int var221
/* : Bool */;
998 val
* var222
/* : Array[RuntimeVariable] */;
999 long var223
/* : Int */;
1000 val
* var224
/* : NativeArray[RuntimeVariable] */;
1001 val
* var225
/* : nullable RuntimeVariable */;
1002 static val
* varonce226
;
1003 val
* var227
/* : String */;
1004 char* var228
/* : NativeString */;
1005 long var229
/* : Int */;
1006 val
* var230
/* : String */;
1007 static val
* varonce231
;
1008 val
* var232
/* : String */;
1009 char* var233
/* : NativeString */;
1010 long var234
/* : Int */;
1011 val
* var235
/* : String */;
1012 val
* var236
/* : nullable EscapeMark */;
1013 val
* var237
/* : String */;
1014 static val
* varonce238
;
1015 val
* var239
/* : String */;
1016 char* var240
/* : NativeString */;
1017 long var241
/* : Int */;
1018 val
* var242
/* : String */;
1019 val
* var243
/* : Array[Object] */;
1020 long var244
/* : Int */;
1021 val
* var245
/* : NativeArray[Object] */;
1022 val
* var246
/* : String */;
1024 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1026 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1028 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1917);
1031 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:nullable Array[Variable]>*/;
1034 { /* Inline kernel#Int#== (var4,var5) */
1035 var8
= var4
== var5
;
1042 /* <var_nexpr:AExpr> isa AOrangeExpr */
1043 cltype
= type_parser_nodes__AOrangeExpr
.color
;
1044 idtype
= type_parser_nodes__AOrangeExpr
.id
;
1045 if(cltype
>= var_nexpr
->type
->table_size
) {
1048 var9
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
1056 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
1057 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler>*/;
1058 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
1059 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(var13
) /* opt_no_shortcut_range on <var13:ToolContext>*/;
1060 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
1061 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
1068 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(var_nexpr
) /* n_expr on <var_nexpr:AExpr(AOrangeExpr)>*/;
1070 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1072 var21
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(var_nexpr
) /* n_expr2 on <var_nexpr:AExpr(AOrangeExpr)>*/;
1074 var23
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var21
, var22
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1076 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1077 if (var24
== NULL
) {
1078 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1920);
1081 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var24
) /* first on <var24:nullable Array[Variable]>*/;
1083 var26
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var25
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1084 var_variable
= var26
;
1085 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_from
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1089 var28
= "for(;;) { /* shortcut range */";
1091 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1095 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var27
) /* add on <var_v:AbstractCompilerVisitor>*/;
1101 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1105 var36
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
1106 var37
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(var_v
, var32
, var36
) /* get_property on <var_v:AbstractCompilerVisitor>*/;
1107 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1108 { /* var38 = array_instance Array[RuntimeVariable] */
1110 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1111 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var_variable
;
1112 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var_to
;
1113 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[RuntimeVariable]>*/;
1114 CHECK_NEW_array__Array(var38
);
1116 var41
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var37
, var38
) /* send on <var_v:AbstractCompilerVisitor>*/;
1119 if (var_ok
== NULL
) {
1120 var43
= 0; /* is null */
1122 var43
= 1; /* arg is null and recv is not */
1125 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1926);
1133 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1142 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1146 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
1147 { /* var54 = array_instance Array[Object] */
1149 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
1150 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var45
;
1151 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var_ok
;
1152 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
1153 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
1154 CHECK_NEW_array__Array(var54
);
1156 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
1157 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
1158 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1159 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var58
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1163 var61
= "CONTINUE_";
1165 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1169 var64
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1170 var65
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var64
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1174 var68
= ": (void)0;";
1176 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1180 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
1181 { /* var71 = array_instance Array[Object] */
1183 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
1184 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var60
;
1185 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var65
;
1186 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
1187 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
1188 CHECK_NEW_array__Array(var71
);
1190 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
1191 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var74
) /* add on <var_v:AbstractCompilerVisitor>*/;
1197 var79
= string__NativeString__to_s_with_length(var77
, var78
);
1201 var80
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
1202 var81
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(var_v
, var76
, var80
) /* get_property on <var_v:AbstractCompilerVisitor>*/;
1203 var82
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1204 { /* var82 = array_instance Array[RuntimeVariable] */
1206 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1207 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var_variable
;
1208 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[RuntimeVariable]>*/;
1209 CHECK_NEW_array__Array(var82
);
1211 var85
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var81
, var82
) /* send on <var_v:AbstractCompilerVisitor>*/;
1214 if (var_succ
== NULL
) {
1215 var87
= 0; /* is null */
1217 var87
= 1; /* arg is null and recv is not */
1220 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1933);
1223 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_succ
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1229 var92
= string__NativeString__to_s_with_length(var90
, var91
);
1233 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var89
) /* add on <var_v:AbstractCompilerVisitor>*/;
1239 var97
= string__NativeString__to_s_with_length(var95
, var96
);
1243 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1244 var99
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var98
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1246 var101
= varonce100
;
1248 var102
= ": (void)0;";
1250 var104
= string__NativeString__to_s_with_length(var102
, var103
);
1252 varonce100
= var101
;
1254 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
1255 { /* var105 = array_instance Array[Object] */
1257 var107
= NEW_array__NativeArray(var106
, &type_array__NativeArraykernel__Object
);
1258 ((struct instance_array__NativeArray
*)var107
)->values
[0] = (val
*) var94
;
1259 ((struct instance_array__NativeArray
*)var107
)->values
[1] = (val
*) var99
;
1260 ((struct instance_array__NativeArray
*)var107
)->values
[2] = (val
*) var101
;
1261 ((void (*)(val
*, val
*, long))(var105
->class->vft
[COLOR_array__Array__with_native
]))(var105
, var107
, var106
) /* with_native on <var105:Array[Object]>*/;
1262 CHECK_NEW_array__Array(var105
);
1264 var108
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_string__Object__to_s
]))(var105
) /* to_s on <var105:Array[Object]>*/;
1265 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var108
) /* add on <var_v:AbstractCompilerVisitor>*/;
1269 var109
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1271 var111
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var109
, var110
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1273 var112
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_iterator
]))(self
) /* method_iterator on <self:AForExpr>*/;
1274 var_it_meth
= var112
;
1276 if (var_it_meth
== NULL
) {
1277 var114
= 0; /* is null */
1279 var114
= 1; /* arg is null and recv is not */
1282 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1942);
1285 var115
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1286 { /* var115 = array_instance Array[RuntimeVariable] */
1288 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1289 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var_cl
;
1290 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[RuntimeVariable]>*/;
1291 CHECK_NEW_array__Array(var115
);
1293 var118
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_it_meth
, var115
) /* send on <var_v:AbstractCompilerVisitor>*/;
1296 if (var_it
== NULL
) {
1297 var120
= 0; /* is null */
1299 var120
= 1; /* arg is null and recv is not */
1302 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1944);
1306 var122
= varonce121
;
1308 var123
= "for(;;) {";
1310 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1312 varonce121
= var122
;
1314 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
1315 var126
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_is_ok
]))(self
) /* method_is_ok on <self:AForExpr>*/;
1316 var_isok_meth
= var126
;
1318 if (var_isok_meth
== NULL
) {
1319 var128
= 0; /* is null */
1321 var128
= 1; /* arg is null and recv is not */
1324 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1947);
1327 var129
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1328 { /* var129 = array_instance Array[RuntimeVariable] */
1330 var131
= NEW_array__NativeArray(var130
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1331 ((struct instance_array__NativeArray
*)var131
)->values
[0] = (val
*) var_it
;
1332 ((void (*)(val
*, val
*, long))(var129
->class->vft
[COLOR_array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[RuntimeVariable]>*/;
1333 CHECK_NEW_array__Array(var129
);
1335 var132
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_isok_meth
, var129
) /* send on <var_v:AbstractCompilerVisitor>*/;
1338 if (var_ok133
== NULL
) {
1339 var135
= 0; /* is null */
1341 var135
= 1; /* arg is null and recv is not */
1344 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1949);
1348 var137
= varonce136
;
1352 var140
= string__NativeString__to_s_with_length(var138
, var139
);
1354 varonce136
= var137
;
1357 var142
= varonce141
;
1359 var143
= ") break;";
1361 var145
= string__NativeString__to_s_with_length(var143
, var144
);
1363 varonce141
= var142
;
1365 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
1366 { /* var146 = array_instance Array[Object] */
1368 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
1369 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var137
;
1370 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var_ok133
;
1371 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var142
;
1372 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
1373 CHECK_NEW_array__Array(var146
);
1375 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
1376 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var149
) /* add on <var_v:AbstractCompilerVisitor>*/;
1377 var150
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1378 if (var150
== NULL
) {
1379 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1951);
1382 var151
= ((long (*)(val
*))(var150
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var150
) /* length on <var150:nullable Array[Variable]>*/;
1385 { /* Inline kernel#Int#== (var151,var152) */
1386 var155
= var151
== var152
;
1389 RET_LABEL154
:(void)0;
1392 var156
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
1393 var_item_meth
= var156
;
1395 if (var_item_meth
== NULL
) {
1396 var158
= 0; /* is null */
1398 var158
= 1; /* arg is null and recv is not */
1401 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1953);
1404 var159
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1405 { /* var159 = array_instance Array[RuntimeVariable] */
1407 var161
= NEW_array__NativeArray(var160
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1408 ((struct instance_array__NativeArray
*)var161
)->values
[0] = (val
*) var_it
;
1409 ((void (*)(val
*, val
*, long))(var159
->class->vft
[COLOR_array__Array__with_native
]))(var159
, var161
, var160
) /* with_native on <var159:Array[RuntimeVariable]>*/;
1410 CHECK_NEW_array__Array(var159
);
1412 var162
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_item_meth
, var159
) /* send on <var_v:AbstractCompilerVisitor>*/;
1415 if (var_i
== NULL
) {
1416 var164
= 0; /* is null */
1418 var164
= 1; /* arg is null and recv is not */
1421 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1955);
1424 var165
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1425 if (var165
== NULL
) {
1426 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1956);
1429 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var165
) /* first on <var165:nullable Array[Variable]>*/;
1431 var167
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var166
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1432 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var167
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1434 var168
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1435 if (var168
== NULL
) {
1436 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1957);
1439 var169
= ((long (*)(val
*))(var168
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var168
) /* length on <var168:nullable Array[Variable]>*/;
1442 { /* Inline kernel#Int#== (var169,var170) */
1443 var173
= var169
== var170
;
1446 RET_LABEL172
:(void)0;
1449 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_key
]))(self
) /* method_key on <self:AForExpr>*/;
1450 var_key_meth
= var174
;
1452 if (var_key_meth
== NULL
) {
1453 var176
= 0; /* is null */
1455 var176
= 1; /* arg is null and recv is not */
1458 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1959);
1461 var177
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1462 { /* var177 = array_instance Array[RuntimeVariable] */
1464 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1465 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var_it
;
1466 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[RuntimeVariable]>*/;
1467 CHECK_NEW_array__Array(var177
);
1469 var180
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_key_meth
, var177
) /* send on <var_v:AbstractCompilerVisitor>*/;
1472 if (var_i181
== NULL
) {
1473 var183
= 0; /* is null */
1475 var183
= 1; /* arg is null and recv is not */
1478 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1961);
1481 var184
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1483 if (var184
== NULL
) {
1484 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1962);
1487 var186
= ((val
* (*)(val
*, long))(var184
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var184
, var185
) /* [] on <var184:nullable Array[Variable]>*/;
1489 var187
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var186
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1490 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var187
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1491 var188
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
1492 var_item_meth189
= var188
;
1494 if (var_item_meth189
== NULL
) {
1495 var191
= 0; /* is null */
1497 var191
= 1; /* arg is null and recv is not */
1500 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1964);
1503 var192
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1504 { /* var192 = array_instance Array[RuntimeVariable] */
1506 var194
= NEW_array__NativeArray(var193
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1507 ((struct instance_array__NativeArray
*)var194
)->values
[0] = (val
*) var_it
;
1508 ((void (*)(val
*, val
*, long))(var192
->class->vft
[COLOR_array__Array__with_native
]))(var192
, var194
, var193
) /* with_native on <var192:Array[RuntimeVariable]>*/;
1509 CHECK_NEW_array__Array(var192
);
1511 var195
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_item_meth189
, var192
) /* send on <var_v:AbstractCompilerVisitor>*/;
1514 if (var_i181
== NULL
) {
1515 var197
= 0; /* is null */
1517 var197
= 1; /* arg is null and recv is not */
1520 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1966);
1523 var198
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1525 if (var198
== NULL
) {
1526 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 1967);
1529 var200
= ((val
* (*)(val
*, long))(var198
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var198
, var199
) /* [] on <var198:nullable Array[Variable]>*/;
1531 var201
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var200
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1532 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var201
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1534 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 1969);
1538 var202
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1539 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var202
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1541 var204
= varonce203
;
1543 var205
= "CONTINUE_";
1545 var207
= string__NativeString__to_s_with_length(var205
, var206
);
1547 varonce203
= var204
;
1549 var208
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1550 var209
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var208
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1552 var211
= varonce210
;
1554 var212
= ": (void)0;";
1556 var214
= string__NativeString__to_s_with_length(var212
, var213
);
1558 varonce210
= var211
;
1560 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
1561 { /* var215 = array_instance Array[Object] */
1563 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
1564 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var204
;
1565 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var209
;
1566 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var211
;
1567 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
1568 CHECK_NEW_array__Array(var215
);
1570 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
1571 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var218
) /* add on <var_v:AbstractCompilerVisitor>*/;
1572 var219
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_next
]))(self
) /* method_next on <self:AForExpr>*/;
1573 var_next_meth
= var219
;
1575 if (var_next_meth
== NULL
) {
1576 var221
= 0; /* is null */
1578 var221
= 1; /* arg is null and recv is not */
1581 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 1974);
1584 var222
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1585 { /* var222 = array_instance Array[RuntimeVariable] */
1587 var224
= NEW_array__NativeArray(var223
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1588 ((struct instance_array__NativeArray
*)var224
)->values
[0] = (val
*) var_it
;
1589 ((void (*)(val
*, val
*, long))(var222
->class->vft
[COLOR_array__Array__with_native
]))(var222
, var224
, var223
) /* with_native on <var222:Array[RuntimeVariable]>*/;
1590 CHECK_NEW_array__Array(var222
);
1592 var225
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_next_meth
, var222
) /* send on <var_v:AbstractCompilerVisitor>*/;
1595 var227
= varonce226
;
1599 var230
= string__NativeString__to_s_with_length(var228
, var229
);
1601 varonce226
= var227
;
1603 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var227
) /* add on <var_v:AbstractCompilerVisitor>*/;
1605 var232
= varonce231
;
1609 var235
= string__NativeString__to_s_with_length(var233
, var234
);
1611 varonce231
= var232
;
1613 var236
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1614 var237
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var236
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1616 var239
= varonce238
;
1618 var240
= ": (void)0;";
1620 var242
= string__NativeString__to_s_with_length(var240
, var241
);
1622 varonce238
= var239
;
1624 var243
= NEW_array__Array(&type_array__Arraykernel__Object
);
1625 { /* var243 = array_instance Array[Object] */
1627 var245
= NEW_array__NativeArray(var244
, &type_array__NativeArraykernel__Object
);
1628 ((struct instance_array__NativeArray
*)var245
)->values
[0] = (val
*) var232
;
1629 ((struct instance_array__NativeArray
*)var245
)->values
[1] = (val
*) var237
;
1630 ((struct instance_array__NativeArray
*)var245
)->values
[2] = (val
*) var239
;
1631 ((void (*)(val
*, val
*, long))(var243
->class->vft
[COLOR_array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
1632 CHECK_NEW_array__Array(var243
);
1634 var246
= ((val
* (*)(val
*))(var243
->class->vft
[COLOR_string__Object__to_s
]))(var243
) /* to_s on <var243:Array[Object]>*/;
1635 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var246
) /* add on <var_v:AbstractCompilerVisitor>*/;
1638 /* method abstract_compiler#AForExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1639 void VIRTUAL_abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
1640 abstract_compiler__AForExpr__stmt(self
, p0
);
1643 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
1644 void abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
1645 val
* var_v
/* var v: AbstractCompilerVisitor */;
1646 val
* var
/* : AbstractCompiler */;
1647 val
* var1
/* : ModelBuilder */;
1648 val
* var2
/* : ToolContext */;
1649 val
* var3
/* : OptionBool */;
1650 val
* var4
/* : nullable Object */;
1651 short int var5
/* : Bool */;
1652 val
* var6
/* : AExpr */;
1653 val
* var7
/* : RuntimeVariable */;
1654 val
* var_cond
/* var cond: RuntimeVariable */;
1655 static val
* varonce
;
1656 val
* var8
/* : String */;
1657 char* var9
/* : NativeString */;
1658 long var10
/* : Int */;
1659 val
* var11
/* : String */;
1660 static val
* varonce12
;
1661 val
* var13
/* : String */;
1662 char* var14
/* : NativeString */;
1663 long var15
/* : Int */;
1664 val
* var16
/* : String */;
1665 val
* var17
/* : Array[Object] */;
1666 long var18
/* : Int */;
1667 val
* var19
/* : NativeArray[Object] */;
1668 val
* var20
/* : String */;
1669 val
* var21
/* : nullable AExpr */;
1670 val
* var22
/* : nullable TId */;
1671 val
* var_nid
/* var nid: nullable TId */;
1672 val
* var23
/* : null */;
1673 short int var24
/* : Bool */;
1674 static val
* varonce25
;
1675 val
* var26
/* : String */;
1676 char* var27
/* : NativeString */;
1677 long var28
/* : Int */;
1678 val
* var29
/* : String */;
1679 val
* var30
/* : String */;
1680 static val
* varonce31
;
1681 val
* var32
/* : String */;
1682 char* var33
/* : NativeString */;
1683 long var34
/* : Int */;
1684 val
* var35
/* : String */;
1685 val
* var36
/* : Array[Object] */;
1686 long var37
/* : Int */;
1687 val
* var38
/* : NativeArray[Object] */;
1688 val
* var39
/* : String */;
1689 static val
* varonce40
;
1690 val
* var41
/* : String */;
1691 char* var42
/* : NativeString */;
1692 long var43
/* : Int */;
1693 val
* var44
/* : String */;
1694 static val
* varonce45
;
1695 val
* var46
/* : String */;
1696 char* var47
/* : NativeString */;
1697 long var48
/* : Int */;
1698 val
* var49
/* : String */;
1700 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
1701 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
1702 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
1703 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var2
) /* opt_no_check_assert on <var2:ToolContext>*/;
1704 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
1705 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
1710 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_expr
]))(self
) /* n_expr on <self:AAssertExpr>*/;
1711 var7
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var6
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1718 var11
= string__NativeString__to_s_with_length(var9
, var10
);
1727 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1731 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
1732 { /* var17 = array_instance Array[Object] */
1734 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
1735 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
1736 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_cond
;
1737 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
1738 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
1739 CHECK_NEW_array__Array(var17
);
1741 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
1742 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
1743 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_else
]))(self
) /* n_else on <self:AAssertExpr>*/;
1744 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1745 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_id
]))(self
) /* n_id on <self:AAssertExpr>*/;
1748 if (var_nid
== NULL
) {
1749 var24
= 0; /* is null */
1751 var24
= 1; /* arg is null and recv is not */
1757 var27
= "Assert \'";
1759 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1763 var30
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:nullable TId(TId)>*/;
1767 var33
= "\' failed";
1769 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1773 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
1774 { /* var36 = array_instance Array[Object] */
1776 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
1777 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var26
;
1778 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var30
;
1779 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
1780 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
1781 CHECK_NEW_array__Array(var36
);
1783 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
1784 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var39
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
1789 var42
= "Assert failed";
1791 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1795 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var41
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
1802 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1806 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var46
) /* add on <var_v:AbstractCompilerVisitor>*/;
1809 /* method abstract_compiler#AAssertExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1810 void VIRTUAL_abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
1811 abstract_compiler__AAssertExpr__stmt(self
, p0
);
1814 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1815 val
* abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
1816 val
* var
/* : nullable RuntimeVariable */;
1817 val
* var_v
/* var v: AbstractCompilerVisitor */;
1818 val
* var1
/* : nullable MType */;
1819 val
* var2
/* : RuntimeVariable */;
1820 val
* var_res
/* var res: RuntimeVariable */;
1821 val
* var3
/* : AExpr */;
1822 val
* var4
/* : RuntimeVariable */;
1823 val
* var_i1
/* var i1: RuntimeVariable */;
1824 static val
* varonce
;
1825 val
* var5
/* : String */;
1826 char* var6
/* : NativeString */;
1827 long var7
/* : Int */;
1828 val
* var8
/* : String */;
1829 static val
* varonce9
;
1830 val
* var10
/* : String */;
1831 char* var11
/* : NativeString */;
1832 long var12
/* : Int */;
1833 val
* var13
/* : String */;
1834 val
* var14
/* : Array[Object] */;
1835 long var15
/* : Int */;
1836 val
* var16
/* : NativeArray[Object] */;
1837 val
* var17
/* : String */;
1838 static val
* varonce18
;
1839 val
* var19
/* : String */;
1840 char* var20
/* : NativeString */;
1841 long var21
/* : Int */;
1842 val
* var22
/* : String */;
1843 val
* var23
/* : Array[Object] */;
1844 long var24
/* : Int */;
1845 val
* var25
/* : NativeArray[Object] */;
1846 val
* var26
/* : String */;
1847 static val
* varonce27
;
1848 val
* var28
/* : String */;
1849 char* var29
/* : NativeString */;
1850 long var30
/* : Int */;
1851 val
* var31
/* : String */;
1852 val
* var32
/* : AExpr */;
1853 val
* var33
/* : RuntimeVariable */;
1854 val
* var_i2
/* var i2: RuntimeVariable */;
1855 static val
* varonce34
;
1856 val
* var35
/* : String */;
1857 char* var36
/* : NativeString */;
1858 long var37
/* : Int */;
1859 val
* var38
/* : String */;
1860 static val
* varonce39
;
1861 val
* var40
/* : String */;
1862 char* var41
/* : NativeString */;
1863 long var42
/* : Int */;
1864 val
* var43
/* : String */;
1865 val
* var44
/* : Array[Object] */;
1866 long var45
/* : Int */;
1867 val
* var46
/* : NativeArray[Object] */;
1868 val
* var47
/* : String */;
1869 static val
* varonce48
;
1870 val
* var49
/* : String */;
1871 char* var50
/* : NativeString */;
1872 long var51
/* : Int */;
1873 val
* var52
/* : String */;
1875 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrExpr>*/;
1877 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2002);
1880 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
1882 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
1883 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1890 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1899 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1903 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
1904 { /* var14 = array_instance Array[Object] */
1906 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
1907 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
1908 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
1909 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
1910 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
1911 CHECK_NEW_array__Array(var14
);
1913 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
1914 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
1920 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1924 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
1925 { /* var23 = array_instance Array[Object] */
1927 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
1928 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
1929 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
1930 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
1931 CHECK_NEW_array__Array(var23
);
1933 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
1934 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
1940 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1944 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
1945 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrExpr>*/;
1946 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1953 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1962 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1966 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
1967 { /* var44 = array_instance Array[Object] */
1969 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
1970 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
1971 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
1972 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
1973 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
1974 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
1975 CHECK_NEW_array__Array(var44
);
1977 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
1978 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
1984 var52
= string__NativeString__to_s_with_length(var50
, var51
);
1988 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
1994 /* method abstract_compiler#AOrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1995 val
* VIRTUAL_abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
1996 val
* var
/* : nullable RuntimeVariable */;
1997 val
* var1
/* : nullable RuntimeVariable */;
1998 var1
= abstract_compiler__AOrExpr__expr(self
, p0
);
2003 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2004 val
* abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2005 val
* var
/* : nullable RuntimeVariable */;
2006 val
* var_v
/* var v: AbstractCompilerVisitor */;
2007 val
* var1
/* : nullable MType */;
2008 val
* var2
/* : RuntimeVariable */;
2009 val
* var_res
/* var res: RuntimeVariable */;
2010 val
* var3
/* : AExpr */;
2011 val
* var4
/* : RuntimeVariable */;
2012 val
* var_i1
/* var i1: RuntimeVariable */;
2013 static val
* varonce
;
2014 val
* var5
/* : String */;
2015 char* var6
/* : NativeString */;
2016 long var7
/* : Int */;
2017 val
* var8
/* : String */;
2018 static val
* varonce9
;
2019 val
* var10
/* : String */;
2020 char* var11
/* : NativeString */;
2021 long var12
/* : Int */;
2022 val
* var13
/* : String */;
2023 val
* var14
/* : Array[Object] */;
2024 long var15
/* : Int */;
2025 val
* var16
/* : NativeArray[Object] */;
2026 val
* var17
/* : String */;
2027 static val
* varonce18
;
2028 val
* var19
/* : String */;
2029 char* var20
/* : NativeString */;
2030 long var21
/* : Int */;
2031 val
* var22
/* : String */;
2032 val
* var23
/* : Array[Object] */;
2033 long var24
/* : Int */;
2034 val
* var25
/* : NativeArray[Object] */;
2035 val
* var26
/* : String */;
2036 static val
* varonce27
;
2037 val
* var28
/* : String */;
2038 char* var29
/* : NativeString */;
2039 long var30
/* : Int */;
2040 val
* var31
/* : String */;
2041 val
* var32
/* : AExpr */;
2042 val
* var33
/* : RuntimeVariable */;
2043 val
* var_i2
/* var i2: RuntimeVariable */;
2044 static val
* varonce34
;
2045 val
* var35
/* : String */;
2046 char* var36
/* : NativeString */;
2047 long var37
/* : Int */;
2048 val
* var38
/* : String */;
2049 static val
* varonce39
;
2050 val
* var40
/* : String */;
2051 char* var41
/* : NativeString */;
2052 long var42
/* : Int */;
2053 val
* var43
/* : String */;
2054 val
* var44
/* : Array[Object] */;
2055 long var45
/* : Int */;
2056 val
* var46
/* : NativeArray[Object] */;
2057 val
* var47
/* : String */;
2058 static val
* varonce48
;
2059 val
* var49
/* : String */;
2060 char* var50
/* : NativeString */;
2061 long var51
/* : Int */;
2062 val
* var52
/* : String */;
2064 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AImpliesExpr>*/;
2066 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2017);
2069 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2071 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr
]))(self
) /* n_expr on <self:AImpliesExpr>*/;
2072 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2079 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2088 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2092 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2093 { /* var14 = array_instance Array[Object] */
2095 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2096 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2097 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
2098 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2099 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2100 CHECK_NEW_array__Array(var14
);
2102 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2103 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2109 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2113 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2114 { /* var23 = array_instance Array[Object] */
2116 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2117 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
2118 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
2119 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2120 CHECK_NEW_array__Array(var23
);
2122 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2123 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
2129 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2133 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2134 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr2
]))(self
) /* n_expr2 on <self:AImpliesExpr>*/;
2135 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2142 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2151 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2155 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
2156 { /* var44 = array_instance Array[Object] */
2158 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
2159 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
2160 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
2161 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
2162 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
2163 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
2164 CHECK_NEW_array__Array(var44
);
2166 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
2167 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
2173 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2177 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
2183 /* method abstract_compiler#AImpliesExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2184 val
* VIRTUAL_abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2185 val
* var
/* : nullable RuntimeVariable */;
2186 val
* var1
/* : nullable RuntimeVariable */;
2187 var1
= abstract_compiler__AImpliesExpr__expr(self
, p0
);
2192 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2193 val
* abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2194 val
* var
/* : nullable RuntimeVariable */;
2195 val
* var_v
/* var v: AbstractCompilerVisitor */;
2196 val
* var1
/* : nullable MType */;
2197 val
* var2
/* : RuntimeVariable */;
2198 val
* var_res
/* var res: RuntimeVariable */;
2199 val
* var3
/* : AExpr */;
2200 val
* var4
/* : RuntimeVariable */;
2201 val
* var_i1
/* var i1: RuntimeVariable */;
2202 static val
* varonce
;
2203 val
* var5
/* : String */;
2204 char* var6
/* : NativeString */;
2205 long var7
/* : Int */;
2206 val
* var8
/* : String */;
2207 static val
* varonce9
;
2208 val
* var10
/* : String */;
2209 char* var11
/* : NativeString */;
2210 long var12
/* : Int */;
2211 val
* var13
/* : String */;
2212 val
* var14
/* : Array[Object] */;
2213 long var15
/* : Int */;
2214 val
* var16
/* : NativeArray[Object] */;
2215 val
* var17
/* : String */;
2216 static val
* varonce18
;
2217 val
* var19
/* : String */;
2218 char* var20
/* : NativeString */;
2219 long var21
/* : Int */;
2220 val
* var22
/* : String */;
2221 val
* var23
/* : Array[Object] */;
2222 long var24
/* : Int */;
2223 val
* var25
/* : NativeArray[Object] */;
2224 val
* var26
/* : String */;
2225 static val
* varonce27
;
2226 val
* var28
/* : String */;
2227 char* var29
/* : NativeString */;
2228 long var30
/* : Int */;
2229 val
* var31
/* : String */;
2230 val
* var32
/* : AExpr */;
2231 val
* var33
/* : RuntimeVariable */;
2232 val
* var_i2
/* var i2: RuntimeVariable */;
2233 static val
* varonce34
;
2234 val
* var35
/* : String */;
2235 char* var36
/* : NativeString */;
2236 long var37
/* : Int */;
2237 val
* var38
/* : String */;
2238 static val
* varonce39
;
2239 val
* var40
/* : String */;
2240 char* var41
/* : NativeString */;
2241 long var42
/* : Int */;
2242 val
* var43
/* : String */;
2243 val
* var44
/* : Array[Object] */;
2244 long var45
/* : Int */;
2245 val
* var46
/* : NativeArray[Object] */;
2246 val
* var47
/* : String */;
2247 static val
* varonce48
;
2248 val
* var49
/* : String */;
2249 char* var50
/* : NativeString */;
2250 long var51
/* : Int */;
2251 val
* var52
/* : String */;
2253 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAndExpr>*/;
2255 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2032);
2258 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2260 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
2261 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2268 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2277 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2281 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2282 { /* var14 = array_instance Array[Object] */
2284 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2285 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2286 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
2287 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2288 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2289 CHECK_NEW_array__Array(var14
);
2291 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2292 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2298 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2302 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2303 { /* var23 = array_instance Array[Object] */
2305 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2306 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
2307 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
2308 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2309 CHECK_NEW_array__Array(var23
);
2311 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2312 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
2318 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2322 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2323 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr2
]))(self
) /* n_expr2 on <self:AAndExpr>*/;
2324 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2331 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2340 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2344 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
2345 { /* var44 = array_instance Array[Object] */
2347 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
2348 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
2349 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
2350 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
2351 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
2352 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
2353 CHECK_NEW_array__Array(var44
);
2355 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
2356 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
2362 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2366 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
2372 /* method abstract_compiler#AAndExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2373 val
* VIRTUAL_abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2374 val
* var
/* : nullable RuntimeVariable */;
2375 val
* var1
/* : nullable RuntimeVariable */;
2376 var1
= abstract_compiler__AAndExpr__expr(self
, p0
);
2381 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2382 val
* abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2383 val
* var
/* : nullable RuntimeVariable */;
2384 val
* var_v
/* var v: AbstractCompilerVisitor */;
2385 val
* var1
/* : AExpr */;
2386 val
* var2
/* : RuntimeVariable */;
2387 val
* var_cond
/* var cond: RuntimeVariable */;
2388 static val
* varonce
;
2389 val
* var3
/* : String */;
2390 char* var4
/* : NativeString */;
2391 long var5
/* : Int */;
2392 val
* var6
/* : String */;
2393 val
* var7
/* : Array[Object] */;
2394 long var8
/* : Int */;
2395 val
* var9
/* : NativeArray[Object] */;
2396 val
* var10
/* : String */;
2397 val
* var11
/* : nullable MType */;
2398 val
* var12
/* : RuntimeVariable */;
2400 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANotExpr__n_expr
]))(self
) /* n_expr on <self:ANotExpr>*/;
2401 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var1
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2408 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2412 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2413 { /* var7 = array_instance Array[Object] */
2415 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
2416 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var3
;
2417 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var_cond
;
2418 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
2419 CHECK_NEW_array__Array(var7
);
2421 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
2422 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANotExpr>*/;
2423 if (var11
== NULL
) {
2424 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2048);
2427 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var10
, var11
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
2433 /* method abstract_compiler#ANotExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2434 val
* VIRTUAL_abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2435 val
* var
/* : nullable RuntimeVariable */;
2436 val
* var1
/* : nullable RuntimeVariable */;
2437 var1
= abstract_compiler__ANotExpr__expr(self
, p0
);
2442 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2443 val
* abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2444 val
* var
/* : nullable RuntimeVariable */;
2445 val
* var_v
/* var v: AbstractCompilerVisitor */;
2446 val
* var1
/* : nullable MType */;
2447 val
* var2
/* : RuntimeVariable */;
2448 val
* var_res
/* var res: RuntimeVariable */;
2449 val
* var3
/* : AExpr */;
2450 val
* var4
/* : null */;
2451 val
* var5
/* : RuntimeVariable */;
2452 val
* var_i1
/* var i1: RuntimeVariable */;
2453 static val
* varonce
;
2454 val
* var6
/* : String */;
2455 char* var7
/* : NativeString */;
2456 long var8
/* : Int */;
2457 val
* var9
/* : String */;
2458 static val
* varonce10
;
2459 val
* var11
/* : String */;
2460 char* var12
/* : NativeString */;
2461 long var13
/* : Int */;
2462 val
* var14
/* : String */;
2463 val
* var15
/* : Array[Object] */;
2464 long var16
/* : Int */;
2465 val
* var17
/* : NativeArray[Object] */;
2466 val
* var18
/* : String */;
2467 static val
* varonce19
;
2468 val
* var20
/* : String */;
2469 char* var21
/* : NativeString */;
2470 long var22
/* : Int */;
2471 val
* var23
/* : String */;
2472 val
* var24
/* : AExpr */;
2473 val
* var25
/* : null */;
2474 val
* var26
/* : RuntimeVariable */;
2475 val
* var_i2
/* var i2: RuntimeVariable */;
2476 static val
* varonce27
;
2477 val
* var28
/* : String */;
2478 char* var29
/* : NativeString */;
2479 long var30
/* : Int */;
2480 val
* var31
/* : String */;
2482 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrElseExpr>*/;
2484 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2055);
2487 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2489 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr
]))(self
) /* n_expr on <self:AOrElseExpr>*/;
2491 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2498 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2505 var12
= "!=NULL) {";
2507 var14
= string__NativeString__to_s_with_length(var12
, var13
);
2511 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
2512 { /* var15 = array_instance Array[Object] */
2514 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
2515 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var6
;
2516 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var_i1
;
2517 ((struct instance_array__NativeArray
*)var17
)->values
[2] = (val
*) var11
;
2518 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
2519 CHECK_NEW_array__Array(var15
);
2521 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
2522 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var18
) /* add on <var_v:AbstractCompilerVisitor>*/;
2523 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i1
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2529 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2533 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
2534 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrElseExpr>*/;
2536 var26
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var24
, var25
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2538 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i2
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2544 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2548 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2554 /* method abstract_compiler#AOrElseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2555 val
* VIRTUAL_abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2556 val
* var
/* : nullable RuntimeVariable */;
2557 val
* var1
/* : nullable RuntimeVariable */;
2558 var1
= abstract_compiler__AOrElseExpr__expr(self
, p0
);
2563 /* method abstract_compiler#AEeExpr#expr for (self: AEeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2564 val
* abstract_compiler__AEeExpr__expr(val
* self
, val
* p0
) {
2565 val
* var
/* : nullable RuntimeVariable */;
2566 val
* var_v
/* var v: AbstractCompilerVisitor */;
2567 val
* var1
/* : AExpr */;
2568 val
* var2
/* : null */;
2569 val
* var3
/* : RuntimeVariable */;
2570 val
* var_value1
/* var value1: RuntimeVariable */;
2571 val
* var4
/* : AExpr */;
2572 val
* var5
/* : null */;
2573 val
* var6
/* : RuntimeVariable */;
2574 val
* var_value2
/* var value2: RuntimeVariable */;
2575 val
* var7
/* : RuntimeVariable */;
2577 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AEeExpr__n_expr
]))(self
) /* n_expr on <self:AEeExpr>*/;
2579 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2581 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AEeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AEeExpr>*/;
2583 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2585 var7
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__equal_test
]))(var_v
, var_value1
, var_value2
) /* equal_test on <var_v:AbstractCompilerVisitor>*/;
2591 /* method abstract_compiler#AEeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2592 val
* VIRTUAL_abstract_compiler__AEeExpr__expr(val
* self
, val
* p0
) {
2593 val
* var
/* : nullable RuntimeVariable */;
2594 val
* var1
/* : nullable RuntimeVariable */;
2595 var1
= abstract_compiler__AEeExpr__expr(self
, p0
);
2600 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2601 val
* abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2602 val
* var
/* : nullable RuntimeVariable */;
2603 val
* var_v
/* var v: AbstractCompilerVisitor */;
2604 val
* var1
/* : nullable Int */;
2605 val
* var2
/* : String */;
2606 val
* var3
/* : Array[Object] */;
2607 long var4
/* : Int */;
2608 val
* var5
/* : NativeArray[Object] */;
2609 val
* var6
/* : String */;
2610 val
* var7
/* : nullable MType */;
2611 val
* var8
/* : RuntimeVariable */;
2613 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AIntExpr__value
]))(self
) /* value on <self:AIntExpr>*/;
2615 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2077);
2618 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:nullable Int>*/;
2620 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2621 { /* var3 = array_instance Array[Object] */
2623 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
2624 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
2625 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
2626 CHECK_NEW_array__Array(var3
);
2628 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
2629 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIntExpr>*/;
2631 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2077);
2634 var8
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var6
, var7
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
2640 /* method abstract_compiler#AIntExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2641 val
* VIRTUAL_abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2642 val
* var
/* : nullable RuntimeVariable */;
2643 val
* var1
/* : nullable RuntimeVariable */;
2644 var1
= abstract_compiler__AIntExpr__expr(self
, p0
);
2649 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2650 val
* abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
2651 val
* var
/* : nullable RuntimeVariable */;
2652 val
* var_v
/* var v: AbstractCompilerVisitor */;
2653 val
* var1
/* : TFloat */;
2654 val
* var2
/* : String */;
2655 val
* var3
/* : Array[Object] */;
2656 long var4
/* : Int */;
2657 val
* var5
/* : NativeArray[Object] */;
2658 val
* var6
/* : String */;
2659 val
* var7
/* : nullable MType */;
2660 val
* var8
/* : RuntimeVariable */;
2662 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AFloatExpr__n_float
]))(self
) /* n_float on <self:AFloatExpr>*/;
2663 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TFloat>*/;
2664 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2665 { /* var3 = array_instance Array[Object] */
2667 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
2668 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
2669 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
2670 CHECK_NEW_array__Array(var3
);
2672 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
2673 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFloatExpr>*/;
2675 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2081);
2678 var8
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var6
, var7
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
2684 /* method abstract_compiler#AFloatExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2685 val
* VIRTUAL_abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
2686 val
* var
/* : nullable RuntimeVariable */;
2687 val
* var1
/* : nullable RuntimeVariable */;
2688 var1
= abstract_compiler__AFloatExpr__expr(self
, p0
);
2693 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2694 val
* abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
2695 val
* var
/* : nullable RuntimeVariable */;
2696 val
* var_v
/* var v: AbstractCompilerVisitor */;
2697 static val
* varonce
;
2698 val
* var1
/* : String */;
2699 char* var2
/* : NativeString */;
2700 long var3
/* : Int */;
2701 val
* var4
/* : String */;
2702 val
* var5
/* : nullable Char */;
2703 val
* var6
/* : String */;
2704 val
* var7
/* : String */;
2705 static val
* varonce8
;
2706 val
* var9
/* : String */;
2707 char* var10
/* : NativeString */;
2708 long var11
/* : Int */;
2709 val
* var12
/* : String */;
2710 val
* var13
/* : Array[Object] */;
2711 long var14
/* : Int */;
2712 val
* var15
/* : NativeArray[Object] */;
2713 val
* var16
/* : String */;
2714 val
* var17
/* : nullable MType */;
2715 val
* var18
/* : RuntimeVariable */;
2722 var4
= string__NativeString__to_s_with_length(var2
, var3
);
2726 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__ACharExpr__value
]))(self
) /* value on <self:ACharExpr>*/;
2728 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2085);
2731 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:nullable Char>*/;
2733 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var6
) /* escape_to_c on <var6:String>*/;
2739 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2743 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
2744 { /* var13 = array_instance Array[Object] */
2746 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
2747 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var1
;
2748 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var7
;
2749 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var9
;
2750 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
2751 CHECK_NEW_array__Array(var13
);
2753 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
2754 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACharExpr>*/;
2755 if (var17
== NULL
) {
2756 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2085);
2759 var18
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var16
, var17
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
2765 /* method abstract_compiler#ACharExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2766 val
* VIRTUAL_abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
2767 val
* var
/* : nullable RuntimeVariable */;
2768 val
* var1
/* : nullable RuntimeVariable */;
2769 var1
= abstract_compiler__ACharExpr__expr(self
, p0
);
2774 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2775 val
* abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
2776 val
* var
/* : nullable RuntimeVariable */;
2777 val
* var_v
/* var v: AbstractCompilerVisitor */;
2778 val
* var1
/* : nullable MType */;
2779 short int var2
/* : Bool */;
2782 val
* var3
/* : Array[MType] */;
2783 val
* var4
/* : nullable Object */;
2784 val
* var_mtype
/* var mtype: MType */;
2785 val
* var5
/* : Array[RuntimeVariable] */;
2786 val
* var_array
/* var array: Array[RuntimeVariable] */;
2787 val
* var6
/* : AExprs */;
2788 val
* var7
/* : ANodes[AExpr] */;
2789 val
* var8
/* : Iterator[nullable Object] */;
2790 short int var9
/* : Bool */;
2791 val
* var10
/* : nullable Object */;
2792 val
* var_nexpr
/* var nexpr: AExpr */;
2793 val
* var11
/* : RuntimeVariable */;
2794 val
* var_i
/* var i: RuntimeVariable */;
2795 val
* var12
/* : RuntimeVariable */;
2797 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AArrayExpr>*/;
2798 /* <var1:nullable MType> isa MClassType */
2799 cltype
= type_model__MClassType
.color
;
2800 idtype
= type_model__MClassType
.id
;
2804 if(cltype
>= var1
->type
->table_size
) {
2807 var2
= var1
->type
->type_table
[cltype
] == idtype
;
2811 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2091);
2814 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MClassType__arguments
]))(var1
) /* arguments on <var1:nullable MType(MClassType)>*/;
2815 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var3
) /* first on <var3:Array[MType]>*/;
2817 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2818 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[RuntimeVariable]>*/;
2819 CHECK_NEW_array__Array(var5
);
2821 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
2822 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
2823 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
2825 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
2827 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
2829 var11
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_nexpr
, var_mtype
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2831 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
2832 CONTINUE_label
: (void)0;
2833 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
2835 BREAK_label
: (void)0;
2836 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__array_instance
]))(var_v
, var_array
, var_mtype
) /* array_instance on <var_v:AbstractCompilerVisitor>*/;
2842 /* method abstract_compiler#AArrayExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2843 val
* VIRTUAL_abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
2844 val
* var
/* : nullable RuntimeVariable */;
2845 val
* var1
/* : nullable RuntimeVariable */;
2846 var1
= abstract_compiler__AArrayExpr__expr(self
, p0
);
2851 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2852 val
* abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
2853 val
* var
/* : nullable RuntimeVariable */;
2854 val
* var_v
/* var v: AbstractCompilerVisitor */;
2855 val
* var1
/* : nullable String */;
2856 val
* var2
/* : RuntimeVariable */;
2858 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(self
) /* value on <self:AStringFormExpr>*/;
2860 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2102);
2863 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__string_instance
]))(var_v
, var1
) /* string_instance on <var_v:AbstractCompilerVisitor>*/;
2869 /* method abstract_compiler#AStringFormExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2870 val
* VIRTUAL_abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
2871 val
* var
/* : nullable RuntimeVariable */;
2872 val
* var1
/* : nullable RuntimeVariable */;
2873 var1
= abstract_compiler__AStringFormExpr__expr(self
, p0
);
2878 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2879 val
* abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
2880 val
* var
/* : nullable RuntimeVariable */;
2881 val
* var_v
/* var v: AbstractCompilerVisitor */;
2882 val
* var1
/* : Array[RuntimeVariable] */;
2883 val
* var_array
/* var array: Array[RuntimeVariable] */;
2884 val
* var2
/* : ANodes[AExpr] */;
2885 val
* var3
/* : Iterator[nullable Object] */;
2886 short int var4
/* : Bool */;
2887 val
* var5
/* : nullable Object */;
2888 val
* var_ne
/* var ne: AExpr */;
2889 short int var6
/* : Bool */;
2890 short int var7
/* : Bool */;
2893 short int var_
/* var : Bool */;
2894 val
* var8
/* : nullable String */;
2895 static val
* varonce
;
2896 val
* var9
/* : String */;
2897 char* var10
/* : NativeString */;
2898 long var11
/* : Int */;
2899 val
* var12
/* : String */;
2900 short int var13
/* : Bool */;
2901 val
* var14
/* : null */;
2902 val
* var15
/* : RuntimeVariable */;
2903 val
* var_i
/* var i: RuntimeVariable */;
2904 val
* var16
/* : MClassType */;
2905 val
* var17
/* : RuntimeVariable */;
2906 val
* var_a
/* var a: RuntimeVariable */;
2907 static val
* varonce18
;
2908 val
* var19
/* : String */;
2909 char* var20
/* : NativeString */;
2910 long var21
/* : Int */;
2911 val
* var22
/* : String */;
2912 val
* var23
/* : MType */;
2913 val
* var24
/* : MMethod */;
2914 val
* var25
/* : Array[RuntimeVariable] */;
2915 long var26
/* : Int */;
2916 val
* var27
/* : NativeArray[RuntimeVariable] */;
2917 val
* var28
/* : nullable RuntimeVariable */;
2918 val
* var_res
/* var res: nullable RuntimeVariable */;
2920 var1
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2921 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[RuntimeVariable]>*/;
2922 CHECK_NEW_array__Array(var1
);
2924 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
2925 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:ANodes[AExpr]>*/;
2927 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
2929 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
2931 /* <var_ne:AExpr> isa AStringFormExpr */
2932 cltype
= type_parser_nodes__AStringFormExpr
.color
;
2933 idtype
= type_parser_nodes__AStringFormExpr
.id
;
2934 if(cltype
>= var_ne
->type
->table_size
) {
2937 var7
= var_ne
->type
->type_table
[cltype
] == idtype
;
2941 var8
= ((val
* (*)(val
*))(var_ne
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(var_ne
) /* value on <var_ne:AExpr(AStringFormExpr)>*/;
2947 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2952 var13
= 0; /* <var9:String> cannot be null */
2954 var13
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var9
) /* == on <var8:nullable String>*/;
2961 goto CONTINUE_label
;
2965 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_ne
, var14
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2967 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
2968 CONTINUE_label
: (void)0;
2969 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
2971 BREAK_label
: (void)0;
2972 var16
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(var_v
) /* object_type on <var_v:AbstractCompilerVisitor>*/;
2973 var17
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__array_instance
]))(var_v
, var_array
, var16
) /* array_instance on <var_v:AbstractCompilerVisitor>*/;
2980 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2984 var23
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_a
) /* mtype on <var_a:RuntimeVariable>*/;
2985 var24
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(var_v
, var19
, var23
) /* get_property on <var_v:AbstractCompilerVisitor>*/;
2986 var25
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2987 { /* var25 = array_instance Array[RuntimeVariable] */
2989 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
2990 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_a
;
2991 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[RuntimeVariable]>*/;
2992 CHECK_NEW_array__Array(var25
);
2994 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var24
, var25
) /* send on <var_v:AbstractCompilerVisitor>*/;
3001 /* method abstract_compiler#ASuperstringExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3002 val
* VIRTUAL_abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
3003 val
* var
/* : nullable RuntimeVariable */;
3004 val
* var1
/* : nullable RuntimeVariable */;
3005 var1
= abstract_compiler__ASuperstringExpr__expr(self
, p0
);
3010 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3011 val
* abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3012 val
* var
/* : nullable RuntimeVariable */;
3013 val
* var_v
/* var v: AbstractCompilerVisitor */;
3014 val
* var1
/* : AExpr */;
3015 val
* var2
/* : null */;
3016 val
* var3
/* : RuntimeVariable */;
3017 val
* var_i1
/* var i1: RuntimeVariable */;
3018 val
* var4
/* : AExpr */;
3019 val
* var5
/* : null */;
3020 val
* var6
/* : RuntimeVariable */;
3021 val
* var_i2
/* var i2: RuntimeVariable */;
3022 val
* var7
/* : nullable MType */;
3023 short int var8
/* : Bool */;
3026 val
* var_mtype
/* var mtype: MClassType */;
3027 val
* var9
/* : RuntimeVariable */;
3028 val
* var_res
/* var res: RuntimeVariable */;
3029 static val
* varonce
;
3030 val
* var10
/* : String */;
3031 char* var11
/* : NativeString */;
3032 long var12
/* : Int */;
3033 val
* var13
/* : String */;
3034 val
* var14
/* : MType */;
3035 val
* var15
/* : MMethod */;
3036 val
* var16
/* : Array[RuntimeVariable] */;
3037 long var17
/* : Int */;
3038 val
* var18
/* : NativeArray[RuntimeVariable] */;
3039 val
* var19
/* : nullable RuntimeVariable */;
3040 val
* var_it
/* var it: nullable RuntimeVariable */;
3042 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:ACrangeExpr>*/;
3044 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3046 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:ACrangeExpr>*/;
3048 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3050 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACrangeExpr>*/;
3051 /* <var7:nullable MType> isa MClassType */
3052 cltype
= type_model__MClassType
.color
;
3053 idtype
= type_model__MClassType
.id
;
3057 if(cltype
>= var7
->type
->table_size
) {
3060 var8
= var7
->type
->type_table
[cltype
] == idtype
;
3064 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2125);
3068 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3075 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3079 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
3080 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(var_v
, var10
, var14
) /* get_property on <var_v:AbstractCompilerVisitor>*/;
3081 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3082 { /* var16 = array_instance Array[RuntimeVariable] */
3084 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3085 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
3086 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
3087 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
3088 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
3089 CHECK_NEW_array__Array(var16
);
3091 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
3093 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance
]))(var_v
, var_res
, var_mtype
) /* check_init_instance on <var_v:AbstractCompilerVisitor>*/;
3099 /* method abstract_compiler#ACrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3100 val
* VIRTUAL_abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3101 val
* var
/* : nullable RuntimeVariable */;
3102 val
* var1
/* : nullable RuntimeVariable */;
3103 var1
= abstract_compiler__ACrangeExpr__expr(self
, p0
);
3108 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3109 val
* abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3110 val
* var
/* : nullable RuntimeVariable */;
3111 val
* var_v
/* var v: AbstractCompilerVisitor */;
3112 val
* var1
/* : AExpr */;
3113 val
* var2
/* : null */;
3114 val
* var3
/* : RuntimeVariable */;
3115 val
* var_i1
/* var i1: RuntimeVariable */;
3116 val
* var4
/* : AExpr */;
3117 val
* var5
/* : null */;
3118 val
* var6
/* : RuntimeVariable */;
3119 val
* var_i2
/* var i2: RuntimeVariable */;
3120 val
* var7
/* : nullable MType */;
3121 short int var8
/* : Bool */;
3124 val
* var_mtype
/* var mtype: MClassType */;
3125 val
* var9
/* : RuntimeVariable */;
3126 val
* var_res
/* var res: RuntimeVariable */;
3127 static val
* varonce
;
3128 val
* var10
/* : String */;
3129 char* var11
/* : NativeString */;
3130 long var12
/* : Int */;
3131 val
* var13
/* : String */;
3132 val
* var14
/* : MType */;
3133 val
* var15
/* : MMethod */;
3134 val
* var16
/* : Array[RuntimeVariable] */;
3135 long var17
/* : Int */;
3136 val
* var18
/* : NativeArray[RuntimeVariable] */;
3137 val
* var19
/* : nullable RuntimeVariable */;
3138 val
* var_it
/* var it: nullable RuntimeVariable */;
3140 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:AOrangeExpr>*/;
3142 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3144 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrangeExpr>*/;
3146 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3148 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrangeExpr>*/;
3149 /* <var7:nullable MType> isa MClassType */
3150 cltype
= type_model__MClassType
.color
;
3151 idtype
= type_model__MClassType
.id
;
3155 if(cltype
>= var7
->type
->table_size
) {
3158 var8
= var7
->type
->type_table
[cltype
] == idtype
;
3162 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2138);
3166 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3171 var11
= "without_last";
3173 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3177 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
3178 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(var_v
, var10
, var14
) /* get_property on <var_v:AbstractCompilerVisitor>*/;
3179 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3180 { /* var16 = array_instance Array[RuntimeVariable] */
3182 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3183 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
3184 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
3185 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
3186 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
3187 CHECK_NEW_array__Array(var16
);
3189 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
3191 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance
]))(var_v
, var_res
, var_mtype
) /* check_init_instance on <var_v:AbstractCompilerVisitor>*/;
3197 /* method abstract_compiler#AOrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3198 val
* VIRTUAL_abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3199 val
* var
/* : nullable RuntimeVariable */;
3200 val
* var1
/* : nullable RuntimeVariable */;
3201 var1
= abstract_compiler__AOrangeExpr__expr(self
, p0
);
3206 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3207 val
* abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3208 val
* var
/* : nullable RuntimeVariable */;
3209 val
* var_v
/* var v: AbstractCompilerVisitor */;
3210 static val
* varonce
;
3211 val
* var1
/* : String */;
3212 char* var2
/* : NativeString */;
3213 long var3
/* : Int */;
3214 val
* var4
/* : String */;
3215 val
* var5
/* : nullable MType */;
3216 val
* var6
/* : RuntimeVariable */;
3223 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3227 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ATrueExpr>*/;
3229 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2147);
3232 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var1
, var5
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
3238 /* method abstract_compiler#ATrueExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3239 val
* VIRTUAL_abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3240 val
* var
/* : nullable RuntimeVariable */;
3241 val
* var1
/* : nullable RuntimeVariable */;
3242 var1
= abstract_compiler__ATrueExpr__expr(self
, p0
);
3247 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3248 val
* abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3249 val
* var
/* : nullable RuntimeVariable */;
3250 val
* var_v
/* var v: AbstractCompilerVisitor */;
3251 static val
* varonce
;
3252 val
* var1
/* : String */;
3253 char* var2
/* : NativeString */;
3254 long var3
/* : Int */;
3255 val
* var4
/* : String */;
3256 val
* var5
/* : nullable MType */;
3257 val
* var6
/* : RuntimeVariable */;
3264 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3268 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFalseExpr>*/;
3270 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2151);
3273 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var1
, var5
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
3279 /* method abstract_compiler#AFalseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3280 val
* VIRTUAL_abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3281 val
* var
/* : nullable RuntimeVariable */;
3282 val
* var1
/* : nullable RuntimeVariable */;
3283 var1
= abstract_compiler__AFalseExpr__expr(self
, p0
);
3288 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3289 val
* abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3290 val
* var
/* : nullable RuntimeVariable */;
3291 val
* var_v
/* var v: AbstractCompilerVisitor */;
3292 static val
* varonce
;
3293 val
* var1
/* : String */;
3294 char* var2
/* : NativeString */;
3295 long var3
/* : Int */;
3296 val
* var4
/* : String */;
3297 val
* var5
/* : nullable MType */;
3298 val
* var6
/* : RuntimeVariable */;
3305 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3309 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANullExpr>*/;
3311 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2155);
3314 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var1
, var5
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
3320 /* method abstract_compiler#ANullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3321 val
* VIRTUAL_abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3322 val
* var
/* : nullable RuntimeVariable */;
3323 val
* var1
/* : nullable RuntimeVariable */;
3324 var1
= abstract_compiler__ANullExpr__expr(self
, p0
);
3329 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3330 val
* abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3331 val
* var
/* : nullable RuntimeVariable */;
3332 val
* var_v
/* var v: AbstractCompilerVisitor */;
3333 val
* var1
/* : AExpr */;
3334 val
* var2
/* : null */;
3335 val
* var3
/* : RuntimeVariable */;
3336 val
* var_i
/* var i: RuntimeVariable */;
3337 val
* var4
/* : nullable MType */;
3338 static val
* varonce
;
3339 val
* var5
/* : String */;
3340 char* var6
/* : NativeString */;
3341 long var7
/* : Int */;
3342 val
* var8
/* : String */;
3343 val
* var9
/* : RuntimeVariable */;
3345 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIsaExpr__n_expr
]))(self
) /* n_expr on <self:AIsaExpr>*/;
3347 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3349 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AIsaExpr__cast_type
]))(self
) /* cast_type on <self:AIsaExpr>*/;
3351 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2162);
3359 var8
= string__NativeString__to_s_with_length(var6
, var7
);
3363 var9
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var4
, var5
) /* type_test on <var_v:AbstractCompilerVisitor>*/;
3369 /* method abstract_compiler#AIsaExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3370 val
* VIRTUAL_abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3371 val
* var
/* : nullable RuntimeVariable */;
3372 val
* var1
/* : nullable RuntimeVariable */;
3373 var1
= abstract_compiler__AIsaExpr__expr(self
, p0
);
3378 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3379 val
* abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3380 val
* var
/* : nullable RuntimeVariable */;
3381 val
* var_v
/* var v: AbstractCompilerVisitor */;
3382 val
* var1
/* : AExpr */;
3383 val
* var2
/* : null */;
3384 val
* var3
/* : RuntimeVariable */;
3385 val
* var_i
/* var i: RuntimeVariable */;
3386 val
* var4
/* : AbstractCompiler */;
3387 val
* var5
/* : ModelBuilder */;
3388 val
* var6
/* : ToolContext */;
3389 val
* var7
/* : OptionBool */;
3390 val
* var8
/* : nullable Object */;
3391 short int var9
/* : Bool */;
3392 val
* var10
/* : nullable MType */;
3393 static val
* varonce
;
3394 val
* var11
/* : String */;
3395 char* var12
/* : NativeString */;
3396 long var13
/* : Int */;
3397 val
* var14
/* : String */;
3398 val
* var15
/* : RuntimeVariable */;
3399 val
* var_cond
/* var cond: RuntimeVariable */;
3400 static val
* varonce16
;
3401 val
* var17
/* : String */;
3402 char* var18
/* : NativeString */;
3403 long var19
/* : Int */;
3404 val
* var20
/* : String */;
3405 static val
* varonce21
;
3406 val
* var22
/* : String */;
3407 char* var23
/* : NativeString */;
3408 long var24
/* : Int */;
3409 val
* var25
/* : String */;
3410 val
* var26
/* : Array[Object] */;
3411 long var27
/* : Int */;
3412 val
* var28
/* : NativeArray[Object] */;
3413 val
* var29
/* : String */;
3414 static val
* varonce30
;
3415 val
* var31
/* : String */;
3416 char* var32
/* : NativeString */;
3417 long var33
/* : Int */;
3418 val
* var34
/* : String */;
3419 static val
* varonce35
;
3420 val
* var36
/* : String */;
3421 char* var37
/* : NativeString */;
3422 long var38
/* : Int */;
3423 val
* var39
/* : String */;
3425 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsCastExpr__n_expr
]))(self
) /* n_expr on <self:AAsCastExpr>*/;
3427 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3429 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
3430 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
3431 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
3432 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
3433 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
3434 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
3440 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAsCastExpr>*/;
3441 if (var10
== NULL
) {
3442 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2172);
3450 var14
= string__NativeString__to_s_with_length(var12
, var13
);
3454 var15
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(var_v
, var_i
, var10
, var11
) /* type_test on <var_v:AbstractCompilerVisitor>*/;
3461 var20
= string__NativeString__to_s_with_length(var18
, var19
);
3470 var25
= string__NativeString__to_s_with_length(var23
, var24
);
3474 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
3475 { /* var26 = array_instance Array[Object] */
3477 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
3478 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var17
;
3479 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var_cond
;
3480 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
3481 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
3482 CHECK_NEW_array__Array(var26
);
3484 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
3485 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var29
) /* add on <var_v:AbstractCompilerVisitor>*/;
3489 var32
= "Cast failed";
3491 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3495 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var31
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
3501 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3505 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var36
) /* add on <var_v:AbstractCompilerVisitor>*/;
3511 /* method abstract_compiler#AAsCastExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3512 val
* VIRTUAL_abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3513 val
* var
/* : nullable RuntimeVariable */;
3514 val
* var1
/* : nullable RuntimeVariable */;
3515 var1
= abstract_compiler__AAsCastExpr__expr(self
, p0
);
3520 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3521 val
* abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3522 val
* var
/* : nullable RuntimeVariable */;
3523 val
* var_v
/* var v: AbstractCompilerVisitor */;
3524 val
* var1
/* : AExpr */;
3525 val
* var2
/* : null */;
3526 val
* var3
/* : RuntimeVariable */;
3527 val
* var_i
/* var i: RuntimeVariable */;
3528 val
* var4
/* : AbstractCompiler */;
3529 val
* var5
/* : ModelBuilder */;
3530 val
* var6
/* : ToolContext */;
3531 val
* var7
/* : OptionBool */;
3532 val
* var8
/* : nullable Object */;
3533 short int var9
/* : Bool */;
3534 static val
* varonce
;
3535 val
* var10
/* : String */;
3536 char* var11
/* : NativeString */;
3537 long var12
/* : Int */;
3538 val
* var13
/* : String */;
3539 static val
* varonce14
;
3540 val
* var15
/* : String */;
3541 char* var16
/* : NativeString */;
3542 long var17
/* : Int */;
3543 val
* var18
/* : String */;
3544 val
* var19
/* : Array[Object] */;
3545 long var20
/* : Int */;
3546 val
* var21
/* : NativeArray[Object] */;
3547 val
* var22
/* : String */;
3548 static val
* varonce23
;
3549 val
* var24
/* : String */;
3550 char* var25
/* : NativeString */;
3551 long var26
/* : Int */;
3552 val
* var27
/* : String */;
3553 static val
* varonce28
;
3554 val
* var29
/* : String */;
3555 char* var30
/* : NativeString */;
3556 long var31
/* : Int */;
3557 val
* var32
/* : String */;
3559 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsNotnullExpr__n_expr
]))(self
) /* n_expr on <self:AAsNotnullExpr>*/;
3561 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3563 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
3564 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
3565 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
3566 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
3567 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
3568 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
3579 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3586 var16
= " == NULL) {";
3588 var18
= string__NativeString__to_s_with_length(var16
, var17
);
3592 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
3593 { /* var19 = array_instance Array[Object] */
3595 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
3596 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
3597 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_i
;
3598 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
3599 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
3600 CHECK_NEW_array__Array(var19
);
3602 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
3603 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
3607 var25
= "Cast failed";
3609 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3613 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var24
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
3619 var32
= string__NativeString__to_s_with_length(var30
, var31
);
3623 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var29
) /* add on <var_v:AbstractCompilerVisitor>*/;
3629 /* method abstract_compiler#AAsNotnullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3630 val
* VIRTUAL_abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3631 val
* var
/* : nullable RuntimeVariable */;
3632 val
* var1
/* : nullable RuntimeVariable */;
3633 var1
= abstract_compiler__AAsNotnullExpr__expr(self
, p0
);
3638 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3639 val
* abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3640 val
* var
/* : nullable RuntimeVariable */;
3641 val
* var_v
/* var v: AbstractCompilerVisitor */;
3642 val
* var1
/* : AExpr */;
3643 val
* var2
/* : null */;
3644 val
* var3
/* : RuntimeVariable */;
3646 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AParExpr>*/;
3648 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3654 /* method abstract_compiler#AParExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3655 val
* VIRTUAL_abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3656 val
* var
/* : nullable RuntimeVariable */;
3657 val
* var1
/* : nullable RuntimeVariable */;
3658 var1
= abstract_compiler__AParExpr__expr(self
, p0
);
3663 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3664 val
* abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
3665 val
* var
/* : nullable RuntimeVariable */;
3666 val
* var_v
/* var v: AbstractCompilerVisitor */;
3667 val
* var1
/* : nullable MType */;
3668 val
* var_mtype
/* var mtype: MType */;
3669 static val
* varonce
;
3670 val
* var2
/* : String */;
3671 char* var3
/* : NativeString */;
3672 long var4
/* : Int */;
3673 val
* var5
/* : String */;
3674 val
* var6
/* : String */;
3675 val
* var_name
/* var name: String */;
3676 static val
* varonce7
;
3677 val
* var8
/* : String */;
3678 char* var9
/* : NativeString */;
3679 long var10
/* : Int */;
3680 val
* var11
/* : String */;
3681 val
* var12
/* : String */;
3682 val
* var13
/* : String */;
3683 val
* var_guard
/* var guard: String */;
3684 static val
* varonce14
;
3685 val
* var15
/* : String */;
3686 char* var16
/* : NativeString */;
3687 long var17
/* : Int */;
3688 val
* var18
/* : String */;
3689 val
* var19
/* : String */;
3690 static val
* varonce20
;
3691 val
* var21
/* : String */;
3692 char* var22
/* : NativeString */;
3693 long var23
/* : Int */;
3694 val
* var24
/* : String */;
3695 static val
* varonce25
;
3696 val
* var26
/* : String */;
3697 char* var27
/* : NativeString */;
3698 long var28
/* : Int */;
3699 val
* var29
/* : String */;
3700 val
* var30
/* : Array[Object] */;
3701 long var31
/* : Int */;
3702 val
* var32
/* : NativeArray[Object] */;
3703 val
* var33
/* : String */;
3704 static val
* varonce34
;
3705 val
* var35
/* : String */;
3706 char* var36
/* : NativeString */;
3707 long var37
/* : Int */;
3708 val
* var38
/* : String */;
3709 static val
* varonce39
;
3710 val
* var40
/* : String */;
3711 char* var41
/* : NativeString */;
3712 long var42
/* : Int */;
3713 val
* var43
/* : String */;
3714 val
* var44
/* : Array[Object] */;
3715 long var45
/* : Int */;
3716 val
* var46
/* : NativeArray[Object] */;
3717 val
* var47
/* : String */;
3718 val
* var48
/* : RuntimeVariable */;
3719 val
* var_res
/* var res: RuntimeVariable */;
3720 static val
* varonce49
;
3721 val
* var50
/* : String */;
3722 char* var51
/* : NativeString */;
3723 long var52
/* : Int */;
3724 val
* var53
/* : String */;
3725 static val
* varonce54
;
3726 val
* var55
/* : String */;
3727 char* var56
/* : NativeString */;
3728 long var57
/* : Int */;
3729 val
* var58
/* : String */;
3730 val
* var59
/* : Array[Object] */;
3731 long var60
/* : Int */;
3732 val
* var61
/* : NativeArray[Object] */;
3733 val
* var62
/* : String */;
3734 static val
* varonce63
;
3735 val
* var64
/* : String */;
3736 char* var65
/* : NativeString */;
3737 long var66
/* : Int */;
3738 val
* var67
/* : String */;
3739 static val
* varonce68
;
3740 val
* var69
/* : String */;
3741 char* var70
/* : NativeString */;
3742 long var71
/* : Int */;
3743 val
* var72
/* : String */;
3744 val
* var73
/* : Array[Object] */;
3745 long var74
/* : Int */;
3746 val
* var75
/* : NativeArray[Object] */;
3747 val
* var76
/* : String */;
3748 static val
* varonce77
;
3749 val
* var78
/* : String */;
3750 char* var79
/* : NativeString */;
3751 long var80
/* : Int */;
3752 val
* var81
/* : String */;
3753 val
* var82
/* : AExpr */;
3754 val
* var83
/* : RuntimeVariable */;
3755 val
* var_i
/* var i: RuntimeVariable */;
3756 static val
* varonce84
;
3757 val
* var85
/* : String */;
3758 char* var86
/* : NativeString */;
3759 long var87
/* : Int */;
3760 val
* var88
/* : String */;
3761 static val
* varonce89
;
3762 val
* var90
/* : String */;
3763 char* var91
/* : NativeString */;
3764 long var92
/* : Int */;
3765 val
* var93
/* : String */;
3766 val
* var94
/* : Array[Object] */;
3767 long var95
/* : Int */;
3768 val
* var96
/* : NativeArray[Object] */;
3769 val
* var97
/* : String */;
3770 static val
* varonce98
;
3771 val
* var99
/* : String */;
3772 char* var100
/* : NativeString */;
3773 long var101
/* : Int */;
3774 val
* var102
/* : String */;
3775 static val
* varonce103
;
3776 val
* var104
/* : String */;
3777 char* var105
/* : NativeString */;
3778 long var106
/* : Int */;
3779 val
* var107
/* : String */;
3780 val
* var108
/* : Array[Object] */;
3781 long var109
/* : Int */;
3782 val
* var110
/* : NativeArray[Object] */;
3783 val
* var111
/* : String */;
3784 static val
* varonce112
;
3785 val
* var113
/* : String */;
3786 char* var114
/* : NativeString */;
3787 long var115
/* : Int */;
3788 val
* var116
/* : String */;
3789 val
* var117
/* : Array[Object] */;
3790 long var118
/* : Int */;
3791 val
* var119
/* : NativeArray[Object] */;
3792 val
* var120
/* : String */;
3793 static val
* varonce121
;
3794 val
* var122
/* : String */;
3795 char* var123
/* : NativeString */;
3796 long var124
/* : Int */;
3797 val
* var125
/* : String */;
3799 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOnceExpr>*/;
3801 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2200);
3810 var5
= string__NativeString__to_s_with_length(var3
, var4
);
3814 var6
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var2
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
3821 var11
= string__NativeString__to_s_with_length(var9
, var10
);
3825 var12
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var8
) /* + on <var_name:String>*/;
3826 var13
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var12
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
3833 var18
= string__NativeString__to_s_with_length(var16
, var17
);
3837 var19
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3843 var24
= string__NativeString__to_s_with_length(var22
, var23
);
3852 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3856 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
3857 { /* var30 = array_instance Array[Object] */
3859 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
3860 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var15
;
3861 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var19
;
3862 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var21
;
3863 ((struct instance_array__NativeArray
*)var32
)->values
[3] = (val
*) var_name
;
3864 ((struct instance_array__NativeArray
*)var32
)->values
[4] = (val
*) var26
;
3865 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
3866 CHECK_NEW_array__Array(var30
);
3868 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
3869 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var33
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
3873 var36
= "static int ";
3875 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3884 var43
= string__NativeString__to_s_with_length(var41
, var42
);
3888 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
3889 { /* var44 = array_instance Array[Object] */
3891 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
3892 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
3893 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_guard
;
3894 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
3895 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
3896 CHECK_NEW_array__Array(var44
);
3898 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
3899 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var47
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
3900 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_mtype
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
3907 var53
= string__NativeString__to_s_with_length(var51
, var52
);
3916 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3920 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
3921 { /* var59 = array_instance Array[Object] */
3923 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
3924 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
3925 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_guard
;
3926 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
3927 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
3928 CHECK_NEW_array__Array(var59
);
3930 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
3931 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var62
) /* add on <var_v:AbstractCompilerVisitor>*/;
3937 var67
= string__NativeString__to_s_with_length(var65
, var66
);
3946 var72
= string__NativeString__to_s_with_length(var70
, var71
);
3950 var73
= NEW_array__Array(&type_array__Arraykernel__Object
);
3951 { /* var73 = array_instance Array[Object] */
3953 var75
= NEW_array__NativeArray(var74
, &type_array__NativeArraykernel__Object
);
3954 ((struct instance_array__NativeArray
*)var75
)->values
[0] = (val
*) var_res
;
3955 ((struct instance_array__NativeArray
*)var75
)->values
[1] = (val
*) var64
;
3956 ((struct instance_array__NativeArray
*)var75
)->values
[2] = (val
*) var_name
;
3957 ((struct instance_array__NativeArray
*)var75
)->values
[3] = (val
*) var69
;
3958 ((void (*)(val
*, val
*, long))(var73
->class->vft
[COLOR_array__Array__with_native
]))(var73
, var75
, var74
) /* with_native on <var73:Array[Object]>*/;
3959 CHECK_NEW_array__Array(var73
);
3961 var76
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_string__Object__to_s
]))(var73
) /* to_s on <var73:Array[Object]>*/;
3962 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var76
) /* add on <var_v:AbstractCompilerVisitor>*/;
3968 var81
= string__NativeString__to_s_with_length(var79
, var80
);
3972 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var78
) /* add on <var_v:AbstractCompilerVisitor>*/;
3973 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AOnceExpr>*/;
3974 var83
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var82
, var_mtype
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3981 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3990 var93
= string__NativeString__to_s_with_length(var91
, var92
);
3994 var94
= NEW_array__Array(&type_array__Arraykernel__Object
);
3995 { /* var94 = array_instance Array[Object] */
3997 var96
= NEW_array__NativeArray(var95
, &type_array__NativeArraykernel__Object
);
3998 ((struct instance_array__NativeArray
*)var96
)->values
[0] = (val
*) var_res
;
3999 ((struct instance_array__NativeArray
*)var96
)->values
[1] = (val
*) var85
;
4000 ((struct instance_array__NativeArray
*)var96
)->values
[2] = (val
*) var_i
;
4001 ((struct instance_array__NativeArray
*)var96
)->values
[3] = (val
*) var90
;
4002 ((void (*)(val
*, val
*, long))(var94
->class->vft
[COLOR_array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
4003 CHECK_NEW_array__Array(var94
);
4005 var97
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
4006 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var97
) /* add on <var_v:AbstractCompilerVisitor>*/;
4012 var102
= string__NativeString__to_s_with_length(var100
, var101
);
4017 var104
= varonce103
;
4021 var107
= string__NativeString__to_s_with_length(var105
, var106
);
4023 varonce103
= var104
;
4025 var108
= NEW_array__Array(&type_array__Arraykernel__Object
);
4026 { /* var108 = array_instance Array[Object] */
4028 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraykernel__Object
);
4029 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var_name
;
4030 ((struct instance_array__NativeArray
*)var110
)->values
[1] = (val
*) var99
;
4031 ((struct instance_array__NativeArray
*)var110
)->values
[2] = (val
*) var_res
;
4032 ((struct instance_array__NativeArray
*)var110
)->values
[3] = (val
*) var104
;
4033 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
4034 CHECK_NEW_array__Array(var108
);
4036 var111
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
4037 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var111
) /* add on <var_v:AbstractCompilerVisitor>*/;
4039 var113
= varonce112
;
4043 var116
= string__NativeString__to_s_with_length(var114
, var115
);
4045 varonce112
= var113
;
4047 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
4048 { /* var117 = array_instance Array[Object] */
4050 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
4051 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_guard
;
4052 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var113
;
4053 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
4054 CHECK_NEW_array__Array(var117
);
4056 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
4057 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var120
) /* add on <var_v:AbstractCompilerVisitor>*/;
4059 var122
= varonce121
;
4063 var125
= string__NativeString__to_s_with_length(var123
, var124
);
4065 varonce121
= var122
;
4067 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
4073 /* method abstract_compiler#AOnceExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4074 val
* VIRTUAL_abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
4075 val
* var
/* : nullable RuntimeVariable */;
4076 val
* var1
/* : nullable RuntimeVariable */;
4077 var1
= abstract_compiler__AOnceExpr__expr(self
, p0
);
4082 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4083 val
* abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4084 val
* var
/* : nullable RuntimeVariable */;
4085 val
* var_v
/* var v: AbstractCompilerVisitor */;
4086 val
* var1
/* : AExpr */;
4087 val
* var2
/* : null */;
4088 val
* var3
/* : RuntimeVariable */;
4089 val
* var_recv
/* var recv: RuntimeVariable */;
4090 val
* var4
/* : Array[RuntimeVariable] */;
4091 long var5
/* : Int */;
4092 val
* var_
/* var : Array[RuntimeVariable] */;
4093 val
* var_args
/* var args: Array[RuntimeVariable] */;
4094 val
* var6
/* : nullable Array[AExpr] */;
4095 val
* var7
/* : Iterator[nullable Object] */;
4096 short int var8
/* : Bool */;
4097 val
* var9
/* : nullable Object */;
4098 val
* var_a
/* var a: AExpr */;
4099 val
* var10
/* : null */;
4100 val
* var11
/* : RuntimeVariable */;
4101 val
* var12
/* : nullable CallSite */;
4102 val
* var13
/* : nullable RuntimeVariable */;
4104 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendExpr>*/;
4106 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4108 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4110 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
4111 CHECK_NEW_array__Array(var4
);
4113 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4115 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendExpr>*/;
4117 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2223);
4120 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:nullable Array[AExpr](Array[AExpr])>*/;
4122 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
4124 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
4127 var11
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var10
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4128 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var11
) /* add on <var_args:Array[RuntimeVariable]>*/;
4129 CONTINUE_label
: (void)0;
4130 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
4132 BREAK_label
: (void)0;
4133 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendExpr>*/;
4134 if (var12
== NULL
) {
4135 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2226);
4138 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var12
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4144 /* method abstract_compiler#ASendExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4145 val
* VIRTUAL_abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4146 val
* var
/* : nullable RuntimeVariable */;
4147 val
* var1
/* : nullable RuntimeVariable */;
4148 var1
= abstract_compiler__ASendExpr__expr(self
, p0
);
4153 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
4154 void abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4155 val
* var_v
/* var v: AbstractCompilerVisitor */;
4156 val
* var
/* : AExpr */;
4157 val
* var1
/* : null */;
4158 val
* var2
/* : RuntimeVariable */;
4159 val
* var_recv
/* var recv: RuntimeVariable */;
4160 val
* var3
/* : Array[RuntimeVariable] */;
4161 long var4
/* : Int */;
4162 val
* var_
/* var : Array[RuntimeVariable] */;
4163 val
* var_args
/* var args: Array[RuntimeVariable] */;
4164 val
* var5
/* : nullable Array[AExpr] */;
4165 val
* var6
/* : Iterator[nullable Object] */;
4166 short int var7
/* : Bool */;
4167 val
* var8
/* : nullable Object */;
4168 val
* var_a
/* var a: AExpr */;
4169 val
* var9
/* : null */;
4170 val
* var10
/* : RuntimeVariable */;
4171 val
* var11
/* : AExpr */;
4172 val
* var12
/* : null */;
4173 val
* var13
/* : RuntimeVariable */;
4174 val
* var_value
/* var value: RuntimeVariable */;
4175 val
* var14
/* : nullable CallSite */;
4176 val
* var15
/* : nullable RuntimeVariable */;
4177 val
* var_left
/* var left: nullable RuntimeVariable */;
4178 val
* var16
/* : null */;
4179 short int var17
/* : Bool */;
4180 val
* var18
/* : nullable CallSite */;
4181 val
* var19
/* : Array[RuntimeVariable] */;
4182 long var20
/* : Int */;
4183 val
* var21
/* : NativeArray[RuntimeVariable] */;
4184 val
* var22
/* : nullable RuntimeVariable */;
4185 val
* var_res
/* var res: nullable RuntimeVariable */;
4186 val
* var23
/* : null */;
4187 short int var24
/* : Bool */;
4188 val
* var25
/* : nullable CallSite */;
4189 val
* var26
/* : nullable RuntimeVariable */;
4191 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
4193 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4195 var3
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4197 ((void (*)(val
*, long))(var3
->class->vft
[COLOR_array__Array__with_capacity
]))(var3
, var4
) /* with_capacity on <var3:Array[RuntimeVariable]>*/;
4198 CHECK_NEW_array__Array(var3
);
4200 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4202 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendReassignFormExpr>*/;
4204 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2235);
4207 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:nullable Array[AExpr](Array[AExpr])>*/;
4209 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
4211 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
4214 var10
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var9
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4215 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var10
) /* add on <var_args:Array[RuntimeVariable]>*/;
4216 CONTINUE_label
: (void)0;
4217 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
4219 BREAK_label
: (void)0;
4220 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ASendReassignFormExpr>*/;
4222 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var11
, var12
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4224 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendReassignFormExpr>*/;
4225 if (var14
== NULL
) {
4226 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2240);
4229 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var14
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4232 if (var_left
== NULL
) {
4233 var17
= 0; /* is null */
4235 var17
= 1; /* arg is null and recv is not */
4238 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 2241);
4241 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:ASendReassignFormExpr>*/;
4242 if (var18
== NULL
) {
4243 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2243);
4246 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4247 { /* var19 = array_instance Array[RuntimeVariable] */
4249 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4250 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var_left
;
4251 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_value
;
4252 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[RuntimeVariable]>*/;
4253 CHECK_NEW_array__Array(var19
);
4255 var22
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var18
, var19
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4258 if (var_res
== NULL
) {
4259 var24
= 0; /* is null */
4261 var24
= 1; /* arg is null and recv is not */
4264 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 2244);
4267 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var_res
) /* add on <var_args:Array[RuntimeVariable]>*/;
4268 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendReassignFormExpr__write_callsite
]))(self
) /* write_callsite on <self:ASendReassignFormExpr>*/;
4269 if (var25
== NULL
) {
4270 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2247);
4273 var26
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var25
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4277 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4278 void VIRTUAL_abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4279 abstract_compiler__ASendReassignFormExpr__stmt(self
, p0
);
4282 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4283 val
* abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4284 val
* var
/* : nullable RuntimeVariable */;
4285 val
* var_v
/* var v: AbstractCompilerVisitor */;
4286 val
* var1
/* : nullable Frame */;
4287 val
* var2
/* : Array[RuntimeVariable] */;
4288 val
* var3
/* : nullable Object */;
4289 val
* var_recv
/* var recv: RuntimeVariable */;
4290 val
* var4
/* : Array[RuntimeVariable] */;
4291 long var5
/* : Int */;
4292 val
* var_
/* var : Array[RuntimeVariable] */;
4293 val
* var_args
/* var args: Array[RuntimeVariable] */;
4294 val
* var6
/* : AExprs */;
4295 val
* var7
/* : ANodes[AExpr] */;
4296 val
* var8
/* : Iterator[nullable Object] */;
4297 short int var9
/* : Bool */;
4298 val
* var10
/* : nullable Object */;
4299 val
* var_a
/* var a: AExpr */;
4300 val
* var11
/* : null */;
4301 val
* var12
/* : RuntimeVariable */;
4302 long var13
/* : Int */;
4303 long var14
/* : Int */;
4304 short int var15
/* : Bool */;
4305 short int var17
/* : Bool */;
4306 val
* var18
/* : nullable Frame */;
4307 val
* var19
/* : Array[RuntimeVariable] */;
4308 val
* var20
/* : nullable MMethod */;
4309 val
* var_mproperty
/* var mproperty: nullable MMethod */;
4310 val
* var21
/* : null */;
4311 short int var22
/* : Bool */;
4312 val
* var23
/* : MPropDef */;
4313 val
* var24
/* : nullable MSignature */;
4314 long var25
/* : Int */;
4315 long var26
/* : Int */;
4316 short int var27
/* : Bool */;
4317 short int var29
/* : Bool */;
4318 val
* var30
/* : Array[RuntimeVariable] */;
4319 long var31
/* : Int */;
4320 val
* var_32
/* var : Array[RuntimeVariable] */;
4321 val
* var33
/* : nullable RuntimeVariable */;
4322 val
* var_res
/* var res: nullable RuntimeVariable */;
4323 val
* var34
/* : nullable Frame */;
4324 val
* var35
/* : MPropDef */;
4325 short int var36
/* : Bool */;
4328 val
* var37
/* : MType */;
4329 short int var38
/* : Bool */;
4332 val
* var41
/* : nullable RuntimeVariable */;
4334 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4336 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2254);
4339 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var1
) /* arguments on <var1:nullable Frame>*/;
4341 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[RuntimeVariable]>*/;
4343 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4345 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
4346 CHECK_NEW_array__Array(var4
);
4348 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4350 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperExpr__n_args
]))(self
) /* n_args on <self:ASuperExpr>*/;
4351 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
4352 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
4354 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
4356 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
4359 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var11
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4360 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var12
) /* add on <var_args:Array[RuntimeVariable]>*/;
4361 CONTINUE_label
: (void)0;
4362 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
4364 BREAK_label
: (void)0;
4365 var13
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
4367 { /* Inline kernel#Int#== (var13,var14) */
4368 var17
= var13
== var14
;
4371 RET_LABEL16
:(void)0;
4374 var18
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4375 if (var18
== NULL
) {
4376 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2260);
4379 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
4384 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASuperExpr__mproperty
]))(self
) /* mproperty on <self:ASuperExpr>*/;
4385 var_mproperty
= var20
;
4387 if (var_mproperty
== NULL
) {
4388 var22
= 0; /* is null */
4390 var22
= 1; /* arg is null and recv is not */
4393 var23
= ((val
* (*)(val
*))(var_mproperty
->class->vft
[COLOR_model__MProperty__intro
]))(var_mproperty
) /* intro on <var_mproperty:nullable MMethod(MMethod)>*/;
4394 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var23
) /* msignature on <var23:MPropDef(MMethodDef)>*/;
4395 if (var24
== NULL
) {
4396 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2265);
4399 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_model__MSignature__arity
]))(var24
) /* arity on <var24:nullable MSignature>*/;
4402 { /* Inline kernel#Int#== (var25,var26) */
4403 var29
= var25
== var26
;
4406 RET_LABEL28
:(void)0;
4409 var30
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4411 ((void (*)(val
*, long))(var30
->class->vft
[COLOR_array__Array__with_capacity
]))(var30
, var31
) /* with_capacity on <var30:Array[RuntimeVariable]>*/;
4412 CHECK_NEW_array__Array(var30
);
4414 ((void (*)(val
*, val
*))(var_32
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_32
, var_recv
) /* push on <var_32:Array[RuntimeVariable]>*/;
4418 var33
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_mproperty
, var_args
) /* send on <var_v:AbstractCompilerVisitor>*/;
4424 var34
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4425 if (var34
== NULL
) {
4426 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 2274);
4429 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var34
) /* mpropdef on <var34:nullable Frame>*/;
4431 /* <var35:MPropDef> isa MMethodDef */
4432 cltype
= type_model__MMethodDef
.color
;
4433 idtype
= type_model__MMethodDef
.id
;
4434 if(cltype
>= var35
->type
->table_size
) {
4437 var36
= var35
->type
->type_table
[cltype
] == idtype
;
4440 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2274);
4443 var37
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_recv
) /* mtype on <var_recv:RuntimeVariable>*/;
4444 /* <var37:MType> isa MClassType */
4445 cltype39
= type_model__MClassType
.color
;
4446 idtype40
= type_model__MClassType
.id
;
4447 if(cltype39
>= var37
->type
->table_size
) {
4450 var38
= var37
->type
->type_table
[cltype39
] == idtype40
;
4453 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2274);
4456 var41
= ((val
* (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__supercall
]))(var_v
, var35
, var37
, var_args
) /* supercall on <var_v:AbstractCompilerVisitor>*/;
4462 /* method abstract_compiler#ASuperExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4463 val
* VIRTUAL_abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4464 val
* var
/* : nullable RuntimeVariable */;
4465 val
* var1
/* : nullable RuntimeVariable */;
4466 var1
= abstract_compiler__ASuperExpr__expr(self
, p0
);
4471 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4472 val
* abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
4473 val
* var
/* : nullable RuntimeVariable */;
4474 val
* var_v
/* var v: AbstractCompilerVisitor */;
4475 val
* var1
/* : nullable MType */;
4476 short int var2
/* : Bool */;
4479 val
* var_mtype
/* var mtype: MClassType */;
4480 val
* var3
/* : String */;
4481 val
* var_ctype
/* var ctype: String */;
4482 static val
* varonce
;
4483 val
* var4
/* : String */;
4484 char* var5
/* : NativeString */;
4485 long var6
/* : Int */;
4486 val
* var7
/* : String */;
4487 short int var8
/* : Bool */;
4488 val
* var9
/* : RuntimeVariable */;
4489 val
* var_recv
/* var recv: nullable Object */;
4490 static val
* varonce10
;
4491 val
* var11
/* : String */;
4492 char* var12
/* : NativeString */;
4493 long var13
/* : Int */;
4494 val
* var14
/* : String */;
4495 short int var15
/* : Bool */;
4496 static val
* varonce16
;
4497 val
* var17
/* : String */;
4498 char* var18
/* : NativeString */;
4499 long var19
/* : Int */;
4500 val
* var20
/* : String */;
4501 val
* var21
/* : RuntimeVariable */;
4502 static val
* varonce22
;
4503 val
* var23
/* : String */;
4504 char* var24
/* : NativeString */;
4505 long var25
/* : Int */;
4506 val
* var26
/* : String */;
4507 val
* var27
/* : Array[Object] */;
4508 long var28
/* : Int */;
4509 val
* var29
/* : NativeArray[Object] */;
4510 val
* var30
/* : String */;
4511 val
* var31
/* : Array[RuntimeVariable] */;
4512 long var32
/* : Int */;
4513 val
* var_
/* var : Array[RuntimeVariable] */;
4514 val
* var_args
/* var args: Array[RuntimeVariable] */;
4515 val
* var33
/* : AExprs */;
4516 val
* var34
/* : ANodes[AExpr] */;
4517 val
* var35
/* : Iterator[nullable Object] */;
4518 short int var36
/* : Bool */;
4519 val
* var37
/* : nullable Object */;
4520 val
* var_a
/* var a: AExpr */;
4521 val
* var38
/* : null */;
4522 val
* var39
/* : RuntimeVariable */;
4523 val
* var40
/* : nullable CallSite */;
4524 val
* var41
/* : nullable RuntimeVariable */;
4525 val
* var_res2
/* var res2: nullable RuntimeVariable */;
4526 val
* var42
/* : null */;
4527 short int var43
/* : Bool */;
4529 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANewExpr>*/;
4530 /* <var1:nullable MType> isa MClassType */
4531 cltype
= type_model__MClassType
.color
;
4532 idtype
= type_model__MClassType
.id
;
4536 if(cltype
>= var1
->type
->table_size
) {
4539 var2
= var1
->type
->type_table
[cltype
] == idtype
;
4543 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2281);
4547 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
4554 var7
= string__NativeString__to_s_with_length(var5
, var6
);
4558 var8
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var4
) /* == on <var_ctype:String>*/;
4560 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
4568 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4572 var15
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var11
) /* == on <var_ctype:String>*/;
4577 var18
= "NULL/*special!*/";
4579 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4583 var21
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(var_v
, var17
, var_mtype
) /* new_expr on <var_v:AbstractCompilerVisitor>*/;
4589 var24
= "cannot new ";
4591 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4595 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
4596 { /* var27 = array_instance Array[Object] */
4598 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
4599 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var23
;
4600 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_mtype
;
4601 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
4602 CHECK_NEW_array__Array(var27
);
4604 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
4605 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(self
, var30
) /* debug on <self:ANewExpr>*/;
4606 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 2290);
4610 var31
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4612 ((void (*)(val
*, long))(var31
->class->vft
[COLOR_array__Array__with_capacity
]))(var31
, var32
) /* with_capacity on <var31:Array[RuntimeVariable]>*/;
4613 CHECK_NEW_array__Array(var31
);
4615 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4617 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
4618 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var33
) /* n_exprs on <var33:AExprs>*/;
4619 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var34
) /* iterator on <var34:ANodes[AExpr]>*/;
4621 var36
= ((short int (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var35
) /* is_ok on <var35:Iterator[nullable Object]>*/;
4623 var37
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var35
) /* item on <var35:Iterator[nullable Object]>*/;
4626 var39
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var38
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4627 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var39
) /* add on <var_args:Array[RuntimeVariable]>*/;
4628 CONTINUE_label
: (void)0;
4629 ((void (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var35
) /* next on <var35:Iterator[nullable Object]>*/;
4631 BREAK_label
: (void)0;
4632 var40
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite
]))(self
) /* callsite on <self:ANewExpr>*/;
4633 if (var40
== NULL
) {
4634 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2296);
4637 var41
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var40
, var_args
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4640 if (var_res2
== NULL
) {
4641 var43
= 0; /* is null */
4643 var43
= 1; /* arg is null and recv is not */
4650 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance
]))(var_v
, var_recv
, var_mtype
) /* check_init_instance on <var_v:AbstractCompilerVisitor>*/;
4656 /* method abstract_compiler#ANewExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4657 val
* VIRTUAL_abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
4658 val
* var
/* : nullable RuntimeVariable */;
4659 val
* var1
/* : nullable RuntimeVariable */;
4660 var1
= abstract_compiler__ANewExpr__expr(self
, p0
);
4665 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4666 val
* abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
4667 val
* var
/* : nullable RuntimeVariable */;
4668 val
* var_v
/* var v: AbstractCompilerVisitor */;
4669 val
* var1
/* : AExpr */;
4670 val
* var2
/* : null */;
4671 val
* var3
/* : RuntimeVariable */;
4672 val
* var_recv
/* var recv: RuntimeVariable */;
4673 val
* var4
/* : nullable MAttribute */;
4674 val
* var_mproperty
/* var mproperty: MAttribute */;
4675 val
* var5
/* : RuntimeVariable */;
4677 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrExpr>*/;
4679 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4681 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrExpr>*/;
4683 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2310);
4686 var_mproperty
= var4
;
4687 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__read_attribute
]))(var_v
, var_mproperty
, var_recv
) /* read_attribute on <var_v:AbstractCompilerVisitor>*/;
4693 /* method abstract_compiler#AAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4694 val
* VIRTUAL_abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
4695 val
* var
/* : nullable RuntimeVariable */;
4696 val
* var1
/* : nullable RuntimeVariable */;
4697 var1
= abstract_compiler__AAttrExpr__expr(self
, p0
);
4702 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: AAttrAssignExpr, AbstractCompilerVisitor) */
4703 void abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
4704 val
* var_v
/* var v: AbstractCompilerVisitor */;
4705 val
* var
/* : AExpr */;
4706 val
* var1
/* : null */;
4707 val
* var2
/* : RuntimeVariable */;
4708 val
* var_recv
/* var recv: RuntimeVariable */;
4709 val
* var3
/* : AExpr */;
4710 val
* var4
/* : null */;
4711 val
* var5
/* : RuntimeVariable */;
4712 val
* var_i
/* var i: RuntimeVariable */;
4713 val
* var6
/* : nullable MAttribute */;
4714 val
* var_mproperty
/* var mproperty: MAttribute */;
4716 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrAssignExpr>*/;
4718 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4720 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrAssignExpr>*/;
4722 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4724 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrAssignExpr>*/;
4726 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2320);
4729 var_mproperty
= var6
;
4730 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__write_attribute
]))(var_v
, var_mproperty
, var_recv
, var_i
) /* write_attribute on <var_v:AbstractCompilerVisitor>*/;
4733 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4734 void VIRTUAL_abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
4735 abstract_compiler__AAttrAssignExpr__stmt(self
, p0
);
4738 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
4739 void abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
4740 val
* var_v
/* var v: AbstractCompilerVisitor */;
4741 val
* var
/* : AExpr */;
4742 val
* var1
/* : null */;
4743 val
* var2
/* : RuntimeVariable */;
4744 val
* var_recv
/* var recv: RuntimeVariable */;
4745 val
* var3
/* : AExpr */;
4746 val
* var4
/* : null */;
4747 val
* var5
/* : RuntimeVariable */;
4748 val
* var_value
/* var value: RuntimeVariable */;
4749 val
* var6
/* : nullable MAttribute */;
4750 val
* var_mproperty
/* var mproperty: MAttribute */;
4751 val
* var7
/* : RuntimeVariable */;
4752 val
* var_attr
/* var attr: RuntimeVariable */;
4753 val
* var8
/* : nullable CallSite */;
4754 val
* var9
/* : Array[RuntimeVariable] */;
4755 long var10
/* : Int */;
4756 val
* var11
/* : NativeArray[RuntimeVariable] */;
4757 val
* var12
/* : nullable RuntimeVariable */;
4758 val
* var_res
/* var res: nullable RuntimeVariable */;
4759 val
* var13
/* : null */;
4760 short int var14
/* : Bool */;
4762 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
4764 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4766 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrReassignExpr>*/;
4768 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4770 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrReassignExpr>*/;
4772 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2330);
4775 var_mproperty
= var6
;
4776 var7
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__read_attribute
]))(var_v
, var_mproperty
, var_recv
) /* read_attribute on <var_v:AbstractCompilerVisitor>*/;
4778 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AAttrReassignExpr>*/;
4780 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2332);
4783 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4784 { /* var9 = array_instance Array[RuntimeVariable] */
4786 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4787 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var_attr
;
4788 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var_value
;
4789 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[RuntimeVariable]>*/;
4790 CHECK_NEW_array__Array(var9
);
4792 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var8
, var9
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
4795 if (var_res
== NULL
) {
4796 var14
= 0; /* is null */
4798 var14
= 1; /* arg is null and recv is not */
4801 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 2333);
4804 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__write_attribute
]))(var_v
, var_mproperty
, var_recv
, var_res
) /* write_attribute on <var_v:AbstractCompilerVisitor>*/;
4807 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4808 void VIRTUAL_abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
4809 abstract_compiler__AAttrReassignExpr__stmt(self
, p0
);
4812 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4813 val
* abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
4814 val
* var
/* : nullable RuntimeVariable */;
4815 val
* var_v
/* var v: AbstractCompilerVisitor */;
4816 val
* var1
/* : AExpr */;
4817 val
* var2
/* : null */;
4818 val
* var3
/* : RuntimeVariable */;
4819 val
* var_recv
/* var recv: RuntimeVariable */;
4820 val
* var4
/* : nullable MAttribute */;
4821 val
* var_mproperty
/* var mproperty: MAttribute */;
4822 val
* var5
/* : RuntimeVariable */;
4824 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AIssetAttrExpr>*/;
4826 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4828 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AIssetAttrExpr>*/;
4830 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2342);
4833 var_mproperty
= var4
;
4834 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__isset_attribute
]))(var_v
, var_mproperty
, var_recv
) /* isset_attribute on <var_v:AbstractCompilerVisitor>*/;
4840 /* method abstract_compiler#AIssetAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4841 val
* VIRTUAL_abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
4842 val
* var
/* : nullable RuntimeVariable */;
4843 val
* var1
/* : nullable RuntimeVariable */;
4844 var1
= abstract_compiler__AIssetAttrExpr__expr(self
, p0
);
4849 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
4850 void abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
4851 val
* var_v
/* var v: AbstractCompilerVisitor */;
4855 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4856 void VIRTUAL_abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
4857 abstract_compiler__ADebugTypeExpr__stmt(self
, p0
);
4860 /* method abstract_compiler#Array#- for (self: Array[nullable Object], Array[nullable Object]): Array[nullable Object] */
4861 val
* abstract_compiler__Array___45d(val
* self
, val
* p0
) {
4862 val
* var
/* : Array[nullable Object] */;
4863 short int var1
/* : Bool */;
4866 const struct type
* type_struct
;
4867 val
* var_o
/* var o: Array[nullable Object] */;
4868 val
* var2
/* : Array[nullable Object] */;
4869 val
* var_res
/* var res: Array[nullable Object] */;
4870 val
* var3
/* : Iterator[nullable Object] */;
4871 short int var4
/* : Bool */;
4872 val
* var5
/* : nullable Object */;
4873 val
* var_e
/* var e: nullable Object */;
4874 short int var6
/* : Bool */;
4875 short int var7
/* : Bool */;
4876 /* Covariant cast for argument 0 (o) <p0:Array[nullable Object]> isa Array[Array#0] */
4877 /* <p0:Array[nullable Object]> isa Array[Array#0] */
4878 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
];
4879 cltype
= type_struct
->color
;
4880 idtype
= type_struct
->id
;
4881 if(cltype
>= p0
->type
->table_size
) {
4884 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4887 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 2357);
4891 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
]);
4892 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[nullable Object]>*/;
4893 CHECK_NEW_array__Array(var2
);
4895 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Array[nullable Object]>*/;
4897 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
4899 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
4901 var6
= ((short int (*)(val
*, val
*))(var_o
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_o
, var_e
) /* has on <var_o:Array[nullable Object]>*/;
4904 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var_e
) /* add on <var_res:Array[nullable Object]>*/;
4907 CONTINUE_label
: (void)0;
4908 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
4910 BREAK_label
: (void)0;
4916 /* method abstract_compiler#Array#- for (self: Object, Array[nullable Object]): Array[nullable Object] */
4917 val
* VIRTUAL_abstract_compiler__Array___45d(val
* self
, val
* p0
) {
4918 val
* var
/* : Array[nullable Object] */;
4919 val
* var1
/* : Array[nullable Object] */;
4920 var1
= abstract_compiler__Array___45d(self
, p0
);
4925 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
4926 val
* abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
4927 val
* var
/* : Set[MProperty] */;
4928 val
* var_mclass
/* var mclass: MClass */;
4929 val
* var1
/* : Map[MClass, Set[MProperty]] */;
4930 short int var2
/* : Bool */;
4931 short int var3
/* : Bool */;
4932 val
* var4
/* : HashSet[MProperty] */;
4933 val
* var_properties
/* var properties: HashSet[MProperty] */;
4934 val
* var5
/* : Array[MClass] */;
4935 val
* var_parents
/* var parents: Array[MClass] */;
4936 val
* var6
/* : POSet[MClass] */;
4937 short int var7
/* : Bool */;
4938 val
* var8
/* : POSetElement[MClass] */;
4939 val
* var9
/* : Collection[Object] */;
4940 val
* var10
/* : Iterator[nullable Object] */;
4941 short int var11
/* : Bool */;
4942 val
* var12
/* : nullable Object */;
4943 val
* var_parent
/* var parent: MClass */;
4944 val
* var13
/* : Set[MProperty] */;
4945 val
* var14
/* : Array[MClassDef] */;
4946 val
* var15
/* : Iterator[nullable Object] */;
4947 short int var16
/* : Bool */;
4948 val
* var17
/* : nullable Object */;
4949 val
* var_mclassdef
/* var mclassdef: MClassDef */;
4950 val
* var18
/* : Array[MProperty] */;
4951 val
* var19
/* : Iterator[nullable Object] */;
4952 short int var20
/* : Bool */;
4953 val
* var21
/* : nullable Object */;
4954 val
* var_mprop
/* var mprop: MProperty */;
4955 val
* var24
/* : Map[MClass, Set[MProperty]] */;
4956 val
* var25
/* : Map[MClass, Set[MProperty]] */;
4957 val
* var26
/* : nullable Object */;
4959 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
4960 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_mclass
) /* has_key on <var1:Map[MClass, Set[MProperty]]>*/;
4963 var4
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MProperty
);
4964 ((void (*)(val
*))(var4
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var4
) /* init on <var4:HashSet[MProperty]>*/;
4965 CHECK_NEW_hash_collection__HashSet(var4
);
4966 var_properties
= var4
;
4967 var5
= NEW_array__Array(&type_array__Arraymodel__MClass
);
4968 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[MClass]>*/;
4969 CHECK_NEW_array__Array(var5
);
4971 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MModule__flatten_mclass_hierarchy
]))(self
) /* flatten_mclass_hierarchy on <self:MModule>*/;
4972 var7
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var6
, var_mclass
) /* has on <var6:POSet[MClass]>*/;
4974 var8
= ((val
* (*)(val
*, val
*))(var_mclass
->class->vft
[COLOR_model__MClass__in_hierarchy
]))(var_mclass
, self
) /* in_hierarchy on <var_mclass:MClass>*/;
4975 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var8
) /* direct_greaters on <var8:POSetElement[MClass]>*/;
4976 ((void (*)(val
*, val
*))(var_parents
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_parents
, var9
) /* add_all on <var_parents:Array[MClass]>*/;
4979 var10
= ((val
* (*)(val
*))(var_parents
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_parents
) /* iterator on <var_parents:Array[MClass]>*/;
4981 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
4983 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
4985 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties
]))(self
, var_parent
) /* properties on <self:MModule>*/;
4986 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_properties
, var13
) /* add_all on <var_properties:HashSet[MProperty]>*/;
4987 CONTINUE_label
: (void)0;
4988 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
4990 BREAK_label
: (void)0;
4991 var14
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__mclassdefs
]))(var_mclass
) /* mclassdefs on <var_mclass:MClass>*/;
4992 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var14
) /* iterator on <var14:Array[MClassDef]>*/;
4994 var16
= ((short int (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var15
) /* is_ok on <var15:Iterator[nullable Object]>*/;
4996 var17
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var15
) /* item on <var15:Iterator[nullable Object]>*/;
4997 var_mclassdef
= var17
;
4998 var18
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__intro_mproperties
]))(var_mclassdef
) /* intro_mproperties on <var_mclassdef:MClassDef>*/;
4999 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[MProperty]>*/;
5001 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
5003 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
5005 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_properties
, var_mprop
) /* add on <var_properties:HashSet[MProperty]>*/;
5006 CONTINUE_label22
: (void)0;
5007 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
5009 BREAK_label22
: (void)0;
5010 CONTINUE_label23
: (void)0;
5011 ((void (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var15
) /* next on <var15:Iterator[nullable Object]>*/;
5013 BREAK_label23
: (void)0;
5014 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
5015 ((void (*)(val
*, val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var24
, var_mclass
, var_properties
) /* []= on <var24:Map[MClass, Set[MProperty]]>*/;
5018 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
5019 var26
= ((val
* (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var25
, var_mclass
) /* [] on <var25:Map[MClass, Set[MProperty]]>*/;
5025 /* method abstract_compiler#MModule#properties for (self: Object, MClass): Set[MProperty] */
5026 val
* VIRTUAL_abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
5027 val
* var
/* : Set[MProperty] */;
5028 val
* var1
/* : Set[MProperty] */;
5029 var1
= abstract_compiler__MModule__properties(self
, p0
);
5034 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
5035 val
* abstract_compiler__MModule__properties_cache(val
* self
) {
5036 val
* var
/* : Map[MClass, Set[MProperty]] */;
5037 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5038 var1
= self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
; /* @properties_cache on <self:MModule> */
5040 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @properties_cache", "src/abstract_compiler.nit", 2386);
5047 /* method abstract_compiler#MModule#properties_cache for (self: Object): Map[MClass, Set[MProperty]] */
5048 val
* VIRTUAL_abstract_compiler__MModule__properties_cache(val
* self
) {
5049 val
* var
/* : Map[MClass, Set[MProperty]] */;
5050 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5051 var1
= abstract_compiler__MModule__properties_cache(self
);
5056 /* method abstract_compiler#MModule#properties_cache= for (self: MModule, Map[MClass, Set[MProperty]]) */
5057 void abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
5058 self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
= p0
; /* @properties_cache on <self:MModule> */
5061 /* method abstract_compiler#MModule#properties_cache= for (self: Object, Map[MClass, Set[MProperty]]) */
5062 void VIRTUAL_abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
5063 abstract_compiler__MModule__properties_cache_61d(self
, p0
);