1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AVarReassignExpr#stmt for (self: AVarReassignExpr, AbstractCompilerVisitor) */
3 void abstract_compiler__AVarReassignExpr__stmt(val
* self
, val
* p0
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
5 val
* var
/* : nullable Variable */;
6 val
* var_variable
/* var variable: Variable */;
7 val
* var1
/* : RuntimeVariable */;
8 val
* var_vari
/* var vari: RuntimeVariable */;
9 val
* var2
/* : AExpr */;
10 val
* var3
/* : nullable MType */;
11 val
* var4
/* : RuntimeVariable */;
12 val
* var_value
/* var value: RuntimeVariable */;
13 val
* var5
/* : nullable CallSite */;
14 val
* var6
/* : Array[RuntimeVariable] */;
15 long var7
/* : Int */;
16 val
* var8
/* : NativeArray[RuntimeVariable] */;
17 val
* var9
/* : nullable RuntimeVariable */;
18 val
* var_res
/* var res: nullable RuntimeVariable */;
19 val
* var10
/* : null */;
20 short int var11
/* : Bool */;
21 val
* var12
/* : RuntimeVariable */;
23 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
25 fprintf(stderr
, "Runtime error: %s", "Cast failed");
26 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1818);
30 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
32 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AVarReassignExpr>*/;
33 var3
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
34 var4
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var2
, var3
) /* expr on <var_v:AbstractCompilerVisitor>*/;
36 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AVarReassignExpr>*/;
38 fprintf(stderr
, "Runtime error: %s", "Cast failed");
39 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1821);
42 var6
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
43 { /* var6 = array_instance Array[RuntimeVariable] */
45 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
46 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var_vari
;
47 ((struct instance_array__NativeArray
*)var8
)->values
[1] = (val
*) var_value
;
48 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[RuntimeVariable]>*/;
49 CHECK_NEW_array__Array(var6
);
51 var9
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compile_callsite
]))(var_v
, var5
, var6
) /* compile_callsite on <var_v:AbstractCompilerVisitor>*/;
54 if (var_res
== NULL
) {
55 var11
= 0; /* is null */
57 var11
= 1; /* arg is null and recv is not */
60 fprintf(stderr
, "Runtime error: %s", "Assert failed");
61 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1822);
64 var12
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
65 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var12
, var_res
) /* assign on <var_v:AbstractCompilerVisitor>*/;
68 /* method abstract_compiler#AVarReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
69 void VIRTUAL_abstract_compiler__AVarReassignExpr__stmt(val
* self
, val
* p0
) {
70 abstract_compiler__AVarReassignExpr__stmt(self
, p0
);
73 /* method abstract_compiler#ASelfExpr#expr for (self: ASelfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
74 val
* abstract_compiler__ASelfExpr__expr(val
* self
, val
* p0
) {
75 val
* var
/* : nullable RuntimeVariable */;
76 val
* var_v
/* var v: AbstractCompilerVisitor */;
77 val
* var1
/* : nullable Frame */;
78 val
* var2
/* : Array[RuntimeVariable] */;
79 val
* var3
/* : nullable Object */;
81 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
83 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
84 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1828);
87 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var1
) /* arguments on <var1:nullable Frame>*/;
89 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[RuntimeVariable]>*/;
95 /* method abstract_compiler#ASelfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
96 val
* VIRTUAL_abstract_compiler__ASelfExpr__expr(val
* self
, val
* p0
) {
97 val
* var
/* : nullable RuntimeVariable */;
98 val
* var1
/* : nullable RuntimeVariable */;
99 var1
= abstract_compiler__ASelfExpr__expr(self
, p0
);
104 /* method abstract_compiler#AContinueExpr#stmt for (self: AContinueExpr, AbstractCompilerVisitor) */
105 void abstract_compiler__AContinueExpr__stmt(val
* self
, val
* p0
) {
106 val
* var_v
/* var v: AbstractCompilerVisitor */;
108 val
* var
/* : String */;
109 char* var1
/* : NativeString */;
110 long var2
/* : Int */;
111 val
* var3
/* : String */;
112 val
* var4
/* : nullable EscapeMark */;
113 val
* var5
/* : String */;
114 static val
* varonce6
;
115 val
* var7
/* : String */;
116 char* var8
/* : NativeString */;
117 long var9
/* : Int */;
118 val
* var10
/* : String */;
119 val
* var11
/* : Array[Object] */;
120 long var12
/* : Int */;
121 val
* var13
/* : NativeArray[Object] */;
122 val
* var14
/* : String */;
127 var1
= "goto CONTINUE_";
129 var3
= string__NativeString__to_s_with_length(var1
, var2
);
133 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__escapemark
]))(self
) /* escapemark on <self:AContinueExpr>*/;
134 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var4
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
140 var10
= string__NativeString__to_s_with_length(var8
, var9
);
144 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
145 { /* var11 = array_instance Array[Object] */
147 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
148 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var
;
149 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var5
;
150 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
151 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
152 CHECK_NEW_array__Array(var11
);
154 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
155 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
158 /* method abstract_compiler#AContinueExpr#stmt for (self: Object, AbstractCompilerVisitor) */
159 void VIRTUAL_abstract_compiler__AContinueExpr__stmt(val
* self
, val
* p0
) {
160 abstract_compiler__AContinueExpr__stmt(self
, p0
);
163 /* method abstract_compiler#ABreakExpr#stmt for (self: ABreakExpr, AbstractCompilerVisitor) */
164 void abstract_compiler__ABreakExpr__stmt(val
* self
, val
* p0
) {
165 val
* var_v
/* var v: AbstractCompilerVisitor */;
167 val
* var
/* : String */;
168 char* var1
/* : NativeString */;
169 long var2
/* : Int */;
170 val
* var3
/* : String */;
171 val
* var4
/* : nullable EscapeMark */;
172 val
* var5
/* : String */;
173 static val
* varonce6
;
174 val
* var7
/* : String */;
175 char* var8
/* : NativeString */;
176 long var9
/* : Int */;
177 val
* var10
/* : String */;
178 val
* var11
/* : Array[Object] */;
179 long var12
/* : Int */;
180 val
* var13
/* : NativeArray[Object] */;
181 val
* var14
/* : String */;
186 var1
= "goto BREAK_";
188 var3
= string__NativeString__to_s_with_length(var1
, var2
);
192 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark
]))(self
) /* escapemark on <self:ABreakExpr>*/;
193 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var4
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
199 var10
= string__NativeString__to_s_with_length(var8
, var9
);
203 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
204 { /* var11 = array_instance Array[Object] */
206 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
207 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var
;
208 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var5
;
209 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
210 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
211 CHECK_NEW_array__Array(var11
);
213 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
214 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
217 /* method abstract_compiler#ABreakExpr#stmt for (self: Object, AbstractCompilerVisitor) */
218 void VIRTUAL_abstract_compiler__ABreakExpr__stmt(val
* self
, val
* p0
) {
219 abstract_compiler__ABreakExpr__stmt(self
, p0
);
222 /* method abstract_compiler#AReturnExpr#stmt for (self: AReturnExpr, AbstractCompilerVisitor) */
223 void abstract_compiler__AReturnExpr__stmt(val
* self
, val
* p0
) {
224 val
* var_v
/* var v: AbstractCompilerVisitor */;
225 val
* var
/* : nullable AExpr */;
226 val
* var_nexpr
/* var nexpr: nullable AExpr */;
227 val
* var1
/* : null */;
228 short int var2
/* : Bool */;
229 val
* var3
/* : nullable Frame */;
230 val
* var4
/* : nullable RuntimeVariable */;
231 val
* var_returnvar
/* var returnvar: RuntimeVariable */;
232 val
* var5
/* : MType */;
233 val
* var6
/* : RuntimeVariable */;
234 val
* var_i
/* var i: RuntimeVariable */;
236 val
* var7
/* : String */;
237 char* var8
/* : NativeString */;
238 long var9
/* : Int */;
239 val
* var10
/* : String */;
240 val
* var11
/* : nullable Frame */;
241 val
* var12
/* : nullable String */;
242 static val
* varonce13
;
243 val
* var14
/* : String */;
244 char* var15
/* : NativeString */;
245 long var16
/* : Int */;
246 val
* var17
/* : String */;
247 val
* var18
/* : Array[Object] */;
248 long var19
/* : Int */;
249 val
* var20
/* : NativeArray[Object] */;
250 val
* var21
/* : String */;
252 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReturnExpr__n_expr
]))(self
) /* n_expr on <self:AReturnExpr>*/;
255 if (var_nexpr
== NULL
) {
256 var2
= 0; /* is null */
258 var2
= 1; /* arg is null and recv is not */
261 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
263 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
264 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1844);
267 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var3
) /* returnvar on <var3:nullable Frame>*/;
270 fprintf(stderr
, "Runtime error: %s", "Cast failed");
271 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1844);
274 var_returnvar
= var4
;
275 var5
= ((val
* (*)(val
*))(var_returnvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_returnvar
) /* mtype on <var_returnvar:RuntimeVariable>*/;
276 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_nexpr
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
278 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_returnvar
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
286 var10
= string__NativeString__to_s_with_length(var8
, var9
);
290 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
292 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
293 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1848);
296 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var11
) /* returnlabel on <var11:nullable Frame>*/;
299 fprintf(stderr
, "Runtime error: %s", "Cast failed");
300 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1848);
308 var17
= string__NativeString__to_s_with_length(var15
, var16
);
312 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
313 { /* var18 = array_instance Array[Object] */
315 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
316 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var7
;
317 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var12
;
318 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
319 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
320 CHECK_NEW_array__Array(var18
);
322 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
323 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var21
) /* add on <var_v:AbstractCompilerVisitor>*/;
326 /* method abstract_compiler#AReturnExpr#stmt for (self: Object, AbstractCompilerVisitor) */
327 void VIRTUAL_abstract_compiler__AReturnExpr__stmt(val
* self
, val
* p0
) {
328 abstract_compiler__AReturnExpr__stmt(self
, p0
);
331 /* method abstract_compiler#AAbortExpr#stmt for (self: AAbortExpr, AbstractCompilerVisitor) */
332 void abstract_compiler__AAbortExpr__stmt(val
* self
, val
* p0
) {
333 val
* var_v
/* var v: AbstractCompilerVisitor */;
335 val
* var
/* : String */;
336 char* var1
/* : NativeString */;
337 long var2
/* : Int */;
338 val
* var3
/* : String */;
345 var3
= string__NativeString__to_s_with_length(var1
, var2
);
349 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
352 /* method abstract_compiler#AAbortExpr#stmt for (self: Object, AbstractCompilerVisitor) */
353 void VIRTUAL_abstract_compiler__AAbortExpr__stmt(val
* self
, val
* p0
) {
354 abstract_compiler__AAbortExpr__stmt(self
, p0
);
357 /* method abstract_compiler#AIfExpr#stmt for (self: AIfExpr, AbstractCompilerVisitor) */
358 void abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
359 val
* var_v
/* var v: AbstractCompilerVisitor */;
360 val
* var
/* : AExpr */;
361 val
* var1
/* : RuntimeVariable */;
362 val
* var_cond
/* var cond: RuntimeVariable */;
364 val
* var2
/* : String */;
365 char* var3
/* : NativeString */;
366 long var4
/* : Int */;
367 val
* var5
/* : String */;
368 static val
* varonce6
;
369 val
* var7
/* : String */;
370 char* var8
/* : NativeString */;
371 long var9
/* : Int */;
372 val
* var10
/* : String */;
373 val
* var11
/* : Array[Object] */;
374 long var12
/* : Int */;
375 val
* var13
/* : NativeArray[Object] */;
376 val
* var14
/* : String */;
377 val
* var15
/* : nullable AExpr */;
378 static val
* varonce16
;
379 val
* var17
/* : String */;
380 char* var18
/* : NativeString */;
381 long var19
/* : Int */;
382 val
* var20
/* : String */;
383 val
* var21
/* : nullable AExpr */;
384 static val
* varonce22
;
385 val
* var23
/* : String */;
386 char* var24
/* : NativeString */;
387 long var25
/* : Int */;
388 val
* var26
/* : String */;
390 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
391 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
398 var5
= string__NativeString__to_s_with_length(var3
, var4
);
407 var10
= string__NativeString__to_s_with_length(var8
, var9
);
411 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
412 { /* var11 = array_instance Array[Object] */
414 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
415 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var2
;
416 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var_cond
;
417 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
418 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
419 CHECK_NEW_array__Array(var11
);
421 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
422 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
423 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
424 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var15
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
430 var20
= string__NativeString__to_s_with_length(var18
, var19
);
434 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
435 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
436 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
442 var26
= string__NativeString__to_s_with_length(var24
, var25
);
446 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var23
) /* add on <var_v:AbstractCompilerVisitor>*/;
449 /* method abstract_compiler#AIfExpr#stmt for (self: Object, AbstractCompilerVisitor) */
450 void VIRTUAL_abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
451 abstract_compiler__AIfExpr__stmt(self
, p0
);
454 /* method abstract_compiler#AIfExpr#expr for (self: AIfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
455 val
* abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
456 val
* var
/* : nullable RuntimeVariable */;
457 val
* var_v
/* var v: AbstractCompilerVisitor */;
458 val
* var1
/* : nullable MType */;
459 val
* var2
/* : RuntimeVariable */;
460 val
* var_res
/* var res: RuntimeVariable */;
461 val
* var3
/* : AExpr */;
462 val
* var4
/* : RuntimeVariable */;
463 val
* var_cond
/* var cond: RuntimeVariable */;
465 val
* var5
/* : String */;
466 char* var6
/* : NativeString */;
467 long var7
/* : Int */;
468 val
* var8
/* : String */;
469 static val
* varonce9
;
470 val
* var10
/* : String */;
471 char* var11
/* : NativeString */;
472 long var12
/* : Int */;
473 val
* var13
/* : String */;
474 val
* var14
/* : Array[Object] */;
475 long var15
/* : Int */;
476 val
* var16
/* : NativeArray[Object] */;
477 val
* var17
/* : String */;
478 val
* var18
/* : nullable AExpr */;
479 val
* var19
/* : null */;
480 val
* var20
/* : RuntimeVariable */;
481 static val
* varonce21
;
482 val
* var22
/* : String */;
483 char* var23
/* : NativeString */;
484 long var24
/* : Int */;
485 val
* var25
/* : String */;
486 val
* var26
/* : nullable AExpr */;
487 val
* var27
/* : null */;
488 val
* var28
/* : RuntimeVariable */;
489 static val
* varonce29
;
490 val
* var30
/* : String */;
491 char* var31
/* : NativeString */;
492 long var32
/* : Int */;
493 val
* var33
/* : String */;
495 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfExpr>*/;
497 fprintf(stderr
, "Runtime error: %s", "Cast failed");
498 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1869);
501 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
503 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
504 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
511 var8
= string__NativeString__to_s_with_length(var6
, var7
);
520 var13
= string__NativeString__to_s_with_length(var11
, var12
);
524 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
525 { /* var14 = array_instance Array[Object] */
527 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
528 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
529 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
530 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
531 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
532 CHECK_NEW_array__Array(var14
);
534 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
535 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
536 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
538 fprintf(stderr
, "Runtime error: %s", "Cast failed");
539 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1872);
543 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
544 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
550 var25
= string__NativeString__to_s_with_length(var23
, var24
);
554 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
555 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
557 fprintf(stderr
, "Runtime error: %s", "Cast failed");
558 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1874);
562 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
563 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
569 var33
= string__NativeString__to_s_with_length(var31
, var32
);
573 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
579 /* method abstract_compiler#AIfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
580 val
* VIRTUAL_abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
581 val
* var
/* : nullable RuntimeVariable */;
582 val
* var1
/* : nullable RuntimeVariable */;
583 var1
= abstract_compiler__AIfExpr__expr(self
, p0
);
588 /* method abstract_compiler#AIfexprExpr#expr for (self: AIfexprExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
589 val
* abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
590 val
* var
/* : nullable RuntimeVariable */;
591 val
* var_v
/* var v: AbstractCompilerVisitor */;
592 val
* var1
/* : nullable MType */;
593 val
* var2
/* : RuntimeVariable */;
594 val
* var_res
/* var res: RuntimeVariable */;
595 val
* var3
/* : AExpr */;
596 val
* var4
/* : RuntimeVariable */;
597 val
* var_cond
/* var cond: RuntimeVariable */;
599 val
* var5
/* : String */;
600 char* var6
/* : NativeString */;
601 long var7
/* : Int */;
602 val
* var8
/* : String */;
603 static val
* varonce9
;
604 val
* var10
/* : String */;
605 char* var11
/* : NativeString */;
606 long var12
/* : Int */;
607 val
* var13
/* : String */;
608 val
* var14
/* : Array[Object] */;
609 long var15
/* : Int */;
610 val
* var16
/* : NativeArray[Object] */;
611 val
* var17
/* : String */;
612 val
* var18
/* : AExpr */;
613 val
* var19
/* : null */;
614 val
* var20
/* : RuntimeVariable */;
615 static val
* varonce21
;
616 val
* var22
/* : String */;
617 char* var23
/* : NativeString */;
618 long var24
/* : Int */;
619 val
* var25
/* : String */;
620 val
* var26
/* : AExpr */;
621 val
* var27
/* : null */;
622 val
* var28
/* : RuntimeVariable */;
623 static val
* varonce29
;
624 val
* var30
/* : String */;
625 char* var31
/* : NativeString */;
626 long var32
/* : Int */;
627 val
* var33
/* : String */;
629 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfexprExpr>*/;
631 fprintf(stderr
, "Runtime error: %s", "Cast failed");
632 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1883);
635 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
637 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_expr
]))(self
) /* n_expr on <self:AIfexprExpr>*/;
638 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
645 var8
= string__NativeString__to_s_with_length(var6
, var7
);
654 var13
= string__NativeString__to_s_with_length(var11
, var12
);
658 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
659 { /* var14 = array_instance Array[Object] */
661 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
662 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
663 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
664 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
665 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
666 CHECK_NEW_array__Array(var14
);
668 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
669 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
670 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_then
]))(self
) /* n_then on <self:AIfexprExpr>*/;
672 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
673 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
679 var25
= string__NativeString__to_s_with_length(var23
, var24
);
683 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
684 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_else
]))(self
) /* n_else on <self:AIfexprExpr>*/;
686 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
687 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
693 var33
= string__NativeString__to_s_with_length(var31
, var32
);
697 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
703 /* method abstract_compiler#AIfexprExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
704 val
* VIRTUAL_abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
705 val
* var
/* : nullable RuntimeVariable */;
706 val
* var1
/* : nullable RuntimeVariable */;
707 var1
= abstract_compiler__AIfexprExpr__expr(self
, p0
);
712 /* method abstract_compiler#ADoExpr#stmt for (self: ADoExpr, AbstractCompilerVisitor) */
713 void abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
714 val
* var_v
/* var v: AbstractCompilerVisitor */;
715 val
* var
/* : nullable AExpr */;
716 val
* var1
/* : nullable EscapeMark */;
717 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
718 val
* var2
/* : null */;
719 short int var3
/* : Bool */;
721 val
* var4
/* : String */;
722 char* var5
/* : NativeString */;
723 long var6
/* : Int */;
724 val
* var7
/* : String */;
725 val
* var8
/* : String */;
726 static val
* varonce9
;
727 val
* var10
/* : String */;
728 char* var11
/* : NativeString */;
729 long var12
/* : Int */;
730 val
* var13
/* : String */;
731 val
* var14
/* : Array[Object] */;
732 long var15
/* : Int */;
733 val
* var16
/* : NativeArray[Object] */;
734 val
* var17
/* : String */;
736 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
737 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
738 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
739 var_escapemark
= var1
;
741 if (var_escapemark
== NULL
) {
742 var3
= 0; /* is null */
744 var3
= 1; /* arg is null and recv is not */
752 var7
= string__NativeString__to_s_with_length(var5
, var6
);
756 var8
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var_escapemark
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
760 var11
= ": (void)0;";
762 var13
= string__NativeString__to_s_with_length(var11
, var12
);
766 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
767 { /* var14 = array_instance Array[Object] */
769 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
770 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var4
;
771 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var8
;
772 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
773 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
774 CHECK_NEW_array__Array(var14
);
776 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
777 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
782 /* method abstract_compiler#ADoExpr#stmt for (self: Object, AbstractCompilerVisitor) */
783 void VIRTUAL_abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
784 abstract_compiler__ADoExpr__stmt(self
, p0
);
787 /* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */
788 void abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
789 val
* var_v
/* var v: AbstractCompilerVisitor */;
791 val
* var
/* : String */;
792 char* var1
/* : NativeString */;
793 long var2
/* : Int */;
794 val
* var3
/* : String */;
795 val
* var4
/* : AExpr */;
796 val
* var5
/* : RuntimeVariable */;
797 val
* var_cond
/* var cond: RuntimeVariable */;
798 static val
* varonce6
;
799 val
* var7
/* : String */;
800 char* var8
/* : NativeString */;
801 long var9
/* : Int */;
802 val
* var10
/* : String */;
803 static val
* varonce11
;
804 val
* var12
/* : String */;
805 char* var13
/* : NativeString */;
806 long var14
/* : Int */;
807 val
* var15
/* : String */;
808 val
* var16
/* : Array[Object] */;
809 long var17
/* : Int */;
810 val
* var18
/* : NativeArray[Object] */;
811 val
* var19
/* : String */;
812 val
* var20
/* : nullable AExpr */;
813 static val
* varonce21
;
814 val
* var22
/* : String */;
815 char* var23
/* : NativeString */;
816 long var24
/* : Int */;
817 val
* var25
/* : String */;
818 val
* var26
/* : nullable EscapeMark */;
819 val
* var27
/* : String */;
820 static val
* varonce28
;
821 val
* var29
/* : String */;
822 char* var30
/* : NativeString */;
823 long var31
/* : Int */;
824 val
* var32
/* : String */;
825 val
* var33
/* : Array[Object] */;
826 long var34
/* : Int */;
827 val
* var35
/* : NativeArray[Object] */;
828 val
* var36
/* : String */;
829 static val
* varonce37
;
830 val
* var38
/* : String */;
831 char* var39
/* : NativeString */;
832 long var40
/* : Int */;
833 val
* var41
/* : String */;
834 static val
* varonce42
;
835 val
* var43
/* : String */;
836 char* var44
/* : NativeString */;
837 long var45
/* : Int */;
838 val
* var46
/* : String */;
839 val
* var47
/* : nullable EscapeMark */;
840 val
* var48
/* : String */;
841 static val
* varonce49
;
842 val
* var50
/* : String */;
843 char* var51
/* : NativeString */;
844 long var52
/* : Int */;
845 val
* var53
/* : String */;
846 val
* var54
/* : Array[Object] */;
847 long var55
/* : Int */;
848 val
* var56
/* : NativeArray[Object] */;
849 val
* var57
/* : String */;
856 var3
= string__NativeString__to_s_with_length(var1
, var2
);
860 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
861 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
862 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var4
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
869 var10
= string__NativeString__to_s_with_length(var8
, var9
);
878 var15
= string__NativeString__to_s_with_length(var13
, var14
);
882 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
883 { /* var16 = array_instance Array[Object] */
885 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
886 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
887 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_cond
;
888 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
889 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
890 CHECK_NEW_array__Array(var16
);
892 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
893 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var19
) /* add on <var_v:AbstractCompilerVisitor>*/;
894 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
895 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var20
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
901 var25
= string__NativeString__to_s_with_length(var23
, var24
);
905 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
906 var27
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var26
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
910 var30
= ": (void)0;";
912 var32
= string__NativeString__to_s_with_length(var30
, var31
);
916 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
917 { /* var33 = array_instance Array[Object] */
919 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
920 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var22
;
921 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var27
;
922 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
923 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
924 CHECK_NEW_array__Array(var33
);
926 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
927 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var36
) /* add on <var_v:AbstractCompilerVisitor>*/;
933 var41
= string__NativeString__to_s_with_length(var39
, var40
);
937 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var38
) /* add on <var_v:AbstractCompilerVisitor>*/;
943 var46
= string__NativeString__to_s_with_length(var44
, var45
);
947 var47
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
948 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var47
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
952 var51
= ": (void)0;";
954 var53
= string__NativeString__to_s_with_length(var51
, var52
);
958 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
959 { /* var54 = array_instance Array[Object] */
961 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
962 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var43
;
963 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var48
;
964 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
965 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
966 CHECK_NEW_array__Array(var54
);
968 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
969 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
972 /* method abstract_compiler#AWhileExpr#stmt for (self: Object, AbstractCompilerVisitor) */
973 void VIRTUAL_abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
974 abstract_compiler__AWhileExpr__stmt(self
, p0
);
977 /* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */
978 void abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
979 val
* var_v
/* var v: AbstractCompilerVisitor */;
981 val
* var
/* : String */;
982 char* var1
/* : NativeString */;
983 long var2
/* : Int */;
984 val
* var3
/* : String */;
985 val
* var4
/* : nullable AExpr */;
986 static val
* varonce5
;
987 val
* var6
/* : String */;
988 char* var7
/* : NativeString */;
989 long var8
/* : Int */;
990 val
* var9
/* : String */;
991 val
* var10
/* : nullable EscapeMark */;
992 val
* var11
/* : String */;
993 static val
* varonce12
;
994 val
* var13
/* : String */;
995 char* var14
/* : NativeString */;
996 long var15
/* : Int */;
997 val
* var16
/* : String */;
998 val
* var17
/* : Array[Object] */;
999 long var18
/* : Int */;
1000 val
* var19
/* : NativeArray[Object] */;
1001 val
* var20
/* : String */;
1002 static val
* varonce21
;
1003 val
* var22
/* : String */;
1004 char* var23
/* : NativeString */;
1005 long var24
/* : Int */;
1006 val
* var25
/* : String */;
1007 static val
* varonce26
;
1008 val
* var27
/* : String */;
1009 char* var28
/* : NativeString */;
1010 long var29
/* : Int */;
1011 val
* var30
/* : String */;
1012 val
* var31
/* : nullable EscapeMark */;
1013 val
* var32
/* : String */;
1014 static val
* varonce33
;
1015 val
* var34
/* : String */;
1016 char* var35
/* : NativeString */;
1017 long var36
/* : Int */;
1018 val
* var37
/* : String */;
1019 val
* var38
/* : Array[Object] */;
1020 long var39
/* : Int */;
1021 val
* var40
/* : NativeArray[Object] */;
1022 val
* var41
/* : String */;
1029 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1033 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
1034 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
1035 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var4
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1041 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1045 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
1046 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var10
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1050 var14
= ": (void)0;";
1052 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1056 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
1057 { /* var17 = array_instance Array[Object] */
1059 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
1060 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var6
;
1061 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var11
;
1062 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
1063 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
1064 CHECK_NEW_array__Array(var17
);
1066 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
1067 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
1073 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1077 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
1083 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1087 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
1088 var32
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var31
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1092 var35
= ": (void)0;";
1094 var37
= string__NativeString__to_s_with_length(var35
, var36
);
1098 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
1099 { /* var38 = array_instance Array[Object] */
1101 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
1102 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var27
;
1103 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var32
;
1104 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
1105 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
1106 CHECK_NEW_array__Array(var38
);
1108 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
1109 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var41
) /* add on <var_v:AbstractCompilerVisitor>*/;
1112 /* method abstract_compiler#ALoopExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1113 void VIRTUAL_abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
1114 abstract_compiler__ALoopExpr__stmt(self
, p0
);
1117 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
1118 void abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
1119 val
* var_v
/* var v: AbstractCompilerVisitor */;
1120 val
* var
/* : AExpr */;
1121 val
* var_nexpr
/* var nexpr: AExpr */;
1122 short int var1
/* : Bool */;
1123 short int var2
/* : Bool */;
1124 val
* var3
/* : nullable Array[Variable] */;
1125 long var4
/* : Int */;
1126 long var5
/* : Int */;
1127 short int var6
/* : Bool */;
1128 short int var8
/* : Bool */;
1129 short int var_
/* var : Bool */;
1130 short int var9
/* : Bool */;
1133 short int var_10
/* var : Bool */;
1134 val
* var11
/* : AbstractCompiler */;
1135 val
* var12
/* : ModelBuilder */;
1136 val
* var13
/* : ToolContext */;
1137 val
* var14
/* : OptionBool */;
1138 val
* var15
/* : nullable Object */;
1139 short int var16
/* : Bool */;
1140 short int var17
/* : Bool */;
1141 val
* var18
/* : AExpr */;
1142 val
* var19
/* : null */;
1143 val
* var20
/* : RuntimeVariable */;
1144 val
* var_from
/* var from: RuntimeVariable */;
1145 val
* var21
/* : AExpr */;
1146 val
* var22
/* : null */;
1147 val
* var23
/* : RuntimeVariable */;
1148 val
* var_to
/* var to: RuntimeVariable */;
1149 val
* var24
/* : nullable Array[Variable] */;
1150 val
* var25
/* : nullable Object */;
1151 val
* var26
/* : RuntimeVariable */;
1152 val
* var_variable
/* var variable: RuntimeVariable */;
1153 static val
* varonce
;
1154 val
* var27
/* : String */;
1155 char* var28
/* : NativeString */;
1156 long var29
/* : Int */;
1157 val
* var30
/* : String */;
1158 static val
* varonce31
;
1159 val
* var32
/* : String */;
1160 char* var33
/* : NativeString */;
1161 long var34
/* : Int */;
1162 val
* var35
/* : String */;
1163 val
* var36
/* : MType */;
1164 val
* var37
/* : MMethod */;
1165 val
* var38
/* : Array[RuntimeVariable] */;
1166 long var39
/* : Int */;
1167 val
* var40
/* : NativeArray[RuntimeVariable] */;
1168 val
* var41
/* : nullable RuntimeVariable */;
1169 val
* var_ok
/* var ok: nullable RuntimeVariable */;
1170 val
* var42
/* : null */;
1171 short int var43
/* : Bool */;
1172 static val
* varonce44
;
1173 val
* var45
/* : String */;
1174 char* var46
/* : NativeString */;
1175 long var47
/* : Int */;
1176 val
* var48
/* : String */;
1177 static val
* varonce49
;
1178 val
* var50
/* : String */;
1179 char* var51
/* : NativeString */;
1180 long var52
/* : Int */;
1181 val
* var53
/* : String */;
1182 val
* var54
/* : Array[Object] */;
1183 long var55
/* : Int */;
1184 val
* var56
/* : NativeArray[Object] */;
1185 val
* var57
/* : String */;
1186 val
* var58
/* : nullable AExpr */;
1187 static val
* varonce59
;
1188 val
* var60
/* : String */;
1189 char* var61
/* : NativeString */;
1190 long var62
/* : Int */;
1191 val
* var63
/* : String */;
1192 val
* var64
/* : nullable EscapeMark */;
1193 val
* var65
/* : String */;
1194 static val
* varonce66
;
1195 val
* var67
/* : String */;
1196 char* var68
/* : NativeString */;
1197 long var69
/* : Int */;
1198 val
* var70
/* : String */;
1199 val
* var71
/* : Array[Object] */;
1200 long var72
/* : Int */;
1201 val
* var73
/* : NativeArray[Object] */;
1202 val
* var74
/* : String */;
1203 static val
* varonce75
;
1204 val
* var76
/* : String */;
1205 char* var77
/* : NativeString */;
1206 long var78
/* : Int */;
1207 val
* var79
/* : String */;
1208 val
* var80
/* : MType */;
1209 val
* var81
/* : MMethod */;
1210 val
* var82
/* : Array[RuntimeVariable] */;
1211 long var83
/* : Int */;
1212 val
* var84
/* : NativeArray[RuntimeVariable] */;
1213 val
* var85
/* : nullable RuntimeVariable */;
1214 val
* var_succ
/* var succ: nullable RuntimeVariable */;
1215 val
* var86
/* : null */;
1216 short int var87
/* : Bool */;
1217 static val
* varonce88
;
1218 val
* var89
/* : String */;
1219 char* var90
/* : NativeString */;
1220 long var91
/* : Int */;
1221 val
* var92
/* : String */;
1222 static val
* varonce93
;
1223 val
* var94
/* : String */;
1224 char* var95
/* : NativeString */;
1225 long var96
/* : Int */;
1226 val
* var97
/* : String */;
1227 val
* var98
/* : nullable EscapeMark */;
1228 val
* var99
/* : String */;
1229 static val
* varonce100
;
1230 val
* var101
/* : String */;
1231 char* var102
/* : NativeString */;
1232 long var103
/* : Int */;
1233 val
* var104
/* : String */;
1234 val
* var105
/* : Array[Object] */;
1235 long var106
/* : Int */;
1236 val
* var107
/* : NativeArray[Object] */;
1237 val
* var108
/* : String */;
1238 val
* var109
/* : AExpr */;
1239 val
* var110
/* : null */;
1240 val
* var111
/* : RuntimeVariable */;
1241 val
* var_cl
/* var cl: RuntimeVariable */;
1242 val
* var112
/* : nullable MMethod */;
1243 val
* var_it_meth
/* var it_meth: nullable MMethod */;
1244 val
* var113
/* : null */;
1245 short int var114
/* : Bool */;
1246 val
* var115
/* : Array[RuntimeVariable] */;
1247 long var116
/* : Int */;
1248 val
* var117
/* : NativeArray[RuntimeVariable] */;
1249 val
* var118
/* : nullable RuntimeVariable */;
1250 val
* var_it
/* var it: nullable RuntimeVariable */;
1251 val
* var119
/* : null */;
1252 short int var120
/* : Bool */;
1253 static val
* varonce121
;
1254 val
* var122
/* : String */;
1255 char* var123
/* : NativeString */;
1256 long var124
/* : Int */;
1257 val
* var125
/* : String */;
1258 val
* var126
/* : nullable MMethod */;
1259 val
* var_isok_meth
/* var isok_meth: nullable MMethod */;
1260 val
* var127
/* : null */;
1261 short int var128
/* : Bool */;
1262 val
* var129
/* : Array[RuntimeVariable] */;
1263 long var130
/* : Int */;
1264 val
* var131
/* : NativeArray[RuntimeVariable] */;
1265 val
* var132
/* : nullable RuntimeVariable */;
1266 val
* var_ok133
/* var ok: nullable RuntimeVariable */;
1267 val
* var134
/* : null */;
1268 short int var135
/* : Bool */;
1269 static val
* varonce136
;
1270 val
* var137
/* : String */;
1271 char* var138
/* : NativeString */;
1272 long var139
/* : Int */;
1273 val
* var140
/* : String */;
1274 static val
* varonce141
;
1275 val
* var142
/* : String */;
1276 char* var143
/* : NativeString */;
1277 long var144
/* : Int */;
1278 val
* var145
/* : String */;
1279 val
* var146
/* : Array[Object] */;
1280 long var147
/* : Int */;
1281 val
* var148
/* : NativeArray[Object] */;
1282 val
* var149
/* : String */;
1283 val
* var150
/* : nullable Array[Variable] */;
1284 long var151
/* : Int */;
1285 long var152
/* : Int */;
1286 short int var153
/* : Bool */;
1287 short int var155
/* : Bool */;
1288 val
* var156
/* : nullable MMethod */;
1289 val
* var_item_meth
/* var item_meth: nullable MMethod */;
1290 val
* var157
/* : null */;
1291 short int var158
/* : Bool */;
1292 val
* var159
/* : Array[RuntimeVariable] */;
1293 long var160
/* : Int */;
1294 val
* var161
/* : NativeArray[RuntimeVariable] */;
1295 val
* var162
/* : nullable RuntimeVariable */;
1296 val
* var_i
/* var i: nullable RuntimeVariable */;
1297 val
* var163
/* : null */;
1298 short int var164
/* : Bool */;
1299 val
* var165
/* : nullable Array[Variable] */;
1300 val
* var166
/* : nullable Object */;
1301 val
* var167
/* : RuntimeVariable */;
1302 val
* var168
/* : nullable Array[Variable] */;
1303 long var169
/* : Int */;
1304 long var170
/* : Int */;
1305 short int var171
/* : Bool */;
1306 short int var173
/* : Bool */;
1307 val
* var174
/* : nullable MMethod */;
1308 val
* var_key_meth
/* var key_meth: nullable MMethod */;
1309 val
* var175
/* : null */;
1310 short int var176
/* : Bool */;
1311 val
* var177
/* : Array[RuntimeVariable] */;
1312 long var178
/* : Int */;
1313 val
* var179
/* : NativeArray[RuntimeVariable] */;
1314 val
* var180
/* : nullable RuntimeVariable */;
1315 val
* var_i181
/* var i: nullable RuntimeVariable */;
1316 val
* var182
/* : null */;
1317 short int var183
/* : Bool */;
1318 val
* var184
/* : nullable Array[Variable] */;
1319 long var185
/* : Int */;
1320 val
* var186
/* : nullable Object */;
1321 val
* var187
/* : RuntimeVariable */;
1322 val
* var188
/* : nullable MMethod */;
1323 val
* var_item_meth189
/* var item_meth: nullable MMethod */;
1324 val
* var190
/* : null */;
1325 short int var191
/* : Bool */;
1326 val
* var192
/* : Array[RuntimeVariable] */;
1327 long var193
/* : Int */;
1328 val
* var194
/* : NativeArray[RuntimeVariable] */;
1329 val
* var195
/* : nullable RuntimeVariable */;
1330 val
* var196
/* : null */;
1331 short int var197
/* : Bool */;
1332 val
* var198
/* : nullable Array[Variable] */;
1333 long var199
/* : Int */;
1334 val
* var200
/* : nullable Object */;
1335 val
* var201
/* : RuntimeVariable */;
1336 val
* var202
/* : nullable AExpr */;
1337 static val
* varonce203
;
1338 val
* var204
/* : String */;
1339 char* var205
/* : NativeString */;
1340 long var206
/* : Int */;
1341 val
* var207
/* : String */;
1342 val
* var208
/* : nullable EscapeMark */;
1343 val
* var209
/* : String */;
1344 static val
* varonce210
;
1345 val
* var211
/* : String */;
1346 char* var212
/* : NativeString */;
1347 long var213
/* : Int */;
1348 val
* var214
/* : String */;
1349 val
* var215
/* : Array[Object] */;
1350 long var216
/* : Int */;
1351 val
* var217
/* : NativeArray[Object] */;
1352 val
* var218
/* : String */;
1353 val
* var219
/* : nullable MMethod */;
1354 val
* var_next_meth
/* var next_meth: nullable MMethod */;
1355 val
* var220
/* : null */;
1356 short int var221
/* : Bool */;
1357 val
* var222
/* : Array[RuntimeVariable] */;
1358 long var223
/* : Int */;
1359 val
* var224
/* : NativeArray[RuntimeVariable] */;
1360 val
* var225
/* : nullable RuntimeVariable */;
1361 static val
* varonce226
;
1362 val
* var227
/* : String */;
1363 char* var228
/* : NativeString */;
1364 long var229
/* : Int */;
1365 val
* var230
/* : String */;
1366 static val
* varonce231
;
1367 val
* var232
/* : String */;
1368 char* var233
/* : NativeString */;
1369 long var234
/* : Int */;
1370 val
* var235
/* : String */;
1371 val
* var236
/* : nullable EscapeMark */;
1372 val
* var237
/* : String */;
1373 static val
* varonce238
;
1374 val
* var239
/* : String */;
1375 char* var240
/* : NativeString */;
1376 long var241
/* : Int */;
1377 val
* var242
/* : String */;
1378 val
* var243
/* : Array[Object] */;
1379 long var244
/* : Int */;
1380 val
* var245
/* : NativeArray[Object] */;
1381 val
* var246
/* : String */;
1383 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1385 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1387 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1388 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1935);
1391 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:nullable Array[Variable]>*/;
1394 { /* Inline kernel#Int#== (var4,var5) */
1395 var8
= var4
== var5
;
1402 /* <var_nexpr:AExpr> isa AOrangeExpr */
1403 cltype
= type_parser_nodes__AOrangeExpr
.color
;
1404 idtype
= type_parser_nodes__AOrangeExpr
.id
;
1405 if(cltype
>= var_nexpr
->type
->table_size
) {
1408 var9
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
1416 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
1417 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler>*/;
1418 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
1419 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(var13
) /* opt_no_shortcut_range on <var13:ToolContext>*/;
1420 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
1421 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
1428 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(var_nexpr
) /* n_expr on <var_nexpr:AExpr(AOrangeExpr)>*/;
1430 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1432 var21
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(var_nexpr
) /* n_expr2 on <var_nexpr:AExpr(AOrangeExpr)>*/;
1434 var23
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var21
, var22
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1436 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1437 if (var24
== NULL
) {
1438 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1439 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1938);
1442 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var24
) /* first on <var24:nullable Array[Variable]>*/;
1444 var26
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var25
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1445 var_variable
= var26
;
1446 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_from
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1450 var28
= "for(;;) { /* shortcut range */";
1452 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1456 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var27
) /* add on <var_v:AbstractCompilerVisitor>*/;
1462 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1466 var36
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
1467 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>*/;
1468 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1469 { /* var38 = array_instance Array[RuntimeVariable] */
1471 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1472 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var_variable
;
1473 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var_to
;
1474 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[RuntimeVariable]>*/;
1475 CHECK_NEW_array__Array(var38
);
1477 var41
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var37
, var38
) /* send on <var_v:AbstractCompilerVisitor>*/;
1480 if (var_ok
== NULL
) {
1481 var43
= 0; /* is null */
1483 var43
= 1; /* arg is null and recv is not */
1486 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1487 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1944);
1495 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1504 var53
= string__NativeString__to_s_with_length(var51
, var52
);
1508 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
1509 { /* var54 = array_instance Array[Object] */
1511 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
1512 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var45
;
1513 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var_ok
;
1514 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
1515 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
1516 CHECK_NEW_array__Array(var54
);
1518 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
1519 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
1520 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1521 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var58
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1525 var61
= "CONTINUE_";
1527 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1531 var64
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1532 var65
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var64
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1536 var68
= ": (void)0;";
1538 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1542 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
1543 { /* var71 = array_instance Array[Object] */
1545 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
1546 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var60
;
1547 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var65
;
1548 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
1549 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
1550 CHECK_NEW_array__Array(var71
);
1552 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
1553 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var74
) /* add on <var_v:AbstractCompilerVisitor>*/;
1559 var79
= string__NativeString__to_s_with_length(var77
, var78
);
1563 var80
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
1564 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>*/;
1565 var82
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1566 { /* var82 = array_instance Array[RuntimeVariable] */
1568 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1569 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var_variable
;
1570 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[RuntimeVariable]>*/;
1571 CHECK_NEW_array__Array(var82
);
1573 var85
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var81
, var82
) /* send on <var_v:AbstractCompilerVisitor>*/;
1576 if (var_succ
== NULL
) {
1577 var87
= 0; /* is null */
1579 var87
= 1; /* arg is null and recv is not */
1582 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1583 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1951);
1586 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_succ
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1592 var92
= string__NativeString__to_s_with_length(var90
, var91
);
1596 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var89
) /* add on <var_v:AbstractCompilerVisitor>*/;
1602 var97
= string__NativeString__to_s_with_length(var95
, var96
);
1606 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1607 var99
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var98
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1609 var101
= varonce100
;
1611 var102
= ": (void)0;";
1613 var104
= string__NativeString__to_s_with_length(var102
, var103
);
1615 varonce100
= var101
;
1617 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
1618 { /* var105 = array_instance Array[Object] */
1620 var107
= NEW_array__NativeArray(var106
, &type_array__NativeArraykernel__Object
);
1621 ((struct instance_array__NativeArray
*)var107
)->values
[0] = (val
*) var94
;
1622 ((struct instance_array__NativeArray
*)var107
)->values
[1] = (val
*) var99
;
1623 ((struct instance_array__NativeArray
*)var107
)->values
[2] = (val
*) var101
;
1624 ((void (*)(val
*, val
*, long))(var105
->class->vft
[COLOR_array__Array__with_native
]))(var105
, var107
, var106
) /* with_native on <var105:Array[Object]>*/;
1625 CHECK_NEW_array__Array(var105
);
1627 var108
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_string__Object__to_s
]))(var105
) /* to_s on <var105:Array[Object]>*/;
1628 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var108
) /* add on <var_v:AbstractCompilerVisitor>*/;
1632 var109
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
1634 var111
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var109
, var110
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1636 var112
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_iterator
]))(self
) /* method_iterator on <self:AForExpr>*/;
1637 var_it_meth
= var112
;
1639 if (var_it_meth
== NULL
) {
1640 var114
= 0; /* is null */
1642 var114
= 1; /* arg is null and recv is not */
1645 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1646 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1960);
1649 var115
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1650 { /* var115 = array_instance Array[RuntimeVariable] */
1652 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1653 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var_cl
;
1654 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[RuntimeVariable]>*/;
1655 CHECK_NEW_array__Array(var115
);
1657 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>*/;
1660 if (var_it
== NULL
) {
1661 var120
= 0; /* is null */
1663 var120
= 1; /* arg is null and recv is not */
1666 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1667 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1962);
1671 var122
= varonce121
;
1673 var123
= "for(;;) {";
1675 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1677 varonce121
= var122
;
1679 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
1680 var126
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_is_ok
]))(self
) /* method_is_ok on <self:AForExpr>*/;
1681 var_isok_meth
= var126
;
1683 if (var_isok_meth
== NULL
) {
1684 var128
= 0; /* is null */
1686 var128
= 1; /* arg is null and recv is not */
1689 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1690 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1965);
1693 var129
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1694 { /* var129 = array_instance Array[RuntimeVariable] */
1696 var131
= NEW_array__NativeArray(var130
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1697 ((struct instance_array__NativeArray
*)var131
)->values
[0] = (val
*) var_it
;
1698 ((void (*)(val
*, val
*, long))(var129
->class->vft
[COLOR_array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[RuntimeVariable]>*/;
1699 CHECK_NEW_array__Array(var129
);
1701 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>*/;
1704 if (var_ok133
== NULL
) {
1705 var135
= 0; /* is null */
1707 var135
= 1; /* arg is null and recv is not */
1710 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1711 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1967);
1715 var137
= varonce136
;
1719 var140
= string__NativeString__to_s_with_length(var138
, var139
);
1721 varonce136
= var137
;
1724 var142
= varonce141
;
1726 var143
= ") break;";
1728 var145
= string__NativeString__to_s_with_length(var143
, var144
);
1730 varonce141
= var142
;
1732 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
1733 { /* var146 = array_instance Array[Object] */
1735 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
1736 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var137
;
1737 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var_ok133
;
1738 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var142
;
1739 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
1740 CHECK_NEW_array__Array(var146
);
1742 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
1743 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var149
) /* add on <var_v:AbstractCompilerVisitor>*/;
1744 var150
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1745 if (var150
== NULL
) {
1746 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1747 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1969);
1750 var151
= ((long (*)(val
*))(var150
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var150
) /* length on <var150:nullable Array[Variable]>*/;
1753 { /* Inline kernel#Int#== (var151,var152) */
1754 var155
= var151
== var152
;
1757 RET_LABEL154
:(void)0;
1760 var156
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
1761 var_item_meth
= var156
;
1763 if (var_item_meth
== NULL
) {
1764 var158
= 0; /* is null */
1766 var158
= 1; /* arg is null and recv is not */
1769 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1770 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1971);
1773 var159
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1774 { /* var159 = array_instance Array[RuntimeVariable] */
1776 var161
= NEW_array__NativeArray(var160
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1777 ((struct instance_array__NativeArray
*)var161
)->values
[0] = (val
*) var_it
;
1778 ((void (*)(val
*, val
*, long))(var159
->class->vft
[COLOR_array__Array__with_native
]))(var159
, var161
, var160
) /* with_native on <var159:Array[RuntimeVariable]>*/;
1779 CHECK_NEW_array__Array(var159
);
1781 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>*/;
1784 if (var_i
== NULL
) {
1785 var164
= 0; /* is null */
1787 var164
= 1; /* arg is null and recv is not */
1790 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1791 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1973);
1794 var165
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1795 if (var165
== NULL
) {
1796 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1797 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1974);
1800 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var165
) /* first on <var165:nullable Array[Variable]>*/;
1802 var167
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var166
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1803 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var167
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1805 var168
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1806 if (var168
== NULL
) {
1807 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1808 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1975);
1811 var169
= ((long (*)(val
*))(var168
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var168
) /* length on <var168:nullable Array[Variable]>*/;
1814 { /* Inline kernel#Int#== (var169,var170) */
1815 var173
= var169
== var170
;
1818 RET_LABEL172
:(void)0;
1821 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_key
]))(self
) /* method_key on <self:AForExpr>*/;
1822 var_key_meth
= var174
;
1824 if (var_key_meth
== NULL
) {
1825 var176
= 0; /* is null */
1827 var176
= 1; /* arg is null and recv is not */
1830 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1831 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1977);
1834 var177
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1835 { /* var177 = array_instance Array[RuntimeVariable] */
1837 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1838 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var_it
;
1839 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[RuntimeVariable]>*/;
1840 CHECK_NEW_array__Array(var177
);
1842 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>*/;
1845 if (var_i181
== NULL
) {
1846 var183
= 0; /* is null */
1848 var183
= 1; /* arg is null and recv is not */
1851 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1852 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1979);
1855 var184
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1857 if (var184
== NULL
) {
1858 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1859 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1980);
1862 var186
= ((val
* (*)(val
*, long))(var184
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var184
, var185
) /* [] on <var184:nullable Array[Variable]>*/;
1864 var187
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var186
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1865 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var187
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1866 var188
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
1867 var_item_meth189
= var188
;
1869 if (var_item_meth189
== NULL
) {
1870 var191
= 0; /* is null */
1872 var191
= 1; /* arg is null and recv is not */
1875 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1876 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1982);
1879 var192
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1880 { /* var192 = array_instance Array[RuntimeVariable] */
1882 var194
= NEW_array__NativeArray(var193
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1883 ((struct instance_array__NativeArray
*)var194
)->values
[0] = (val
*) var_it
;
1884 ((void (*)(val
*, val
*, long))(var192
->class->vft
[COLOR_array__Array__with_native
]))(var192
, var194
, var193
) /* with_native on <var192:Array[RuntimeVariable]>*/;
1885 CHECK_NEW_array__Array(var192
);
1887 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>*/;
1890 if (var_i181
== NULL
) {
1891 var197
= 0; /* is null */
1893 var197
= 1; /* arg is null and recv is not */
1896 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1897 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1984);
1900 var198
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
1902 if (var198
== NULL
) {
1903 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1904 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1985);
1907 var200
= ((val
* (*)(val
*, long))(var198
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var198
, var199
) /* [] on <var198:nullable Array[Variable]>*/;
1909 var201
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var200
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1910 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var201
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1912 fprintf(stderr
, "Runtime error: %s", "Aborted");
1913 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1987);
1917 var202
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
1918 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var202
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1920 var204
= varonce203
;
1922 var205
= "CONTINUE_";
1924 var207
= string__NativeString__to_s_with_length(var205
, var206
);
1926 varonce203
= var204
;
1928 var208
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1929 var209
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var208
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1931 var211
= varonce210
;
1933 var212
= ": (void)0;";
1935 var214
= string__NativeString__to_s_with_length(var212
, var213
);
1937 varonce210
= var211
;
1939 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
1940 { /* var215 = array_instance Array[Object] */
1942 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
1943 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var204
;
1944 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var209
;
1945 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var211
;
1946 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
1947 CHECK_NEW_array__Array(var215
);
1949 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
1950 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var218
) /* add on <var_v:AbstractCompilerVisitor>*/;
1951 var219
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_next
]))(self
) /* method_next on <self:AForExpr>*/;
1952 var_next_meth
= var219
;
1954 if (var_next_meth
== NULL
) {
1955 var221
= 0; /* is null */
1957 var221
= 1; /* arg is null and recv is not */
1960 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1961 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1992);
1964 var222
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1965 { /* var222 = array_instance Array[RuntimeVariable] */
1967 var224
= NEW_array__NativeArray(var223
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1968 ((struct instance_array__NativeArray
*)var224
)->values
[0] = (val
*) var_it
;
1969 ((void (*)(val
*, val
*, long))(var222
->class->vft
[COLOR_array__Array__with_native
]))(var222
, var224
, var223
) /* with_native on <var222:Array[RuntimeVariable]>*/;
1970 CHECK_NEW_array__Array(var222
);
1972 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>*/;
1975 var227
= varonce226
;
1979 var230
= string__NativeString__to_s_with_length(var228
, var229
);
1981 varonce226
= var227
;
1983 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var227
) /* add on <var_v:AbstractCompilerVisitor>*/;
1985 var232
= varonce231
;
1989 var235
= string__NativeString__to_s_with_length(var233
, var234
);
1991 varonce231
= var232
;
1993 var236
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
1994 var237
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var236
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1996 var239
= varonce238
;
1998 var240
= ": (void)0;";
2000 var242
= string__NativeString__to_s_with_length(var240
, var241
);
2002 varonce238
= var239
;
2004 var243
= NEW_array__Array(&type_array__Arraykernel__Object
);
2005 { /* var243 = array_instance Array[Object] */
2007 var245
= NEW_array__NativeArray(var244
, &type_array__NativeArraykernel__Object
);
2008 ((struct instance_array__NativeArray
*)var245
)->values
[0] = (val
*) var232
;
2009 ((struct instance_array__NativeArray
*)var245
)->values
[1] = (val
*) var237
;
2010 ((struct instance_array__NativeArray
*)var245
)->values
[2] = (val
*) var239
;
2011 ((void (*)(val
*, val
*, long))(var243
->class->vft
[COLOR_array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
2012 CHECK_NEW_array__Array(var243
);
2014 var246
= ((val
* (*)(val
*))(var243
->class->vft
[COLOR_string__Object__to_s
]))(var243
) /* to_s on <var243:Array[Object]>*/;
2015 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var246
) /* add on <var_v:AbstractCompilerVisitor>*/;
2018 /* method abstract_compiler#AForExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2019 void VIRTUAL_abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
2020 abstract_compiler__AForExpr__stmt(self
, p0
);
2023 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
2024 void abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
2025 val
* var_v
/* var v: AbstractCompilerVisitor */;
2026 val
* var
/* : AbstractCompiler */;
2027 val
* var1
/* : ModelBuilder */;
2028 val
* var2
/* : ToolContext */;
2029 val
* var3
/* : OptionBool */;
2030 val
* var4
/* : nullable Object */;
2031 short int var5
/* : Bool */;
2032 val
* var6
/* : AExpr */;
2033 val
* var7
/* : RuntimeVariable */;
2034 val
* var_cond
/* var cond: RuntimeVariable */;
2035 static val
* varonce
;
2036 val
* var8
/* : String */;
2037 char* var9
/* : NativeString */;
2038 long var10
/* : Int */;
2039 val
* var11
/* : String */;
2040 static val
* varonce12
;
2041 val
* var13
/* : String */;
2042 char* var14
/* : NativeString */;
2043 long var15
/* : Int */;
2044 val
* var16
/* : String */;
2045 val
* var17
/* : Array[Object] */;
2046 long var18
/* : Int */;
2047 val
* var19
/* : NativeArray[Object] */;
2048 val
* var20
/* : String */;
2049 val
* var21
/* : nullable AExpr */;
2050 val
* var22
/* : nullable TId */;
2051 val
* var_nid
/* var nid: nullable TId */;
2052 val
* var23
/* : null */;
2053 short int var24
/* : Bool */;
2054 static val
* varonce25
;
2055 val
* var26
/* : String */;
2056 char* var27
/* : NativeString */;
2057 long var28
/* : Int */;
2058 val
* var29
/* : String */;
2059 val
* var30
/* : String */;
2060 static val
* varonce31
;
2061 val
* var32
/* : String */;
2062 char* var33
/* : NativeString */;
2063 long var34
/* : Int */;
2064 val
* var35
/* : String */;
2065 val
* var36
/* : Array[Object] */;
2066 long var37
/* : Int */;
2067 val
* var38
/* : NativeArray[Object] */;
2068 val
* var39
/* : String */;
2069 static val
* varonce40
;
2070 val
* var41
/* : String */;
2071 char* var42
/* : NativeString */;
2072 long var43
/* : Int */;
2073 val
* var44
/* : String */;
2074 static val
* varonce45
;
2075 val
* var46
/* : String */;
2076 char* var47
/* : NativeString */;
2077 long var48
/* : Int */;
2078 val
* var49
/* : String */;
2080 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
2081 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
2082 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
2083 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var2
) /* opt_no_check_assert on <var2:ToolContext>*/;
2084 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
2085 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
2090 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_expr
]))(self
) /* n_expr on <self:AAssertExpr>*/;
2091 var7
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var6
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2098 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2107 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2111 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
2112 { /* var17 = array_instance Array[Object] */
2114 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
2115 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
2116 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_cond
;
2117 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
2118 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
2119 CHECK_NEW_array__Array(var17
);
2121 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
2122 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
2123 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_else
]))(self
) /* n_else on <self:AAssertExpr>*/;
2124 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
2125 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_id
]))(self
) /* n_id on <self:AAssertExpr>*/;
2128 if (var_nid
== NULL
) {
2129 var24
= 0; /* is null */
2131 var24
= 1; /* arg is null and recv is not */
2137 var27
= "Assert \'";
2139 var29
= string__NativeString__to_s_with_length(var27
, var28
);
2143 var30
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:nullable TId(TId)>*/;
2147 var33
= "\' failed";
2149 var35
= string__NativeString__to_s_with_length(var33
, var34
);
2153 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
2154 { /* var36 = array_instance Array[Object] */
2156 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
2157 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var26
;
2158 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var30
;
2159 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
2160 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
2161 CHECK_NEW_array__Array(var36
);
2163 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
2164 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var39
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
2169 var42
= "Assert failed";
2171 var44
= string__NativeString__to_s_with_length(var42
, var43
);
2175 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var41
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
2182 var49
= string__NativeString__to_s_with_length(var47
, var48
);
2186 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var46
) /* add on <var_v:AbstractCompilerVisitor>*/;
2189 /* method abstract_compiler#AAssertExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2190 void VIRTUAL_abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
2191 abstract_compiler__AAssertExpr__stmt(self
, p0
);
2194 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2195 val
* abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
2196 val
* var
/* : nullable RuntimeVariable */;
2197 val
* var_v
/* var v: AbstractCompilerVisitor */;
2198 val
* var1
/* : nullable MType */;
2199 val
* var2
/* : RuntimeVariable */;
2200 val
* var_res
/* var res: RuntimeVariable */;
2201 val
* var3
/* : AExpr */;
2202 val
* var4
/* : RuntimeVariable */;
2203 val
* var_i1
/* var i1: RuntimeVariable */;
2204 static val
* varonce
;
2205 val
* var5
/* : String */;
2206 char* var6
/* : NativeString */;
2207 long var7
/* : Int */;
2208 val
* var8
/* : String */;
2209 static val
* varonce9
;
2210 val
* var10
/* : String */;
2211 char* var11
/* : NativeString */;
2212 long var12
/* : Int */;
2213 val
* var13
/* : String */;
2214 val
* var14
/* : Array[Object] */;
2215 long var15
/* : Int */;
2216 val
* var16
/* : NativeArray[Object] */;
2217 val
* var17
/* : String */;
2218 static val
* varonce18
;
2219 val
* var19
/* : String */;
2220 char* var20
/* : NativeString */;
2221 long var21
/* : Int */;
2222 val
* var22
/* : String */;
2223 val
* var23
/* : Array[Object] */;
2224 long var24
/* : Int */;
2225 val
* var25
/* : NativeArray[Object] */;
2226 val
* var26
/* : String */;
2227 static val
* varonce27
;
2228 val
* var28
/* : String */;
2229 char* var29
/* : NativeString */;
2230 long var30
/* : Int */;
2231 val
* var31
/* : String */;
2232 val
* var32
/* : AExpr */;
2233 val
* var33
/* : RuntimeVariable */;
2234 val
* var_i2
/* var i2: RuntimeVariable */;
2235 static val
* varonce34
;
2236 val
* var35
/* : String */;
2237 char* var36
/* : NativeString */;
2238 long var37
/* : Int */;
2239 val
* var38
/* : String */;
2240 static val
* varonce39
;
2241 val
* var40
/* : String */;
2242 char* var41
/* : NativeString */;
2243 long var42
/* : Int */;
2244 val
* var43
/* : String */;
2245 val
* var44
/* : Array[Object] */;
2246 long var45
/* : Int */;
2247 val
* var46
/* : NativeArray[Object] */;
2248 val
* var47
/* : String */;
2249 static val
* varonce48
;
2250 val
* var49
/* : String */;
2251 char* var50
/* : NativeString */;
2252 long var51
/* : Int */;
2253 val
* var52
/* : String */;
2255 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrExpr>*/;
2257 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2258 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2020);
2261 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2263 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
2264 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2271 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2280 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2284 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2285 { /* var14 = array_instance Array[Object] */
2287 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2288 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2289 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
2290 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2291 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2292 CHECK_NEW_array__Array(var14
);
2294 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2295 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2301 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2305 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2306 { /* var23 = array_instance Array[Object] */
2308 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2309 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
2310 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
2311 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2312 CHECK_NEW_array__Array(var23
);
2314 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2315 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
2321 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2325 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2326 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrExpr>*/;
2327 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2334 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2343 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2347 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
2348 { /* var44 = array_instance Array[Object] */
2350 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
2351 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
2352 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
2353 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
2354 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
2355 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
2356 CHECK_NEW_array__Array(var44
);
2358 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
2359 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
2365 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2369 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
2375 /* method abstract_compiler#AOrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2376 val
* VIRTUAL_abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
2377 val
* var
/* : nullable RuntimeVariable */;
2378 val
* var1
/* : nullable RuntimeVariable */;
2379 var1
= abstract_compiler__AOrExpr__expr(self
, p0
);
2384 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2385 val
* abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2386 val
* var
/* : nullable RuntimeVariable */;
2387 val
* var_v
/* var v: AbstractCompilerVisitor */;
2388 val
* var1
/* : nullable MType */;
2389 val
* var2
/* : RuntimeVariable */;
2390 val
* var_res
/* var res: RuntimeVariable */;
2391 val
* var3
/* : AExpr */;
2392 val
* var4
/* : RuntimeVariable */;
2393 val
* var_i1
/* var i1: RuntimeVariable */;
2394 static val
* varonce
;
2395 val
* var5
/* : String */;
2396 char* var6
/* : NativeString */;
2397 long var7
/* : Int */;
2398 val
* var8
/* : String */;
2399 static val
* varonce9
;
2400 val
* var10
/* : String */;
2401 char* var11
/* : NativeString */;
2402 long var12
/* : Int */;
2403 val
* var13
/* : String */;
2404 val
* var14
/* : Array[Object] */;
2405 long var15
/* : Int */;
2406 val
* var16
/* : NativeArray[Object] */;
2407 val
* var17
/* : String */;
2408 static val
* varonce18
;
2409 val
* var19
/* : String */;
2410 char* var20
/* : NativeString */;
2411 long var21
/* : Int */;
2412 val
* var22
/* : String */;
2413 val
* var23
/* : Array[Object] */;
2414 long var24
/* : Int */;
2415 val
* var25
/* : NativeArray[Object] */;
2416 val
* var26
/* : String */;
2417 static val
* varonce27
;
2418 val
* var28
/* : String */;
2419 char* var29
/* : NativeString */;
2420 long var30
/* : Int */;
2421 val
* var31
/* : String */;
2422 val
* var32
/* : AExpr */;
2423 val
* var33
/* : RuntimeVariable */;
2424 val
* var_i2
/* var i2: RuntimeVariable */;
2425 static val
* varonce34
;
2426 val
* var35
/* : String */;
2427 char* var36
/* : NativeString */;
2428 long var37
/* : Int */;
2429 val
* var38
/* : String */;
2430 static val
* varonce39
;
2431 val
* var40
/* : String */;
2432 char* var41
/* : NativeString */;
2433 long var42
/* : Int */;
2434 val
* var43
/* : String */;
2435 val
* var44
/* : Array[Object] */;
2436 long var45
/* : Int */;
2437 val
* var46
/* : NativeArray[Object] */;
2438 val
* var47
/* : String */;
2439 static val
* varonce48
;
2440 val
* var49
/* : String */;
2441 char* var50
/* : NativeString */;
2442 long var51
/* : Int */;
2443 val
* var52
/* : String */;
2445 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AImpliesExpr>*/;
2447 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2448 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2035);
2451 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2453 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr
]))(self
) /* n_expr on <self:AImpliesExpr>*/;
2454 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2461 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2470 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2474 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2475 { /* var14 = array_instance Array[Object] */
2477 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2478 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2479 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
2480 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2481 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2482 CHECK_NEW_array__Array(var14
);
2484 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2485 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2491 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2495 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2496 { /* var23 = array_instance Array[Object] */
2498 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2499 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
2500 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
2501 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2502 CHECK_NEW_array__Array(var23
);
2504 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2505 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
2511 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2515 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2516 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr2
]))(self
) /* n_expr2 on <self:AImpliesExpr>*/;
2517 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2524 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2533 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2537 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
2538 { /* var44 = array_instance Array[Object] */
2540 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
2541 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
2542 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
2543 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
2544 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
2545 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
2546 CHECK_NEW_array__Array(var44
);
2548 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
2549 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
2555 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2559 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
2565 /* method abstract_compiler#AImpliesExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2566 val
* VIRTUAL_abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
2567 val
* var
/* : nullable RuntimeVariable */;
2568 val
* var1
/* : nullable RuntimeVariable */;
2569 var1
= abstract_compiler__AImpliesExpr__expr(self
, p0
);
2574 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2575 val
* abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2576 val
* var
/* : nullable RuntimeVariable */;
2577 val
* var_v
/* var v: AbstractCompilerVisitor */;
2578 val
* var1
/* : nullable MType */;
2579 val
* var2
/* : RuntimeVariable */;
2580 val
* var_res
/* var res: RuntimeVariable */;
2581 val
* var3
/* : AExpr */;
2582 val
* var4
/* : RuntimeVariable */;
2583 val
* var_i1
/* var i1: RuntimeVariable */;
2584 static val
* varonce
;
2585 val
* var5
/* : String */;
2586 char* var6
/* : NativeString */;
2587 long var7
/* : Int */;
2588 val
* var8
/* : String */;
2589 static val
* varonce9
;
2590 val
* var10
/* : String */;
2591 char* var11
/* : NativeString */;
2592 long var12
/* : Int */;
2593 val
* var13
/* : String */;
2594 val
* var14
/* : Array[Object] */;
2595 long var15
/* : Int */;
2596 val
* var16
/* : NativeArray[Object] */;
2597 val
* var17
/* : String */;
2598 static val
* varonce18
;
2599 val
* var19
/* : String */;
2600 char* var20
/* : NativeString */;
2601 long var21
/* : Int */;
2602 val
* var22
/* : String */;
2603 val
* var23
/* : Array[Object] */;
2604 long var24
/* : Int */;
2605 val
* var25
/* : NativeArray[Object] */;
2606 val
* var26
/* : String */;
2607 static val
* varonce27
;
2608 val
* var28
/* : String */;
2609 char* var29
/* : NativeString */;
2610 long var30
/* : Int */;
2611 val
* var31
/* : String */;
2612 val
* var32
/* : AExpr */;
2613 val
* var33
/* : RuntimeVariable */;
2614 val
* var_i2
/* var i2: RuntimeVariable */;
2615 static val
* varonce34
;
2616 val
* var35
/* : String */;
2617 char* var36
/* : NativeString */;
2618 long var37
/* : Int */;
2619 val
* var38
/* : String */;
2620 static val
* varonce39
;
2621 val
* var40
/* : String */;
2622 char* var41
/* : NativeString */;
2623 long var42
/* : Int */;
2624 val
* var43
/* : String */;
2625 val
* var44
/* : Array[Object] */;
2626 long var45
/* : Int */;
2627 val
* var46
/* : NativeArray[Object] */;
2628 val
* var47
/* : String */;
2629 static val
* varonce48
;
2630 val
* var49
/* : String */;
2631 char* var50
/* : NativeString */;
2632 long var51
/* : Int */;
2633 val
* var52
/* : String */;
2635 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAndExpr>*/;
2637 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2638 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2050);
2641 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2643 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
2644 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2651 var8
= string__NativeString__to_s_with_length(var6
, var7
);
2660 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2664 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2665 { /* var14 = array_instance Array[Object] */
2667 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2668 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
2669 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
2670 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2671 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2672 CHECK_NEW_array__Array(var14
);
2674 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2675 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2681 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2685 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2686 { /* var23 = array_instance Array[Object] */
2688 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2689 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
2690 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
2691 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2692 CHECK_NEW_array__Array(var23
);
2694 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2695 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
2701 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2705 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2706 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr2
]))(self
) /* n_expr2 on <self:AAndExpr>*/;
2707 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2714 var38
= string__NativeString__to_s_with_length(var36
, var37
);
2723 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2727 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
2728 { /* var44 = array_instance Array[Object] */
2730 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
2731 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
2732 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
2733 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
2734 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
2735 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
2736 CHECK_NEW_array__Array(var44
);
2738 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
2739 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
2745 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2749 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
2755 /* method abstract_compiler#AAndExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2756 val
* VIRTUAL_abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
2757 val
* var
/* : nullable RuntimeVariable */;
2758 val
* var1
/* : nullable RuntimeVariable */;
2759 var1
= abstract_compiler__AAndExpr__expr(self
, p0
);
2764 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2765 val
* abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2766 val
* var
/* : nullable RuntimeVariable */;
2767 val
* var_v
/* var v: AbstractCompilerVisitor */;
2768 val
* var1
/* : AExpr */;
2769 val
* var2
/* : RuntimeVariable */;
2770 val
* var_cond
/* var cond: RuntimeVariable */;
2771 static val
* varonce
;
2772 val
* var3
/* : String */;
2773 char* var4
/* : NativeString */;
2774 long var5
/* : Int */;
2775 val
* var6
/* : String */;
2776 val
* var7
/* : Array[Object] */;
2777 long var8
/* : Int */;
2778 val
* var9
/* : NativeArray[Object] */;
2779 val
* var10
/* : String */;
2780 val
* var11
/* : nullable MType */;
2781 val
* var12
/* : RuntimeVariable */;
2783 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANotExpr__n_expr
]))(self
) /* n_expr on <self:ANotExpr>*/;
2784 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var1
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2791 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2795 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
2796 { /* var7 = array_instance Array[Object] */
2798 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
2799 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var3
;
2800 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var_cond
;
2801 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
2802 CHECK_NEW_array__Array(var7
);
2804 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
2805 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANotExpr>*/;
2806 if (var11
== NULL
) {
2807 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2808 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2066);
2811 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>*/;
2817 /* method abstract_compiler#ANotExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2818 val
* VIRTUAL_abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
2819 val
* var
/* : nullable RuntimeVariable */;
2820 val
* var1
/* : nullable RuntimeVariable */;
2821 var1
= abstract_compiler__ANotExpr__expr(self
, p0
);
2826 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2827 val
* abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2828 val
* var
/* : nullable RuntimeVariable */;
2829 val
* var_v
/* var v: AbstractCompilerVisitor */;
2830 val
* var1
/* : nullable MType */;
2831 val
* var2
/* : RuntimeVariable */;
2832 val
* var_res
/* var res: RuntimeVariable */;
2833 val
* var3
/* : AExpr */;
2834 val
* var4
/* : null */;
2835 val
* var5
/* : RuntimeVariable */;
2836 val
* var_i1
/* var i1: RuntimeVariable */;
2837 static val
* varonce
;
2838 val
* var6
/* : String */;
2839 char* var7
/* : NativeString */;
2840 long var8
/* : Int */;
2841 val
* var9
/* : String */;
2842 static val
* varonce10
;
2843 val
* var11
/* : String */;
2844 char* var12
/* : NativeString */;
2845 long var13
/* : Int */;
2846 val
* var14
/* : String */;
2847 val
* var15
/* : Array[Object] */;
2848 long var16
/* : Int */;
2849 val
* var17
/* : NativeArray[Object] */;
2850 val
* var18
/* : String */;
2851 static val
* varonce19
;
2852 val
* var20
/* : String */;
2853 char* var21
/* : NativeString */;
2854 long var22
/* : Int */;
2855 val
* var23
/* : String */;
2856 val
* var24
/* : AExpr */;
2857 val
* var25
/* : null */;
2858 val
* var26
/* : RuntimeVariable */;
2859 val
* var_i2
/* var i2: RuntimeVariable */;
2860 static val
* varonce27
;
2861 val
* var28
/* : String */;
2862 char* var29
/* : NativeString */;
2863 long var30
/* : Int */;
2864 val
* var31
/* : String */;
2866 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrElseExpr>*/;
2868 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2869 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2073);
2872 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
2874 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr
]))(self
) /* n_expr on <self:AOrElseExpr>*/;
2876 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2883 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2890 var12
= "!=NULL) {";
2892 var14
= string__NativeString__to_s_with_length(var12
, var13
);
2896 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
2897 { /* var15 = array_instance Array[Object] */
2899 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
2900 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var6
;
2901 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var_i1
;
2902 ((struct instance_array__NativeArray
*)var17
)->values
[2] = (val
*) var11
;
2903 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
2904 CHECK_NEW_array__Array(var15
);
2906 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
2907 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var18
) /* add on <var_v:AbstractCompilerVisitor>*/;
2908 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i1
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2914 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2918 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
2919 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrElseExpr>*/;
2921 var26
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var24
, var25
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2923 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i2
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2929 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2933 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
2939 /* method abstract_compiler#AOrElseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2940 val
* VIRTUAL_abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
2941 val
* var
/* : nullable RuntimeVariable */;
2942 val
* var1
/* : nullable RuntimeVariable */;
2943 var1
= abstract_compiler__AOrElseExpr__expr(self
, p0
);
2948 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
2949 val
* abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2950 val
* var
/* : nullable RuntimeVariable */;
2951 val
* var_v
/* var v: AbstractCompilerVisitor */;
2952 val
* var1
/* : nullable Int */;
2953 val
* var2
/* : String */;
2954 val
* var3
/* : Array[Object] */;
2955 long var4
/* : Int */;
2956 val
* var5
/* : NativeArray[Object] */;
2957 val
* var6
/* : String */;
2958 val
* var7
/* : nullable MType */;
2959 val
* var8
/* : RuntimeVariable */;
2961 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AIntExpr__value
]))(self
) /* value on <self:AIntExpr>*/;
2963 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2964 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2086);
2967 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:nullable Int>*/;
2969 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2970 { /* var3 = array_instance Array[Object] */
2972 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
2973 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
2974 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
2975 CHECK_NEW_array__Array(var3
);
2977 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
2978 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIntExpr>*/;
2980 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2981 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2086);
2984 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>*/;
2990 /* method abstract_compiler#AIntExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
2991 val
* VIRTUAL_abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
2992 val
* var
/* : nullable RuntimeVariable */;
2993 val
* var1
/* : nullable RuntimeVariable */;
2994 var1
= abstract_compiler__AIntExpr__expr(self
, p0
);
2999 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3000 val
* abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
3001 val
* var
/* : nullable RuntimeVariable */;
3002 val
* var_v
/* var v: AbstractCompilerVisitor */;
3003 val
* var1
/* : TFloat */;
3004 val
* var2
/* : String */;
3005 val
* var3
/* : Array[Object] */;
3006 long var4
/* : Int */;
3007 val
* var5
/* : NativeArray[Object] */;
3008 val
* var6
/* : String */;
3009 val
* var7
/* : nullable MType */;
3010 val
* var8
/* : RuntimeVariable */;
3012 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AFloatExpr__n_float
]))(self
) /* n_float on <self:AFloatExpr>*/;
3013 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TFloat>*/;
3014 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3015 { /* var3 = array_instance Array[Object] */
3017 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
3018 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
3019 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
3020 CHECK_NEW_array__Array(var3
);
3022 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
3023 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFloatExpr>*/;
3025 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3026 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2090);
3029 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>*/;
3035 /* method abstract_compiler#AFloatExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3036 val
* VIRTUAL_abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
3037 val
* var
/* : nullable RuntimeVariable */;
3038 val
* var1
/* : nullable RuntimeVariable */;
3039 var1
= abstract_compiler__AFloatExpr__expr(self
, p0
);
3044 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3045 val
* abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
3046 val
* var
/* : nullable RuntimeVariable */;
3047 val
* var_v
/* var v: AbstractCompilerVisitor */;
3048 static val
* varonce
;
3049 val
* var1
/* : String */;
3050 char* var2
/* : NativeString */;
3051 long var3
/* : Int */;
3052 val
* var4
/* : String */;
3053 val
* var5
/* : nullable Char */;
3054 val
* var6
/* : String */;
3055 val
* var7
/* : String */;
3056 static val
* varonce8
;
3057 val
* var9
/* : String */;
3058 char* var10
/* : NativeString */;
3059 long var11
/* : Int */;
3060 val
* var12
/* : String */;
3061 val
* var13
/* : Array[Object] */;
3062 long var14
/* : Int */;
3063 val
* var15
/* : NativeArray[Object] */;
3064 val
* var16
/* : String */;
3065 val
* var17
/* : nullable MType */;
3066 val
* var18
/* : RuntimeVariable */;
3073 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3077 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__ACharExpr__value
]))(self
) /* value on <self:ACharExpr>*/;
3079 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3080 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2094);
3083 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:nullable Char>*/;
3085 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var6
) /* escape_to_c on <var6:String>*/;
3091 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3095 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
3096 { /* var13 = array_instance Array[Object] */
3098 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
3099 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var1
;
3100 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var7
;
3101 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var9
;
3102 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
3103 CHECK_NEW_array__Array(var13
);
3105 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
3106 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACharExpr>*/;
3107 if (var17
== NULL
) {
3108 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3109 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2094);
3112 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>*/;
3118 /* method abstract_compiler#ACharExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3119 val
* VIRTUAL_abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
3120 val
* var
/* : nullable RuntimeVariable */;
3121 val
* var1
/* : nullable RuntimeVariable */;
3122 var1
= abstract_compiler__ACharExpr__expr(self
, p0
);
3127 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3128 val
* abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
3129 val
* var
/* : nullable RuntimeVariable */;
3130 val
* var_v
/* var v: AbstractCompilerVisitor */;
3131 val
* var1
/* : nullable MType */;
3132 short int var2
/* : Bool */;
3135 const char* var_class_name
;
3136 val
* var3
/* : Array[MType] */;
3137 val
* var4
/* : nullable Object */;
3138 val
* var_mtype
/* var mtype: MType */;
3139 val
* var5
/* : Array[RuntimeVariable] */;
3140 val
* var_array
/* var array: Array[RuntimeVariable] */;
3141 val
* var6
/* : AExprs */;
3142 val
* var7
/* : ANodes[AExpr] */;
3143 val
* var8
/* : Iterator[nullable Object] */;
3144 short int var9
/* : Bool */;
3145 val
* var10
/* : nullable Object */;
3146 val
* var_nexpr
/* var nexpr: AExpr */;
3147 val
* var11
/* : RuntimeVariable */;
3148 val
* var_i
/* var i: RuntimeVariable */;
3149 val
* var12
/* : RuntimeVariable */;
3151 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AArrayExpr>*/;
3152 /* <var1:nullable MType> isa MClassType */
3153 cltype
= type_model__MClassType
.color
;
3154 idtype
= type_model__MClassType
.id
;
3158 if(cltype
>= var1
->type
->table_size
) {
3161 var2
= var1
->type
->type_table
[cltype
] == idtype
;
3165 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
3166 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3167 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2100);
3170 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MClassType__arguments
]))(var1
) /* arguments on <var1:nullable MType(MClassType)>*/;
3171 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var3
) /* first on <var3:Array[MType]>*/;
3173 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3174 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[RuntimeVariable]>*/;
3175 CHECK_NEW_array__Array(var5
);
3177 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
3178 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
3179 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
3181 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
3183 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
3185 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>*/;
3187 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
3188 CONTINUE_label
: (void)0;
3189 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
3191 BREAK_label
: (void)0;
3192 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>*/;
3198 /* method abstract_compiler#AArrayExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3199 val
* VIRTUAL_abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
3200 val
* var
/* : nullable RuntimeVariable */;
3201 val
* var1
/* : nullable RuntimeVariable */;
3202 var1
= abstract_compiler__AArrayExpr__expr(self
, p0
);
3207 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3208 val
* abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
3209 val
* var
/* : nullable RuntimeVariable */;
3210 val
* var_v
/* var v: AbstractCompilerVisitor */;
3211 val
* var1
/* : nullable String */;
3212 val
* var2
/* : RuntimeVariable */;
3214 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(self
) /* value on <self:AStringFormExpr>*/;
3216 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3217 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2111);
3220 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__string_instance
]))(var_v
, var1
) /* string_instance on <var_v:AbstractCompilerVisitor>*/;
3226 /* method abstract_compiler#AStringFormExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3227 val
* VIRTUAL_abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
3228 val
* var
/* : nullable RuntimeVariable */;
3229 val
* var1
/* : nullable RuntimeVariable */;
3230 var1
= abstract_compiler__AStringFormExpr__expr(self
, p0
);
3235 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3236 val
* abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
3237 val
* var
/* : nullable RuntimeVariable */;
3238 val
* var_v
/* var v: AbstractCompilerVisitor */;
3239 val
* var1
/* : Array[RuntimeVariable] */;
3240 val
* var_array
/* var array: Array[RuntimeVariable] */;
3241 val
* var2
/* : ANodes[AExpr] */;
3242 val
* var3
/* : Iterator[nullable Object] */;
3243 short int var4
/* : Bool */;
3244 val
* var5
/* : nullable Object */;
3245 val
* var_ne
/* var ne: AExpr */;
3246 short int var6
/* : Bool */;
3247 short int var7
/* : Bool */;
3250 short int var_
/* var : Bool */;
3251 val
* var8
/* : nullable String */;
3252 static val
* varonce
;
3253 val
* var9
/* : String */;
3254 char* var10
/* : NativeString */;
3255 long var11
/* : Int */;
3256 val
* var12
/* : String */;
3257 short int var13
/* : Bool */;
3258 val
* var14
/* : null */;
3259 val
* var15
/* : RuntimeVariable */;
3260 val
* var_i
/* var i: RuntimeVariable */;
3261 val
* var16
/* : MClassType */;
3262 val
* var17
/* : RuntimeVariable */;
3263 val
* var_a
/* var a: RuntimeVariable */;
3264 static val
* varonce18
;
3265 val
* var19
/* : String */;
3266 char* var20
/* : NativeString */;
3267 long var21
/* : Int */;
3268 val
* var22
/* : String */;
3269 val
* var23
/* : MType */;
3270 val
* var24
/* : MMethod */;
3271 val
* var25
/* : Array[RuntimeVariable] */;
3272 long var26
/* : Int */;
3273 val
* var27
/* : NativeArray[RuntimeVariable] */;
3274 val
* var28
/* : nullable RuntimeVariable */;
3275 val
* var_res
/* var res: nullable RuntimeVariable */;
3277 var1
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3278 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[RuntimeVariable]>*/;
3279 CHECK_NEW_array__Array(var1
);
3281 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
3282 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:ANodes[AExpr]>*/;
3284 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
3286 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
3288 /* <var_ne:AExpr> isa AStringFormExpr */
3289 cltype
= type_parser_nodes__AStringFormExpr
.color
;
3290 idtype
= type_parser_nodes__AStringFormExpr
.id
;
3291 if(cltype
>= var_ne
->type
->table_size
) {
3294 var7
= var_ne
->type
->type_table
[cltype
] == idtype
;
3298 var8
= ((val
* (*)(val
*))(var_ne
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(var_ne
) /* value on <var_ne:AExpr(AStringFormExpr)>*/;
3304 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3309 var13
= 0; /* <var9:String> cannot be null */
3311 var13
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var9
) /* == on <var8:nullable String>*/;
3318 goto CONTINUE_label
;
3322 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_ne
, var14
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3324 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
3325 CONTINUE_label
: (void)0;
3326 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
3328 BREAK_label
: (void)0;
3329 var16
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(var_v
) /* object_type on <var_v:AbstractCompilerVisitor>*/;
3330 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>*/;
3337 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3341 var23
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_a
) /* mtype on <var_a:RuntimeVariable>*/;
3342 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>*/;
3343 var25
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3344 { /* var25 = array_instance Array[RuntimeVariable] */
3346 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3347 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_a
;
3348 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[RuntimeVariable]>*/;
3349 CHECK_NEW_array__Array(var25
);
3351 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var24
, var25
) /* send on <var_v:AbstractCompilerVisitor>*/;
3358 /* method abstract_compiler#ASuperstringExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3359 val
* VIRTUAL_abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
3360 val
* var
/* : nullable RuntimeVariable */;
3361 val
* var1
/* : nullable RuntimeVariable */;
3362 var1
= abstract_compiler__ASuperstringExpr__expr(self
, p0
);
3367 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3368 val
* abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3369 val
* var
/* : nullable RuntimeVariable */;
3370 val
* var_v
/* var v: AbstractCompilerVisitor */;
3371 val
* var1
/* : AExpr */;
3372 val
* var2
/* : null */;
3373 val
* var3
/* : RuntimeVariable */;
3374 val
* var_i1
/* var i1: RuntimeVariable */;
3375 val
* var4
/* : AExpr */;
3376 val
* var5
/* : null */;
3377 val
* var6
/* : RuntimeVariable */;
3378 val
* var_i2
/* var i2: RuntimeVariable */;
3379 val
* var7
/* : nullable MType */;
3380 short int var8
/* : Bool */;
3383 const char* var_class_name
;
3384 val
* var_mtype
/* var mtype: MClassType */;
3385 val
* var9
/* : RuntimeVariable */;
3386 val
* var_res
/* var res: RuntimeVariable */;
3387 static val
* varonce
;
3388 val
* var10
/* : String */;
3389 char* var11
/* : NativeString */;
3390 long var12
/* : Int */;
3391 val
* var13
/* : String */;
3392 val
* var14
/* : MType */;
3393 val
* var15
/* : MMethod */;
3394 val
* var16
/* : Array[RuntimeVariable] */;
3395 long var17
/* : Int */;
3396 val
* var18
/* : NativeArray[RuntimeVariable] */;
3397 val
* var19
/* : nullable RuntimeVariable */;
3398 val
* var_it
/* var it: nullable RuntimeVariable */;
3400 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:ACrangeExpr>*/;
3402 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3404 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:ACrangeExpr>*/;
3406 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3408 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACrangeExpr>*/;
3409 /* <var7:nullable MType> isa MClassType */
3410 cltype
= type_model__MClassType
.color
;
3411 idtype
= type_model__MClassType
.id
;
3415 if(cltype
>= var7
->type
->table_size
) {
3418 var8
= var7
->type
->type_table
[cltype
] == idtype
;
3422 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
3423 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3424 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2134);
3428 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3435 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3439 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
3440 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>*/;
3441 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3442 { /* var16 = array_instance Array[RuntimeVariable] */
3444 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3445 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
3446 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
3447 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
3448 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
3449 CHECK_NEW_array__Array(var16
);
3451 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
3453 ((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>*/;
3459 /* method abstract_compiler#ACrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3460 val
* VIRTUAL_abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
3461 val
* var
/* : nullable RuntimeVariable */;
3462 val
* var1
/* : nullable RuntimeVariable */;
3463 var1
= abstract_compiler__ACrangeExpr__expr(self
, p0
);
3468 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3469 val
* abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3470 val
* var
/* : nullable RuntimeVariable */;
3471 val
* var_v
/* var v: AbstractCompilerVisitor */;
3472 val
* var1
/* : AExpr */;
3473 val
* var2
/* : null */;
3474 val
* var3
/* : RuntimeVariable */;
3475 val
* var_i1
/* var i1: RuntimeVariable */;
3476 val
* var4
/* : AExpr */;
3477 val
* var5
/* : null */;
3478 val
* var6
/* : RuntimeVariable */;
3479 val
* var_i2
/* var i2: RuntimeVariable */;
3480 val
* var7
/* : nullable MType */;
3481 short int var8
/* : Bool */;
3484 const char* var_class_name
;
3485 val
* var_mtype
/* var mtype: MClassType */;
3486 val
* var9
/* : RuntimeVariable */;
3487 val
* var_res
/* var res: RuntimeVariable */;
3488 static val
* varonce
;
3489 val
* var10
/* : String */;
3490 char* var11
/* : NativeString */;
3491 long var12
/* : Int */;
3492 val
* var13
/* : String */;
3493 val
* var14
/* : MType */;
3494 val
* var15
/* : MMethod */;
3495 val
* var16
/* : Array[RuntimeVariable] */;
3496 long var17
/* : Int */;
3497 val
* var18
/* : NativeArray[RuntimeVariable] */;
3498 val
* var19
/* : nullable RuntimeVariable */;
3499 val
* var_it
/* var it: nullable RuntimeVariable */;
3501 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:AOrangeExpr>*/;
3503 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3505 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrangeExpr>*/;
3507 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3509 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrangeExpr>*/;
3510 /* <var7:nullable MType> isa MClassType */
3511 cltype
= type_model__MClassType
.color
;
3512 idtype
= type_model__MClassType
.id
;
3516 if(cltype
>= var7
->type
->table_size
) {
3519 var8
= var7
->type
->type_table
[cltype
] == idtype
;
3523 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
3524 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3525 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2147);
3529 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
3534 var11
= "without_last";
3536 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3540 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
3541 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>*/;
3542 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3543 { /* var16 = array_instance Array[RuntimeVariable] */
3545 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3546 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
3547 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
3548 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
3549 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
3550 CHECK_NEW_array__Array(var16
);
3552 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
3554 ((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>*/;
3560 /* method abstract_compiler#AOrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3561 val
* VIRTUAL_abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
3562 val
* var
/* : nullable RuntimeVariable */;
3563 val
* var1
/* : nullable RuntimeVariable */;
3564 var1
= abstract_compiler__AOrangeExpr__expr(self
, p0
);
3569 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3570 val
* abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3571 val
* var
/* : nullable RuntimeVariable */;
3572 val
* var_v
/* var v: AbstractCompilerVisitor */;
3573 static val
* varonce
;
3574 val
* var1
/* : String */;
3575 char* var2
/* : NativeString */;
3576 long var3
/* : Int */;
3577 val
* var4
/* : String */;
3578 val
* var5
/* : nullable MType */;
3579 val
* var6
/* : RuntimeVariable */;
3586 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3590 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ATrueExpr>*/;
3592 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3593 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2156);
3596 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>*/;
3602 /* method abstract_compiler#ATrueExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3603 val
* VIRTUAL_abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
3604 val
* var
/* : nullable RuntimeVariable */;
3605 val
* var1
/* : nullable RuntimeVariable */;
3606 var1
= abstract_compiler__ATrueExpr__expr(self
, p0
);
3611 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3612 val
* abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3613 val
* var
/* : nullable RuntimeVariable */;
3614 val
* var_v
/* var v: AbstractCompilerVisitor */;
3615 static val
* varonce
;
3616 val
* var1
/* : String */;
3617 char* var2
/* : NativeString */;
3618 long var3
/* : Int */;
3619 val
* var4
/* : String */;
3620 val
* var5
/* : nullable MType */;
3621 val
* var6
/* : RuntimeVariable */;
3628 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3632 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFalseExpr>*/;
3634 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3635 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2160);
3638 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>*/;
3644 /* method abstract_compiler#AFalseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3645 val
* VIRTUAL_abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
3646 val
* var
/* : nullable RuntimeVariable */;
3647 val
* var1
/* : nullable RuntimeVariable */;
3648 var1
= abstract_compiler__AFalseExpr__expr(self
, p0
);
3653 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3654 val
* abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3655 val
* var
/* : nullable RuntimeVariable */;
3656 val
* var_v
/* var v: AbstractCompilerVisitor */;
3657 static val
* varonce
;
3658 val
* var1
/* : String */;
3659 char* var2
/* : NativeString */;
3660 long var3
/* : Int */;
3661 val
* var4
/* : String */;
3662 val
* var5
/* : nullable MType */;
3663 val
* var6
/* : RuntimeVariable */;
3670 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3674 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANullExpr>*/;
3676 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3677 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2164);
3680 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>*/;
3686 /* method abstract_compiler#ANullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3687 val
* VIRTUAL_abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
3688 val
* var
/* : nullable RuntimeVariable */;
3689 val
* var1
/* : nullable RuntimeVariable */;
3690 var1
= abstract_compiler__ANullExpr__expr(self
, p0
);
3695 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3696 val
* abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3697 val
* var
/* : nullable RuntimeVariable */;
3698 val
* var_v
/* var v: AbstractCompilerVisitor */;
3699 val
* var1
/* : AExpr */;
3700 val
* var2
/* : null */;
3701 val
* var3
/* : RuntimeVariable */;
3702 val
* var_i
/* var i: RuntimeVariable */;
3703 val
* var4
/* : nullable MType */;
3704 static val
* varonce
;
3705 val
* var5
/* : String */;
3706 char* var6
/* : NativeString */;
3707 long var7
/* : Int */;
3708 val
* var8
/* : String */;
3709 val
* var9
/* : RuntimeVariable */;
3711 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIsaExpr__n_expr
]))(self
) /* n_expr on <self:AIsaExpr>*/;
3713 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3715 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AIsaExpr__cast_type
]))(self
) /* cast_type on <self:AIsaExpr>*/;
3717 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3718 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2171);
3726 var8
= string__NativeString__to_s_with_length(var6
, var7
);
3730 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>*/;
3736 /* method abstract_compiler#AIsaExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3737 val
* VIRTUAL_abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
3738 val
* var
/* : nullable RuntimeVariable */;
3739 val
* var1
/* : nullable RuntimeVariable */;
3740 var1
= abstract_compiler__AIsaExpr__expr(self
, p0
);
3745 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3746 val
* abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3747 val
* var
/* : nullable RuntimeVariable */;
3748 val
* var_v
/* var v: AbstractCompilerVisitor */;
3749 val
* var1
/* : AExpr */;
3750 val
* var2
/* : null */;
3751 val
* var3
/* : RuntimeVariable */;
3752 val
* var_i
/* var i: RuntimeVariable */;
3753 val
* var4
/* : AbstractCompiler */;
3754 val
* var5
/* : ModelBuilder */;
3755 val
* var6
/* : ToolContext */;
3756 val
* var7
/* : OptionBool */;
3757 val
* var8
/* : nullable Object */;
3758 short int var9
/* : Bool */;
3759 val
* var10
/* : nullable MType */;
3760 static val
* varonce
;
3761 val
* var11
/* : String */;
3762 char* var12
/* : NativeString */;
3763 long var13
/* : Int */;
3764 val
* var14
/* : String */;
3766 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsCastExpr__n_expr
]))(self
) /* n_expr on <self:AAsCastExpr>*/;
3768 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3770 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
3771 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
3772 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
3773 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
3774 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
3775 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
3781 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAsCastExpr>*/;
3782 if (var10
== NULL
) {
3783 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3784 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2181);
3792 var14
= string__NativeString__to_s_with_length(var12
, var13
);
3796 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_cast
]))(var_v
, var_i
, var10
, var11
) /* add_cast on <var_v:AbstractCompilerVisitor>*/;
3802 /* method abstract_compiler#AAsCastExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3803 val
* VIRTUAL_abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
3804 val
* var
/* : nullable RuntimeVariable */;
3805 val
* var1
/* : nullable RuntimeVariable */;
3806 var1
= abstract_compiler__AAsCastExpr__expr(self
, p0
);
3811 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3812 val
* abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3813 val
* var
/* : nullable RuntimeVariable */;
3814 val
* var_v
/* var v: AbstractCompilerVisitor */;
3815 val
* var1
/* : AExpr */;
3816 val
* var2
/* : null */;
3817 val
* var3
/* : RuntimeVariable */;
3818 val
* var_i
/* var i: RuntimeVariable */;
3819 val
* var4
/* : AbstractCompiler */;
3820 val
* var5
/* : ModelBuilder */;
3821 val
* var6
/* : ToolContext */;
3822 val
* var7
/* : OptionBool */;
3823 val
* var8
/* : nullable Object */;
3824 short int var9
/* : Bool */;
3825 static val
* varonce
;
3826 val
* var10
/* : String */;
3827 char* var11
/* : NativeString */;
3828 long var12
/* : Int */;
3829 val
* var13
/* : String */;
3830 static val
* varonce14
;
3831 val
* var15
/* : String */;
3832 char* var16
/* : NativeString */;
3833 long var17
/* : Int */;
3834 val
* var18
/* : String */;
3835 val
* var19
/* : Array[Object] */;
3836 long var20
/* : Int */;
3837 val
* var21
/* : NativeArray[Object] */;
3838 val
* var22
/* : String */;
3839 static val
* varonce23
;
3840 val
* var24
/* : String */;
3841 char* var25
/* : NativeString */;
3842 long var26
/* : Int */;
3843 val
* var27
/* : String */;
3844 static val
* varonce28
;
3845 val
* var29
/* : String */;
3846 char* var30
/* : NativeString */;
3847 long var31
/* : Int */;
3848 val
* var32
/* : String */;
3850 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsNotnullExpr__n_expr
]))(self
) /* n_expr on <self:AAsNotnullExpr>*/;
3852 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3854 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
3855 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
3856 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
3857 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
3858 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
3859 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
3870 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3877 var16
= " == NULL) {";
3879 var18
= string__NativeString__to_s_with_length(var16
, var17
);
3883 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
3884 { /* var19 = array_instance Array[Object] */
3886 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
3887 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
3888 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_i
;
3889 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
3890 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
3891 CHECK_NEW_array__Array(var19
);
3893 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
3894 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
3898 var25
= "Cast failed";
3900 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3904 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var24
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
3910 var32
= string__NativeString__to_s_with_length(var30
, var31
);
3914 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var29
) /* add on <var_v:AbstractCompilerVisitor>*/;
3920 /* method abstract_compiler#AAsNotnullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3921 val
* VIRTUAL_abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
3922 val
* var
/* : nullable RuntimeVariable */;
3923 val
* var1
/* : nullable RuntimeVariable */;
3924 var1
= abstract_compiler__AAsNotnullExpr__expr(self
, p0
);
3929 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3930 val
* abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3931 val
* var
/* : nullable RuntimeVariable */;
3932 val
* var_v
/* var v: AbstractCompilerVisitor */;
3933 val
* var1
/* : AExpr */;
3934 val
* var2
/* : null */;
3935 val
* var3
/* : RuntimeVariable */;
3937 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AParExpr>*/;
3939 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
3945 /* method abstract_compiler#AParExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3946 val
* VIRTUAL_abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
3947 val
* var
/* : nullable RuntimeVariable */;
3948 val
* var1
/* : nullable RuntimeVariable */;
3949 var1
= abstract_compiler__AParExpr__expr(self
, p0
);
3954 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3955 val
* abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
3956 val
* var
/* : nullable RuntimeVariable */;
3957 val
* var_v
/* var v: AbstractCompilerVisitor */;
3958 val
* var1
/* : nullable MType */;
3959 val
* var_mtype
/* var mtype: MType */;
3960 static val
* varonce
;
3961 val
* var2
/* : String */;
3962 char* var3
/* : NativeString */;
3963 long var4
/* : Int */;
3964 val
* var5
/* : String */;
3965 val
* var6
/* : String */;
3966 val
* var_name
/* var name: String */;
3967 static val
* varonce7
;
3968 val
* var8
/* : String */;
3969 char* var9
/* : NativeString */;
3970 long var10
/* : Int */;
3971 val
* var11
/* : String */;
3972 val
* var12
/* : String */;
3973 val
* var13
/* : String */;
3974 val
* var_guard
/* var guard: String */;
3975 static val
* varonce14
;
3976 val
* var15
/* : String */;
3977 char* var16
/* : NativeString */;
3978 long var17
/* : Int */;
3979 val
* var18
/* : String */;
3980 val
* var19
/* : String */;
3981 static val
* varonce20
;
3982 val
* var21
/* : String */;
3983 char* var22
/* : NativeString */;
3984 long var23
/* : Int */;
3985 val
* var24
/* : String */;
3986 static val
* varonce25
;
3987 val
* var26
/* : String */;
3988 char* var27
/* : NativeString */;
3989 long var28
/* : Int */;
3990 val
* var29
/* : String */;
3991 val
* var30
/* : Array[Object] */;
3992 long var31
/* : Int */;
3993 val
* var32
/* : NativeArray[Object] */;
3994 val
* var33
/* : String */;
3995 static val
* varonce34
;
3996 val
* var35
/* : String */;
3997 char* var36
/* : NativeString */;
3998 long var37
/* : Int */;
3999 val
* var38
/* : String */;
4000 static val
* varonce39
;
4001 val
* var40
/* : String */;
4002 char* var41
/* : NativeString */;
4003 long var42
/* : Int */;
4004 val
* var43
/* : String */;
4005 val
* var44
/* : Array[Object] */;
4006 long var45
/* : Int */;
4007 val
* var46
/* : NativeArray[Object] */;
4008 val
* var47
/* : String */;
4009 val
* var48
/* : RuntimeVariable */;
4010 val
* var_res
/* var res: RuntimeVariable */;
4011 static val
* varonce49
;
4012 val
* var50
/* : String */;
4013 char* var51
/* : NativeString */;
4014 long var52
/* : Int */;
4015 val
* var53
/* : String */;
4016 static val
* varonce54
;
4017 val
* var55
/* : String */;
4018 char* var56
/* : NativeString */;
4019 long var57
/* : Int */;
4020 val
* var58
/* : String */;
4021 val
* var59
/* : Array[Object] */;
4022 long var60
/* : Int */;
4023 val
* var61
/* : NativeArray[Object] */;
4024 val
* var62
/* : String */;
4025 static val
* varonce63
;
4026 val
* var64
/* : String */;
4027 char* var65
/* : NativeString */;
4028 long var66
/* : Int */;
4029 val
* var67
/* : String */;
4030 static val
* varonce68
;
4031 val
* var69
/* : String */;
4032 char* var70
/* : NativeString */;
4033 long var71
/* : Int */;
4034 val
* var72
/* : String */;
4035 val
* var73
/* : Array[Object] */;
4036 long var74
/* : Int */;
4037 val
* var75
/* : NativeArray[Object] */;
4038 val
* var76
/* : String */;
4039 static val
* varonce77
;
4040 val
* var78
/* : String */;
4041 char* var79
/* : NativeString */;
4042 long var80
/* : Int */;
4043 val
* var81
/* : String */;
4044 val
* var82
/* : AExpr */;
4045 val
* var83
/* : RuntimeVariable */;
4046 val
* var_i
/* var i: RuntimeVariable */;
4047 static val
* varonce84
;
4048 val
* var85
/* : String */;
4049 char* var86
/* : NativeString */;
4050 long var87
/* : Int */;
4051 val
* var88
/* : String */;
4052 static val
* varonce89
;
4053 val
* var90
/* : String */;
4054 char* var91
/* : NativeString */;
4055 long var92
/* : Int */;
4056 val
* var93
/* : String */;
4057 val
* var94
/* : Array[Object] */;
4058 long var95
/* : Int */;
4059 val
* var96
/* : NativeArray[Object] */;
4060 val
* var97
/* : String */;
4061 static val
* varonce98
;
4062 val
* var99
/* : String */;
4063 char* var100
/* : NativeString */;
4064 long var101
/* : Int */;
4065 val
* var102
/* : String */;
4066 static val
* varonce103
;
4067 val
* var104
/* : String */;
4068 char* var105
/* : NativeString */;
4069 long var106
/* : Int */;
4070 val
* var107
/* : String */;
4071 val
* var108
/* : Array[Object] */;
4072 long var109
/* : Int */;
4073 val
* var110
/* : NativeArray[Object] */;
4074 val
* var111
/* : String */;
4075 static val
* varonce112
;
4076 val
* var113
/* : String */;
4077 char* var114
/* : NativeString */;
4078 long var115
/* : Int */;
4079 val
* var116
/* : String */;
4080 val
* var117
/* : Array[Object] */;
4081 long var118
/* : Int */;
4082 val
* var119
/* : NativeArray[Object] */;
4083 val
* var120
/* : String */;
4084 static val
* varonce121
;
4085 val
* var122
/* : String */;
4086 char* var123
/* : NativeString */;
4087 long var124
/* : Int */;
4088 val
* var125
/* : String */;
4090 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOnceExpr>*/;
4092 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4093 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2206);
4102 var5
= string__NativeString__to_s_with_length(var3
, var4
);
4106 var6
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var2
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
4113 var11
= string__NativeString__to_s_with_length(var9
, var10
);
4117 var12
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var8
) /* + on <var_name:String>*/;
4118 var13
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var12
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
4125 var18
= string__NativeString__to_s_with_length(var16
, var17
);
4129 var19
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
4135 var24
= string__NativeString__to_s_with_length(var22
, var23
);
4144 var29
= string__NativeString__to_s_with_length(var27
, var28
);
4148 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
4149 { /* var30 = array_instance Array[Object] */
4151 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
4152 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var15
;
4153 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var19
;
4154 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var21
;
4155 ((struct instance_array__NativeArray
*)var32
)->values
[3] = (val
*) var_name
;
4156 ((struct instance_array__NativeArray
*)var32
)->values
[4] = (val
*) var26
;
4157 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
4158 CHECK_NEW_array__Array(var30
);
4160 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
4161 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var33
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4165 var36
= "static int ";
4167 var38
= string__NativeString__to_s_with_length(var36
, var37
);
4176 var43
= string__NativeString__to_s_with_length(var41
, var42
);
4180 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
4181 { /* var44 = array_instance Array[Object] */
4183 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
4184 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
4185 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_guard
;
4186 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
4187 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
4188 CHECK_NEW_array__Array(var44
);
4190 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
4191 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var47
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4192 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_mtype
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
4199 var53
= string__NativeString__to_s_with_length(var51
, var52
);
4208 var58
= string__NativeString__to_s_with_length(var56
, var57
);
4212 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
4213 { /* var59 = array_instance Array[Object] */
4215 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
4216 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
4217 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_guard
;
4218 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
4219 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
4220 CHECK_NEW_array__Array(var59
);
4222 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
4223 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var62
) /* add on <var_v:AbstractCompilerVisitor>*/;
4229 var67
= string__NativeString__to_s_with_length(var65
, var66
);
4238 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4242 var73
= NEW_array__Array(&type_array__Arraykernel__Object
);
4243 { /* var73 = array_instance Array[Object] */
4245 var75
= NEW_array__NativeArray(var74
, &type_array__NativeArraykernel__Object
);
4246 ((struct instance_array__NativeArray
*)var75
)->values
[0] = (val
*) var_res
;
4247 ((struct instance_array__NativeArray
*)var75
)->values
[1] = (val
*) var64
;
4248 ((struct instance_array__NativeArray
*)var75
)->values
[2] = (val
*) var_name
;
4249 ((struct instance_array__NativeArray
*)var75
)->values
[3] = (val
*) var69
;
4250 ((void (*)(val
*, val
*, long))(var73
->class->vft
[COLOR_array__Array__with_native
]))(var73
, var75
, var74
) /* with_native on <var73:Array[Object]>*/;
4251 CHECK_NEW_array__Array(var73
);
4253 var76
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_string__Object__to_s
]))(var73
) /* to_s on <var73:Array[Object]>*/;
4254 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var76
) /* add on <var_v:AbstractCompilerVisitor>*/;
4260 var81
= string__NativeString__to_s_with_length(var79
, var80
);
4264 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var78
) /* add on <var_v:AbstractCompilerVisitor>*/;
4265 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AOnceExpr>*/;
4266 var83
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var82
, var_mtype
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4273 var88
= string__NativeString__to_s_with_length(var86
, var87
);
4282 var93
= string__NativeString__to_s_with_length(var91
, var92
);
4286 var94
= NEW_array__Array(&type_array__Arraykernel__Object
);
4287 { /* var94 = array_instance Array[Object] */
4289 var96
= NEW_array__NativeArray(var95
, &type_array__NativeArraykernel__Object
);
4290 ((struct instance_array__NativeArray
*)var96
)->values
[0] = (val
*) var_res
;
4291 ((struct instance_array__NativeArray
*)var96
)->values
[1] = (val
*) var85
;
4292 ((struct instance_array__NativeArray
*)var96
)->values
[2] = (val
*) var_i
;
4293 ((struct instance_array__NativeArray
*)var96
)->values
[3] = (val
*) var90
;
4294 ((void (*)(val
*, val
*, long))(var94
->class->vft
[COLOR_array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
4295 CHECK_NEW_array__Array(var94
);
4297 var97
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
4298 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var97
) /* add on <var_v:AbstractCompilerVisitor>*/;
4304 var102
= string__NativeString__to_s_with_length(var100
, var101
);
4309 var104
= varonce103
;
4313 var107
= string__NativeString__to_s_with_length(var105
, var106
);
4315 varonce103
= var104
;
4317 var108
= NEW_array__Array(&type_array__Arraykernel__Object
);
4318 { /* var108 = array_instance Array[Object] */
4320 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraykernel__Object
);
4321 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var_name
;
4322 ((struct instance_array__NativeArray
*)var110
)->values
[1] = (val
*) var99
;
4323 ((struct instance_array__NativeArray
*)var110
)->values
[2] = (val
*) var_res
;
4324 ((struct instance_array__NativeArray
*)var110
)->values
[3] = (val
*) var104
;
4325 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
4326 CHECK_NEW_array__Array(var108
);
4328 var111
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
4329 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var111
) /* add on <var_v:AbstractCompilerVisitor>*/;
4331 var113
= varonce112
;
4335 var116
= string__NativeString__to_s_with_length(var114
, var115
);
4337 varonce112
= var113
;
4339 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
4340 { /* var117 = array_instance Array[Object] */
4342 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
4343 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_guard
;
4344 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var113
;
4345 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
4346 CHECK_NEW_array__Array(var117
);
4348 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
4349 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var120
) /* add on <var_v:AbstractCompilerVisitor>*/;
4351 var122
= varonce121
;
4355 var125
= string__NativeString__to_s_with_length(var123
, var124
);
4357 varonce121
= var122
;
4359 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
4365 /* method abstract_compiler#AOnceExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4366 val
* VIRTUAL_abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
4367 val
* var
/* : nullable RuntimeVariable */;
4368 val
* var1
/* : nullable RuntimeVariable */;
4369 var1
= abstract_compiler__AOnceExpr__expr(self
, p0
);
4374 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4375 val
* abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4376 val
* var
/* : nullable RuntimeVariable */;
4377 val
* var_v
/* var v: AbstractCompilerVisitor */;
4378 val
* var1
/* : AExpr */;
4379 val
* var2
/* : null */;
4380 val
* var3
/* : RuntimeVariable */;
4381 val
* var_recv
/* var recv: RuntimeVariable */;
4382 val
* var4
/* : Array[RuntimeVariable] */;
4383 long var5
/* : Int */;
4384 val
* var_
/* var : Array[RuntimeVariable] */;
4385 val
* var_args
/* var args: Array[RuntimeVariable] */;
4386 val
* var6
/* : nullable Array[AExpr] */;
4387 val
* var7
/* : Iterator[nullable Object] */;
4388 short int var8
/* : Bool */;
4389 val
* var9
/* : nullable Object */;
4390 val
* var_a
/* var a: AExpr */;
4391 val
* var10
/* : null */;
4392 val
* var11
/* : RuntimeVariable */;
4393 val
* var12
/* : nullable CallSite */;
4394 val
* var13
/* : nullable RuntimeVariable */;
4396 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendExpr>*/;
4398 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4400 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4402 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
4403 CHECK_NEW_array__Array(var4
);
4405 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4407 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendExpr>*/;
4409 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4410 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2229);
4413 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:nullable Array[AExpr](Array[AExpr])>*/;
4415 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
4417 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
4420 var11
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var10
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4421 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var11
) /* add on <var_args:Array[RuntimeVariable]>*/;
4422 CONTINUE_label
: (void)0;
4423 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
4425 BREAK_label
: (void)0;
4426 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendExpr>*/;
4427 if (var12
== NULL
) {
4428 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4429 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2232);
4432 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>*/;
4438 /* method abstract_compiler#ASendExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4439 val
* VIRTUAL_abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
4440 val
* var
/* : nullable RuntimeVariable */;
4441 val
* var1
/* : nullable RuntimeVariable */;
4442 var1
= abstract_compiler__ASendExpr__expr(self
, p0
);
4447 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
4448 void abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4449 val
* var_v
/* var v: AbstractCompilerVisitor */;
4450 val
* var
/* : AExpr */;
4451 val
* var1
/* : null */;
4452 val
* var2
/* : RuntimeVariable */;
4453 val
* var_recv
/* var recv: RuntimeVariable */;
4454 val
* var3
/* : Array[RuntimeVariable] */;
4455 long var4
/* : Int */;
4456 val
* var_
/* var : Array[RuntimeVariable] */;
4457 val
* var_args
/* var args: Array[RuntimeVariable] */;
4458 val
* var5
/* : nullable Array[AExpr] */;
4459 val
* var6
/* : Iterator[nullable Object] */;
4460 short int var7
/* : Bool */;
4461 val
* var8
/* : nullable Object */;
4462 val
* var_a
/* var a: AExpr */;
4463 val
* var9
/* : null */;
4464 val
* var10
/* : RuntimeVariable */;
4465 val
* var11
/* : AExpr */;
4466 val
* var12
/* : null */;
4467 val
* var13
/* : RuntimeVariable */;
4468 val
* var_value
/* var value: RuntimeVariable */;
4469 val
* var14
/* : nullable CallSite */;
4470 val
* var15
/* : nullable RuntimeVariable */;
4471 val
* var_left
/* var left: nullable RuntimeVariable */;
4472 val
* var16
/* : null */;
4473 short int var17
/* : Bool */;
4474 val
* var18
/* : nullable CallSite */;
4475 val
* var19
/* : Array[RuntimeVariable] */;
4476 long var20
/* : Int */;
4477 val
* var21
/* : NativeArray[RuntimeVariable] */;
4478 val
* var22
/* : nullable RuntimeVariable */;
4479 val
* var_res
/* var res: nullable RuntimeVariable */;
4480 val
* var23
/* : null */;
4481 short int var24
/* : Bool */;
4482 val
* var25
/* : nullable CallSite */;
4483 val
* var26
/* : nullable RuntimeVariable */;
4485 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
4487 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4489 var3
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4491 ((void (*)(val
*, long))(var3
->class->vft
[COLOR_array__Array__with_capacity
]))(var3
, var4
) /* with_capacity on <var3:Array[RuntimeVariable]>*/;
4492 CHECK_NEW_array__Array(var3
);
4494 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4496 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendReassignFormExpr>*/;
4498 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4499 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2241);
4502 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:nullable Array[AExpr](Array[AExpr])>*/;
4504 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
4506 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
4509 var10
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var9
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4510 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var10
) /* add on <var_args:Array[RuntimeVariable]>*/;
4511 CONTINUE_label
: (void)0;
4512 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
4514 BREAK_label
: (void)0;
4515 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ASendReassignFormExpr>*/;
4517 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var11
, var12
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4519 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendReassignFormExpr>*/;
4520 if (var14
== NULL
) {
4521 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4522 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2246);
4525 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>*/;
4528 if (var_left
== NULL
) {
4529 var17
= 0; /* is null */
4531 var17
= 1; /* arg is null and recv is not */
4534 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4535 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2247);
4538 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:ASendReassignFormExpr>*/;
4539 if (var18
== NULL
) {
4540 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4541 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2249);
4544 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4545 { /* var19 = array_instance Array[RuntimeVariable] */
4547 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4548 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var_left
;
4549 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_value
;
4550 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[RuntimeVariable]>*/;
4551 CHECK_NEW_array__Array(var19
);
4553 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>*/;
4556 if (var_res
== NULL
) {
4557 var24
= 0; /* is null */
4559 var24
= 1; /* arg is null and recv is not */
4562 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4563 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2250);
4566 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var_res
) /* add on <var_args:Array[RuntimeVariable]>*/;
4567 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendReassignFormExpr__write_callsite
]))(self
) /* write_callsite on <self:ASendReassignFormExpr>*/;
4568 if (var25
== NULL
) {
4569 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4570 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2253);
4573 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>*/;
4577 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: Object, AbstractCompilerVisitor) */
4578 void VIRTUAL_abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
4579 abstract_compiler__ASendReassignFormExpr__stmt(self
, p0
);
4582 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4583 val
* abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4584 val
* var
/* : nullable RuntimeVariable */;
4585 val
* var_v
/* var v: AbstractCompilerVisitor */;
4586 val
* var1
/* : nullable Frame */;
4587 val
* var2
/* : Array[RuntimeVariable] */;
4588 val
* var3
/* : nullable Object */;
4589 val
* var_recv
/* var recv: RuntimeVariable */;
4590 val
* var4
/* : Array[RuntimeVariable] */;
4591 long var5
/* : Int */;
4592 val
* var_
/* var : Array[RuntimeVariable] */;
4593 val
* var_args
/* var args: Array[RuntimeVariable] */;
4594 val
* var6
/* : AExprs */;
4595 val
* var7
/* : ANodes[AExpr] */;
4596 val
* var8
/* : Iterator[nullable Object] */;
4597 short int var9
/* : Bool */;
4598 val
* var10
/* : nullable Object */;
4599 val
* var_a
/* var a: AExpr */;
4600 val
* var11
/* : null */;
4601 val
* var12
/* : RuntimeVariable */;
4602 long var13
/* : Int */;
4603 long var14
/* : Int */;
4604 short int var15
/* : Bool */;
4605 short int var17
/* : Bool */;
4606 val
* var18
/* : nullable Frame */;
4607 val
* var19
/* : Array[RuntimeVariable] */;
4608 val
* var20
/* : nullable MMethod */;
4609 val
* var_mproperty
/* var mproperty: nullable MMethod */;
4610 val
* var21
/* : null */;
4611 short int var22
/* : Bool */;
4612 val
* var23
/* : MPropDef */;
4613 val
* var24
/* : nullable MSignature */;
4614 long var25
/* : Int */;
4615 long var26
/* : Int */;
4616 short int var27
/* : Bool */;
4617 short int var29
/* : Bool */;
4618 val
* var30
/* : Array[RuntimeVariable] */;
4619 long var31
/* : Int */;
4620 val
* var_32
/* var : Array[RuntimeVariable] */;
4621 val
* var33
/* : nullable RuntimeVariable */;
4622 val
* var_res
/* var res: nullable RuntimeVariable */;
4623 val
* var34
/* : nullable Frame */;
4624 val
* var35
/* : MPropDef */;
4625 short int var36
/* : Bool */;
4628 const char* var_class_name
;
4629 val
* var37
/* : MType */;
4630 short int var38
/* : Bool */;
4633 const char* var_class_name41
;
4634 val
* var42
/* : nullable RuntimeVariable */;
4636 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4638 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4639 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2260);
4642 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var1
) /* arguments on <var1:nullable Frame>*/;
4644 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[RuntimeVariable]>*/;
4646 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4648 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
4649 CHECK_NEW_array__Array(var4
);
4651 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4653 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperExpr__n_args
]))(self
) /* n_args on <self:ASuperExpr>*/;
4654 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
4655 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
4657 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
4659 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
4662 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var11
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4663 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var12
) /* add on <var_args:Array[RuntimeVariable]>*/;
4664 CONTINUE_label
: (void)0;
4665 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
4667 BREAK_label
: (void)0;
4668 var13
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
4670 { /* Inline kernel#Int#== (var13,var14) */
4671 var17
= var13
== var14
;
4674 RET_LABEL16
:(void)0;
4677 var18
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4678 if (var18
== NULL
) {
4679 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4680 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2266);
4683 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
4688 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASuperExpr__mproperty
]))(self
) /* mproperty on <self:ASuperExpr>*/;
4689 var_mproperty
= var20
;
4691 if (var_mproperty
== NULL
) {
4692 var22
= 0; /* is null */
4694 var22
= 1; /* arg is null and recv is not */
4697 var23
= ((val
* (*)(val
*))(var_mproperty
->class->vft
[COLOR_model__MProperty__intro
]))(var_mproperty
) /* intro on <var_mproperty:nullable MMethod(MMethod)>*/;
4698 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var23
) /* msignature on <var23:MPropDef(MMethodDef)>*/;
4699 if (var24
== NULL
) {
4700 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4701 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2271);
4704 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_model__MSignature__arity
]))(var24
) /* arity on <var24:nullable MSignature>*/;
4707 { /* Inline kernel#Int#== (var25,var26) */
4708 var29
= var25
== var26
;
4711 RET_LABEL28
:(void)0;
4714 var30
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4716 ((void (*)(val
*, long))(var30
->class->vft
[COLOR_array__Array__with_capacity
]))(var30
, var31
) /* with_capacity on <var30:Array[RuntimeVariable]>*/;
4717 CHECK_NEW_array__Array(var30
);
4719 ((void (*)(val
*, val
*))(var_32
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_32
, var_recv
) /* push on <var_32:Array[RuntimeVariable]>*/;
4723 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>*/;
4729 var34
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
4730 if (var34
== NULL
) {
4731 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4732 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2280);
4735 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var34
) /* mpropdef on <var34:nullable Frame>*/;
4737 /* <var35:MPropDef> isa MMethodDef */
4738 cltype
= type_model__MMethodDef
.color
;
4739 idtype
= type_model__MMethodDef
.id
;
4740 if(cltype
>= var35
->type
->table_size
) {
4743 var36
= var35
->type
->type_table
[cltype
] == idtype
;
4746 var_class_name
= var35
== NULL ?
"null" : var35
->type
->name
;
4747 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
4748 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2280);
4751 var37
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_recv
) /* mtype on <var_recv:RuntimeVariable>*/;
4752 /* <var37:MType> isa MClassType */
4753 cltype39
= type_model__MClassType
.color
;
4754 idtype40
= type_model__MClassType
.id
;
4755 if(cltype39
>= var37
->type
->table_size
) {
4758 var38
= var37
->type
->type_table
[cltype39
] == idtype40
;
4761 var_class_name41
= var37
== NULL ?
"null" : var37
->type
->name
;
4762 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name41
);
4763 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2280);
4766 var42
= ((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>*/;
4772 /* method abstract_compiler#ASuperExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4773 val
* VIRTUAL_abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
4774 val
* var
/* : nullable RuntimeVariable */;
4775 val
* var1
/* : nullable RuntimeVariable */;
4776 var1
= abstract_compiler__ASuperExpr__expr(self
, p0
);
4781 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4782 val
* abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
4783 val
* var
/* : nullable RuntimeVariable */;
4784 val
* var_v
/* var v: AbstractCompilerVisitor */;
4785 val
* var1
/* : nullable MType */;
4786 short int var2
/* : Bool */;
4789 const char* var_class_name
;
4790 val
* var_mtype
/* var mtype: MClassType */;
4791 val
* var3
/* : String */;
4792 val
* var_ctype
/* var ctype: String */;
4793 static val
* varonce
;
4794 val
* var4
/* : String */;
4795 char* var5
/* : NativeString */;
4796 long var6
/* : Int */;
4797 val
* var7
/* : String */;
4798 short int var8
/* : Bool */;
4799 val
* var9
/* : RuntimeVariable */;
4800 val
* var_recv
/* var recv: nullable Object */;
4801 static val
* varonce10
;
4802 val
* var11
/* : String */;
4803 char* var12
/* : NativeString */;
4804 long var13
/* : Int */;
4805 val
* var14
/* : String */;
4806 short int var15
/* : Bool */;
4807 static val
* varonce16
;
4808 val
* var17
/* : String */;
4809 char* var18
/* : NativeString */;
4810 long var19
/* : Int */;
4811 val
* var20
/* : String */;
4812 val
* var21
/* : RuntimeVariable */;
4813 static val
* varonce22
;
4814 val
* var23
/* : String */;
4815 char* var24
/* : NativeString */;
4816 long var25
/* : Int */;
4817 val
* var26
/* : String */;
4818 val
* var27
/* : Array[Object] */;
4819 long var28
/* : Int */;
4820 val
* var29
/* : NativeArray[Object] */;
4821 val
* var30
/* : String */;
4822 val
* var31
/* : Array[RuntimeVariable] */;
4823 long var32
/* : Int */;
4824 val
* var_
/* var : Array[RuntimeVariable] */;
4825 val
* var_args
/* var args: Array[RuntimeVariable] */;
4826 val
* var33
/* : AExprs */;
4827 val
* var34
/* : ANodes[AExpr] */;
4828 val
* var35
/* : Iterator[nullable Object] */;
4829 short int var36
/* : Bool */;
4830 val
* var37
/* : nullable Object */;
4831 val
* var_a
/* var a: AExpr */;
4832 val
* var38
/* : null */;
4833 val
* var39
/* : RuntimeVariable */;
4834 val
* var40
/* : nullable CallSite */;
4835 val
* var41
/* : nullable RuntimeVariable */;
4836 val
* var_res2
/* var res2: nullable RuntimeVariable */;
4837 val
* var42
/* : null */;
4838 short int var43
/* : Bool */;
4840 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANewExpr>*/;
4841 /* <var1:nullable MType> isa MClassType */
4842 cltype
= type_model__MClassType
.color
;
4843 idtype
= type_model__MClassType
.id
;
4847 if(cltype
>= var1
->type
->table_size
) {
4850 var2
= var1
->type
->type_table
[cltype
] == idtype
;
4854 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
4855 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4856 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2287);
4860 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
4867 var7
= string__NativeString__to_s_with_length(var5
, var6
);
4871 var8
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var4
) /* == on <var_ctype:String>*/;
4873 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
4881 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4885 var15
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var11
) /* == on <var_ctype:String>*/;
4890 var18
= "NULL/*special!*/";
4892 var20
= string__NativeString__to_s_with_length(var18
, var19
);
4896 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>*/;
4902 var24
= "cannot new ";
4904 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4908 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
4909 { /* var27 = array_instance Array[Object] */
4911 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
4912 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var23
;
4913 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_mtype
;
4914 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
4915 CHECK_NEW_array__Array(var27
);
4917 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
4918 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(self
, var30
) /* debug on <self:ANewExpr>*/;
4919 fprintf(stderr
, "Runtime error: %s", "Aborted");
4920 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2296);
4924 var31
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4926 ((void (*)(val
*, long))(var31
->class->vft
[COLOR_array__Array__with_capacity
]))(var31
, var32
) /* with_capacity on <var31:Array[RuntimeVariable]>*/;
4927 CHECK_NEW_array__Array(var31
);
4929 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
4931 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
4932 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var33
) /* n_exprs on <var33:AExprs>*/;
4933 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var34
) /* iterator on <var34:ANodes[AExpr]>*/;
4935 var36
= ((short int (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var35
) /* is_ok on <var35:Iterator[nullable Object]>*/;
4937 var37
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var35
) /* item on <var35:Iterator[nullable Object]>*/;
4940 var39
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var38
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4941 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var39
) /* add on <var_args:Array[RuntimeVariable]>*/;
4942 CONTINUE_label
: (void)0;
4943 ((void (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var35
) /* next on <var35:Iterator[nullable Object]>*/;
4945 BREAK_label
: (void)0;
4946 var40
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite
]))(self
) /* callsite on <self:ANewExpr>*/;
4947 if (var40
== NULL
) {
4948 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4949 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2302);
4952 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>*/;
4955 if (var_res2
== NULL
) {
4956 var43
= 0; /* is null */
4958 var43
= 1; /* arg is null and recv is not */
4965 ((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>*/;
4971 /* method abstract_compiler#ANewExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4972 val
* VIRTUAL_abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
4973 val
* var
/* : nullable RuntimeVariable */;
4974 val
* var1
/* : nullable RuntimeVariable */;
4975 var1
= abstract_compiler__ANewExpr__expr(self
, p0
);
4980 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4981 val
* abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
4982 val
* var
/* : nullable RuntimeVariable */;
4983 val
* var_v
/* var v: AbstractCompilerVisitor */;
4984 val
* var1
/* : AExpr */;
4985 val
* var2
/* : null */;
4986 val
* var3
/* : RuntimeVariable */;
4987 val
* var_recv
/* var recv: RuntimeVariable */;
4988 val
* var4
/* : nullable MAttribute */;
4989 val
* var_mproperty
/* var mproperty: MAttribute */;
4990 val
* var5
/* : RuntimeVariable */;
4992 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrExpr>*/;
4994 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4996 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrExpr>*/;
4998 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4999 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2316);
5002 var_mproperty
= var4
;
5003 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>*/;
5009 /* method abstract_compiler#AAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5010 val
* VIRTUAL_abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
5011 val
* var
/* : nullable RuntimeVariable */;
5012 val
* var1
/* : nullable RuntimeVariable */;
5013 var1
= abstract_compiler__AAttrExpr__expr(self
, p0
);
5018 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: AAttrAssignExpr, AbstractCompilerVisitor) */
5019 void abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
5020 val
* var_v
/* var v: AbstractCompilerVisitor */;
5021 val
* var
/* : AExpr */;
5022 val
* var1
/* : null */;
5023 val
* var2
/* : RuntimeVariable */;
5024 val
* var_recv
/* var recv: RuntimeVariable */;
5025 val
* var3
/* : AExpr */;
5026 val
* var4
/* : null */;
5027 val
* var5
/* : RuntimeVariable */;
5028 val
* var_i
/* var i: RuntimeVariable */;
5029 val
* var6
/* : nullable MAttribute */;
5030 val
* var_mproperty
/* var mproperty: MAttribute */;
5032 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrAssignExpr>*/;
5034 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5036 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrAssignExpr>*/;
5038 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5040 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrAssignExpr>*/;
5042 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5043 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2326);
5046 var_mproperty
= var6
;
5047 ((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>*/;
5050 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5051 void VIRTUAL_abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
5052 abstract_compiler__AAttrAssignExpr__stmt(self
, p0
);
5055 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
5056 void abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
5057 val
* var_v
/* var v: AbstractCompilerVisitor */;
5058 val
* var
/* : AExpr */;
5059 val
* var1
/* : null */;
5060 val
* var2
/* : RuntimeVariable */;
5061 val
* var_recv
/* var recv: RuntimeVariable */;
5062 val
* var3
/* : AExpr */;
5063 val
* var4
/* : null */;
5064 val
* var5
/* : RuntimeVariable */;
5065 val
* var_value
/* var value: RuntimeVariable */;
5066 val
* var6
/* : nullable MAttribute */;
5067 val
* var_mproperty
/* var mproperty: MAttribute */;
5068 val
* var7
/* : RuntimeVariable */;
5069 val
* var_attr
/* var attr: RuntimeVariable */;
5070 val
* var8
/* : nullable CallSite */;
5071 val
* var9
/* : Array[RuntimeVariable] */;
5072 long var10
/* : Int */;
5073 val
* var11
/* : NativeArray[RuntimeVariable] */;
5074 val
* var12
/* : nullable RuntimeVariable */;
5075 val
* var_res
/* var res: nullable RuntimeVariable */;
5076 val
* var13
/* : null */;
5077 short int var14
/* : Bool */;
5079 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
5081 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5083 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrReassignExpr>*/;
5085 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5087 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrReassignExpr>*/;
5089 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5090 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2336);
5093 var_mproperty
= var6
;
5094 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>*/;
5096 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AAttrReassignExpr>*/;
5098 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5099 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2338);
5102 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5103 { /* var9 = array_instance Array[RuntimeVariable] */
5105 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
5106 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var_attr
;
5107 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var_value
;
5108 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[RuntimeVariable]>*/;
5109 CHECK_NEW_array__Array(var9
);
5111 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>*/;
5114 if (var_res
== NULL
) {
5115 var14
= 0; /* is null */
5117 var14
= 1; /* arg is null and recv is not */
5120 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5121 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2339);
5124 ((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>*/;
5127 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5128 void VIRTUAL_abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
5129 abstract_compiler__AAttrReassignExpr__stmt(self
, p0
);
5132 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5133 val
* abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
5134 val
* var
/* : nullable RuntimeVariable */;
5135 val
* var_v
/* var v: AbstractCompilerVisitor */;
5136 val
* var1
/* : AExpr */;
5137 val
* var2
/* : null */;
5138 val
* var3
/* : RuntimeVariable */;
5139 val
* var_recv
/* var recv: RuntimeVariable */;
5140 val
* var4
/* : nullable MAttribute */;
5141 val
* var_mproperty
/* var mproperty: MAttribute */;
5142 val
* var5
/* : RuntimeVariable */;
5144 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AIssetAttrExpr>*/;
5146 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5148 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AIssetAttrExpr>*/;
5150 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5151 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2348);
5154 var_mproperty
= var4
;
5155 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>*/;
5161 /* method abstract_compiler#AIssetAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5162 val
* VIRTUAL_abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
5163 val
* var
/* : nullable RuntimeVariable */;
5164 val
* var1
/* : nullable RuntimeVariable */;
5165 var1
= abstract_compiler__AIssetAttrExpr__expr(self
, p0
);
5170 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
5171 void abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
5172 val
* var_v
/* var v: AbstractCompilerVisitor */;
5176 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5177 void VIRTUAL_abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
5178 abstract_compiler__ADebugTypeExpr__stmt(self
, p0
);
5181 /* method abstract_compiler#Array#- for (self: Array[nullable Object], Array[nullable Object]): Array[nullable Object] */
5182 val
* abstract_compiler__Array___45d(val
* self
, val
* p0
) {
5183 val
* var
/* : Array[nullable Object] */;
5184 short int var1
/* : Bool */;
5187 const struct type
* type_struct
;
5188 const char* var_class_name
;
5189 val
* var_o
/* var o: Array[nullable Object] */;
5190 val
* var2
/* : Array[nullable Object] */;
5191 val
* var_res
/* var res: Array[nullable Object] */;
5192 val
* var3
/* : Iterator[nullable Object] */;
5193 short int var4
/* : Bool */;
5194 val
* var5
/* : nullable Object */;
5195 val
* var_e
/* var e: nullable Object */;
5196 short int var6
/* : Bool */;
5197 short int var7
/* : Bool */;
5198 /* Covariant cast for argument 0 (o) <p0:Array[nullable Object]> isa Array[Array#0] */
5199 /* <p0:Array[nullable Object]> isa Array[Array#0] */
5200 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
];
5201 cltype
= type_struct
->color
;
5202 idtype
= type_struct
->id
;
5203 if(cltype
>= p0
->type
->table_size
) {
5206 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5209 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5210 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[Array#0]", var_class_name
);
5211 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2363);
5215 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
]);
5216 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[nullable Object]>*/;
5217 CHECK_NEW_array__Array(var2
);
5219 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Array[nullable Object]>*/;
5221 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
5223 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
5225 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]>*/;
5228 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var_e
) /* add on <var_res:Array[nullable Object]>*/;
5231 CONTINUE_label
: (void)0;
5232 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
5234 BREAK_label
: (void)0;
5240 /* method abstract_compiler#Array#- for (self: Object, Array[nullable Object]): Array[nullable Object] */
5241 val
* VIRTUAL_abstract_compiler__Array___45d(val
* self
, val
* p0
) {
5242 val
* var
/* : Array[nullable Object] */;
5243 val
* var1
/* : Array[nullable Object] */;
5244 var1
= abstract_compiler__Array___45d(self
, p0
);
5249 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
5250 val
* abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
5251 val
* var
/* : Set[MProperty] */;
5252 val
* var_mclass
/* var mclass: MClass */;
5253 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5254 short int var2
/* : Bool */;
5255 short int var3
/* : Bool */;
5256 val
* var4
/* : HashSet[MProperty] */;
5257 val
* var_properties
/* var properties: HashSet[MProperty] */;
5258 val
* var5
/* : Array[MClass] */;
5259 val
* var_parents
/* var parents: Array[MClass] */;
5260 val
* var6
/* : POSet[MClass] */;
5261 short int var7
/* : Bool */;
5262 val
* var8
/* : POSetElement[MClass] */;
5263 val
* var9
/* : Collection[Object] */;
5264 val
* var10
/* : Iterator[nullable Object] */;
5265 short int var11
/* : Bool */;
5266 val
* var12
/* : nullable Object */;
5267 val
* var_parent
/* var parent: MClass */;
5268 val
* var13
/* : Set[MProperty] */;
5269 val
* var14
/* : Array[MClassDef] */;
5270 val
* var15
/* : Iterator[nullable Object] */;
5271 short int var16
/* : Bool */;
5272 val
* var17
/* : nullable Object */;
5273 val
* var_mclassdef
/* var mclassdef: MClassDef */;
5274 val
* var18
/* : Array[MProperty] */;
5275 val
* var19
/* : Iterator[nullable Object] */;
5276 short int var20
/* : Bool */;
5277 val
* var21
/* : nullable Object */;
5278 val
* var_mprop
/* var mprop: MProperty */;
5279 val
* var24
/* : Map[MClass, Set[MProperty]] */;
5280 val
* var25
/* : Map[MClass, Set[MProperty]] */;
5281 val
* var26
/* : nullable Object */;
5283 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
5284 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]]>*/;
5287 var4
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MProperty
);
5288 ((void (*)(val
*))(var4
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var4
) /* init on <var4:HashSet[MProperty]>*/;
5289 CHECK_NEW_hash_collection__HashSet(var4
);
5290 var_properties
= var4
;
5291 var5
= NEW_array__Array(&type_array__Arraymodel__MClass
);
5292 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[MClass]>*/;
5293 CHECK_NEW_array__Array(var5
);
5295 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MModule__flatten_mclass_hierarchy
]))(self
) /* flatten_mclass_hierarchy on <self:MModule>*/;
5296 var7
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var6
, var_mclass
) /* has on <var6:POSet[MClass]>*/;
5298 var8
= ((val
* (*)(val
*, val
*))(var_mclass
->class->vft
[COLOR_model__MClass__in_hierarchy
]))(var_mclass
, self
) /* in_hierarchy on <var_mclass:MClass>*/;
5299 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var8
) /* direct_greaters on <var8:POSetElement[MClass]>*/;
5300 ((void (*)(val
*, val
*))(var_parents
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_parents
, var9
) /* add_all on <var_parents:Array[MClass]>*/;
5303 var10
= ((val
* (*)(val
*))(var_parents
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_parents
) /* iterator on <var_parents:Array[MClass]>*/;
5305 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
5307 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
5309 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties
]))(self
, var_parent
) /* properties on <self:MModule>*/;
5310 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_properties
, var13
) /* add_all on <var_properties:HashSet[MProperty]>*/;
5311 CONTINUE_label
: (void)0;
5312 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
5314 BREAK_label
: (void)0;
5315 var14
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__mclassdefs
]))(var_mclass
) /* mclassdefs on <var_mclass:MClass>*/;
5316 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var14
) /* iterator on <var14:Array[MClassDef]>*/;
5318 var16
= ((short int (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var15
) /* is_ok on <var15:Iterator[nullable Object]>*/;
5320 var17
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var15
) /* item on <var15:Iterator[nullable Object]>*/;
5321 var_mclassdef
= var17
;
5322 var18
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__intro_mproperties
]))(var_mclassdef
) /* intro_mproperties on <var_mclassdef:MClassDef>*/;
5323 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[MProperty]>*/;
5325 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
5327 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
5329 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_properties
, var_mprop
) /* add on <var_properties:HashSet[MProperty]>*/;
5330 CONTINUE_label22
: (void)0;
5331 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
5333 BREAK_label22
: (void)0;
5334 CONTINUE_label23
: (void)0;
5335 ((void (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var15
) /* next on <var15:Iterator[nullable Object]>*/;
5337 BREAK_label23
: (void)0;
5338 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
5339 ((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]]>*/;
5342 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
5343 var26
= ((val
* (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var25
, var_mclass
) /* [] on <var25:Map[MClass, Set[MProperty]]>*/;
5349 /* method abstract_compiler#MModule#properties for (self: Object, MClass): Set[MProperty] */
5350 val
* VIRTUAL_abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
5351 val
* var
/* : Set[MProperty] */;
5352 val
* var1
/* : Set[MProperty] */;
5353 var1
= abstract_compiler__MModule__properties(self
, p0
);
5358 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
5359 val
* abstract_compiler__MModule__properties_cache(val
* self
) {
5360 val
* var
/* : Map[MClass, Set[MProperty]] */;
5361 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5362 var1
= self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
; /* @properties_cache on <self:MModule> */
5364 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @properties_cache");
5365 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2392);
5372 /* method abstract_compiler#MModule#properties_cache for (self: Object): Map[MClass, Set[MProperty]] */
5373 val
* VIRTUAL_abstract_compiler__MModule__properties_cache(val
* self
) {
5374 val
* var
/* : Map[MClass, Set[MProperty]] */;
5375 val
* var1
/* : Map[MClass, Set[MProperty]] */;
5376 var1
= abstract_compiler__MModule__properties_cache(self
);
5381 /* method abstract_compiler#MModule#properties_cache= for (self: MModule, Map[MClass, Set[MProperty]]) */
5382 void abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
5383 self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
= p0
; /* @properties_cache on <self:MModule> */
5386 /* method abstract_compiler#MModule#properties_cache= for (self: Object, Map[MClass, Set[MProperty]]) */
5387 void VIRTUAL_abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
5388 abstract_compiler__MModule__properties_cache_61d(self
, p0
);