1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AExternInitPropdef#compile_to_c for (self: AExternInitPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
3 void abstract_compiler__AExternInitPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 val
* var_v
/* var v: AbstractCompilerVisitor */;
5 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7 val
* var
/* : nullable TString */;
8 val
* var_nextern
/* var nextern: nullable TString */;
9 val
* var1
/* : null */;
10 short int var2
/* : Bool */;
12 val
* var3
/* : String */;
13 char* var4
/* : NativeString */;
14 long var5
/* : Int */;
15 val
* var6
/* : String */;
17 val
* var8
/* : String */;
18 char* var9
/* : NativeString */;
19 long var10
/* : Int */;
20 val
* var11
/* : String */;
21 val
* var12
/* : Location */;
22 val
* var13
/* : String */;
23 static val
* varonce14
;
24 val
* var15
/* : String */;
25 char* var16
/* : NativeString */;
26 long var17
/* : Int */;
27 val
* var18
/* : String */;
28 val
* var19
/* : Array[Object] */;
29 long var20
/* : Int */;
30 val
* var21
/* : NativeArray[Object] */;
31 val
* var22
/* : String */;
32 static val
* varonce23
;
33 val
* var24
/* : String */;
34 char* var25
/* : NativeString */;
35 long var26
/* : Int */;
36 val
* var27
/* : String */;
37 val
* var28
/* : String */;
38 long var29
/* : Int */;
39 val
* var30
/* : String */;
40 long var31
/* : Int */;
41 long var32
/* : Int */;
42 long var33
/* : Int */;
43 long var35
/* : Int */;
44 val
* var36
/* : String */;
45 val
* var_externname
/* var externname: nullable Object */;
46 val
* var37
/* : Location */;
47 val
* var38
/* : nullable SourceFile */;
48 val
* var39
/* : null */;
49 short int var40
/* : Bool */;
50 val
* var41
/* : Location */;
51 val
* var42
/* : nullable SourceFile */;
52 val
* var43
/* : String */;
53 val
* var_file
/* var file: String */;
54 val
* var44
/* : nullable Object */;
55 val
* var45
/* : MType */;
56 val
* var_ret
/* var ret: MType */;
57 val
* var46
/* : RuntimeVariable */;
58 val
* var_res
/* var res: RuntimeVariable */;
59 val
* var47
/* : nullable Object */;
60 static val
* varonce48
;
61 val
* var49
/* : String */;
62 char* var50
/* : NativeString */;
63 long var51
/* : Int */;
64 val
* var52
/* : String */;
65 static val
* varonce53
;
66 val
* var54
/* : String */;
67 char* var55
/* : NativeString */;
68 long var56
/* : Int */;
69 val
* var57
/* : String */;
70 static val
* varonce58
;
71 val
* var59
/* : String */;
72 char* var60
/* : NativeString */;
73 long var61
/* : Int */;
74 val
* var62
/* : String */;
75 val
* var63
/* : String */;
76 static val
* varonce64
;
77 val
* var65
/* : String */;
78 char* var66
/* : NativeString */;
79 long var67
/* : Int */;
80 val
* var68
/* : String */;
81 val
* var69
/* : Array[Object] */;
82 long var70
/* : Int */;
83 val
* var71
/* : NativeArray[Object] */;
84 val
* var72
/* : String */;
88 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternPropdef__n_extern
]))(self
) /* n_extern on <self:AExternInitPropdef>*/;
91 if (var_nextern
== NULL
) {
92 var2
= 1; /* is null */
94 var2
= 0; /* arg is null but recv is not */
100 var4
= "printf(\"NOT YET IMPLEMENTED nitni for ";
102 var6
= string__NativeString__to_s_with_length(var4
, var5
);
111 var11
= string__NativeString__to_s_with_length(var9
, var10
);
115 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AExternInitPropdef>*/;
116 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__Object__to_s
]))(var12
) /* to_s on <var12:Location>*/;
122 var18
= string__NativeString__to_s_with_length(var16
, var17
);
126 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
127 { /* var19 = array_instance Array[Object] */
129 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
130 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var3
;
131 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_mpropdef
;
132 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var8
;
133 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var13
;
134 ((struct instance_array__NativeArray
*)var21
)->values
[4] = (val
*) var15
;
135 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
137 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
138 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
142 var25
= "show_backtrace(1);";
144 var27
= string__NativeString__to_s_with_length(var25
, var26
);
148 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var24
) /* add on <var_v:AbstractCompilerVisitor>*/;
152 var28
= ((val
* (*)(val
*))(var_nextern
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nextern
) /* text on <var_nextern:nullable TString(TString)>*/;
154 var30
= ((val
* (*)(val
*))(var_nextern
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nextern
) /* text on <var_nextern:nullable TString(TString)>*/;
155 var31
= ((long (*)(val
*))(var30
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var30
) /* length on <var30:String>*/;
157 { /* Inline kernel#Int#- (var31,var32) */
158 var35
= var31
- var32
;
163 var36
= ((val
* (*)(val
*, long, long))(var28
->class->vft
[COLOR_string__AbstractString__substring
]))(var28
, var29
, var33
) /* substring on <var28:String>*/;
164 var_externname
= var36
;
165 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AExternInitPropdef>*/;
166 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_location__Location__file
]))(var37
) /* file on <var37:Location>*/;
169 var40
= 0; /* is null */
171 var40
= 1; /* arg is null and recv is not */
174 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AExternInitPropdef>*/;
175 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_location__Location__file
]))(var41
) /* file on <var41:Location>*/;
177 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
178 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1755);
181 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_location__SourceFile__filename
]))(var42
) /* filename on <var42:nullable SourceFile>*/;
184 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_extern
]))(var_v
, var_file
) /* add_extern on <var_v:AbstractCompilerVisitor>*/;
187 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__adapt_signature
]))(var_v
, var_mpropdef
, var_arguments
) /* adapt_signature on <var_v:AbstractCompilerVisitor>*/;
188 var44
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
189 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var44
) /* mtype on <var44:nullable Object(RuntimeVariable)>*/;
191 var46
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
193 var47
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Sequence__shift
]))(var_arguments
) /* shift on <var_arguments:Array[RuntimeVariable]>*/;
200 var52
= string__NativeString__to_s_with_length(var50
, var51
);
209 var57
= string__NativeString__to_s_with_length(var55
, var56
);
218 var62
= string__NativeString__to_s_with_length(var60
, var61
);
222 var63
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var59
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
228 var68
= string__NativeString__to_s_with_length(var66
, var67
);
232 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
233 { /* var69 = array_instance Array[Object] */
235 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
236 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var_res
;
237 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var49
;
238 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var_externname
;
239 ((struct instance_array__NativeArray
*)var71
)->values
[3] = (val
*) var54
;
240 ((struct instance_array__NativeArray
*)var71
)->values
[4] = (val
*) var63
;
241 ((struct instance_array__NativeArray
*)var71
)->values
[5] = (val
*) var65
;
242 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
244 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
245 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var72
) /* add on <var_v:AbstractCompilerVisitor>*/;
246 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__ret
]))(var_v
, var_res
) /* ret on <var_v:AbstractCompilerVisitor>*/;
249 /* method abstract_compiler#AExternInitPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
250 void VIRTUAL_abstract_compiler__AExternInitPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
251 abstract_compiler__AExternInitPropdef__compile_to_c(self
, p0
, p1
, p2
);
254 /* method abstract_compiler#AAttrPropdef#compile_to_c for (self: AAttrPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
255 void abstract_compiler__AAttrPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
256 val
* var_v
/* var v: AbstractCompilerVisitor */;
257 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
258 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
259 long var
/* : Int */;
260 long var1
/* : Int */;
261 short int var2
/* : Bool */;
262 short int var4
/* : Bool */;
263 val
* var5
/* : nullable MPropDef */;
264 val
* var6
/* : MProperty */;
265 val
* var7
/* : nullable Object */;
266 val
* var8
/* : RuntimeVariable */;
267 val
* var_res
/* var res: RuntimeVariable */;
268 val
* var9
/* : nullable Frame */;
269 val
* var10
/* : nullable RuntimeVariable */;
270 val
* var11
/* : nullable MPropDef */;
271 val
* var12
/* : MProperty */;
272 val
* var13
/* : nullable Object */;
273 long var14
/* : Int */;
274 val
* var15
/* : nullable Object */;
278 var
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
280 { /* Inline kernel#Int#== (var,var1) */
287 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
289 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
290 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1773);
293 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var5
) /* mproperty on <var5:nullable MPropDef(nullable MAttributeDef)>*/;
295 var7
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
296 var8
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__read_attribute
]))(var_v
, var6
, var7
) /* read_attribute on <var_v:AbstractCompilerVisitor>*/;
298 var9
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
300 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
301 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1774);
304 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var9
) /* returnvar on <var9:nullable Frame>*/;
307 fprintf(stderr
, "Runtime error: %s", "Cast failed");
308 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1774);
311 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var10
, var_res
) /* assign on <var_v:AbstractCompilerVisitor>*/;
313 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
315 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
316 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1776);
319 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var11
) /* mproperty on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
321 var13
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
323 var15
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var14
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
324 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__write_attribute
]))(var_v
, var12
, var13
, var15
) /* write_attribute on <var_v:AbstractCompilerVisitor>*/;
328 /* method abstract_compiler#AAttrPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
329 void VIRTUAL_abstract_compiler__AAttrPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
330 abstract_compiler__AAttrPropdef__compile_to_c(self
, p0
, p1
, p2
);
333 /* method abstract_compiler#AAttrPropdef#init_expr for (self: AAttrPropdef, AbstractCompilerVisitor, RuntimeVariable) */
334 void abstract_compiler__AAttrPropdef__init_expr(val
* self
, val
* p0
, val
* p1
) {
335 val
* var_v
/* var v: AbstractCompilerVisitor */;
336 val
* var_recv
/* var recv: RuntimeVariable */;
337 val
* var
/* : nullable AExpr */;
338 val
* var_nexpr
/* var nexpr: nullable AExpr */;
339 val
* var1
/* : null */;
340 short int var2
/* : Bool */;
341 val
* var3
/* : nullable ANode */;
342 val
* var_oldnode
/* var oldnode: nullable ANode */;
343 val
* var4
/* : nullable Frame */;
344 val
* var_old_frame
/* var old_frame: nullable Frame */;
345 val
* var5
/* : Frame */;
346 val
* var6
/* : nullable MPropDef */;
347 val
* var7
/* : MType */;
348 short int var8
/* : Bool */;
351 const char* var_class_name
;
352 val
* var9
/* : Array[RuntimeVariable] */;
353 long var10
/* : Int */;
354 val
* var_
/* var : Array[RuntimeVariable] */;
355 val
* var_frame
/* var frame: Frame */;
356 val
* var11
/* : nullable MPropDef */;
357 val
* var12
/* : nullable MType */;
358 val
* var13
/* : RuntimeVariable */;
359 val
* var_value
/* var value: RuntimeVariable */;
360 val
* var14
/* : nullable MPropDef */;
361 val
* var15
/* : MProperty */;
364 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(self
) /* n_expr on <self:AAttrPropdef>*/;
367 if (var_nexpr
== NULL
) {
368 var2
= 0; /* is null */
370 var2
= 1; /* arg is null and recv is not */
373 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(var_v
) /* current_node on <var_v:AbstractCompilerVisitor>*/;
375 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, self
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
376 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
377 var_old_frame
= var4
;
378 var5
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
379 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
381 fprintf(stderr
, "Runtime error: %s", "Cast failed");
382 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1787);
385 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_recv
) /* mtype on <var_recv:RuntimeVariable>*/;
386 /* <var7:MType> isa MClassType */
387 cltype
= type_model__MClassType
.color
;
388 idtype
= type_model__MClassType
.id
;
389 if(cltype
>= var7
->type
->table_size
) {
392 var8
= var7
->type
->type_table
[cltype
] == idtype
;
395 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
396 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
397 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1787);
400 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
402 ((void (*)(val
*, long))(var9
->class->vft
[COLOR_array__Array__with_capacity
]))(var9
, var10
) /* with_capacity on <var9:Array[RuntimeVariable]>*/;
404 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
405 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var5
, var_v
, var6
, var7
, var_
) /* init on <var5:Frame>*/;
407 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
408 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
410 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
411 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1789);
414 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var11
) /* static_mtype on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
416 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_nexpr
, var12
) /* expr on <var_v:AbstractCompilerVisitor>*/;
418 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
420 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
421 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1790);
424 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var14
) /* mproperty on <var14:nullable MPropDef(nullable MAttributeDef)>*/;
426 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__write_attribute
]))(var_v
, var15
, var_recv
, var_value
) /* write_attribute on <var_v:AbstractCompilerVisitor>*/;
427 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_old_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
428 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_oldnode
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
433 /* method abstract_compiler#AAttrPropdef#init_expr for (self: Object, AbstractCompilerVisitor, RuntimeVariable) */
434 void VIRTUAL_abstract_compiler__AAttrPropdef__init_expr(val
* self
, val
* p0
, val
* p1
) {
435 abstract_compiler__AAttrPropdef__init_expr(self
, p0
, p1
);
438 /* method abstract_compiler#AAttrPropdef#check_expr for (self: AAttrPropdef, AbstractCompilerVisitor, RuntimeVariable) */
439 void abstract_compiler__AAttrPropdef__check_expr(val
* self
, val
* p0
, val
* p1
) {
440 val
* var_v
/* var v: AbstractCompilerVisitor */;
441 val
* var_recv
/* var recv: RuntimeVariable */;
442 val
* var
/* : nullable AExpr */;
443 val
* var_nexpr
/* var nexpr: nullable AExpr */;
444 val
* var1
/* : null */;
445 short int var2
/* : Bool */;
446 val
* var3
/* : nullable ANode */;
447 val
* var_oldnode
/* var oldnode: nullable ANode */;
448 val
* var4
/* : nullable Frame */;
449 val
* var_old_frame
/* var old_frame: nullable Frame */;
450 val
* var5
/* : Frame */;
451 val
* var6
/* : nullable MPropDef */;
452 val
* var7
/* : MType */;
453 short int var8
/* : Bool */;
456 const char* var_class_name
;
457 val
* var9
/* : Array[RuntimeVariable] */;
458 long var10
/* : Int */;
459 val
* var_
/* var : Array[RuntimeVariable] */;
460 val
* var_frame
/* var frame: Frame */;
461 val
* var11
/* : nullable MPropDef */;
462 val
* var12
/* : MProperty */;
463 val
* var13
/* : RuntimeVariable */;
466 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(self
) /* n_expr on <self:AAttrPropdef>*/;
469 if (var_nexpr
== NULL
) {
470 var2
= 0; /* is null */
472 var2
= 1; /* arg is null and recv is not */
478 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(var_v
) /* current_node on <var_v:AbstractCompilerVisitor>*/;
480 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, self
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
481 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
482 var_old_frame
= var4
;
483 var5
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
484 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
486 fprintf(stderr
, "Runtime error: %s", "Cast failed");
487 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1804);
490 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_recv
) /* mtype on <var_recv:RuntimeVariable>*/;
491 /* <var7:MType> isa MClassType */
492 cltype
= type_model__MClassType
.color
;
493 idtype
= type_model__MClassType
.id
;
494 if(cltype
>= var7
->type
->table_size
) {
497 var8
= var7
->type
->type_table
[cltype
] == idtype
;
500 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
501 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
502 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1804);
505 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
507 ((void (*)(val
*, long))(var9
->class->vft
[COLOR_array__Array__with_capacity
]))(var9
, var10
) /* with_capacity on <var9:Array[RuntimeVariable]>*/;
509 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
510 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var5
, var_v
, var6
, var7
, var_
) /* init on <var5:Frame>*/;
512 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
513 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(self
) /* mpropdef on <self:AAttrPropdef>*/;
515 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
516 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1807);
519 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var11
) /* mproperty on <var11:nullable MPropDef(nullable MAttributeDef)>*/;
521 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__read_attribute
]))(var_v
, var12
, var_recv
) /* read_attribute on <var_v:AbstractCompilerVisitor>*/;
523 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_old_frame
) /* frame= on <var_v:AbstractCompilerVisitor>*/;
524 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(var_v
, var_oldnode
) /* current_node= on <var_v:AbstractCompilerVisitor>*/;
527 /* method abstract_compiler#AAttrPropdef#check_expr for (self: Object, AbstractCompilerVisitor, RuntimeVariable) */
528 void VIRTUAL_abstract_compiler__AAttrPropdef__check_expr(val
* self
, val
* p0
, val
* p1
) {
529 abstract_compiler__AAttrPropdef__check_expr(self
, p0
, p1
);
532 /* method abstract_compiler#AClassdef#compile_to_c for (self: AClassdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
533 void abstract_compiler__AClassdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
534 val
* var_v
/* var v: AbstractCompilerVisitor */;
535 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
536 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
537 val
* var
/* : nullable MMethodDef */;
538 short int var1
/* : Bool */;
539 val
* var2
/* : nullable Collection[MMethod] */;
540 val
* var_super_inits
/* var super_inits: nullable Collection[MMethod] */;
541 val
* var3
/* : null */;
542 short int var4
/* : Bool */;
543 long var5
/* : Int */;
544 long var6
/* : Int */;
545 short int var7
/* : Bool */;
546 short int var9
/* : Bool */;
547 val
* var10
/* : Iterator[nullable Object] */;
548 short int var11
/* : Bool */;
549 val
* var12
/* : nullable Object */;
550 val
* var_su
/* var su: MMethod */;
551 val
* var13
/* : nullable RuntimeVariable */;
552 val
* var14
/* : nullable Object */;
553 val
* var_recv
/* var recv: RuntimeVariable */;
554 long var15
/* : Int */;
555 long var_i
/* var i: Int */;
556 val
* var16
/* : ANodes[APropdef] */;
557 val
* var17
/* : Iterator[nullable Object] */;
558 short int var18
/* : Bool */;
559 val
* var19
/* : nullable Object */;
560 val
* var_npropdef
/* var npropdef: APropdef */;
561 short int var20
/* : Bool */;
562 short int var21
/* : Bool */;
565 short int var_
/* var : Bool */;
566 val
* var22
/* : nullable AExpr */;
567 val
* var23
/* : null */;
568 short int var24
/* : Bool */;
569 val
* var25
/* : nullable MPropDef */;
570 val
* var26
/* : MProperty */;
571 val
* var27
/* : nullable Object */;
572 long var28
/* : Int */;
573 long var29
/* : Int */;
574 long var31
/* : Int */;
578 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AClassdef__mfree_init
]))(self
) /* mfree_init on <self:AClassdef>*/;
579 var1
= ((short int (*)(val
*, val
*))(var_mpropdef
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_mpropdef
, var
) /* == on <var_mpropdef:MMethodDef>*/;
581 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelize_property__AClassdef__super_inits
]))(self
) /* super_inits on <self:AClassdef>*/;
582 var_super_inits
= var2
;
584 if (var_super_inits
== NULL
) {
585 var4
= 0; /* is null */
587 var4
= 1; /* arg is null and recv is not */
590 var5
= ((long (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_arguments
) /* length on <var_arguments:Array[RuntimeVariable]>*/;
592 { /* Inline kernel#Int#== (var5,var6) */
599 fprintf(stderr
, "Runtime error: %s", "Assert failed");
600 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1819);
603 var10
= ((val
* (*)(val
*))(var_super_inits
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_super_inits
) /* iterator on <var_super_inits:nullable Collection[MMethod](Collection[MMethod])>*/;
605 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
607 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
609 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_su
, var_arguments
) /* send on <var_v:AbstractCompilerVisitor>*/;
611 CONTINUE_label
: (void)0;
612 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
614 BREAK_label
: (void)0;
618 var14
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
622 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(self
) /* n_propdefs on <self:AClassdef>*/;
623 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:ANodes[APropdef]>*/;
625 var18
= ((short int (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var17
) /* is_ok on <var17:Iterator[nullable Object]>*/;
627 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var17
) /* item on <var17:Iterator[nullable Object]>*/;
628 var_npropdef
= var19
;
629 /* <var_npropdef:APropdef> isa AAttrPropdef */
630 cltype
= type_parser_nodes__AAttrPropdef
.color
;
631 idtype
= type_parser_nodes__AAttrPropdef
.id
;
632 if(cltype
>= var_npropdef
->type
->table_size
) {
635 var21
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
639 var22
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_parser_nodes__AAttrPropdef__n_expr
]))(var_npropdef
) /* n_expr on <var_npropdef:APropdef(AAttrPropdef)>*/;
642 var24
= 1; /* is null */
644 var24
= 0; /* arg is null but recv is not */
651 var25
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_npropdef
) /* mpropdef on <var_npropdef:APropdef(AAttrPropdef)>*/;
653 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
654 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1830);
657 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var25
) /* mproperty on <var25:nullable MPropDef(nullable MAttributeDef)>*/;
659 var27
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var_i
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
660 ((void (*)(val
*, val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__write_attribute
]))(var_v
, var26
, var_recv
, var27
) /* write_attribute on <var_v:AbstractCompilerVisitor>*/;
662 { /* Inline kernel#Int#+ (var_i,var28) */
663 var31
= var_i
+ var28
;
671 CONTINUE_label32
: (void)0;
672 ((void (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var17
) /* next on <var17:Iterator[nullable Object]>*/;
674 BREAK_label32
: (void)0;
676 fprintf(stderr
, "Runtime error: %s", "Aborted");
677 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1835);
682 /* method abstract_compiler#AClassdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
683 void VIRTUAL_abstract_compiler__AClassdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
684 abstract_compiler__AClassdef__compile_to_c(self
, p0
, p1
, p2
);
687 /* method abstract_compiler#ADeferredMethPropdef#compile_to_c for (self: ADeferredMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
688 void abstract_compiler__ADeferredMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
689 val
* var_v
/* var v: AbstractCompilerVisitor */;
690 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
691 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
692 val
* var
/* : nullable Object */;
693 val
* var1
/* : String */;
694 val
* var_cn
/* var cn: String */;
696 val
* var2
/* : String */;
697 char* var3
/* : NativeString */;
698 long var4
/* : Int */;
699 val
* var5
/* : String */;
700 val
* var6
/* : MProperty */;
701 val
* var7
/* : String */;
702 val
* var8
/* : String */;
703 static val
* varonce9
;
704 val
* var10
/* : String */;
705 char* var11
/* : NativeString */;
706 long var12
/* : Int */;
707 val
* var13
/* : String */;
708 static val
* varonce14
;
709 val
* var15
/* : String */;
710 char* var16
/* : NativeString */;
711 long var17
/* : Int */;
712 val
* var18
/* : String */;
713 val
* var19
/* : Array[Object] */;
714 long var20
/* : Int */;
715 val
* var21
/* : NativeArray[Object] */;
716 val
* var22
/* : String */;
720 var
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
721 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(var_v
, var
) /* class_name_string on <var_v:AbstractCompilerVisitor>*/;
726 var3
= "fprintf(stderr, \"Runtime error: Abstract method `%s` called on `%s`\", \"";
728 var5
= string__NativeString__to_s_with_length(var3
, var4
);
732 var6
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mpropdef
) /* mproperty on <var_mpropdef:MMethodDef>*/;
733 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MProperty__name
]))(var6
) /* name on <var6:MProperty(MMethod)>*/;
734 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var7
) /* escape_to_c on <var7:String>*/;
740 var13
= string__NativeString__to_s_with_length(var11
, var12
);
749 var18
= string__NativeString__to_s_with_length(var16
, var17
);
753 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
754 { /* var19 = array_instance Array[Object] */
756 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
757 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var2
;
758 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var8
;
759 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var10
;
760 ((struct instance_array__NativeArray
*)var21
)->values
[3] = (val
*) var_cn
;
761 ((struct instance_array__NativeArray
*)var21
)->values
[4] = (val
*) var15
;
762 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
764 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
765 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
766 ((void (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort
]))(var_v
) /* add_raw_abort on <var_v:AbstractCompilerVisitor>*/;
769 /* method abstract_compiler#ADeferredMethPropdef#compile_to_c for (self: Object, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
770 void VIRTUAL_abstract_compiler__ADeferredMethPropdef__compile_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
771 abstract_compiler__ADeferredMethPropdef__compile_to_c(self
, p0
, p1
, p2
);
774 /* method abstract_compiler#ADeferredMethPropdef#can_inline for (self: ADeferredMethPropdef): Bool */
775 short int abstract_compiler__ADeferredMethPropdef__can_inline(val
* self
) {
776 short int var
/* : Bool */;
777 short int var1
/* : Bool */;
784 /* method abstract_compiler#ADeferredMethPropdef#can_inline for (self: Object): Bool */
785 short int VIRTUAL_abstract_compiler__ADeferredMethPropdef__can_inline(val
* self
) {
786 short int var
/* : Bool */;
787 short int var1
/* : Bool */;
788 var1
= abstract_compiler__ADeferredMethPropdef__can_inline(self
);
793 /* method abstract_compiler#AExpr#expr for (self: AExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
794 val
* abstract_compiler__AExpr__expr(val
* self
, val
* p0
) {
795 val
* var
/* : nullable RuntimeVariable */;
796 val
* var_v
/* var v: AbstractCompilerVisitor */;
798 val
* var1
/* : String */;
799 char* var2
/* : NativeString */;
800 long var3
/* : Int */;
801 val
* var4
/* : String */;
802 val
* var5
/* : String */;
803 static val
* varonce6
;
804 val
* var7
/* : String */;
805 char* var8
/* : NativeString */;
806 long var9
/* : Int */;
807 val
* var10
/* : String */;
808 val
* var11
/* : Location */;
809 val
* var12
/* : String */;
810 static val
* varonce13
;
811 val
* var14
/* : String */;
812 char* var15
/* : NativeString */;
813 long var16
/* : Int */;
814 val
* var17
/* : String */;
815 val
* var18
/* : Array[Object] */;
816 long var19
/* : Int */;
817 val
* var20
/* : NativeArray[Object] */;
818 val
* var21
/* : String */;
819 val
* var22
/* : nullable MType */;
820 val
* var_mtype
/* var mtype: nullable MType */;
821 val
* var23
/* : null */;
822 short int var24
/* : Bool */;
823 val
* var25
/* : null */;
824 val
* var26
/* : RuntimeVariable */;
825 val
* var_res
/* var res: RuntimeVariable */;
826 static val
* varonce27
;
827 val
* var28
/* : String */;
828 char* var29
/* : NativeString */;
829 long var30
/* : Int */;
830 val
* var31
/* : String */;
831 static val
* varonce32
;
832 val
* var33
/* : String */;
833 char* var34
/* : NativeString */;
834 long var35
/* : Int */;
835 val
* var36
/* : String */;
836 val
* var37
/* : String */;
837 static val
* varonce38
;
838 val
* var39
/* : String */;
839 char* var40
/* : NativeString */;
840 long var41
/* : Int */;
841 val
* var42
/* : String */;
842 val
* var43
/* : Array[Object] */;
843 long var44
/* : Int */;
844 val
* var45
/* : NativeArray[Object] */;
845 val
* var46
/* : String */;
850 var2
= "printf(\"NOT YET IMPLEMENTED ";
852 var4
= string__NativeString__to_s_with_length(var2
, var3
);
856 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:AExpr>*/;
862 var10
= string__NativeString__to_s_with_length(var8
, var9
);
866 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__location
]))(self
) /* location on <self:AExpr>*/;
867 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Location>*/;
873 var17
= string__NativeString__to_s_with_length(var15
, var16
);
877 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
878 { /* var18 = array_instance Array[Object] */
880 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
881 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var1
;
882 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var5
;
883 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var7
;
884 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var12
;
885 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var14
;
886 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
888 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
889 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var21
) /* add on <var_v:AbstractCompilerVisitor>*/;
890 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AExpr>*/;
893 if (var_mtype
== NULL
) {
894 var24
= 1; /* is null */
896 var24
= 0; /* arg is null but recv is not */
903 var26
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_mtype
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
910 var31
= string__NativeString__to_s_with_length(var29
, var30
);
917 var34
= " = NOT YET ";
919 var36
= string__NativeString__to_s_with_length(var34
, var35
);
923 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:AExpr>*/;
929 var42
= string__NativeString__to_s_with_length(var40
, var41
);
933 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
934 { /* var43 = array_instance Array[Object] */
936 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
937 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var28
;
938 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var_res
;
939 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var33
;
940 ((struct instance_array__NativeArray
*)var45
)->values
[3] = (val
*) var37
;
941 ((struct instance_array__NativeArray
*)var45
)->values
[4] = (val
*) var39
;
942 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
944 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
945 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var46
) /* add on <var_v:AbstractCompilerVisitor>*/;
952 /* method abstract_compiler#AExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
953 val
* VIRTUAL_abstract_compiler__AExpr__expr(val
* self
, val
* p0
) {
954 val
* var
/* : nullable RuntimeVariable */;
955 val
* var1
/* : nullable RuntimeVariable */;
956 var1
= abstract_compiler__AExpr__expr(self
, p0
);
961 /* method abstract_compiler#AExpr#stmt for (self: AExpr, AbstractCompilerVisitor) */
962 void abstract_compiler__AExpr__stmt(val
* self
, val
* p0
) {
963 val
* var_v
/* var v: AbstractCompilerVisitor */;
964 val
* var
/* : nullable RuntimeVariable */;
965 val
* var_res
/* var res: nullable RuntimeVariable */;
966 val
* var1
/* : null */;
967 short int var2
/* : Bool */;
969 val
* var3
/* : String */;
970 char* var4
/* : NativeString */;
971 long var5
/* : Int */;
972 val
* var6
/* : String */;
973 val
* var7
/* : Array[Object] */;
974 long var8
/* : Int */;
975 val
* var9
/* : NativeArray[Object] */;
976 val
* var10
/* : String */;
978 var
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AExpr__expr
]))(self
, var_v
) /* expr on <self:AExpr>*/;
981 if (var_res
== NULL
) {
982 var2
= 0; /* is null */
984 var2
= 1; /* arg is null and recv is not */
992 var6
= string__NativeString__to_s_with_length(var4
, var5
);
996 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
997 { /* var7 = array_instance Array[Object] */
999 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
1000 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var_res
;
1001 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var3
;
1002 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
1004 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
1005 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var10
) /* add on <var_v:AbstractCompilerVisitor>*/;
1010 /* method abstract_compiler#AExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1011 void VIRTUAL_abstract_compiler__AExpr__stmt(val
* self
, val
* p0
) {
1012 abstract_compiler__AExpr__stmt(self
, p0
);
1015 /* method abstract_compiler#ABlockExpr#stmt for (self: ABlockExpr, AbstractCompilerVisitor) */
1016 void abstract_compiler__ABlockExpr__stmt(val
* self
, val
* p0
) {
1017 val
* var_v
/* var v: AbstractCompilerVisitor */;
1018 val
* var
/* : ANodes[AExpr] */;
1019 val
* var1
/* : Iterator[nullable Object] */;
1020 short int var2
/* : Bool */;
1021 val
* var3
/* : nullable Object */;
1022 val
* var_e
/* var e: AExpr */;
1024 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(self
) /* n_expr on <self:ABlockExpr>*/;
1025 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:ANodes[AExpr]>*/;
1027 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
1029 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
1031 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var_e
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1032 CONTINUE_label
: (void)0;
1033 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
1035 BREAK_label
: (void)0;
1038 /* method abstract_compiler#ABlockExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1039 void VIRTUAL_abstract_compiler__ABlockExpr__stmt(val
* self
, val
* p0
) {
1040 abstract_compiler__ABlockExpr__stmt(self
, p0
);
1043 /* method abstract_compiler#ABlockExpr#expr for (self: ABlockExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1044 val
* abstract_compiler__ABlockExpr__expr(val
* self
, val
* p0
) {
1045 val
* var
/* : nullable RuntimeVariable */;
1046 val
* var_v
/* var v: AbstractCompilerVisitor */;
1047 val
* var1
/* : ANodes[AExpr] */;
1048 val
* var2
/* : nullable Object */;
1049 val
* var_last
/* var last: AExpr */;
1050 val
* var3
/* : ANodes[AExpr] */;
1051 val
* var4
/* : Iterator[nullable Object] */;
1052 short int var5
/* : Bool */;
1053 val
* var6
/* : nullable Object */;
1054 val
* var_e
/* var e: AExpr */;
1055 short int var7
/* : Bool */;
1056 val
* var8
/* : null */;
1057 val
* var9
/* : RuntimeVariable */;
1059 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(self
) /* n_expr on <self:ABlockExpr>*/;
1060 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:ANodes[AExpr]>*/;
1062 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ABlockExpr__n_expr
]))(self
) /* n_expr on <self:ABlockExpr>*/;
1063 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:ANodes[AExpr]>*/;
1065 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1067 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
1069 var7
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_e
, var_last
) /* == on <var_e:AExpr>*/;
1074 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var_e
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1075 CONTINUE_label
: (void)0;
1076 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
1078 BREAK_label
: (void)0;
1080 var9
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_last
, var8
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1086 /* method abstract_compiler#ABlockExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1087 val
* VIRTUAL_abstract_compiler__ABlockExpr__expr(val
* self
, val
* p0
) {
1088 val
* var
/* : nullable RuntimeVariable */;
1089 val
* var1
/* : nullable RuntimeVariable */;
1090 var1
= abstract_compiler__ABlockExpr__expr(self
, p0
);
1095 /* method abstract_compiler#AVardeclExpr#stmt for (self: AVardeclExpr, AbstractCompilerVisitor) */
1096 void abstract_compiler__AVardeclExpr__stmt(val
* self
, val
* p0
) {
1097 val
* var_v
/* var v: AbstractCompilerVisitor */;
1098 val
* var
/* : nullable Variable */;
1099 val
* var_variable
/* var variable: Variable */;
1100 val
* var1
/* : nullable AExpr */;
1101 val
* var_ne
/* var ne: nullable AExpr */;
1102 val
* var2
/* : null */;
1103 short int var3
/* : Bool */;
1104 val
* var4
/* : nullable MType */;
1105 val
* var5
/* : RuntimeVariable */;
1106 val
* var_i
/* var i: RuntimeVariable */;
1107 val
* var6
/* : RuntimeVariable */;
1109 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVardeclExpr__variable
]))(self
) /* variable on <self:AVardeclExpr>*/;
1111 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1112 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1893);
1116 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AVardeclExpr__n_expr
]))(self
) /* n_expr on <self:AVardeclExpr>*/;
1119 if (var_ne
== NULL
) {
1120 var3
= 0; /* is null */
1122 var3
= 1; /* arg is null and recv is not */
1125 var4
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
1126 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_ne
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1128 var6
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1129 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var6
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1134 /* method abstract_compiler#AVardeclExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1135 void VIRTUAL_abstract_compiler__AVardeclExpr__stmt(val
* self
, val
* p0
) {
1136 abstract_compiler__AVardeclExpr__stmt(self
, p0
);
1139 /* method abstract_compiler#AVarExpr#expr for (self: AVarExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1140 val
* abstract_compiler__AVarExpr__expr(val
* self
, val
* p0
) {
1141 val
* var
/* : nullable RuntimeVariable */;
1142 val
* var_v
/* var v: AbstractCompilerVisitor */;
1143 val
* var1
/* : nullable Variable */;
1144 val
* var2
/* : RuntimeVariable */;
1145 val
* var_res
/* var res: RuntimeVariable */;
1146 val
* var3
/* : nullable MType */;
1147 val
* var_mtype
/* var mtype: MType */;
1148 val
* var4
/* : RuntimeVariable */;
1150 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarExpr>*/;
1152 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1153 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1905);
1156 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var1
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1158 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AVarExpr>*/;
1160 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1161 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1906);
1165 var4
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt
]))(var_v
, var_res
, var_mtype
) /* autoadapt on <var_v:AbstractCompilerVisitor>*/;
1171 /* method abstract_compiler#AVarExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1172 val
* VIRTUAL_abstract_compiler__AVarExpr__expr(val
* self
, val
* p0
) {
1173 val
* var
/* : nullable RuntimeVariable */;
1174 val
* var1
/* : nullable RuntimeVariable */;
1175 var1
= abstract_compiler__AVarExpr__expr(self
, p0
);
1180 /* method abstract_compiler#AVarAssignExpr#stmt for (self: AVarAssignExpr, AbstractCompilerVisitor) */
1181 void abstract_compiler__AVarAssignExpr__stmt(val
* self
, val
* p0
) {
1182 val
* var_v
/* var v: AbstractCompilerVisitor */;
1183 val
* var
/* : nullable Variable */;
1184 val
* var_variable
/* var variable: Variable */;
1185 val
* var1
/* : AExpr */;
1186 val
* var2
/* : nullable MType */;
1187 val
* var3
/* : RuntimeVariable */;
1188 val
* var_i
/* var i: RuntimeVariable */;
1189 val
* var4
/* : RuntimeVariable */;
1191 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarAssignExpr>*/;
1193 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1194 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1914);
1198 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AVarAssignExpr>*/;
1199 var2
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
1200 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1202 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1203 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var4
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1206 /* method abstract_compiler#AVarAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1207 void VIRTUAL_abstract_compiler__AVarAssignExpr__stmt(val
* self
, val
* p0
) {
1208 abstract_compiler__AVarAssignExpr__stmt(self
, p0
);
1211 /* method abstract_compiler#AVarAssignExpr#expr for (self: AVarAssignExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1212 val
* abstract_compiler__AVarAssignExpr__expr(val
* self
, val
* p0
) {
1213 val
* var
/* : nullable RuntimeVariable */;
1214 val
* var_v
/* var v: AbstractCompilerVisitor */;
1215 val
* var1
/* : nullable Variable */;
1216 val
* var_variable
/* var variable: Variable */;
1217 val
* var2
/* : AExpr */;
1218 val
* var3
/* : nullable MType */;
1219 val
* var4
/* : RuntimeVariable */;
1220 val
* var_i
/* var i: RuntimeVariable */;
1221 val
* var5
/* : RuntimeVariable */;
1223 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarAssignExpr>*/;
1225 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1226 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1920);
1229 var_variable
= var1
;
1230 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AVarAssignExpr>*/;
1231 var3
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
1232 var4
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var2
, var3
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1234 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1235 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var5
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1241 /* method abstract_compiler#AVarAssignExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1242 val
* VIRTUAL_abstract_compiler__AVarAssignExpr__expr(val
* self
, val
* p0
) {
1243 val
* var
/* : nullable RuntimeVariable */;
1244 val
* var1
/* : nullable RuntimeVariable */;
1245 var1
= abstract_compiler__AVarAssignExpr__expr(self
, p0
);
1250 /* method abstract_compiler#AVarReassignExpr#stmt for (self: AVarReassignExpr, AbstractCompilerVisitor) */
1251 void abstract_compiler__AVarReassignExpr__stmt(val
* self
, val
* p0
) {
1252 val
* var_v
/* var v: AbstractCompilerVisitor */;
1253 val
* var
/* : nullable Variable */;
1254 val
* var_variable
/* var variable: Variable */;
1255 val
* var1
/* : RuntimeVariable */;
1256 val
* var_vari
/* var vari: RuntimeVariable */;
1257 val
* var2
/* : AExpr */;
1258 val
* var3
/* : nullable MType */;
1259 val
* var4
/* : RuntimeVariable */;
1260 val
* var_value
/* var value: RuntimeVariable */;
1261 val
* var5
/* : nullable CallSite */;
1262 val
* var6
/* : Array[RuntimeVariable] */;
1263 long var7
/* : Int */;
1264 val
* var8
/* : NativeArray[RuntimeVariable] */;
1265 val
* var9
/* : nullable RuntimeVariable */;
1266 val
* var_res
/* var res: nullable RuntimeVariable */;
1267 val
* var10
/* : null */;
1268 short int var11
/* : Bool */;
1269 val
* var12
/* : RuntimeVariable */;
1271 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AVarFormExpr__variable
]))(self
) /* variable on <self:AVarReassignExpr>*/;
1273 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1274 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1930);
1278 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1280 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AVarReassignExpr>*/;
1281 var3
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
1282 var4
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var2
, var3
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1284 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AVarReassignExpr>*/;
1286 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1287 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1933);
1290 var6
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1291 { /* var6 = array_instance Array[RuntimeVariable] */
1293 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1294 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var_vari
;
1295 ((struct instance_array__NativeArray
*)var8
)->values
[1] = (val
*) var_value
;
1296 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[RuntimeVariable]>*/;
1298 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>*/;
1301 if (var_res
== NULL
) {
1302 var11
= 0; /* is null */
1304 var11
= 1; /* arg is null and recv is not */
1307 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1308 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1934);
1311 var12
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var_variable
) /* variable on <var_v:AbstractCompilerVisitor>*/;
1312 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var12
, var_res
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1315 /* method abstract_compiler#AVarReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1316 void VIRTUAL_abstract_compiler__AVarReassignExpr__stmt(val
* self
, val
* p0
) {
1317 abstract_compiler__AVarReassignExpr__stmt(self
, p0
);
1320 /* method abstract_compiler#ASelfExpr#expr for (self: ASelfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1321 val
* abstract_compiler__ASelfExpr__expr(val
* self
, val
* p0
) {
1322 val
* var
/* : nullable RuntimeVariable */;
1323 val
* var_v
/* var v: AbstractCompilerVisitor */;
1324 val
* var1
/* : nullable Frame */;
1325 val
* var2
/* : Array[RuntimeVariable] */;
1326 val
* var3
/* : nullable Object */;
1328 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
1330 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1331 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1940);
1334 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var1
) /* arguments on <var1:nullable Frame>*/;
1336 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[RuntimeVariable]>*/;
1342 /* method abstract_compiler#ASelfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1343 val
* VIRTUAL_abstract_compiler__ASelfExpr__expr(val
* self
, val
* p0
) {
1344 val
* var
/* : nullable RuntimeVariable */;
1345 val
* var1
/* : nullable RuntimeVariable */;
1346 var1
= abstract_compiler__ASelfExpr__expr(self
, p0
);
1351 /* method abstract_compiler#AContinueExpr#stmt for (self: AContinueExpr, AbstractCompilerVisitor) */
1352 void abstract_compiler__AContinueExpr__stmt(val
* self
, val
* p0
) {
1353 val
* var_v
/* var v: AbstractCompilerVisitor */;
1354 static val
* varonce
;
1355 val
* var
/* : String */;
1356 char* var1
/* : NativeString */;
1357 long var2
/* : Int */;
1358 val
* var3
/* : String */;
1359 val
* var4
/* : nullable EscapeMark */;
1360 val
* var5
/* : String */;
1361 static val
* varonce6
;
1362 val
* var7
/* : String */;
1363 char* var8
/* : NativeString */;
1364 long var9
/* : Int */;
1365 val
* var10
/* : String */;
1366 val
* var11
/* : Array[Object] */;
1367 long var12
/* : Int */;
1368 val
* var13
/* : NativeArray[Object] */;
1369 val
* var14
/* : String */;
1374 var1
= "goto CONTINUE_";
1376 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1380 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AContinueExpr__escapemark
]))(self
) /* escapemark on <self:AContinueExpr>*/;
1381 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var4
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1387 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1391 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1392 { /* var11 = array_instance Array[Object] */
1394 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
1395 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var
;
1396 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var5
;
1397 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
1398 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
1400 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
1401 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
1404 /* method abstract_compiler#AContinueExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1405 void VIRTUAL_abstract_compiler__AContinueExpr__stmt(val
* self
, val
* p0
) {
1406 abstract_compiler__AContinueExpr__stmt(self
, p0
);
1409 /* method abstract_compiler#ABreakExpr#stmt for (self: ABreakExpr, AbstractCompilerVisitor) */
1410 void abstract_compiler__ABreakExpr__stmt(val
* self
, val
* p0
) {
1411 val
* var_v
/* var v: AbstractCompilerVisitor */;
1412 static val
* varonce
;
1413 val
* var
/* : String */;
1414 char* var1
/* : NativeString */;
1415 long var2
/* : Int */;
1416 val
* var3
/* : String */;
1417 val
* var4
/* : nullable EscapeMark */;
1418 val
* var5
/* : String */;
1419 static val
* varonce6
;
1420 val
* var7
/* : String */;
1421 char* var8
/* : NativeString */;
1422 long var9
/* : Int */;
1423 val
* var10
/* : String */;
1424 val
* var11
/* : Array[Object] */;
1425 long var12
/* : Int */;
1426 val
* var13
/* : NativeArray[Object] */;
1427 val
* var14
/* : String */;
1432 var1
= "goto BREAK_";
1434 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1438 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ABreakExpr__escapemark
]))(self
) /* escapemark on <self:ABreakExpr>*/;
1439 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var4
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
1445 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1449 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1450 { /* var11 = array_instance Array[Object] */
1452 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
1453 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var
;
1454 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var5
;
1455 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
1456 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
1458 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
1459 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
1462 /* method abstract_compiler#ABreakExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1463 void VIRTUAL_abstract_compiler__ABreakExpr__stmt(val
* self
, val
* p0
) {
1464 abstract_compiler__ABreakExpr__stmt(self
, p0
);
1467 /* method abstract_compiler#AReturnExpr#stmt for (self: AReturnExpr, AbstractCompilerVisitor) */
1468 void abstract_compiler__AReturnExpr__stmt(val
* self
, val
* p0
) {
1469 val
* var_v
/* var v: AbstractCompilerVisitor */;
1470 val
* var
/* : nullable AExpr */;
1471 val
* var_nexpr
/* var nexpr: nullable AExpr */;
1472 val
* var1
/* : null */;
1473 short int var2
/* : Bool */;
1474 val
* var3
/* : nullable Frame */;
1475 val
* var4
/* : nullable RuntimeVariable */;
1476 val
* var_returnvar
/* var returnvar: RuntimeVariable */;
1477 val
* var5
/* : MType */;
1478 val
* var6
/* : RuntimeVariable */;
1479 val
* var_i
/* var i: RuntimeVariable */;
1480 static val
* varonce
;
1481 val
* var7
/* : String */;
1482 char* var8
/* : NativeString */;
1483 long var9
/* : Int */;
1484 val
* var10
/* : String */;
1485 val
* var11
/* : nullable Frame */;
1486 val
* var12
/* : nullable String */;
1487 static val
* varonce13
;
1488 val
* var14
/* : String */;
1489 char* var15
/* : NativeString */;
1490 long var16
/* : Int */;
1491 val
* var17
/* : String */;
1492 val
* var18
/* : Array[Object] */;
1493 long var19
/* : Int */;
1494 val
* var20
/* : NativeArray[Object] */;
1495 val
* var21
/* : String */;
1497 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReturnExpr__n_expr
]))(self
) /* n_expr on <self:AReturnExpr>*/;
1500 if (var_nexpr
== NULL
) {
1501 var2
= 0; /* is null */
1503 var2
= 1; /* arg is null and recv is not */
1506 var3
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
1508 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1509 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1956);
1512 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var3
) /* returnvar on <var3:nullable Frame>*/;
1515 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1516 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1956);
1519 var_returnvar
= var4
;
1520 var5
= ((val
* (*)(val
*))(var_returnvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_returnvar
) /* mtype on <var_returnvar:RuntimeVariable>*/;
1521 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_nexpr
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1523 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_returnvar
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1531 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1535 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
1536 if (var11
== NULL
) {
1537 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1538 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1960);
1541 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var11
) /* returnlabel on <var11:nullable Frame>*/;
1543 if (var12
== NULL
) {
1544 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1545 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1960);
1553 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1557 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
1558 { /* var18 = array_instance Array[Object] */
1560 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
1561 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var7
;
1562 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var12
;
1563 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var14
;
1564 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
1566 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
1567 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var21
) /* add on <var_v:AbstractCompilerVisitor>*/;
1570 /* method abstract_compiler#AReturnExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1571 void VIRTUAL_abstract_compiler__AReturnExpr__stmt(val
* self
, val
* p0
) {
1572 abstract_compiler__AReturnExpr__stmt(self
, p0
);
1575 /* method abstract_compiler#AAbortExpr#stmt for (self: AAbortExpr, AbstractCompilerVisitor) */
1576 void abstract_compiler__AAbortExpr__stmt(val
* self
, val
* p0
) {
1577 val
* var_v
/* var v: AbstractCompilerVisitor */;
1578 static val
* varonce
;
1579 val
* var
/* : String */;
1580 char* var1
/* : NativeString */;
1581 long var2
/* : Int */;
1582 val
* var3
/* : String */;
1589 var3
= string__NativeString__to_s_with_length(var1
, var2
);
1593 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
1596 /* method abstract_compiler#AAbortExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1597 void VIRTUAL_abstract_compiler__AAbortExpr__stmt(val
* self
, val
* p0
) {
1598 abstract_compiler__AAbortExpr__stmt(self
, p0
);
1601 /* method abstract_compiler#AIfExpr#stmt for (self: AIfExpr, AbstractCompilerVisitor) */
1602 void abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
1603 val
* var_v
/* var v: AbstractCompilerVisitor */;
1604 val
* var
/* : AExpr */;
1605 val
* var1
/* : RuntimeVariable */;
1606 val
* var_cond
/* var cond: RuntimeVariable */;
1607 static val
* varonce
;
1608 val
* var2
/* : String */;
1609 char* var3
/* : NativeString */;
1610 long var4
/* : Int */;
1611 val
* var5
/* : String */;
1612 static val
* varonce6
;
1613 val
* var7
/* : String */;
1614 char* var8
/* : NativeString */;
1615 long var9
/* : Int */;
1616 val
* var10
/* : String */;
1617 val
* var11
/* : Array[Object] */;
1618 long var12
/* : Int */;
1619 val
* var13
/* : NativeArray[Object] */;
1620 val
* var14
/* : String */;
1621 val
* var15
/* : nullable AExpr */;
1622 static val
* varonce16
;
1623 val
* var17
/* : String */;
1624 char* var18
/* : NativeString */;
1625 long var19
/* : Int */;
1626 val
* var20
/* : String */;
1627 val
* var21
/* : nullable AExpr */;
1628 static val
* varonce22
;
1629 val
* var23
/* : String */;
1630 char* var24
/* : NativeString */;
1631 long var25
/* : Int */;
1632 val
* var26
/* : String */;
1634 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
1635 var1
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1642 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1651 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1655 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1656 { /* var11 = array_instance Array[Object] */
1658 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
1659 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var2
;
1660 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var_cond
;
1661 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
1662 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
1664 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
1665 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var14
) /* add on <var_v:AbstractCompilerVisitor>*/;
1666 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
1667 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var15
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1673 var20
= string__NativeString__to_s_with_length(var18
, var19
);
1677 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
1678 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
1679 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1685 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1689 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var23
) /* add on <var_v:AbstractCompilerVisitor>*/;
1692 /* method abstract_compiler#AIfExpr#stmt for (self: Object, AbstractCompilerVisitor) */
1693 void VIRTUAL_abstract_compiler__AIfExpr__stmt(val
* self
, val
* p0
) {
1694 abstract_compiler__AIfExpr__stmt(self
, p0
);
1697 /* method abstract_compiler#AIfExpr#expr for (self: AIfExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1698 val
* abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
1699 val
* var
/* : nullable RuntimeVariable */;
1700 val
* var_v
/* var v: AbstractCompilerVisitor */;
1701 val
* var1
/* : nullable MType */;
1702 val
* var2
/* : RuntimeVariable */;
1703 val
* var_res
/* var res: RuntimeVariable */;
1704 val
* var3
/* : AExpr */;
1705 val
* var4
/* : RuntimeVariable */;
1706 val
* var_cond
/* var cond: RuntimeVariable */;
1707 static val
* varonce
;
1708 val
* var5
/* : String */;
1709 char* var6
/* : NativeString */;
1710 long var7
/* : Int */;
1711 val
* var8
/* : String */;
1712 static val
* varonce9
;
1713 val
* var10
/* : String */;
1714 char* var11
/* : NativeString */;
1715 long var12
/* : Int */;
1716 val
* var13
/* : String */;
1717 val
* var14
/* : Array[Object] */;
1718 long var15
/* : Int */;
1719 val
* var16
/* : NativeArray[Object] */;
1720 val
* var17
/* : String */;
1721 val
* var18
/* : nullable AExpr */;
1722 val
* var19
/* : null */;
1723 val
* var20
/* : RuntimeVariable */;
1724 static val
* varonce21
;
1725 val
* var22
/* : String */;
1726 char* var23
/* : NativeString */;
1727 long var24
/* : Int */;
1728 val
* var25
/* : String */;
1729 val
* var26
/* : nullable AExpr */;
1730 val
* var27
/* : null */;
1731 val
* var28
/* : RuntimeVariable */;
1732 static val
* varonce29
;
1733 val
* var30
/* : String */;
1734 char* var31
/* : NativeString */;
1735 long var32
/* : Int */;
1736 val
* var33
/* : String */;
1738 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfExpr>*/;
1740 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1741 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1981);
1744 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
1746 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_expr
]))(self
) /* n_expr on <self:AIfExpr>*/;
1747 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1754 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1763 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1767 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
1768 { /* var14 = array_instance Array[Object] */
1770 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
1771 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
1772 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
1773 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
1774 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
1776 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
1777 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
1778 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_then
]))(self
) /* n_then on <self:AIfExpr>*/;
1779 if (var18
== NULL
) {
1780 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1781 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1984);
1785 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1786 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1792 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1796 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
1797 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfExpr__n_else
]))(self
) /* n_else on <self:AIfExpr>*/;
1798 if (var26
== NULL
) {
1799 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1800 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1986);
1804 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1805 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1811 var33
= string__NativeString__to_s_with_length(var31
, var32
);
1815 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
1821 /* method abstract_compiler#AIfExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1822 val
* VIRTUAL_abstract_compiler__AIfExpr__expr(val
* self
, val
* p0
) {
1823 val
* var
/* : nullable RuntimeVariable */;
1824 val
* var1
/* : nullable RuntimeVariable */;
1825 var1
= abstract_compiler__AIfExpr__expr(self
, p0
);
1830 /* method abstract_compiler#AIfexprExpr#expr for (self: AIfexprExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
1831 val
* abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
1832 val
* var
/* : nullable RuntimeVariable */;
1833 val
* var_v
/* var v: AbstractCompilerVisitor */;
1834 val
* var1
/* : nullable MType */;
1835 val
* var2
/* : RuntimeVariable */;
1836 val
* var_res
/* var res: RuntimeVariable */;
1837 val
* var3
/* : AExpr */;
1838 val
* var4
/* : RuntimeVariable */;
1839 val
* var_cond
/* var cond: RuntimeVariable */;
1840 static val
* varonce
;
1841 val
* var5
/* : String */;
1842 char* var6
/* : NativeString */;
1843 long var7
/* : Int */;
1844 val
* var8
/* : String */;
1845 static val
* varonce9
;
1846 val
* var10
/* : String */;
1847 char* var11
/* : NativeString */;
1848 long var12
/* : Int */;
1849 val
* var13
/* : String */;
1850 val
* var14
/* : Array[Object] */;
1851 long var15
/* : Int */;
1852 val
* var16
/* : NativeArray[Object] */;
1853 val
* var17
/* : String */;
1854 val
* var18
/* : AExpr */;
1855 val
* var19
/* : null */;
1856 val
* var20
/* : RuntimeVariable */;
1857 static val
* varonce21
;
1858 val
* var22
/* : String */;
1859 char* var23
/* : NativeString */;
1860 long var24
/* : Int */;
1861 val
* var25
/* : String */;
1862 val
* var26
/* : AExpr */;
1863 val
* var27
/* : null */;
1864 val
* var28
/* : RuntimeVariable */;
1865 static val
* varonce29
;
1866 val
* var30
/* : String */;
1867 char* var31
/* : NativeString */;
1868 long var32
/* : Int */;
1869 val
* var33
/* : String */;
1871 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIfexprExpr>*/;
1873 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1874 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 1995);
1877 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
1879 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_expr
]))(self
) /* n_expr on <self:AIfexprExpr>*/;
1880 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
1887 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1896 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1900 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
1901 { /* var14 = array_instance Array[Object] */
1903 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
1904 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
1905 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_cond
;
1906 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
1907 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
1909 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
1910 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
1911 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_then
]))(self
) /* n_then on <self:AIfexprExpr>*/;
1913 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1914 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var20
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1920 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1924 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
1925 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIfexprExpr__n_else
]))(self
) /* n_else on <self:AIfexprExpr>*/;
1927 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var26
, var27
) /* expr on <var_v:AbstractCompilerVisitor>*/;
1928 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var28
) /* assign on <var_v:AbstractCompilerVisitor>*/;
1934 var33
= string__NativeString__to_s_with_length(var31
, var32
);
1938 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var30
) /* add on <var_v:AbstractCompilerVisitor>*/;
1944 /* method abstract_compiler#AIfexprExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
1945 val
* VIRTUAL_abstract_compiler__AIfexprExpr__expr(val
* self
, val
* p0
) {
1946 val
* var
/* : nullable RuntimeVariable */;
1947 val
* var1
/* : nullable RuntimeVariable */;
1948 var1
= abstract_compiler__AIfexprExpr__expr(self
, p0
);
1953 /* method abstract_compiler#ADoExpr#stmt for (self: ADoExpr, AbstractCompilerVisitor) */
1954 void abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
1955 val
* var_v
/* var v: AbstractCompilerVisitor */;
1956 val
* var
/* : nullable AExpr */;
1957 val
* var1
/* : nullable EscapeMark */;
1958 val
* var_escapemark
/* var escapemark: nullable EscapeMark */;
1959 val
* var2
/* : null */;
1960 short int var3
/* : Bool */;
1961 static val
* varonce
;
1962 val
* var4
/* : String */;
1963 char* var5
/* : NativeString */;
1964 long var6
/* : Int */;
1965 val
* var7
/* : String */;
1966 val
* var8
/* : String */;
1967 static val
* varonce9
;
1968 val
* var10
/* : String */;
1969 char* var11
/* : NativeString */;
1970 long var12
/* : Int */;
1971 val
* var13
/* : String */;
1972 val
* var14
/* : Array[Object] */;
1973 long var15
/* : Int */;
1974 val
* var16
/* : NativeArray[Object] */;
1975 val
* var17
/* : String */;
1977 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ADoExpr__n_block
]))(self
) /* n_block on <self:ADoExpr>*/;
1978 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
1979 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ADoExpr__escapemark
]))(self
) /* escapemark on <self:ADoExpr>*/;
1980 var_escapemark
= var1
;
1982 if (var_escapemark
== NULL
) {
1983 var3
= 0; /* is null */
1985 var3
= 1; /* arg is null and recv is not */
1993 var7
= string__NativeString__to_s_with_length(var5
, var6
);
1997 var8
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var_escapemark
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2001 var11
= ": (void)0;";
2003 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2007 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
2008 { /* var14 = array_instance Array[Object] */
2010 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
2011 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var4
;
2012 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var8
;
2013 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
2014 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
2016 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
2017 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
2022 /* method abstract_compiler#ADoExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2023 void VIRTUAL_abstract_compiler__ADoExpr__stmt(val
* self
, val
* p0
) {
2024 abstract_compiler__ADoExpr__stmt(self
, p0
);
2027 /* method abstract_compiler#AWhileExpr#stmt for (self: AWhileExpr, AbstractCompilerVisitor) */
2028 void abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
2029 val
* var_v
/* var v: AbstractCompilerVisitor */;
2030 static val
* varonce
;
2031 val
* var
/* : String */;
2032 char* var1
/* : NativeString */;
2033 long var2
/* : Int */;
2034 val
* var3
/* : String */;
2035 val
* var4
/* : AExpr */;
2036 val
* var5
/* : RuntimeVariable */;
2037 val
* var_cond
/* var cond: RuntimeVariable */;
2038 static val
* varonce6
;
2039 val
* var7
/* : String */;
2040 char* var8
/* : NativeString */;
2041 long var9
/* : Int */;
2042 val
* var10
/* : String */;
2043 static val
* varonce11
;
2044 val
* var12
/* : String */;
2045 char* var13
/* : NativeString */;
2046 long var14
/* : Int */;
2047 val
* var15
/* : String */;
2048 val
* var16
/* : Array[Object] */;
2049 long var17
/* : Int */;
2050 val
* var18
/* : NativeArray[Object] */;
2051 val
* var19
/* : String */;
2052 val
* var20
/* : nullable AExpr */;
2053 static val
* varonce21
;
2054 val
* var22
/* : String */;
2055 char* var23
/* : NativeString */;
2056 long var24
/* : Int */;
2057 val
* var25
/* : String */;
2058 val
* var26
/* : nullable EscapeMark */;
2059 val
* var27
/* : String */;
2060 static val
* varonce28
;
2061 val
* var29
/* : String */;
2062 char* var30
/* : NativeString */;
2063 long var31
/* : Int */;
2064 val
* var32
/* : String */;
2065 val
* var33
/* : Array[Object] */;
2066 long var34
/* : Int */;
2067 val
* var35
/* : NativeArray[Object] */;
2068 val
* var36
/* : String */;
2069 static val
* varonce37
;
2070 val
* var38
/* : String */;
2071 char* var39
/* : NativeString */;
2072 long var40
/* : Int */;
2073 val
* var41
/* : String */;
2074 static val
* varonce42
;
2075 val
* var43
/* : String */;
2076 char* var44
/* : NativeString */;
2077 long var45
/* : Int */;
2078 val
* var46
/* : String */;
2079 val
* var47
/* : nullable EscapeMark */;
2080 val
* var48
/* : String */;
2081 static val
* varonce49
;
2082 val
* var50
/* : String */;
2083 char* var51
/* : NativeString */;
2084 long var52
/* : Int */;
2085 val
* var53
/* : String */;
2086 val
* var54
/* : Array[Object] */;
2087 long var55
/* : Int */;
2088 val
* var56
/* : NativeArray[Object] */;
2089 val
* var57
/* : String */;
2096 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2100 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
2101 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_expr
]))(self
) /* n_expr on <self:AWhileExpr>*/;
2102 var5
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var4
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
2109 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2118 var15
= string__NativeString__to_s_with_length(var13
, var14
);
2122 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
2123 { /* var16 = array_instance Array[Object] */
2125 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
2126 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
2127 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_cond
;
2128 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
2129 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
2131 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
2132 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var19
) /* add on <var_v:AbstractCompilerVisitor>*/;
2133 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AWhileExpr__n_block
]))(self
) /* n_block on <self:AWhileExpr>*/;
2134 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var20
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
2138 var23
= "CONTINUE_";
2140 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2144 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
2145 var27
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var26
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2149 var30
= ": (void)0;";
2151 var32
= string__NativeString__to_s_with_length(var30
, var31
);
2155 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
2156 { /* var33 = array_instance Array[Object] */
2158 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
2159 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var22
;
2160 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var27
;
2161 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
2162 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
2164 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
2165 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var36
) /* add on <var_v:AbstractCompilerVisitor>*/;
2171 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2175 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var38
) /* add on <var_v:AbstractCompilerVisitor>*/;
2181 var46
= string__NativeString__to_s_with_length(var44
, var45
);
2185 var47
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AWhileExpr__escapemark
]))(self
) /* escapemark on <self:AWhileExpr>*/;
2186 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var47
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2190 var51
= ": (void)0;";
2192 var53
= string__NativeString__to_s_with_length(var51
, var52
);
2196 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
2197 { /* var54 = array_instance Array[Object] */
2199 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
2200 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var43
;
2201 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var48
;
2202 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
2203 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
2205 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
2206 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
2209 /* method abstract_compiler#AWhileExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2210 void VIRTUAL_abstract_compiler__AWhileExpr__stmt(val
* self
, val
* p0
) {
2211 abstract_compiler__AWhileExpr__stmt(self
, p0
);
2214 /* method abstract_compiler#ALoopExpr#stmt for (self: ALoopExpr, AbstractCompilerVisitor) */
2215 void abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
2216 val
* var_v
/* var v: AbstractCompilerVisitor */;
2217 static val
* varonce
;
2218 val
* var
/* : String */;
2219 char* var1
/* : NativeString */;
2220 long var2
/* : Int */;
2221 val
* var3
/* : String */;
2222 val
* var4
/* : nullable AExpr */;
2223 static val
* varonce5
;
2224 val
* var6
/* : String */;
2225 char* var7
/* : NativeString */;
2226 long var8
/* : Int */;
2227 val
* var9
/* : String */;
2228 val
* var10
/* : nullable EscapeMark */;
2229 val
* var11
/* : String */;
2230 static val
* varonce12
;
2231 val
* var13
/* : String */;
2232 char* var14
/* : NativeString */;
2233 long var15
/* : Int */;
2234 val
* var16
/* : String */;
2235 val
* var17
/* : Array[Object] */;
2236 long var18
/* : Int */;
2237 val
* var19
/* : NativeArray[Object] */;
2238 val
* var20
/* : String */;
2239 static val
* varonce21
;
2240 val
* var22
/* : String */;
2241 char* var23
/* : NativeString */;
2242 long var24
/* : Int */;
2243 val
* var25
/* : String */;
2244 static val
* varonce26
;
2245 val
* var27
/* : String */;
2246 char* var28
/* : NativeString */;
2247 long var29
/* : Int */;
2248 val
* var30
/* : String */;
2249 val
* var31
/* : nullable EscapeMark */;
2250 val
* var32
/* : String */;
2251 static val
* varonce33
;
2252 val
* var34
/* : String */;
2253 char* var35
/* : NativeString */;
2254 long var36
/* : Int */;
2255 val
* var37
/* : String */;
2256 val
* var38
/* : Array[Object] */;
2257 long var39
/* : Int */;
2258 val
* var40
/* : NativeArray[Object] */;
2259 val
* var41
/* : String */;
2266 var3
= string__NativeString__to_s_with_length(var1
, var2
);
2270 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var
) /* add on <var_v:AbstractCompilerVisitor>*/;
2271 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ALoopExpr__n_block
]))(self
) /* n_block on <self:ALoopExpr>*/;
2272 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var4
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
2278 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2282 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
2283 var11
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var10
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2287 var14
= ": (void)0;";
2289 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2293 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
2294 { /* var17 = array_instance Array[Object] */
2296 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
2297 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var6
;
2298 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var11
;
2299 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
2300 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
2302 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
2303 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
2309 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2313 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
2319 var30
= string__NativeString__to_s_with_length(var28
, var29
);
2323 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__ALoopExpr__escapemark
]))(self
) /* escapemark on <self:ALoopExpr>*/;
2324 var32
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var31
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2328 var35
= ": (void)0;";
2330 var37
= string__NativeString__to_s_with_length(var35
, var36
);
2334 var38
= NEW_array__Array(&type_array__Arraykernel__Object
);
2335 { /* var38 = array_instance Array[Object] */
2337 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArraykernel__Object
);
2338 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var27
;
2339 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var32
;
2340 ((struct instance_array__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
2341 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
2343 var41
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
2344 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var41
) /* add on <var_v:AbstractCompilerVisitor>*/;
2347 /* method abstract_compiler#ALoopExpr#stmt for (self: Object, AbstractCompilerVisitor) */
2348 void VIRTUAL_abstract_compiler__ALoopExpr__stmt(val
* self
, val
* p0
) {
2349 abstract_compiler__ALoopExpr__stmt(self
, p0
);
2352 /* method abstract_compiler#AForExpr#stmt for (self: AForExpr, AbstractCompilerVisitor) */
2353 void abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
2354 val
* var_v
/* var v: AbstractCompilerVisitor */;
2355 val
* var
/* : AExpr */;
2356 val
* var_nexpr
/* var nexpr: AExpr */;
2357 short int var1
/* : Bool */;
2358 short int var2
/* : Bool */;
2359 val
* var3
/* : nullable Array[Variable] */;
2360 long var4
/* : Int */;
2361 long var5
/* : Int */;
2362 short int var6
/* : Bool */;
2363 short int var8
/* : Bool */;
2364 short int var_
/* var : Bool */;
2365 short int var9
/* : Bool */;
2368 short int var_10
/* var : Bool */;
2369 val
* var11
/* : AbstractCompiler */;
2370 val
* var12
/* : ModelBuilder */;
2371 val
* var13
/* : ToolContext */;
2372 val
* var14
/* : OptionBool */;
2373 val
* var15
/* : nullable Object */;
2374 short int var16
/* : Bool */;
2375 short int var17
/* : Bool */;
2376 val
* var18
/* : AExpr */;
2377 val
* var19
/* : null */;
2378 val
* var20
/* : RuntimeVariable */;
2379 val
* var_from
/* var from: RuntimeVariable */;
2380 val
* var21
/* : AExpr */;
2381 val
* var22
/* : null */;
2382 val
* var23
/* : RuntimeVariable */;
2383 val
* var_to
/* var to: RuntimeVariable */;
2384 val
* var24
/* : nullable Array[Variable] */;
2385 val
* var25
/* : nullable Object */;
2386 val
* var26
/* : RuntimeVariable */;
2387 val
* var_variable
/* var variable: RuntimeVariable */;
2388 static val
* varonce
;
2389 val
* var27
/* : String */;
2390 char* var28
/* : NativeString */;
2391 long var29
/* : Int */;
2392 val
* var30
/* : String */;
2393 static val
* varonce31
;
2394 val
* var32
/* : String */;
2395 char* var33
/* : NativeString */;
2396 long var34
/* : Int */;
2397 val
* var35
/* : String */;
2398 val
* var36
/* : MType */;
2399 val
* var37
/* : MMethod */;
2400 val
* var38
/* : Array[RuntimeVariable] */;
2401 long var39
/* : Int */;
2402 val
* var40
/* : NativeArray[RuntimeVariable] */;
2403 val
* var41
/* : nullable RuntimeVariable */;
2404 val
* var_ok
/* var ok: nullable RuntimeVariable */;
2405 val
* var42
/* : null */;
2406 short int var43
/* : Bool */;
2407 static val
* varonce44
;
2408 val
* var45
/* : String */;
2409 char* var46
/* : NativeString */;
2410 long var47
/* : Int */;
2411 val
* var48
/* : String */;
2412 static val
* varonce49
;
2413 val
* var50
/* : String */;
2414 char* var51
/* : NativeString */;
2415 long var52
/* : Int */;
2416 val
* var53
/* : String */;
2417 val
* var54
/* : Array[Object] */;
2418 long var55
/* : Int */;
2419 val
* var56
/* : NativeArray[Object] */;
2420 val
* var57
/* : String */;
2421 val
* var58
/* : nullable AExpr */;
2422 static val
* varonce59
;
2423 val
* var60
/* : String */;
2424 char* var61
/* : NativeString */;
2425 long var62
/* : Int */;
2426 val
* var63
/* : String */;
2427 val
* var64
/* : nullable EscapeMark */;
2428 val
* var65
/* : String */;
2429 static val
* varonce66
;
2430 val
* var67
/* : String */;
2431 char* var68
/* : NativeString */;
2432 long var69
/* : Int */;
2433 val
* var70
/* : String */;
2434 val
* var71
/* : Array[Object] */;
2435 long var72
/* : Int */;
2436 val
* var73
/* : NativeArray[Object] */;
2437 val
* var74
/* : String */;
2438 static val
* varonce75
;
2439 val
* var76
/* : String */;
2440 char* var77
/* : NativeString */;
2441 long var78
/* : Int */;
2442 val
* var79
/* : String */;
2443 val
* var80
/* : MType */;
2444 val
* var81
/* : MMethod */;
2445 val
* var82
/* : Array[RuntimeVariable] */;
2446 long var83
/* : Int */;
2447 val
* var84
/* : NativeArray[RuntimeVariable] */;
2448 val
* var85
/* : nullable RuntimeVariable */;
2449 val
* var_succ
/* var succ: nullable RuntimeVariable */;
2450 val
* var86
/* : null */;
2451 short int var87
/* : Bool */;
2452 static val
* varonce88
;
2453 val
* var89
/* : String */;
2454 char* var90
/* : NativeString */;
2455 long var91
/* : Int */;
2456 val
* var92
/* : String */;
2457 static val
* varonce93
;
2458 val
* var94
/* : String */;
2459 char* var95
/* : NativeString */;
2460 long var96
/* : Int */;
2461 val
* var97
/* : String */;
2462 val
* var98
/* : nullable EscapeMark */;
2463 val
* var99
/* : String */;
2464 static val
* varonce100
;
2465 val
* var101
/* : String */;
2466 char* var102
/* : NativeString */;
2467 long var103
/* : Int */;
2468 val
* var104
/* : String */;
2469 val
* var105
/* : Array[Object] */;
2470 long var106
/* : Int */;
2471 val
* var107
/* : NativeArray[Object] */;
2472 val
* var108
/* : String */;
2473 val
* var109
/* : AExpr */;
2474 val
* var110
/* : null */;
2475 val
* var111
/* : RuntimeVariable */;
2476 val
* var_cl
/* var cl: RuntimeVariable */;
2477 val
* var112
/* : nullable MMethod */;
2478 val
* var_it_meth
/* var it_meth: nullable MMethod */;
2479 val
* var113
/* : null */;
2480 short int var114
/* : Bool */;
2481 val
* var115
/* : Array[RuntimeVariable] */;
2482 long var116
/* : Int */;
2483 val
* var117
/* : NativeArray[RuntimeVariable] */;
2484 val
* var118
/* : nullable RuntimeVariable */;
2485 val
* var_it
/* var it: nullable RuntimeVariable */;
2486 val
* var119
/* : null */;
2487 short int var120
/* : Bool */;
2488 static val
* varonce121
;
2489 val
* var122
/* : String */;
2490 char* var123
/* : NativeString */;
2491 long var124
/* : Int */;
2492 val
* var125
/* : String */;
2493 val
* var126
/* : nullable MMethod */;
2494 val
* var_isok_meth
/* var isok_meth: nullable MMethod */;
2495 val
* var127
/* : null */;
2496 short int var128
/* : Bool */;
2497 val
* var129
/* : Array[RuntimeVariable] */;
2498 long var130
/* : Int */;
2499 val
* var131
/* : NativeArray[RuntimeVariable] */;
2500 val
* var132
/* : nullable RuntimeVariable */;
2501 val
* var_ok133
/* var ok: nullable RuntimeVariable */;
2502 val
* var134
/* : null */;
2503 short int var135
/* : Bool */;
2504 static val
* varonce136
;
2505 val
* var137
/* : String */;
2506 char* var138
/* : NativeString */;
2507 long var139
/* : Int */;
2508 val
* var140
/* : String */;
2509 static val
* varonce141
;
2510 val
* var142
/* : String */;
2511 char* var143
/* : NativeString */;
2512 long var144
/* : Int */;
2513 val
* var145
/* : String */;
2514 val
* var146
/* : Array[Object] */;
2515 long var147
/* : Int */;
2516 val
* var148
/* : NativeArray[Object] */;
2517 val
* var149
/* : String */;
2518 val
* var150
/* : nullable Array[Variable] */;
2519 long var151
/* : Int */;
2520 long var152
/* : Int */;
2521 short int var153
/* : Bool */;
2522 short int var155
/* : Bool */;
2523 val
* var156
/* : nullable MMethod */;
2524 val
* var_item_meth
/* var item_meth: nullable MMethod */;
2525 val
* var157
/* : null */;
2526 short int var158
/* : Bool */;
2527 val
* var159
/* : Array[RuntimeVariable] */;
2528 long var160
/* : Int */;
2529 val
* var161
/* : NativeArray[RuntimeVariable] */;
2530 val
* var162
/* : nullable RuntimeVariable */;
2531 val
* var_i
/* var i: nullable RuntimeVariable */;
2532 val
* var163
/* : null */;
2533 short int var164
/* : Bool */;
2534 val
* var165
/* : nullable Array[Variable] */;
2535 val
* var166
/* : nullable Object */;
2536 val
* var167
/* : RuntimeVariable */;
2537 val
* var168
/* : nullable Array[Variable] */;
2538 long var169
/* : Int */;
2539 long var170
/* : Int */;
2540 short int var171
/* : Bool */;
2541 short int var173
/* : Bool */;
2542 val
* var174
/* : nullable MMethod */;
2543 val
* var_key_meth
/* var key_meth: nullable MMethod */;
2544 val
* var175
/* : null */;
2545 short int var176
/* : Bool */;
2546 val
* var177
/* : Array[RuntimeVariable] */;
2547 long var178
/* : Int */;
2548 val
* var179
/* : NativeArray[RuntimeVariable] */;
2549 val
* var180
/* : nullable RuntimeVariable */;
2550 val
* var_i181
/* var i: nullable RuntimeVariable */;
2551 val
* var182
/* : null */;
2552 short int var183
/* : Bool */;
2553 val
* var184
/* : nullable Array[Variable] */;
2554 long var185
/* : Int */;
2555 val
* var186
/* : nullable Object */;
2556 val
* var187
/* : RuntimeVariable */;
2557 val
* var188
/* : nullable MMethod */;
2558 val
* var_item_meth189
/* var item_meth: nullable MMethod */;
2559 val
* var190
/* : null */;
2560 short int var191
/* : Bool */;
2561 val
* var192
/* : Array[RuntimeVariable] */;
2562 long var193
/* : Int */;
2563 val
* var194
/* : NativeArray[RuntimeVariable] */;
2564 val
* var195
/* : nullable RuntimeVariable */;
2565 val
* var196
/* : null */;
2566 short int var197
/* : Bool */;
2567 val
* var198
/* : nullable Array[Variable] */;
2568 long var199
/* : Int */;
2569 val
* var200
/* : nullable Object */;
2570 val
* var201
/* : RuntimeVariable */;
2571 val
* var202
/* : nullable AExpr */;
2572 static val
* varonce203
;
2573 val
* var204
/* : String */;
2574 char* var205
/* : NativeString */;
2575 long var206
/* : Int */;
2576 val
* var207
/* : String */;
2577 val
* var208
/* : nullable EscapeMark */;
2578 val
* var209
/* : String */;
2579 static val
* varonce210
;
2580 val
* var211
/* : String */;
2581 char* var212
/* : NativeString */;
2582 long var213
/* : Int */;
2583 val
* var214
/* : String */;
2584 val
* var215
/* : Array[Object] */;
2585 long var216
/* : Int */;
2586 val
* var217
/* : NativeArray[Object] */;
2587 val
* var218
/* : String */;
2588 val
* var219
/* : nullable MMethod */;
2589 val
* var_next_meth
/* var next_meth: nullable MMethod */;
2590 val
* var220
/* : null */;
2591 short int var221
/* : Bool */;
2592 val
* var222
/* : Array[RuntimeVariable] */;
2593 long var223
/* : Int */;
2594 val
* var224
/* : NativeArray[RuntimeVariable] */;
2595 val
* var225
/* : nullable RuntimeVariable */;
2596 static val
* varonce226
;
2597 val
* var227
/* : String */;
2598 char* var228
/* : NativeString */;
2599 long var229
/* : Int */;
2600 val
* var230
/* : String */;
2601 static val
* varonce231
;
2602 val
* var232
/* : String */;
2603 char* var233
/* : NativeString */;
2604 long var234
/* : Int */;
2605 val
* var235
/* : String */;
2606 val
* var236
/* : nullable EscapeMark */;
2607 val
* var237
/* : String */;
2608 static val
* varonce238
;
2609 val
* var239
/* : String */;
2610 char* var240
/* : NativeString */;
2611 long var241
/* : Int */;
2612 val
* var242
/* : String */;
2613 val
* var243
/* : Array[Object] */;
2614 long var244
/* : Int */;
2615 val
* var245
/* : NativeArray[Object] */;
2616 val
* var246
/* : String */;
2618 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
2620 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
2622 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2623 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2047);
2626 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var3
) /* length on <var3:nullable Array[Variable]>*/;
2629 { /* Inline kernel#Int#== (var4,var5) */
2630 var8
= var4
== var5
;
2637 /* <var_nexpr:AExpr> isa AOrangeExpr */
2638 cltype
= type_parser_nodes__AOrangeExpr
.color
;
2639 idtype
= type_parser_nodes__AOrangeExpr
.id
;
2640 if(cltype
>= var_nexpr
->type
->table_size
) {
2643 var9
= var_nexpr
->type
->type_table
[cltype
] == idtype
;
2651 var11
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
2652 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler>*/;
2653 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
2654 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(var13
) /* opt_no_shortcut_range on <var13:ToolContext>*/;
2655 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
2656 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
2663 var18
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(var_nexpr
) /* n_expr on <var_nexpr:AExpr(AOrangeExpr)>*/;
2665 var20
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var18
, var19
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2667 var21
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(var_nexpr
) /* n_expr2 on <var_nexpr:AExpr(AOrangeExpr)>*/;
2669 var23
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var21
, var22
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2671 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
2672 if (var24
== NULL
) {
2673 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2674 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2050);
2677 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var24
) /* first on <var24:nullable Array[Variable]>*/;
2679 var26
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var25
) /* variable on <var_v:AbstractCompilerVisitor>*/;
2680 var_variable
= var26
;
2681 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_from
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2685 var28
= "for(;;) { /* shortcut range */";
2687 var30
= string__NativeString__to_s_with_length(var28
, var29
);
2691 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var27
) /* add on <var_v:AbstractCompilerVisitor>*/;
2697 var35
= string__NativeString__to_s_with_length(var33
, var34
);
2701 var36
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
2702 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>*/;
2703 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2704 { /* var38 = array_instance Array[RuntimeVariable] */
2706 var40
= NEW_array__NativeArray(var39
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
2707 ((struct instance_array__NativeArray
*)var40
)->values
[0] = (val
*) var_variable
;
2708 ((struct instance_array__NativeArray
*)var40
)->values
[1] = (val
*) var_to
;
2709 ((void (*)(val
*, val
*, long))(var38
->class->vft
[COLOR_array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[RuntimeVariable]>*/;
2711 var41
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var37
, var38
) /* send on <var_v:AbstractCompilerVisitor>*/;
2714 if (var_ok
== NULL
) {
2715 var43
= 0; /* is null */
2717 var43
= 1; /* arg is null and recv is not */
2720 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2721 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2056);
2729 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2738 var53
= string__NativeString__to_s_with_length(var51
, var52
);
2742 var54
= NEW_array__Array(&type_array__Arraykernel__Object
);
2743 { /* var54 = array_instance Array[Object] */
2745 var56
= NEW_array__NativeArray(var55
, &type_array__NativeArraykernel__Object
);
2746 ((struct instance_array__NativeArray
*)var56
)->values
[0] = (val
*) var45
;
2747 ((struct instance_array__NativeArray
*)var56
)->values
[1] = (val
*) var_ok
;
2748 ((struct instance_array__NativeArray
*)var56
)->values
[2] = (val
*) var50
;
2749 ((void (*)(val
*, val
*, long))(var54
->class->vft
[COLOR_array__Array__with_native
]))(var54
, var56
, var55
) /* with_native on <var54:Array[Object]>*/;
2751 var57
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_string__Object__to_s
]))(var54
) /* to_s on <var54:Array[Object]>*/;
2752 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var57
) /* add on <var_v:AbstractCompilerVisitor>*/;
2753 var58
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
2754 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var58
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
2758 var61
= "CONTINUE_";
2760 var63
= string__NativeString__to_s_with_length(var61
, var62
);
2764 var64
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
2765 var65
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var64
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2769 var68
= ": (void)0;";
2771 var70
= string__NativeString__to_s_with_length(var68
, var69
);
2775 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
2776 { /* var71 = array_instance Array[Object] */
2778 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
2779 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var60
;
2780 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var65
;
2781 ((struct instance_array__NativeArray
*)var73
)->values
[2] = (val
*) var67
;
2782 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
2784 var74
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
2785 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var74
) /* add on <var_v:AbstractCompilerVisitor>*/;
2791 var79
= string__NativeString__to_s_with_length(var77
, var78
);
2795 var80
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_variable
) /* mtype on <var_variable:RuntimeVariable>*/;
2796 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>*/;
2797 var82
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2798 { /* var82 = array_instance Array[RuntimeVariable] */
2800 var84
= NEW_array__NativeArray(var83
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
2801 ((struct instance_array__NativeArray
*)var84
)->values
[0] = (val
*) var_variable
;
2802 ((void (*)(val
*, val
*, long))(var82
->class->vft
[COLOR_array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[RuntimeVariable]>*/;
2804 var85
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var81
, var82
) /* send on <var_v:AbstractCompilerVisitor>*/;
2807 if (var_succ
== NULL
) {
2808 var87
= 0; /* is null */
2810 var87
= 1; /* arg is null and recv is not */
2813 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2814 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2063);
2817 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_variable
, var_succ
) /* assign on <var_v:AbstractCompilerVisitor>*/;
2823 var92
= string__NativeString__to_s_with_length(var90
, var91
);
2827 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var89
) /* add on <var_v:AbstractCompilerVisitor>*/;
2833 var97
= string__NativeString__to_s_with_length(var95
, var96
);
2837 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
2838 var99
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var98
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
2840 var101
= varonce100
;
2842 var102
= ": (void)0;";
2844 var104
= string__NativeString__to_s_with_length(var102
, var103
);
2846 varonce100
= var101
;
2848 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
2849 { /* var105 = array_instance Array[Object] */
2851 var107
= NEW_array__NativeArray(var106
, &type_array__NativeArraykernel__Object
);
2852 ((struct instance_array__NativeArray
*)var107
)->values
[0] = (val
*) var94
;
2853 ((struct instance_array__NativeArray
*)var107
)->values
[1] = (val
*) var99
;
2854 ((struct instance_array__NativeArray
*)var107
)->values
[2] = (val
*) var101
;
2855 ((void (*)(val
*, val
*, long))(var105
->class->vft
[COLOR_array__Array__with_native
]))(var105
, var107
, var106
) /* with_native on <var105:Array[Object]>*/;
2857 var108
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_string__Object__to_s
]))(var105
) /* to_s on <var105:Array[Object]>*/;
2858 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var108
) /* add on <var_v:AbstractCompilerVisitor>*/;
2862 var109
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_expr
]))(self
) /* n_expr on <self:AForExpr>*/;
2864 var111
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var109
, var110
) /* expr on <var_v:AbstractCompilerVisitor>*/;
2866 var112
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_iterator
]))(self
) /* method_iterator on <self:AForExpr>*/;
2867 var_it_meth
= var112
;
2869 if (var_it_meth
== NULL
) {
2870 var114
= 0; /* is null */
2872 var114
= 1; /* arg is null and recv is not */
2875 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2876 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2072);
2879 var115
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2880 { /* var115 = array_instance Array[RuntimeVariable] */
2882 var117
= NEW_array__NativeArray(var116
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
2883 ((struct instance_array__NativeArray
*)var117
)->values
[0] = (val
*) var_cl
;
2884 ((void (*)(val
*, val
*, long))(var115
->class->vft
[COLOR_array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[RuntimeVariable]>*/;
2886 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>*/;
2889 if (var_it
== NULL
) {
2890 var120
= 0; /* is null */
2892 var120
= 1; /* arg is null and recv is not */
2895 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2896 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2074);
2900 var122
= varonce121
;
2902 var123
= "for(;;) {";
2904 var125
= string__NativeString__to_s_with_length(var123
, var124
);
2906 varonce121
= var122
;
2908 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
2909 var126
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_is_ok
]))(self
) /* method_is_ok on <self:AForExpr>*/;
2910 var_isok_meth
= var126
;
2912 if (var_isok_meth
== NULL
) {
2913 var128
= 0; /* is null */
2915 var128
= 1; /* arg is null and recv is not */
2918 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2919 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2077);
2922 var129
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2923 { /* var129 = array_instance Array[RuntimeVariable] */
2925 var131
= NEW_array__NativeArray(var130
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
2926 ((struct instance_array__NativeArray
*)var131
)->values
[0] = (val
*) var_it
;
2927 ((void (*)(val
*, val
*, long))(var129
->class->vft
[COLOR_array__Array__with_native
]))(var129
, var131
, var130
) /* with_native on <var129:Array[RuntimeVariable]>*/;
2929 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>*/;
2932 if (var_ok133
== NULL
) {
2933 var135
= 0; /* is null */
2935 var135
= 1; /* arg is null and recv is not */
2938 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2939 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2079);
2943 var137
= varonce136
;
2947 var140
= string__NativeString__to_s_with_length(var138
, var139
);
2949 varonce136
= var137
;
2952 var142
= varonce141
;
2954 var143
= ") break;";
2956 var145
= string__NativeString__to_s_with_length(var143
, var144
);
2958 varonce141
= var142
;
2960 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
2961 { /* var146 = array_instance Array[Object] */
2963 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
2964 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var137
;
2965 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var_ok133
;
2966 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var142
;
2967 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
2969 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
2970 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var149
) /* add on <var_v:AbstractCompilerVisitor>*/;
2971 var150
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
2972 if (var150
== NULL
) {
2973 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2974 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2081);
2977 var151
= ((long (*)(val
*))(var150
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var150
) /* length on <var150:nullable Array[Variable]>*/;
2980 { /* Inline kernel#Int#== (var151,var152) */
2981 var155
= var151
== var152
;
2984 RET_LABEL154
:(void)0;
2987 var156
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
2988 var_item_meth
= var156
;
2990 if (var_item_meth
== NULL
) {
2991 var158
= 0; /* is null */
2993 var158
= 1; /* arg is null and recv is not */
2996 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2997 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2083);
3000 var159
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3001 { /* var159 = array_instance Array[RuntimeVariable] */
3003 var161
= NEW_array__NativeArray(var160
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3004 ((struct instance_array__NativeArray
*)var161
)->values
[0] = (val
*) var_it
;
3005 ((void (*)(val
*, val
*, long))(var159
->class->vft
[COLOR_array__Array__with_native
]))(var159
, var161
, var160
) /* with_native on <var159:Array[RuntimeVariable]>*/;
3007 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>*/;
3010 if (var_i
== NULL
) {
3011 var164
= 0; /* is null */
3013 var164
= 1; /* arg is null and recv is not */
3016 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3017 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2085);
3020 var165
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
3021 if (var165
== NULL
) {
3022 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3023 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2086);
3026 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var165
) /* first on <var165:nullable Array[Variable]>*/;
3028 var167
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var166
) /* variable on <var_v:AbstractCompilerVisitor>*/;
3029 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var167
, var_i
) /* assign on <var_v:AbstractCompilerVisitor>*/;
3031 var168
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
3032 if (var168
== NULL
) {
3033 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3034 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2087);
3037 var169
= ((long (*)(val
*))(var168
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var168
) /* length on <var168:nullable Array[Variable]>*/;
3040 { /* Inline kernel#Int#== (var169,var170) */
3041 var173
= var169
== var170
;
3044 RET_LABEL172
:(void)0;
3047 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_key
]))(self
) /* method_key on <self:AForExpr>*/;
3048 var_key_meth
= var174
;
3050 if (var_key_meth
== NULL
) {
3051 var176
= 0; /* is null */
3053 var176
= 1; /* arg is null and recv is not */
3056 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3057 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2089);
3060 var177
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3061 { /* var177 = array_instance Array[RuntimeVariable] */
3063 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3064 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var_it
;
3065 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[RuntimeVariable]>*/;
3067 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>*/;
3070 if (var_i181
== NULL
) {
3071 var183
= 0; /* is null */
3073 var183
= 1; /* arg is null and recv is not */
3076 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3077 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2091);
3080 var184
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
3082 if (var184
== NULL
) {
3083 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3084 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2092);
3087 var186
= ((val
* (*)(val
*, long))(var184
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var184
, var185
) /* [] on <var184:nullable Array[Variable]>*/;
3089 var187
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var186
) /* variable on <var_v:AbstractCompilerVisitor>*/;
3090 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var187
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
3091 var188
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_item
]))(self
) /* method_item on <self:AForExpr>*/;
3092 var_item_meth189
= var188
;
3094 if (var_item_meth189
== NULL
) {
3095 var191
= 0; /* is null */
3097 var191
= 1; /* arg is null and recv is not */
3100 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3101 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2094);
3104 var192
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3105 { /* var192 = array_instance Array[RuntimeVariable] */
3107 var194
= NEW_array__NativeArray(var193
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3108 ((struct instance_array__NativeArray
*)var194
)->values
[0] = (val
*) var_it
;
3109 ((void (*)(val
*, val
*, long))(var192
->class->vft
[COLOR_array__Array__with_native
]))(var192
, var194
, var193
) /* with_native on <var192:Array[RuntimeVariable]>*/;
3111 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>*/;
3114 if (var_i181
== NULL
) {
3115 var197
= 0; /* is null */
3117 var197
= 1; /* arg is null and recv is not */
3120 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3121 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2096);
3124 var198
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__variables
]))(self
) /* variables on <self:AForExpr>*/;
3126 if (var198
== NULL
) {
3127 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3128 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2097);
3131 var200
= ((val
* (*)(val
*, long))(var198
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var198
, var199
) /* [] on <var198:nullable Array[Variable]>*/;
3133 var201
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variable
]))(var_v
, var200
) /* variable on <var_v:AbstractCompilerVisitor>*/;
3134 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var201
, var_i181
) /* assign on <var_v:AbstractCompilerVisitor>*/;
3136 fprintf(stderr
, "Runtime error: %s", "Aborted");
3137 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2099);
3141 var202
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AForExpr__n_block
]))(self
) /* n_block on <self:AForExpr>*/;
3142 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var202
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
3144 var204
= varonce203
;
3146 var205
= "CONTINUE_";
3148 var207
= string__NativeString__to_s_with_length(var205
, var206
);
3150 varonce203
= var204
;
3152 var208
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
3153 var209
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var208
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
3155 var211
= varonce210
;
3157 var212
= ": (void)0;";
3159 var214
= string__NativeString__to_s_with_length(var212
, var213
);
3161 varonce210
= var211
;
3163 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
3164 { /* var215 = array_instance Array[Object] */
3166 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
3167 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var204
;
3168 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var209
;
3169 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var211
;
3170 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
3172 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
3173 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var218
) /* add on <var_v:AbstractCompilerVisitor>*/;
3174 var219
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AForExpr__method_next
]))(self
) /* method_next on <self:AForExpr>*/;
3175 var_next_meth
= var219
;
3177 if (var_next_meth
== NULL
) {
3178 var221
= 0; /* is null */
3180 var221
= 1; /* arg is null and recv is not */
3183 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3184 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2104);
3187 var222
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
3188 { /* var222 = array_instance Array[RuntimeVariable] */
3190 var224
= NEW_array__NativeArray(var223
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
3191 ((struct instance_array__NativeArray
*)var224
)->values
[0] = (val
*) var_it
;
3192 ((void (*)(val
*, val
*, long))(var222
->class->vft
[COLOR_array__Array__with_native
]))(var222
, var224
, var223
) /* with_native on <var222:Array[RuntimeVariable]>*/;
3194 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>*/;
3197 var227
= varonce226
;
3201 var230
= string__NativeString__to_s_with_length(var228
, var229
);
3203 varonce226
= var227
;
3205 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var227
) /* add on <var_v:AbstractCompilerVisitor>*/;
3207 var232
= varonce231
;
3211 var235
= string__NativeString__to_s_with_length(var233
, var234
);
3213 varonce231
= var232
;
3215 var236
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_scope__AForExpr__escapemark
]))(self
) /* escapemark on <self:AForExpr>*/;
3216 var237
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_name
]))(var_v
, var236
) /* escapemark_name on <var_v:AbstractCompilerVisitor>*/;
3218 var239
= varonce238
;
3220 var240
= ": (void)0;";
3222 var242
= string__NativeString__to_s_with_length(var240
, var241
);
3224 varonce238
= var239
;
3226 var243
= NEW_array__Array(&type_array__Arraykernel__Object
);
3227 { /* var243 = array_instance Array[Object] */
3229 var245
= NEW_array__NativeArray(var244
, &type_array__NativeArraykernel__Object
);
3230 ((struct instance_array__NativeArray
*)var245
)->values
[0] = (val
*) var232
;
3231 ((struct instance_array__NativeArray
*)var245
)->values
[1] = (val
*) var237
;
3232 ((struct instance_array__NativeArray
*)var245
)->values
[2] = (val
*) var239
;
3233 ((void (*)(val
*, val
*, long))(var243
->class->vft
[COLOR_array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
3235 var246
= ((val
* (*)(val
*))(var243
->class->vft
[COLOR_string__Object__to_s
]))(var243
) /* to_s on <var243:Array[Object]>*/;
3236 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var246
) /* add on <var_v:AbstractCompilerVisitor>*/;
3239 /* method abstract_compiler#AForExpr#stmt for (self: Object, AbstractCompilerVisitor) */
3240 void VIRTUAL_abstract_compiler__AForExpr__stmt(val
* self
, val
* p0
) {
3241 abstract_compiler__AForExpr__stmt(self
, p0
);
3244 /* method abstract_compiler#AAssertExpr#stmt for (self: AAssertExpr, AbstractCompilerVisitor) */
3245 void abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
3246 val
* var_v
/* var v: AbstractCompilerVisitor */;
3247 val
* var
/* : AbstractCompiler */;
3248 val
* var1
/* : ModelBuilder */;
3249 val
* var2
/* : ToolContext */;
3250 val
* var3
/* : OptionBool */;
3251 val
* var4
/* : nullable Object */;
3252 short int var5
/* : Bool */;
3253 val
* var6
/* : AExpr */;
3254 val
* var7
/* : RuntimeVariable */;
3255 val
* var_cond
/* var cond: RuntimeVariable */;
3256 static val
* varonce
;
3257 val
* var8
/* : String */;
3258 char* var9
/* : NativeString */;
3259 long var10
/* : Int */;
3260 val
* var11
/* : String */;
3261 static val
* varonce12
;
3262 val
* var13
/* : String */;
3263 char* var14
/* : NativeString */;
3264 long var15
/* : Int */;
3265 val
* var16
/* : String */;
3266 val
* var17
/* : Array[Object] */;
3267 long var18
/* : Int */;
3268 val
* var19
/* : NativeArray[Object] */;
3269 val
* var20
/* : String */;
3270 val
* var21
/* : nullable AExpr */;
3271 val
* var22
/* : nullable TId */;
3272 val
* var_nid
/* var nid: nullable TId */;
3273 val
* var23
/* : null */;
3274 short int var24
/* : Bool */;
3275 static val
* varonce25
;
3276 val
* var26
/* : String */;
3277 char* var27
/* : NativeString */;
3278 long var28
/* : Int */;
3279 val
* var29
/* : String */;
3280 val
* var30
/* : String */;
3281 static val
* varonce31
;
3282 val
* var32
/* : String */;
3283 char* var33
/* : NativeString */;
3284 long var34
/* : Int */;
3285 val
* var35
/* : String */;
3286 val
* var36
/* : Array[Object] */;
3287 long var37
/* : Int */;
3288 val
* var38
/* : NativeArray[Object] */;
3289 val
* var39
/* : String */;
3290 static val
* varonce40
;
3291 val
* var41
/* : String */;
3292 char* var42
/* : NativeString */;
3293 long var43
/* : Int */;
3294 val
* var44
/* : String */;
3295 static val
* varonce45
;
3296 val
* var46
/* : String */;
3297 char* var47
/* : NativeString */;
3298 long var48
/* : Int */;
3299 val
* var49
/* : String */;
3301 var
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
3302 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
3303 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
3304 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var2
) /* opt_no_check_assert on <var2:ToolContext>*/;
3305 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
3306 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
3311 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_expr
]))(self
) /* n_expr on <self:AAssertExpr>*/;
3312 var7
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var6
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3319 var11
= string__NativeString__to_s_with_length(var9
, var10
);
3328 var16
= string__NativeString__to_s_with_length(var14
, var15
);
3332 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
3333 { /* var17 = array_instance Array[Object] */
3335 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
3336 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var8
;
3337 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var_cond
;
3338 ((struct instance_array__NativeArray
*)var19
)->values
[2] = (val
*) var13
;
3339 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
3341 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
3342 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
3343 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_else
]))(self
) /* n_else on <self:AAssertExpr>*/;
3344 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__stmt
]))(var_v
, var21
) /* stmt on <var_v:AbstractCompilerVisitor>*/;
3345 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssertExpr__n_id
]))(self
) /* n_id on <self:AAssertExpr>*/;
3348 if (var_nid
== NULL
) {
3349 var24
= 0; /* is null */
3351 var24
= 1; /* arg is null and recv is not */
3357 var27
= "Assert \'";
3359 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3363 var30
= ((val
* (*)(val
*))(var_nid
->class->vft
[COLOR_parser_nodes__Token__text
]))(var_nid
) /* text on <var_nid:nullable TId(TId)>*/;
3367 var33
= "\' failed";
3369 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3373 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
3374 { /* var36 = array_instance Array[Object] */
3376 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
3377 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var26
;
3378 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var30
;
3379 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
3380 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
3382 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
3383 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var39
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
3388 var42
= "Assert failed";
3390 var44
= string__NativeString__to_s_with_length(var42
, var43
);
3394 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var41
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
3401 var49
= string__NativeString__to_s_with_length(var47
, var48
);
3405 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var46
) /* add on <var_v:AbstractCompilerVisitor>*/;
3408 /* method abstract_compiler#AAssertExpr#stmt for (self: Object, AbstractCompilerVisitor) */
3409 void VIRTUAL_abstract_compiler__AAssertExpr__stmt(val
* self
, val
* p0
) {
3410 abstract_compiler__AAssertExpr__stmt(self
, p0
);
3413 /* method abstract_compiler#AOrExpr#expr for (self: AOrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3414 val
* abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
3415 val
* var
/* : nullable RuntimeVariable */;
3416 val
* var_v
/* var v: AbstractCompilerVisitor */;
3417 val
* var1
/* : nullable MType */;
3418 val
* var2
/* : RuntimeVariable */;
3419 val
* var_res
/* var res: RuntimeVariable */;
3420 val
* var3
/* : AExpr */;
3421 val
* var4
/* : RuntimeVariable */;
3422 val
* var_i1
/* var i1: RuntimeVariable */;
3423 static val
* varonce
;
3424 val
* var5
/* : String */;
3425 char* var6
/* : NativeString */;
3426 long var7
/* : Int */;
3427 val
* var8
/* : String */;
3428 static val
* varonce9
;
3429 val
* var10
/* : String */;
3430 char* var11
/* : NativeString */;
3431 long var12
/* : Int */;
3432 val
* var13
/* : String */;
3433 val
* var14
/* : Array[Object] */;
3434 long var15
/* : Int */;
3435 val
* var16
/* : NativeArray[Object] */;
3436 val
* var17
/* : String */;
3437 static val
* varonce18
;
3438 val
* var19
/* : String */;
3439 char* var20
/* : NativeString */;
3440 long var21
/* : Int */;
3441 val
* var22
/* : String */;
3442 val
* var23
/* : Array[Object] */;
3443 long var24
/* : Int */;
3444 val
* var25
/* : NativeArray[Object] */;
3445 val
* var26
/* : String */;
3446 static val
* varonce27
;
3447 val
* var28
/* : String */;
3448 char* var29
/* : NativeString */;
3449 long var30
/* : Int */;
3450 val
* var31
/* : String */;
3451 val
* var32
/* : AExpr */;
3452 val
* var33
/* : RuntimeVariable */;
3453 val
* var_i2
/* var i2: RuntimeVariable */;
3454 static val
* varonce34
;
3455 val
* var35
/* : String */;
3456 char* var36
/* : NativeString */;
3457 long var37
/* : Int */;
3458 val
* var38
/* : String */;
3459 static val
* varonce39
;
3460 val
* var40
/* : String */;
3461 char* var41
/* : NativeString */;
3462 long var42
/* : Int */;
3463 val
* var43
/* : String */;
3464 val
* var44
/* : Array[Object] */;
3465 long var45
/* : Int */;
3466 val
* var46
/* : NativeArray[Object] */;
3467 val
* var47
/* : String */;
3468 static val
* varonce48
;
3469 val
* var49
/* : String */;
3470 char* var50
/* : NativeString */;
3471 long var51
/* : Int */;
3472 val
* var52
/* : String */;
3474 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrExpr>*/;
3476 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3477 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2132);
3480 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
3482 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr
]))(self
) /* n_expr on <self:AOrExpr>*/;
3483 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3490 var8
= string__NativeString__to_s_with_length(var6
, var7
);
3499 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3503 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3504 { /* var14 = array_instance Array[Object] */
3506 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
3507 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
3508 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
3509 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
3510 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
3512 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
3513 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
3519 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3523 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
3524 { /* var23 = array_instance Array[Object] */
3526 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
3527 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
3528 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
3529 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
3531 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
3532 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
3538 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3542 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
3543 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrExpr>*/;
3544 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3551 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3560 var43
= string__NativeString__to_s_with_length(var41
, var42
);
3564 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
3565 { /* var44 = array_instance Array[Object] */
3567 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
3568 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
3569 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
3570 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
3571 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
3572 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
3574 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
3575 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
3581 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3585 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
3591 /* method abstract_compiler#AOrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3592 val
* VIRTUAL_abstract_compiler__AOrExpr__expr(val
* self
, val
* p0
) {
3593 val
* var
/* : nullable RuntimeVariable */;
3594 val
* var1
/* : nullable RuntimeVariable */;
3595 var1
= abstract_compiler__AOrExpr__expr(self
, p0
);
3600 /* method abstract_compiler#AImpliesExpr#expr for (self: AImpliesExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3601 val
* abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
3602 val
* var
/* : nullable RuntimeVariable */;
3603 val
* var_v
/* var v: AbstractCompilerVisitor */;
3604 val
* var1
/* : nullable MType */;
3605 val
* var2
/* : RuntimeVariable */;
3606 val
* var_res
/* var res: RuntimeVariable */;
3607 val
* var3
/* : AExpr */;
3608 val
* var4
/* : RuntimeVariable */;
3609 val
* var_i1
/* var i1: RuntimeVariable */;
3610 static val
* varonce
;
3611 val
* var5
/* : String */;
3612 char* var6
/* : NativeString */;
3613 long var7
/* : Int */;
3614 val
* var8
/* : String */;
3615 static val
* varonce9
;
3616 val
* var10
/* : String */;
3617 char* var11
/* : NativeString */;
3618 long var12
/* : Int */;
3619 val
* var13
/* : String */;
3620 val
* var14
/* : Array[Object] */;
3621 long var15
/* : Int */;
3622 val
* var16
/* : NativeArray[Object] */;
3623 val
* var17
/* : String */;
3624 static val
* varonce18
;
3625 val
* var19
/* : String */;
3626 char* var20
/* : NativeString */;
3627 long var21
/* : Int */;
3628 val
* var22
/* : String */;
3629 val
* var23
/* : Array[Object] */;
3630 long var24
/* : Int */;
3631 val
* var25
/* : NativeArray[Object] */;
3632 val
* var26
/* : String */;
3633 static val
* varonce27
;
3634 val
* var28
/* : String */;
3635 char* var29
/* : NativeString */;
3636 long var30
/* : Int */;
3637 val
* var31
/* : String */;
3638 val
* var32
/* : AExpr */;
3639 val
* var33
/* : RuntimeVariable */;
3640 val
* var_i2
/* var i2: RuntimeVariable */;
3641 static val
* varonce34
;
3642 val
* var35
/* : String */;
3643 char* var36
/* : NativeString */;
3644 long var37
/* : Int */;
3645 val
* var38
/* : String */;
3646 static val
* varonce39
;
3647 val
* var40
/* : String */;
3648 char* var41
/* : NativeString */;
3649 long var42
/* : Int */;
3650 val
* var43
/* : String */;
3651 val
* var44
/* : Array[Object] */;
3652 long var45
/* : Int */;
3653 val
* var46
/* : NativeArray[Object] */;
3654 val
* var47
/* : String */;
3655 static val
* varonce48
;
3656 val
* var49
/* : String */;
3657 char* var50
/* : NativeString */;
3658 long var51
/* : Int */;
3659 val
* var52
/* : String */;
3661 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AImpliesExpr>*/;
3663 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3664 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2147);
3667 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
3669 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr
]))(self
) /* n_expr on <self:AImpliesExpr>*/;
3670 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3677 var8
= string__NativeString__to_s_with_length(var6
, var7
);
3686 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3690 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3691 { /* var14 = array_instance Array[Object] */
3693 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
3694 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
3695 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
3696 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
3697 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
3699 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
3700 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
3706 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3710 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
3711 { /* var23 = array_instance Array[Object] */
3713 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
3714 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
3715 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
3716 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
3718 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
3719 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
3725 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3729 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
3730 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AImpliesExpr__n_expr2
]))(self
) /* n_expr2 on <self:AImpliesExpr>*/;
3731 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3738 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3747 var43
= string__NativeString__to_s_with_length(var41
, var42
);
3751 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
3752 { /* var44 = array_instance Array[Object] */
3754 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
3755 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
3756 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
3757 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
3758 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
3759 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
3761 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
3762 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
3768 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3772 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
3778 /* method abstract_compiler#AImpliesExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3779 val
* VIRTUAL_abstract_compiler__AImpliesExpr__expr(val
* self
, val
* p0
) {
3780 val
* var
/* : nullable RuntimeVariable */;
3781 val
* var1
/* : nullable RuntimeVariable */;
3782 var1
= abstract_compiler__AImpliesExpr__expr(self
, p0
);
3787 /* method abstract_compiler#AAndExpr#expr for (self: AAndExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3788 val
* abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
3789 val
* var
/* : nullable RuntimeVariable */;
3790 val
* var_v
/* var v: AbstractCompilerVisitor */;
3791 val
* var1
/* : nullable MType */;
3792 val
* var2
/* : RuntimeVariable */;
3793 val
* var_res
/* var res: RuntimeVariable */;
3794 val
* var3
/* : AExpr */;
3795 val
* var4
/* : RuntimeVariable */;
3796 val
* var_i1
/* var i1: RuntimeVariable */;
3797 static val
* varonce
;
3798 val
* var5
/* : String */;
3799 char* var6
/* : NativeString */;
3800 long var7
/* : Int */;
3801 val
* var8
/* : String */;
3802 static val
* varonce9
;
3803 val
* var10
/* : String */;
3804 char* var11
/* : NativeString */;
3805 long var12
/* : Int */;
3806 val
* var13
/* : String */;
3807 val
* var14
/* : Array[Object] */;
3808 long var15
/* : Int */;
3809 val
* var16
/* : NativeArray[Object] */;
3810 val
* var17
/* : String */;
3811 static val
* varonce18
;
3812 val
* var19
/* : String */;
3813 char* var20
/* : NativeString */;
3814 long var21
/* : Int */;
3815 val
* var22
/* : String */;
3816 val
* var23
/* : Array[Object] */;
3817 long var24
/* : Int */;
3818 val
* var25
/* : NativeArray[Object] */;
3819 val
* var26
/* : String */;
3820 static val
* varonce27
;
3821 val
* var28
/* : String */;
3822 char* var29
/* : NativeString */;
3823 long var30
/* : Int */;
3824 val
* var31
/* : String */;
3825 val
* var32
/* : AExpr */;
3826 val
* var33
/* : RuntimeVariable */;
3827 val
* var_i2
/* var i2: RuntimeVariable */;
3828 static val
* varonce34
;
3829 val
* var35
/* : String */;
3830 char* var36
/* : NativeString */;
3831 long var37
/* : Int */;
3832 val
* var38
/* : String */;
3833 static val
* varonce39
;
3834 val
* var40
/* : String */;
3835 char* var41
/* : NativeString */;
3836 long var42
/* : Int */;
3837 val
* var43
/* : String */;
3838 val
* var44
/* : Array[Object] */;
3839 long var45
/* : Int */;
3840 val
* var46
/* : NativeArray[Object] */;
3841 val
* var47
/* : String */;
3842 static val
* varonce48
;
3843 val
* var49
/* : String */;
3844 char* var50
/* : NativeString */;
3845 long var51
/* : Int */;
3846 val
* var52
/* : String */;
3848 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAndExpr>*/;
3850 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3851 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2162);
3854 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
3856 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr
]))(self
) /* n_expr on <self:AAndExpr>*/;
3857 var4
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var3
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3864 var8
= string__NativeString__to_s_with_length(var6
, var7
);
3873 var13
= string__NativeString__to_s_with_length(var11
, var12
);
3877 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
3878 { /* var14 = array_instance Array[Object] */
3880 var16
= NEW_array__NativeArray(var15
, &type_array__NativeArraykernel__Object
);
3881 ((struct instance_array__NativeArray
*)var16
)->values
[0] = (val
*) var5
;
3882 ((struct instance_array__NativeArray
*)var16
)->values
[1] = (val
*) var_i1
;
3883 ((struct instance_array__NativeArray
*)var16
)->values
[2] = (val
*) var10
;
3884 ((void (*)(val
*, val
*, long))(var14
->class->vft
[COLOR_array__Array__with_native
]))(var14
, var16
, var15
) /* with_native on <var14:Array[Object]>*/;
3886 var17
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_string__Object__to_s
]))(var14
) /* to_s on <var14:Array[Object]>*/;
3887 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var17
) /* add on <var_v:AbstractCompilerVisitor>*/;
3893 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3897 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
3898 { /* var23 = array_instance Array[Object] */
3900 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
3901 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var_res
;
3902 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
3903 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
3905 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
3906 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var26
) /* add on <var_v:AbstractCompilerVisitor>*/;
3912 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3916 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
3917 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAndExpr__n_expr2
]))(self
) /* n_expr2 on <self:AAndExpr>*/;
3918 var33
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var32
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
3925 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3934 var43
= string__NativeString__to_s_with_length(var41
, var42
);
3938 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
3939 { /* var44 = array_instance Array[Object] */
3941 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
3942 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var_res
;
3943 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var35
;
3944 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var_i2
;
3945 ((struct instance_array__NativeArray
*)var46
)->values
[3] = (val
*) var40
;
3946 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
3948 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
3949 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var47
) /* add on <var_v:AbstractCompilerVisitor>*/;
3955 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3959 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var49
) /* add on <var_v:AbstractCompilerVisitor>*/;
3965 /* method abstract_compiler#AAndExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
3966 val
* VIRTUAL_abstract_compiler__AAndExpr__expr(val
* self
, val
* p0
) {
3967 val
* var
/* : nullable RuntimeVariable */;
3968 val
* var1
/* : nullable RuntimeVariable */;
3969 var1
= abstract_compiler__AAndExpr__expr(self
, p0
);
3974 /* method abstract_compiler#ANotExpr#expr for (self: ANotExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
3975 val
* abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
3976 val
* var
/* : nullable RuntimeVariable */;
3977 val
* var_v
/* var v: AbstractCompilerVisitor */;
3978 val
* var1
/* : AExpr */;
3979 val
* var2
/* : RuntimeVariable */;
3980 val
* var_cond
/* var cond: RuntimeVariable */;
3981 static val
* varonce
;
3982 val
* var3
/* : String */;
3983 char* var4
/* : NativeString */;
3984 long var5
/* : Int */;
3985 val
* var6
/* : String */;
3986 val
* var7
/* : Array[Object] */;
3987 long var8
/* : Int */;
3988 val
* var9
/* : NativeArray[Object] */;
3989 val
* var10
/* : String */;
3990 val
* var11
/* : nullable MType */;
3991 val
* var12
/* : RuntimeVariable */;
3993 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANotExpr__n_expr
]))(self
) /* n_expr on <self:ANotExpr>*/;
3994 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr_bool
]))(var_v
, var1
) /* expr_bool on <var_v:AbstractCompilerVisitor>*/;
4001 var6
= string__NativeString__to_s_with_length(var4
, var5
);
4005 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4006 { /* var7 = array_instance Array[Object] */
4008 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
4009 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var3
;
4010 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var_cond
;
4011 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
4013 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
4014 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANotExpr>*/;
4015 if (var11
== NULL
) {
4016 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4017 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2178);
4020 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>*/;
4026 /* method abstract_compiler#ANotExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4027 val
* VIRTUAL_abstract_compiler__ANotExpr__expr(val
* self
, val
* p0
) {
4028 val
* var
/* : nullable RuntimeVariable */;
4029 val
* var1
/* : nullable RuntimeVariable */;
4030 var1
= abstract_compiler__ANotExpr__expr(self
, p0
);
4035 /* method abstract_compiler#AOrElseExpr#expr for (self: AOrElseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4036 val
* abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
4037 val
* var
/* : nullable RuntimeVariable */;
4038 val
* var_v
/* var v: AbstractCompilerVisitor */;
4039 val
* var1
/* : nullable MType */;
4040 val
* var2
/* : RuntimeVariable */;
4041 val
* var_res
/* var res: RuntimeVariable */;
4042 val
* var3
/* : AExpr */;
4043 val
* var4
/* : null */;
4044 val
* var5
/* : RuntimeVariable */;
4045 val
* var_i1
/* var i1: RuntimeVariable */;
4046 static val
* varonce
;
4047 val
* var6
/* : String */;
4048 char* var7
/* : NativeString */;
4049 long var8
/* : Int */;
4050 val
* var9
/* : String */;
4051 static val
* varonce10
;
4052 val
* var11
/* : String */;
4053 char* var12
/* : NativeString */;
4054 long var13
/* : Int */;
4055 val
* var14
/* : String */;
4056 val
* var15
/* : Array[Object] */;
4057 long var16
/* : Int */;
4058 val
* var17
/* : NativeArray[Object] */;
4059 val
* var18
/* : String */;
4060 static val
* varonce19
;
4061 val
* var20
/* : String */;
4062 char* var21
/* : NativeString */;
4063 long var22
/* : Int */;
4064 val
* var23
/* : String */;
4065 val
* var24
/* : AExpr */;
4066 val
* var25
/* : null */;
4067 val
* var26
/* : RuntimeVariable */;
4068 val
* var_i2
/* var i2: RuntimeVariable */;
4069 static val
* varonce27
;
4070 val
* var28
/* : String */;
4071 char* var29
/* : NativeString */;
4072 long var30
/* : Int */;
4073 val
* var31
/* : String */;
4075 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrElseExpr>*/;
4077 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4078 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2185);
4081 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var1
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
4083 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr
]))(self
) /* n_expr on <self:AOrElseExpr>*/;
4085 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4092 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4099 var12
= "!=NULL) {";
4101 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4105 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
4106 { /* var15 = array_instance Array[Object] */
4108 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
4109 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var6
;
4110 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var_i1
;
4111 ((struct instance_array__NativeArray
*)var17
)->values
[2] = (val
*) var11
;
4112 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
4114 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
4115 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var18
) /* add on <var_v:AbstractCompilerVisitor>*/;
4116 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i1
) /* assign on <var_v:AbstractCompilerVisitor>*/;
4122 var23
= string__NativeString__to_s_with_length(var21
, var22
);
4126 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var20
) /* add on <var_v:AbstractCompilerVisitor>*/;
4127 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AOrElseExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrElseExpr>*/;
4129 var26
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var24
, var25
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4131 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(var_v
, var_res
, var_i2
) /* assign on <var_v:AbstractCompilerVisitor>*/;
4137 var31
= string__NativeString__to_s_with_length(var29
, var30
);
4141 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var28
) /* add on <var_v:AbstractCompilerVisitor>*/;
4147 /* method abstract_compiler#AOrElseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4148 val
* VIRTUAL_abstract_compiler__AOrElseExpr__expr(val
* self
, val
* p0
) {
4149 val
* var
/* : nullable RuntimeVariable */;
4150 val
* var1
/* : nullable RuntimeVariable */;
4151 var1
= abstract_compiler__AOrElseExpr__expr(self
, p0
);
4156 /* method abstract_compiler#AIntExpr#expr for (self: AIntExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4157 val
* abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
4158 val
* var
/* : nullable RuntimeVariable */;
4159 val
* var_v
/* var v: AbstractCompilerVisitor */;
4160 val
* var1
/* : nullable Int */;
4161 val
* var2
/* : String */;
4162 val
* var3
/* : Array[Object] */;
4163 long var4
/* : Int */;
4164 val
* var5
/* : NativeArray[Object] */;
4165 val
* var6
/* : String */;
4166 val
* var7
/* : nullable MType */;
4167 val
* var8
/* : RuntimeVariable */;
4169 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AIntExpr__value
]))(self
) /* value on <self:AIntExpr>*/;
4171 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4172 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2198);
4175 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:nullable Int>*/;
4177 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4178 { /* var3 = array_instance Array[Object] */
4180 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
4181 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
4182 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
4184 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
4185 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AIntExpr>*/;
4187 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4188 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2198);
4191 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>*/;
4197 /* method abstract_compiler#AIntExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4198 val
* VIRTUAL_abstract_compiler__AIntExpr__expr(val
* self
, val
* p0
) {
4199 val
* var
/* : nullable RuntimeVariable */;
4200 val
* var1
/* : nullable RuntimeVariable */;
4201 var1
= abstract_compiler__AIntExpr__expr(self
, p0
);
4206 /* method abstract_compiler#AFloatExpr#expr for (self: AFloatExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4207 val
* abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
4208 val
* var
/* : nullable RuntimeVariable */;
4209 val
* var_v
/* var v: AbstractCompilerVisitor */;
4210 val
* var1
/* : TFloat */;
4211 val
* var2
/* : String */;
4212 val
* var3
/* : Array[Object] */;
4213 long var4
/* : Int */;
4214 val
* var5
/* : NativeArray[Object] */;
4215 val
* var6
/* : String */;
4216 val
* var7
/* : nullable MType */;
4217 val
* var8
/* : RuntimeVariable */;
4219 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AFloatExpr__n_float
]))(self
) /* n_float on <self:AFloatExpr>*/;
4220 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_parser_nodes__Token__text
]))(var1
) /* text on <var1:TFloat>*/;
4221 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4222 { /* var3 = array_instance Array[Object] */
4224 var5
= NEW_array__NativeArray(var4
, &type_array__NativeArraykernel__Object
);
4225 ((struct instance_array__NativeArray
*)var5
)->values
[0] = (val
*) var2
;
4226 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_array__Array__with_native
]))(var3
, var5
, var4
) /* with_native on <var3:Array[Object]>*/;
4228 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_string__Object__to_s
]))(var3
) /* to_s on <var3:Array[Object]>*/;
4229 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFloatExpr>*/;
4231 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4232 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2202);
4235 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>*/;
4241 /* method abstract_compiler#AFloatExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4242 val
* VIRTUAL_abstract_compiler__AFloatExpr__expr(val
* self
, val
* p0
) {
4243 val
* var
/* : nullable RuntimeVariable */;
4244 val
* var1
/* : nullable RuntimeVariable */;
4245 var1
= abstract_compiler__AFloatExpr__expr(self
, p0
);
4250 /* method abstract_compiler#ACharExpr#expr for (self: ACharExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4251 val
* abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
4252 val
* var
/* : nullable RuntimeVariable */;
4253 val
* var_v
/* var v: AbstractCompilerVisitor */;
4254 static val
* varonce
;
4255 val
* var1
/* : String */;
4256 char* var2
/* : NativeString */;
4257 long var3
/* : Int */;
4258 val
* var4
/* : String */;
4259 val
* var5
/* : nullable Char */;
4260 val
* var6
/* : String */;
4261 val
* var7
/* : String */;
4262 static val
* varonce8
;
4263 val
* var9
/* : String */;
4264 char* var10
/* : NativeString */;
4265 long var11
/* : Int */;
4266 val
* var12
/* : String */;
4267 val
* var13
/* : Array[Object] */;
4268 long var14
/* : Int */;
4269 val
* var15
/* : NativeArray[Object] */;
4270 val
* var16
/* : String */;
4271 val
* var17
/* : nullable MType */;
4272 val
* var18
/* : RuntimeVariable */;
4279 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4283 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__ACharExpr__value
]))(self
) /* value on <self:ACharExpr>*/;
4285 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4286 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2206);
4289 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__Object__to_s
]))(var5
) /* to_s on <var5:nullable Char>*/;
4291 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var6
) /* escape_to_c on <var6:String>*/;
4297 var12
= string__NativeString__to_s_with_length(var10
, var11
);
4301 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
4302 { /* var13 = array_instance Array[Object] */
4304 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
4305 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var1
;
4306 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var7
;
4307 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var9
;
4308 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
4310 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
4311 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACharExpr>*/;
4312 if (var17
== NULL
) {
4313 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4314 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2206);
4317 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>*/;
4323 /* method abstract_compiler#ACharExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4324 val
* VIRTUAL_abstract_compiler__ACharExpr__expr(val
* self
, val
* p0
) {
4325 val
* var
/* : nullable RuntimeVariable */;
4326 val
* var1
/* : nullable RuntimeVariable */;
4327 var1
= abstract_compiler__ACharExpr__expr(self
, p0
);
4332 /* method abstract_compiler#AArrayExpr#expr for (self: AArrayExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4333 val
* abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
4334 val
* var
/* : nullable RuntimeVariable */;
4335 val
* var_v
/* var v: AbstractCompilerVisitor */;
4336 val
* var1
/* : nullable MType */;
4337 short int var2
/* : Bool */;
4340 const char* var_class_name
;
4341 val
* var3
/* : Array[MType] */;
4342 val
* var4
/* : nullable Object */;
4343 val
* var_mtype
/* var mtype: MType */;
4344 val
* var5
/* : Array[RuntimeVariable] */;
4345 val
* var_array
/* var array: Array[RuntimeVariable] */;
4346 val
* var6
/* : AExprs */;
4347 val
* var7
/* : ANodes[AExpr] */;
4348 val
* var8
/* : Iterator[nullable Object] */;
4349 short int var9
/* : Bool */;
4350 val
* var10
/* : nullable Object */;
4351 val
* var_nexpr
/* var nexpr: AExpr */;
4352 val
* var11
/* : RuntimeVariable */;
4353 val
* var_i
/* var i: RuntimeVariable */;
4354 val
* var12
/* : RuntimeVariable */;
4356 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AArrayExpr>*/;
4357 /* <var1:nullable MType> isa MClassType */
4358 cltype
= type_model__MClassType
.color
;
4359 idtype
= type_model__MClassType
.id
;
4363 if(cltype
>= var1
->type
->table_size
) {
4366 var2
= var1
->type
->type_table
[cltype
] == idtype
;
4370 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
4371 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4372 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2212);
4375 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MClassType__arguments
]))(var1
) /* arguments on <var1:nullable MType(MClassType)>*/;
4376 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var3
) /* first on <var3:Array[MType]>*/;
4378 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4379 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[RuntimeVariable]>*/;
4381 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AArrayExpr__n_exprs
]))(self
) /* n_exprs on <self:AArrayExpr>*/;
4382 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
4383 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
4385 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
4387 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
4389 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>*/;
4391 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
4392 CONTINUE_label
: (void)0;
4393 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
4395 BREAK_label
: (void)0;
4396 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>*/;
4402 /* method abstract_compiler#AArrayExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4403 val
* VIRTUAL_abstract_compiler__AArrayExpr__expr(val
* self
, val
* p0
) {
4404 val
* var
/* : nullable RuntimeVariable */;
4405 val
* var1
/* : nullable RuntimeVariable */;
4406 var1
= abstract_compiler__AArrayExpr__expr(self
, p0
);
4411 /* method abstract_compiler#AStringFormExpr#expr for (self: AStringFormExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4412 val
* abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
4413 val
* var
/* : nullable RuntimeVariable */;
4414 val
* var_v
/* var v: AbstractCompilerVisitor */;
4415 val
* var1
/* : nullable String */;
4416 val
* var2
/* : RuntimeVariable */;
4418 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(self
) /* value on <self:AStringFormExpr>*/;
4420 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4421 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2223);
4424 var2
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__string_instance
]))(var_v
, var1
) /* string_instance on <var_v:AbstractCompilerVisitor>*/;
4430 /* method abstract_compiler#AStringFormExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4431 val
* VIRTUAL_abstract_compiler__AStringFormExpr__expr(val
* self
, val
* p0
) {
4432 val
* var
/* : nullable RuntimeVariable */;
4433 val
* var1
/* : nullable RuntimeVariable */;
4434 var1
= abstract_compiler__AStringFormExpr__expr(self
, p0
);
4439 /* method abstract_compiler#ASuperstringExpr#expr for (self: ASuperstringExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4440 val
* abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
4441 val
* var
/* : nullable RuntimeVariable */;
4442 val
* var_v
/* var v: AbstractCompilerVisitor */;
4443 val
* var1
/* : Array[RuntimeVariable] */;
4444 val
* var_array
/* var array: Array[RuntimeVariable] */;
4445 val
* var2
/* : ANodes[AExpr] */;
4446 val
* var3
/* : Iterator[nullable Object] */;
4447 short int var4
/* : Bool */;
4448 val
* var5
/* : nullable Object */;
4449 val
* var_ne
/* var ne: AExpr */;
4450 short int var6
/* : Bool */;
4451 short int var7
/* : Bool */;
4454 short int var_
/* var : Bool */;
4455 val
* var8
/* : nullable String */;
4456 static val
* varonce
;
4457 val
* var9
/* : String */;
4458 char* var10
/* : NativeString */;
4459 long var11
/* : Int */;
4460 val
* var12
/* : String */;
4461 short int var13
/* : Bool */;
4462 val
* var14
/* : null */;
4463 val
* var15
/* : RuntimeVariable */;
4464 val
* var_i
/* var i: RuntimeVariable */;
4465 val
* var16
/* : MClassType */;
4466 val
* var17
/* : RuntimeVariable */;
4467 val
* var_a
/* var a: RuntimeVariable */;
4468 static val
* varonce18
;
4469 val
* var19
/* : String */;
4470 char* var20
/* : NativeString */;
4471 long var21
/* : Int */;
4472 val
* var22
/* : String */;
4473 val
* var23
/* : MType */;
4474 val
* var24
/* : MMethod */;
4475 val
* var25
/* : Array[RuntimeVariable] */;
4476 long var26
/* : Int */;
4477 val
* var27
/* : NativeArray[RuntimeVariable] */;
4478 val
* var28
/* : nullable RuntimeVariable */;
4479 val
* var_res
/* var res: nullable RuntimeVariable */;
4481 var1
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4482 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[RuntimeVariable]>*/;
4484 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperstringExpr__n_exprs
]))(self
) /* n_exprs on <self:ASuperstringExpr>*/;
4485 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:ANodes[AExpr]>*/;
4487 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
4489 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
4491 /* <var_ne:AExpr> isa AStringFormExpr */
4492 cltype
= type_parser_nodes__AStringFormExpr
.color
;
4493 idtype
= type_parser_nodes__AStringFormExpr
.id
;
4494 if(cltype
>= var_ne
->type
->table_size
) {
4497 var7
= var_ne
->type
->type_table
[cltype
] == idtype
;
4501 var8
= ((val
* (*)(val
*))(var_ne
->class->vft
[COLOR_literal__AStringFormExpr__value
]))(var_ne
) /* value on <var_ne:AExpr(AStringFormExpr)>*/;
4507 var12
= string__NativeString__to_s_with_length(var10
, var11
);
4512 var13
= 0; /* <var9:String> cannot be null */
4514 var13
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var9
) /* == on <var8:nullable String>*/;
4521 goto CONTINUE_label
;
4525 var15
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_ne
, var14
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4527 ((void (*)(val
*, val
*))(var_array
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_array
, var_i
) /* add on <var_array:Array[RuntimeVariable]>*/;
4528 CONTINUE_label
: (void)0;
4529 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
4531 BREAK_label
: (void)0;
4532 var16
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(var_v
) /* object_type on <var_v:AbstractCompilerVisitor>*/;
4533 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>*/;
4540 var22
= string__NativeString__to_s_with_length(var20
, var21
);
4544 var23
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_a
) /* mtype on <var_a:RuntimeVariable>*/;
4545 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>*/;
4546 var25
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4547 { /* var25 = array_instance Array[RuntimeVariable] */
4549 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4550 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var_a
;
4551 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[RuntimeVariable]>*/;
4553 var28
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var24
, var25
) /* send on <var_v:AbstractCompilerVisitor>*/;
4560 /* method abstract_compiler#ASuperstringExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4561 val
* VIRTUAL_abstract_compiler__ASuperstringExpr__expr(val
* self
, val
* p0
) {
4562 val
* var
/* : nullable RuntimeVariable */;
4563 val
* var1
/* : nullable RuntimeVariable */;
4564 var1
= abstract_compiler__ASuperstringExpr__expr(self
, p0
);
4569 /* method abstract_compiler#ACrangeExpr#expr for (self: ACrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4570 val
* abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
4571 val
* var
/* : nullable RuntimeVariable */;
4572 val
* var_v
/* var v: AbstractCompilerVisitor */;
4573 val
* var1
/* : AExpr */;
4574 val
* var2
/* : null */;
4575 val
* var3
/* : RuntimeVariable */;
4576 val
* var_i1
/* var i1: RuntimeVariable */;
4577 val
* var4
/* : AExpr */;
4578 val
* var5
/* : null */;
4579 val
* var6
/* : RuntimeVariable */;
4580 val
* var_i2
/* var i2: RuntimeVariable */;
4581 val
* var7
/* : nullable MType */;
4582 short int var8
/* : Bool */;
4585 const char* var_class_name
;
4586 val
* var_mtype
/* var mtype: MClassType */;
4587 val
* var9
/* : RuntimeVariable */;
4588 val
* var_res
/* var res: RuntimeVariable */;
4589 static val
* varonce
;
4590 val
* var10
/* : String */;
4591 char* var11
/* : NativeString */;
4592 long var12
/* : Int */;
4593 val
* var13
/* : String */;
4594 val
* var14
/* : MType */;
4595 val
* var15
/* : MMethod */;
4596 val
* var16
/* : Array[RuntimeVariable] */;
4597 long var17
/* : Int */;
4598 val
* var18
/* : NativeArray[RuntimeVariable] */;
4599 val
* var19
/* : nullable RuntimeVariable */;
4600 val
* var_it
/* var it: nullable RuntimeVariable */;
4602 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:ACrangeExpr>*/;
4604 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4606 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:ACrangeExpr>*/;
4608 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4610 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ACrangeExpr>*/;
4611 /* <var7:nullable MType> isa MClassType */
4612 cltype
= type_model__MClassType
.color
;
4613 idtype
= type_model__MClassType
.id
;
4617 if(cltype
>= var7
->type
->table_size
) {
4620 var8
= var7
->type
->type_table
[cltype
] == idtype
;
4624 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
4625 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4626 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2246);
4630 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
4637 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4641 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
4642 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>*/;
4643 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4644 { /* var16 = array_instance Array[RuntimeVariable] */
4646 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4647 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
4648 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
4649 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
4650 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
4652 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
4659 /* method abstract_compiler#ACrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4660 val
* VIRTUAL_abstract_compiler__ACrangeExpr__expr(val
* self
, val
* p0
) {
4661 val
* var
/* : nullable RuntimeVariable */;
4662 val
* var1
/* : nullable RuntimeVariable */;
4663 var1
= abstract_compiler__ACrangeExpr__expr(self
, p0
);
4668 /* method abstract_compiler#AOrangeExpr#expr for (self: AOrangeExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4669 val
* abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
4670 val
* var
/* : nullable RuntimeVariable */;
4671 val
* var_v
/* var v: AbstractCompilerVisitor */;
4672 val
* var1
/* : AExpr */;
4673 val
* var2
/* : null */;
4674 val
* var3
/* : RuntimeVariable */;
4675 val
* var_i1
/* var i1: RuntimeVariable */;
4676 val
* var4
/* : AExpr */;
4677 val
* var5
/* : null */;
4678 val
* var6
/* : RuntimeVariable */;
4679 val
* var_i2
/* var i2: RuntimeVariable */;
4680 val
* var7
/* : nullable MType */;
4681 short int var8
/* : Bool */;
4684 const char* var_class_name
;
4685 val
* var_mtype
/* var mtype: MClassType */;
4686 val
* var9
/* : RuntimeVariable */;
4687 val
* var_res
/* var res: RuntimeVariable */;
4688 static val
* varonce
;
4689 val
* var10
/* : String */;
4690 char* var11
/* : NativeString */;
4691 long var12
/* : Int */;
4692 val
* var13
/* : String */;
4693 val
* var14
/* : MType */;
4694 val
* var15
/* : MMethod */;
4695 val
* var16
/* : Array[RuntimeVariable] */;
4696 long var17
/* : Int */;
4697 val
* var18
/* : NativeArray[RuntimeVariable] */;
4698 val
* var19
/* : nullable RuntimeVariable */;
4699 val
* var_it
/* var it: nullable RuntimeVariable */;
4701 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr
]))(self
) /* n_expr on <self:AOrangeExpr>*/;
4703 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4705 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ARangeExpr__n_expr2
]))(self
) /* n_expr2 on <self:AOrangeExpr>*/;
4707 var6
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var4
, var5
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4709 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOrangeExpr>*/;
4710 /* <var7:nullable MType> isa MClassType */
4711 cltype
= type_model__MClassType
.color
;
4712 idtype
= type_model__MClassType
.id
;
4716 if(cltype
>= var7
->type
->table_size
) {
4719 var8
= var7
->type
->type_table
[cltype
] == idtype
;
4723 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
4724 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4725 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2258);
4729 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
4734 var11
= "without_last";
4736 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4740 var14
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_res
) /* mtype on <var_res:RuntimeVariable>*/;
4741 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>*/;
4742 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4743 { /* var16 = array_instance Array[RuntimeVariable] */
4745 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4746 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_res
;
4747 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_i1
;
4748 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var_i2
;
4749 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[RuntimeVariable]>*/;
4751 var19
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var15
, var16
) /* send on <var_v:AbstractCompilerVisitor>*/;
4758 /* method abstract_compiler#AOrangeExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4759 val
* VIRTUAL_abstract_compiler__AOrangeExpr__expr(val
* self
, val
* p0
) {
4760 val
* var
/* : nullable RuntimeVariable */;
4761 val
* var1
/* : nullable RuntimeVariable */;
4762 var1
= abstract_compiler__AOrangeExpr__expr(self
, p0
);
4767 /* method abstract_compiler#ATrueExpr#expr for (self: ATrueExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4768 val
* abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
4769 val
* var
/* : nullable RuntimeVariable */;
4770 val
* var_v
/* var v: AbstractCompilerVisitor */;
4771 static val
* varonce
;
4772 val
* var1
/* : String */;
4773 char* var2
/* : NativeString */;
4774 long var3
/* : Int */;
4775 val
* var4
/* : String */;
4776 val
* var5
/* : nullable MType */;
4777 val
* var6
/* : RuntimeVariable */;
4784 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4788 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ATrueExpr>*/;
4790 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4791 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2266);
4794 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>*/;
4800 /* method abstract_compiler#ATrueExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4801 val
* VIRTUAL_abstract_compiler__ATrueExpr__expr(val
* self
, val
* p0
) {
4802 val
* var
/* : nullable RuntimeVariable */;
4803 val
* var1
/* : nullable RuntimeVariable */;
4804 var1
= abstract_compiler__ATrueExpr__expr(self
, p0
);
4809 /* method abstract_compiler#AFalseExpr#expr for (self: AFalseExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4810 val
* abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
4811 val
* var
/* : nullable RuntimeVariable */;
4812 val
* var_v
/* var v: AbstractCompilerVisitor */;
4813 static val
* varonce
;
4814 val
* var1
/* : String */;
4815 char* var2
/* : NativeString */;
4816 long var3
/* : Int */;
4817 val
* var4
/* : String */;
4818 val
* var5
/* : nullable MType */;
4819 val
* var6
/* : RuntimeVariable */;
4826 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4830 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AFalseExpr>*/;
4832 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4833 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2270);
4836 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>*/;
4842 /* method abstract_compiler#AFalseExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4843 val
* VIRTUAL_abstract_compiler__AFalseExpr__expr(val
* self
, val
* p0
) {
4844 val
* var
/* : nullable RuntimeVariable */;
4845 val
* var1
/* : nullable RuntimeVariable */;
4846 var1
= abstract_compiler__AFalseExpr__expr(self
, p0
);
4851 /* method abstract_compiler#ANullExpr#expr for (self: ANullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4852 val
* abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
4853 val
* var
/* : nullable RuntimeVariable */;
4854 val
* var_v
/* var v: AbstractCompilerVisitor */;
4855 static val
* varonce
;
4856 val
* var1
/* : String */;
4857 char* var2
/* : NativeString */;
4858 long var3
/* : Int */;
4859 val
* var4
/* : String */;
4860 val
* var5
/* : nullable MType */;
4861 val
* var6
/* : RuntimeVariable */;
4868 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4872 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANullExpr>*/;
4874 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4875 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2274);
4878 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>*/;
4884 /* method abstract_compiler#ANullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4885 val
* VIRTUAL_abstract_compiler__ANullExpr__expr(val
* self
, val
* p0
) {
4886 val
* var
/* : nullable RuntimeVariable */;
4887 val
* var1
/* : nullable RuntimeVariable */;
4888 var1
= abstract_compiler__ANullExpr__expr(self
, p0
);
4893 /* method abstract_compiler#AIsaExpr#expr for (self: AIsaExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4894 val
* abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
4895 val
* var
/* : nullable RuntimeVariable */;
4896 val
* var_v
/* var v: AbstractCompilerVisitor */;
4897 val
* var1
/* : AExpr */;
4898 val
* var2
/* : null */;
4899 val
* var3
/* : RuntimeVariable */;
4900 val
* var_i
/* var i: RuntimeVariable */;
4901 val
* var4
/* : nullable MType */;
4902 static val
* varonce
;
4903 val
* var5
/* : String */;
4904 char* var6
/* : NativeString */;
4905 long var7
/* : Int */;
4906 val
* var8
/* : String */;
4907 val
* var9
/* : RuntimeVariable */;
4909 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AIsaExpr__n_expr
]))(self
) /* n_expr on <self:AIsaExpr>*/;
4911 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4913 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AIsaExpr__cast_type
]))(self
) /* cast_type on <self:AIsaExpr>*/;
4915 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4916 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2281);
4924 var8
= string__NativeString__to_s_with_length(var6
, var7
);
4928 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>*/;
4934 /* method abstract_compiler#AIsaExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
4935 val
* VIRTUAL_abstract_compiler__AIsaExpr__expr(val
* self
, val
* p0
) {
4936 val
* var
/* : nullable RuntimeVariable */;
4937 val
* var1
/* : nullable RuntimeVariable */;
4938 var1
= abstract_compiler__AIsaExpr__expr(self
, p0
);
4943 /* method abstract_compiler#AAsCastExpr#expr for (self: AAsCastExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
4944 val
* abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
4945 val
* var
/* : nullable RuntimeVariable */;
4946 val
* var_v
/* var v: AbstractCompilerVisitor */;
4947 val
* var1
/* : AExpr */;
4948 val
* var2
/* : null */;
4949 val
* var3
/* : RuntimeVariable */;
4950 val
* var_i
/* var i: RuntimeVariable */;
4951 val
* var4
/* : AbstractCompiler */;
4952 val
* var5
/* : ModelBuilder */;
4953 val
* var6
/* : ToolContext */;
4954 val
* var7
/* : OptionBool */;
4955 val
* var8
/* : nullable Object */;
4956 short int var9
/* : Bool */;
4957 val
* var10
/* : nullable MType */;
4958 static val
* varonce
;
4959 val
* var11
/* : String */;
4960 char* var12
/* : NativeString */;
4961 long var13
/* : Int */;
4962 val
* var14
/* : String */;
4964 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsCastExpr__n_expr
]))(self
) /* n_expr on <self:AAsCastExpr>*/;
4966 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
4968 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4969 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
4970 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
4971 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
4972 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
4973 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
4979 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AAsCastExpr>*/;
4980 if (var10
== NULL
) {
4981 fprintf(stderr
, "Runtime error: %s", "Cast failed");
4982 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2291);
4990 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4994 ((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>*/;
5000 /* method abstract_compiler#AAsCastExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5001 val
* VIRTUAL_abstract_compiler__AAsCastExpr__expr(val
* self
, val
* p0
) {
5002 val
* var
/* : nullable RuntimeVariable */;
5003 val
* var1
/* : nullable RuntimeVariable */;
5004 var1
= abstract_compiler__AAsCastExpr__expr(self
, p0
);
5009 /* method abstract_compiler#AAsNotnullExpr#expr for (self: AAsNotnullExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5010 val
* abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
5011 val
* var
/* : nullable RuntimeVariable */;
5012 val
* var_v
/* var v: AbstractCompilerVisitor */;
5013 val
* var1
/* : AExpr */;
5014 val
* var2
/* : null */;
5015 val
* var3
/* : RuntimeVariable */;
5016 val
* var_i
/* var i: RuntimeVariable */;
5017 val
* var4
/* : AbstractCompiler */;
5018 val
* var5
/* : ModelBuilder */;
5019 val
* var6
/* : ToolContext */;
5020 val
* var7
/* : OptionBool */;
5021 val
* var8
/* : nullable Object */;
5022 short int var9
/* : Bool */;
5023 static val
* varonce
;
5024 val
* var10
/* : String */;
5025 char* var11
/* : NativeString */;
5026 long var12
/* : Int */;
5027 val
* var13
/* : String */;
5028 static val
* varonce14
;
5029 val
* var15
/* : String */;
5030 char* var16
/* : NativeString */;
5031 long var17
/* : Int */;
5032 val
* var18
/* : String */;
5033 val
* var19
/* : Array[Object] */;
5034 long var20
/* : Int */;
5035 val
* var21
/* : NativeArray[Object] */;
5036 val
* var22
/* : String */;
5037 static val
* varonce23
;
5038 val
* var24
/* : String */;
5039 char* var25
/* : NativeString */;
5040 long var26
/* : Int */;
5041 val
* var27
/* : String */;
5042 static val
* varonce28
;
5043 val
* var29
/* : String */;
5044 char* var30
/* : NativeString */;
5045 long var31
/* : Int */;
5046 val
* var32
/* : String */;
5048 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAsNotnullExpr__n_expr
]))(self
) /* n_expr on <self:AAsNotnullExpr>*/;
5050 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5052 var4
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5053 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var4
) /* modelbuilder on <var4:AbstractCompiler>*/;
5054 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var5
) /* toolcontext on <var5:ModelBuilder>*/;
5055 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(var6
) /* opt_no_check_assert on <var6:ToolContext>*/;
5056 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_opts__Option__value
]))(var7
) /* value on <var7:OptionBool>*/;
5057 var9
= ((struct instance_kernel__Bool
*)var8
)->value
; /* autounbox from nullable Object to Bool */;
5068 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5075 var16
= " == NULL) {";
5077 var18
= string__NativeString__to_s_with_length(var16
, var17
);
5081 var19
= NEW_array__Array(&type_array__Arraykernel__Object
);
5082 { /* var19 = array_instance Array[Object] */
5084 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArraykernel__Object
);
5085 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var10
;
5086 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_i
;
5087 ((struct instance_array__NativeArray
*)var21
)->values
[2] = (val
*) var15
;
5088 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
5090 var22
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
5091 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var22
) /* add on <var_v:AbstractCompilerVisitor>*/;
5095 var25
= "Cast failed";
5097 var27
= string__NativeString__to_s_with_length(var25
, var26
);
5101 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(var_v
, var24
) /* add_abort on <var_v:AbstractCompilerVisitor>*/;
5107 var32
= string__NativeString__to_s_with_length(var30
, var31
);
5111 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var29
) /* add on <var_v:AbstractCompilerVisitor>*/;
5117 /* method abstract_compiler#AAsNotnullExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5118 val
* VIRTUAL_abstract_compiler__AAsNotnullExpr__expr(val
* self
, val
* p0
) {
5119 val
* var
/* : nullable RuntimeVariable */;
5120 val
* var1
/* : nullable RuntimeVariable */;
5121 var1
= abstract_compiler__AAsNotnullExpr__expr(self
, p0
);
5126 /* method abstract_compiler#AParExpr#expr for (self: AParExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5127 val
* abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
5128 val
* var
/* : nullable RuntimeVariable */;
5129 val
* var_v
/* var v: AbstractCompilerVisitor */;
5130 val
* var1
/* : AExpr */;
5131 val
* var2
/* : null */;
5132 val
* var3
/* : RuntimeVariable */;
5134 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AParExpr>*/;
5136 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5142 /* method abstract_compiler#AParExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5143 val
* VIRTUAL_abstract_compiler__AParExpr__expr(val
* self
, val
* p0
) {
5144 val
* var
/* : nullable RuntimeVariable */;
5145 val
* var1
/* : nullable RuntimeVariable */;
5146 var1
= abstract_compiler__AParExpr__expr(self
, p0
);
5151 /* method abstract_compiler#AOnceExpr#expr for (self: AOnceExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5152 val
* abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
5153 val
* var
/* : nullable RuntimeVariable */;
5154 val
* var_v
/* var v: AbstractCompilerVisitor */;
5155 val
* var1
/* : nullable MType */;
5156 val
* var_mtype
/* var mtype: MType */;
5157 static val
* varonce
;
5158 val
* var2
/* : String */;
5159 char* var3
/* : NativeString */;
5160 long var4
/* : Int */;
5161 val
* var5
/* : String */;
5162 val
* var6
/* : String */;
5163 val
* var_name
/* var name: String */;
5164 static val
* varonce7
;
5165 val
* var8
/* : String */;
5166 char* var9
/* : NativeString */;
5167 long var10
/* : Int */;
5168 val
* var11
/* : String */;
5169 val
* var12
/* : String */;
5170 val
* var13
/* : String */;
5171 val
* var_guard
/* var guard: String */;
5172 static val
* varonce14
;
5173 val
* var15
/* : String */;
5174 char* var16
/* : NativeString */;
5175 long var17
/* : Int */;
5176 val
* var18
/* : String */;
5177 val
* var19
/* : String */;
5178 static val
* varonce20
;
5179 val
* var21
/* : String */;
5180 char* var22
/* : NativeString */;
5181 long var23
/* : Int */;
5182 val
* var24
/* : String */;
5183 static val
* varonce25
;
5184 val
* var26
/* : String */;
5185 char* var27
/* : NativeString */;
5186 long var28
/* : Int */;
5187 val
* var29
/* : String */;
5188 val
* var30
/* : Array[Object] */;
5189 long var31
/* : Int */;
5190 val
* var32
/* : NativeArray[Object] */;
5191 val
* var33
/* : String */;
5192 static val
* varonce34
;
5193 val
* var35
/* : String */;
5194 char* var36
/* : NativeString */;
5195 long var37
/* : Int */;
5196 val
* var38
/* : String */;
5197 static val
* varonce39
;
5198 val
* var40
/* : String */;
5199 char* var41
/* : NativeString */;
5200 long var42
/* : Int */;
5201 val
* var43
/* : String */;
5202 val
* var44
/* : Array[Object] */;
5203 long var45
/* : Int */;
5204 val
* var46
/* : NativeArray[Object] */;
5205 val
* var47
/* : String */;
5206 val
* var48
/* : RuntimeVariable */;
5207 val
* var_res
/* var res: RuntimeVariable */;
5208 static val
* varonce49
;
5209 val
* var50
/* : String */;
5210 char* var51
/* : NativeString */;
5211 long var52
/* : Int */;
5212 val
* var53
/* : String */;
5213 static val
* varonce54
;
5214 val
* var55
/* : String */;
5215 char* var56
/* : NativeString */;
5216 long var57
/* : Int */;
5217 val
* var58
/* : String */;
5218 val
* var59
/* : Array[Object] */;
5219 long var60
/* : Int */;
5220 val
* var61
/* : NativeArray[Object] */;
5221 val
* var62
/* : String */;
5222 static val
* varonce63
;
5223 val
* var64
/* : String */;
5224 char* var65
/* : NativeString */;
5225 long var66
/* : Int */;
5226 val
* var67
/* : String */;
5227 static val
* varonce68
;
5228 val
* var69
/* : String */;
5229 char* var70
/* : NativeString */;
5230 long var71
/* : Int */;
5231 val
* var72
/* : String */;
5232 val
* var73
/* : Array[Object] */;
5233 long var74
/* : Int */;
5234 val
* var75
/* : NativeArray[Object] */;
5235 val
* var76
/* : String */;
5236 static val
* varonce77
;
5237 val
* var78
/* : String */;
5238 char* var79
/* : NativeString */;
5239 long var80
/* : Int */;
5240 val
* var81
/* : String */;
5241 val
* var82
/* : AExpr */;
5242 val
* var83
/* : RuntimeVariable */;
5243 val
* var_i
/* var i: RuntimeVariable */;
5244 static val
* varonce84
;
5245 val
* var85
/* : String */;
5246 char* var86
/* : NativeString */;
5247 long var87
/* : Int */;
5248 val
* var88
/* : String */;
5249 static val
* varonce89
;
5250 val
* var90
/* : String */;
5251 char* var91
/* : NativeString */;
5252 long var92
/* : Int */;
5253 val
* var93
/* : String */;
5254 val
* var94
/* : Array[Object] */;
5255 long var95
/* : Int */;
5256 val
* var96
/* : NativeArray[Object] */;
5257 val
* var97
/* : String */;
5258 static val
* varonce98
;
5259 val
* var99
/* : String */;
5260 char* var100
/* : NativeString */;
5261 long var101
/* : Int */;
5262 val
* var102
/* : String */;
5263 static val
* varonce103
;
5264 val
* var104
/* : String */;
5265 char* var105
/* : NativeString */;
5266 long var106
/* : Int */;
5267 val
* var107
/* : String */;
5268 val
* var108
/* : Array[Object] */;
5269 long var109
/* : Int */;
5270 val
* var110
/* : NativeArray[Object] */;
5271 val
* var111
/* : String */;
5272 static val
* varonce112
;
5273 val
* var113
/* : String */;
5274 char* var114
/* : NativeString */;
5275 long var115
/* : Int */;
5276 val
* var116
/* : String */;
5277 val
* var117
/* : Array[Object] */;
5278 long var118
/* : Int */;
5279 val
* var119
/* : NativeArray[Object] */;
5280 val
* var120
/* : String */;
5281 static val
* varonce121
;
5282 val
* var122
/* : String */;
5283 char* var123
/* : NativeString */;
5284 long var124
/* : Int */;
5285 val
* var125
/* : String */;
5287 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:AOnceExpr>*/;
5289 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5290 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2316);
5299 var5
= string__NativeString__to_s_with_length(var3
, var4
);
5303 var6
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var2
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
5310 var11
= string__NativeString__to_s_with_length(var9
, var10
);
5314 var12
= ((val
* (*)(val
*, val
*))(var_name
->class->vft
[COLOR_string__String___43d
]))(var_name
, var8
) /* + on <var_name:String>*/;
5315 var13
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var12
) /* get_name on <var_v:AbstractCompilerVisitor>*/;
5322 var18
= string__NativeString__to_s_with_length(var16
, var17
);
5326 var19
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
5332 var24
= string__NativeString__to_s_with_length(var22
, var23
);
5341 var29
= string__NativeString__to_s_with_length(var27
, var28
);
5345 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
5346 { /* var30 = array_instance Array[Object] */
5348 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
5349 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var15
;
5350 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var19
;
5351 ((struct instance_array__NativeArray
*)var32
)->values
[2] = (val
*) var21
;
5352 ((struct instance_array__NativeArray
*)var32
)->values
[3] = (val
*) var_name
;
5353 ((struct instance_array__NativeArray
*)var32
)->values
[4] = (val
*) var26
;
5354 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
5356 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
5357 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var33
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5361 var36
= "static int ";
5363 var38
= string__NativeString__to_s_with_length(var36
, var37
);
5372 var43
= string__NativeString__to_s_with_length(var41
, var42
);
5376 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
5377 { /* var44 = array_instance Array[Object] */
5379 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
5380 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
5381 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_guard
;
5382 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
5383 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
5385 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
5386 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var47
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5387 var48
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_mtype
) /* new_var on <var_v:AbstractCompilerVisitor>*/;
5394 var53
= string__NativeString__to_s_with_length(var51
, var52
);
5403 var58
= string__NativeString__to_s_with_length(var56
, var57
);
5407 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
5408 { /* var59 = array_instance Array[Object] */
5410 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
5411 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
5412 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_guard
;
5413 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
5414 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
5416 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
5417 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var62
) /* add on <var_v:AbstractCompilerVisitor>*/;
5423 var67
= string__NativeString__to_s_with_length(var65
, var66
);
5432 var72
= string__NativeString__to_s_with_length(var70
, var71
);
5436 var73
= NEW_array__Array(&type_array__Arraykernel__Object
);
5437 { /* var73 = array_instance Array[Object] */
5439 var75
= NEW_array__NativeArray(var74
, &type_array__NativeArraykernel__Object
);
5440 ((struct instance_array__NativeArray
*)var75
)->values
[0] = (val
*) var_res
;
5441 ((struct instance_array__NativeArray
*)var75
)->values
[1] = (val
*) var64
;
5442 ((struct instance_array__NativeArray
*)var75
)->values
[2] = (val
*) var_name
;
5443 ((struct instance_array__NativeArray
*)var75
)->values
[3] = (val
*) var69
;
5444 ((void (*)(val
*, val
*, long))(var73
->class->vft
[COLOR_array__Array__with_native
]))(var73
, var75
, var74
) /* with_native on <var73:Array[Object]>*/;
5446 var76
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_string__Object__to_s
]))(var73
) /* to_s on <var73:Array[Object]>*/;
5447 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var76
) /* add on <var_v:AbstractCompilerVisitor>*/;
5453 var81
= string__NativeString__to_s_with_length(var79
, var80
);
5457 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var78
) /* add on <var_v:AbstractCompilerVisitor>*/;
5458 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AProxyExpr__n_expr
]))(self
) /* n_expr on <self:AOnceExpr>*/;
5459 var83
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var82
, var_mtype
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5466 var88
= string__NativeString__to_s_with_length(var86
, var87
);
5475 var93
= string__NativeString__to_s_with_length(var91
, var92
);
5479 var94
= NEW_array__Array(&type_array__Arraykernel__Object
);
5480 { /* var94 = array_instance Array[Object] */
5482 var96
= NEW_array__NativeArray(var95
, &type_array__NativeArraykernel__Object
);
5483 ((struct instance_array__NativeArray
*)var96
)->values
[0] = (val
*) var_res
;
5484 ((struct instance_array__NativeArray
*)var96
)->values
[1] = (val
*) var85
;
5485 ((struct instance_array__NativeArray
*)var96
)->values
[2] = (val
*) var_i
;
5486 ((struct instance_array__NativeArray
*)var96
)->values
[3] = (val
*) var90
;
5487 ((void (*)(val
*, val
*, long))(var94
->class->vft
[COLOR_array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
5489 var97
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
5490 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var97
) /* add on <var_v:AbstractCompilerVisitor>*/;
5496 var102
= string__NativeString__to_s_with_length(var100
, var101
);
5501 var104
= varonce103
;
5505 var107
= string__NativeString__to_s_with_length(var105
, var106
);
5507 varonce103
= var104
;
5509 var108
= NEW_array__Array(&type_array__Arraykernel__Object
);
5510 { /* var108 = array_instance Array[Object] */
5512 var110
= NEW_array__NativeArray(var109
, &type_array__NativeArraykernel__Object
);
5513 ((struct instance_array__NativeArray
*)var110
)->values
[0] = (val
*) var_name
;
5514 ((struct instance_array__NativeArray
*)var110
)->values
[1] = (val
*) var99
;
5515 ((struct instance_array__NativeArray
*)var110
)->values
[2] = (val
*) var_res
;
5516 ((struct instance_array__NativeArray
*)var110
)->values
[3] = (val
*) var104
;
5517 ((void (*)(val
*, val
*, long))(var108
->class->vft
[COLOR_array__Array__with_native
]))(var108
, var110
, var109
) /* with_native on <var108:Array[Object]>*/;
5519 var111
= ((val
* (*)(val
*))(var108
->class->vft
[COLOR_string__Object__to_s
]))(var108
) /* to_s on <var108:Array[Object]>*/;
5520 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var111
) /* add on <var_v:AbstractCompilerVisitor>*/;
5522 var113
= varonce112
;
5526 var116
= string__NativeString__to_s_with_length(var114
, var115
);
5528 varonce112
= var113
;
5530 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
5531 { /* var117 = array_instance Array[Object] */
5533 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
5534 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_guard
;
5535 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var113
;
5536 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
5538 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
5539 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var120
) /* add on <var_v:AbstractCompilerVisitor>*/;
5541 var122
= varonce121
;
5545 var125
= string__NativeString__to_s_with_length(var123
, var124
);
5547 varonce121
= var122
;
5549 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:AbstractCompilerVisitor>*/;
5555 /* method abstract_compiler#AOnceExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5556 val
* VIRTUAL_abstract_compiler__AOnceExpr__expr(val
* self
, val
* p0
) {
5557 val
* var
/* : nullable RuntimeVariable */;
5558 val
* var1
/* : nullable RuntimeVariable */;
5559 var1
= abstract_compiler__AOnceExpr__expr(self
, p0
);
5564 /* method abstract_compiler#ASendExpr#expr for (self: ASendExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5565 val
* abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
5566 val
* var
/* : nullable RuntimeVariable */;
5567 val
* var_v
/* var v: AbstractCompilerVisitor */;
5568 val
* var1
/* : AExpr */;
5569 val
* var2
/* : null */;
5570 val
* var3
/* : RuntimeVariable */;
5571 val
* var_recv
/* var recv: RuntimeVariable */;
5572 val
* var4
/* : Array[RuntimeVariable] */;
5573 long var5
/* : Int */;
5574 val
* var_
/* var : Array[RuntimeVariable] */;
5575 val
* var_args
/* var args: Array[RuntimeVariable] */;
5576 val
* var6
/* : nullable Array[AExpr] */;
5577 val
* var7
/* : Iterator[nullable Object] */;
5578 short int var8
/* : Bool */;
5579 val
* var9
/* : nullable Object */;
5580 val
* var_a
/* var a: AExpr */;
5581 val
* var10
/* : null */;
5582 val
* var11
/* : RuntimeVariable */;
5583 val
* var12
/* : nullable CallSite */;
5584 val
* var13
/* : nullable RuntimeVariable */;
5586 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendExpr>*/;
5588 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5590 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5592 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
5594 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
5596 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendExpr>*/;
5598 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5599 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2339);
5602 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:nullable Array[AExpr](Array[AExpr])>*/;
5604 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
5606 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
5609 var11
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var10
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5610 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var11
) /* add on <var_args:Array[RuntimeVariable]>*/;
5611 CONTINUE_label
: (void)0;
5612 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
5614 BREAK_label
: (void)0;
5615 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendExpr>*/;
5616 if (var12
== NULL
) {
5617 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5618 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2342);
5621 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>*/;
5627 /* method abstract_compiler#ASendExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5628 val
* VIRTUAL_abstract_compiler__ASendExpr__expr(val
* self
, val
* p0
) {
5629 val
* var
/* : nullable RuntimeVariable */;
5630 val
* var1
/* : nullable RuntimeVariable */;
5631 var1
= abstract_compiler__ASendExpr__expr(self
, p0
);
5636 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: ASendReassignFormExpr, AbstractCompilerVisitor) */
5637 void abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
5638 val
* var_v
/* var v: AbstractCompilerVisitor */;
5639 val
* var
/* : AExpr */;
5640 val
* var1
/* : null */;
5641 val
* var2
/* : RuntimeVariable */;
5642 val
* var_recv
/* var recv: RuntimeVariable */;
5643 val
* var3
/* : Array[RuntimeVariable] */;
5644 long var4
/* : Int */;
5645 val
* var_
/* var : Array[RuntimeVariable] */;
5646 val
* var_args
/* var args: Array[RuntimeVariable] */;
5647 val
* var5
/* : nullable Array[AExpr] */;
5648 val
* var6
/* : Iterator[nullable Object] */;
5649 short int var7
/* : Bool */;
5650 val
* var8
/* : nullable Object */;
5651 val
* var_a
/* var a: AExpr */;
5652 val
* var9
/* : null */;
5653 val
* var10
/* : RuntimeVariable */;
5654 val
* var11
/* : AExpr */;
5655 val
* var12
/* : null */;
5656 val
* var13
/* : RuntimeVariable */;
5657 val
* var_value
/* var value: RuntimeVariable */;
5658 val
* var14
/* : nullable CallSite */;
5659 val
* var15
/* : nullable RuntimeVariable */;
5660 val
* var_left
/* var left: nullable RuntimeVariable */;
5661 val
* var16
/* : null */;
5662 short int var17
/* : Bool */;
5663 val
* var18
/* : nullable CallSite */;
5664 val
* var19
/* : Array[RuntimeVariable] */;
5665 long var20
/* : Int */;
5666 val
* var21
/* : NativeArray[RuntimeVariable] */;
5667 val
* var22
/* : nullable RuntimeVariable */;
5668 val
* var_res
/* var res: nullable RuntimeVariable */;
5669 val
* var23
/* : null */;
5670 short int var24
/* : Bool */;
5671 val
* var25
/* : nullable CallSite */;
5672 val
* var26
/* : nullable RuntimeVariable */;
5674 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASendExpr__n_expr
]))(self
) /* n_expr on <self:ASendReassignFormExpr>*/;
5676 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5678 var3
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5680 ((void (*)(val
*, long))(var3
->class->vft
[COLOR_array__Array__with_capacity
]))(var3
, var4
) /* with_capacity on <var3:Array[RuntimeVariable]>*/;
5682 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
5684 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__raw_arguments
]))(self
) /* raw_arguments on <self:ASendReassignFormExpr>*/;
5686 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5687 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2351);
5690 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var5
) /* iterator on <var5:nullable Array[AExpr](Array[AExpr])>*/;
5692 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
5694 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
5697 var10
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var9
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5698 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var10
) /* add on <var_args:Array[RuntimeVariable]>*/;
5699 CONTINUE_label
: (void)0;
5700 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
5702 BREAK_label
: (void)0;
5703 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:ASendReassignFormExpr>*/;
5705 var13
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var11
, var12
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5707 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendExpr__callsite
]))(self
) /* callsite on <self:ASendReassignFormExpr>*/;
5708 if (var14
== NULL
) {
5709 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5710 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2356);
5713 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>*/;
5716 if (var_left
== NULL
) {
5717 var17
= 0; /* is null */
5719 var17
= 1; /* arg is null and recv is not */
5722 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5723 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2357);
5726 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:ASendReassignFormExpr>*/;
5727 if (var18
== NULL
) {
5728 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5729 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2359);
5732 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5733 { /* var19 = array_instance Array[RuntimeVariable] */
5735 var21
= NEW_array__NativeArray(var20
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
5736 ((struct instance_array__NativeArray
*)var21
)->values
[0] = (val
*) var_left
;
5737 ((struct instance_array__NativeArray
*)var21
)->values
[1] = (val
*) var_value
;
5738 ((void (*)(val
*, val
*, long))(var19
->class->vft
[COLOR_array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[RuntimeVariable]>*/;
5740 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>*/;
5743 if (var_res
== NULL
) {
5744 var24
= 0; /* is null */
5746 var24
= 1; /* arg is null and recv is not */
5749 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5750 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2360);
5753 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var_res
) /* add on <var_args:Array[RuntimeVariable]>*/;
5754 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASendReassignFormExpr__write_callsite
]))(self
) /* write_callsite on <self:ASendReassignFormExpr>*/;
5755 if (var25
== NULL
) {
5756 fprintf(stderr
, "Runtime error: %s", "Cast failed");
5757 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2363);
5760 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>*/;
5764 /* method abstract_compiler#ASendReassignFormExpr#stmt for (self: Object, AbstractCompilerVisitor) */
5765 void VIRTUAL_abstract_compiler__ASendReassignFormExpr__stmt(val
* self
, val
* p0
) {
5766 abstract_compiler__ASendReassignFormExpr__stmt(self
, p0
);
5769 /* method abstract_compiler#ASuperExpr#expr for (self: ASuperExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5770 val
* abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
5771 val
* var
/* : nullable RuntimeVariable */;
5772 val
* var_v
/* var v: AbstractCompilerVisitor */;
5773 val
* var1
/* : nullable Frame */;
5774 val
* var2
/* : Array[RuntimeVariable] */;
5775 val
* var3
/* : nullable Object */;
5776 val
* var_recv
/* var recv: RuntimeVariable */;
5777 val
* var4
/* : Array[RuntimeVariable] */;
5778 long var5
/* : Int */;
5779 val
* var_
/* var : Array[RuntimeVariable] */;
5780 val
* var_args
/* var args: Array[RuntimeVariable] */;
5781 val
* var6
/* : AExprs */;
5782 val
* var7
/* : ANodes[AExpr] */;
5783 val
* var8
/* : Iterator[nullable Object] */;
5784 short int var9
/* : Bool */;
5785 val
* var10
/* : nullable Object */;
5786 val
* var_a
/* var a: AExpr */;
5787 val
* var11
/* : null */;
5788 val
* var12
/* : RuntimeVariable */;
5789 long var13
/* : Int */;
5790 long var14
/* : Int */;
5791 short int var15
/* : Bool */;
5792 short int var17
/* : Bool */;
5793 val
* var18
/* : nullable Frame */;
5794 val
* var19
/* : Array[RuntimeVariable] */;
5795 val
* var20
/* : nullable MMethod */;
5796 val
* var_mproperty
/* var mproperty: nullable MMethod */;
5797 val
* var21
/* : null */;
5798 short int var22
/* : Bool */;
5799 val
* var23
/* : MPropDef */;
5800 val
* var24
/* : nullable MSignature */;
5801 long var25
/* : Int */;
5802 long var26
/* : Int */;
5803 short int var27
/* : Bool */;
5804 short int var29
/* : Bool */;
5805 val
* var30
/* : Array[RuntimeVariable] */;
5806 long var31
/* : Int */;
5807 val
* var_32
/* var : Array[RuntimeVariable] */;
5808 val
* var33
/* : nullable RuntimeVariable */;
5809 val
* var_res
/* var res: nullable RuntimeVariable */;
5810 val
* var34
/* : nullable Frame */;
5811 val
* var35
/* : MPropDef */;
5812 short int var36
/* : Bool */;
5815 const char* var_class_name
;
5816 val
* var37
/* : MType */;
5817 short int var38
/* : Bool */;
5820 const char* var_class_name41
;
5821 val
* var42
/* : nullable RuntimeVariable */;
5823 var1
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
5825 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5826 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2370);
5829 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var1
) /* arguments on <var1:nullable Frame>*/;
5831 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[RuntimeVariable]>*/;
5833 var4
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5835 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[RuntimeVariable]>*/;
5837 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
5839 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ASuperExpr__n_args
]))(self
) /* n_args on <self:ASuperExpr>*/;
5840 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var6
) /* n_exprs on <var6:AExprs>*/;
5841 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:ANodes[AExpr]>*/;
5843 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
5845 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
5848 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var11
) /* expr on <var_v:AbstractCompilerVisitor>*/;
5849 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var12
) /* add on <var_args:Array[RuntimeVariable]>*/;
5850 CONTINUE_label
: (void)0;
5851 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
5853 BREAK_label
: (void)0;
5854 var13
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
5856 { /* Inline kernel#Int#== (var13,var14) */
5857 var17
= var13
== var14
;
5860 RET_LABEL16
:(void)0;
5863 var18
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
5864 if (var18
== NULL
) {
5865 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5866 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2376);
5869 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
5874 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ASuperExpr__mproperty
]))(self
) /* mproperty on <self:ASuperExpr>*/;
5875 var_mproperty
= var20
;
5877 if (var_mproperty
== NULL
) {
5878 var22
= 0; /* is null */
5880 var22
= 1; /* arg is null and recv is not */
5883 var23
= ((val
* (*)(val
*))(var_mproperty
->class->vft
[COLOR_model__MProperty__intro
]))(var_mproperty
) /* intro on <var_mproperty:nullable MMethod(MMethod)>*/;
5884 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var23
) /* msignature on <var23:MPropDef(MMethodDef)>*/;
5885 if (var24
== NULL
) {
5886 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5887 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2381);
5890 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_model__MSignature__arity
]))(var24
) /* arity on <var24:nullable MSignature>*/;
5893 { /* Inline kernel#Int#== (var25,var26) */
5894 var29
= var25
== var26
;
5897 RET_LABEL28
:(void)0;
5900 var30
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5902 ((void (*)(val
*, long))(var30
->class->vft
[COLOR_array__Array__with_capacity
]))(var30
, var31
) /* with_capacity on <var30:Array[RuntimeVariable]>*/;
5904 ((void (*)(val
*, val
*))(var_32
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_32
, var_recv
) /* push on <var_32:Array[RuntimeVariable]>*/;
5908 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>*/;
5914 var34
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:AbstractCompilerVisitor>*/;
5915 if (var34
== NULL
) {
5916 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
5917 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2390);
5920 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var34
) /* mpropdef on <var34:nullable Frame>*/;
5922 /* <var35:MPropDef> isa MMethodDef */
5923 cltype
= type_model__MMethodDef
.color
;
5924 idtype
= type_model__MMethodDef
.id
;
5925 if(cltype
>= var35
->type
->table_size
) {
5928 var36
= var35
->type
->type_table
[cltype
] == idtype
;
5931 var_class_name
= var35
== NULL ?
"null" : var35
->type
->name
;
5932 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MMethodDef", var_class_name
);
5933 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2390);
5936 var37
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_recv
) /* mtype on <var_recv:RuntimeVariable>*/;
5937 /* <var37:MType> isa MClassType */
5938 cltype39
= type_model__MClassType
.color
;
5939 idtype40
= type_model__MClassType
.id
;
5940 if(cltype39
>= var37
->type
->table_size
) {
5943 var38
= var37
->type
->type_table
[cltype39
] == idtype40
;
5946 var_class_name41
= var37
== NULL ?
"null" : var37
->type
->name
;
5947 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name41
);
5948 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2390);
5951 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>*/;
5957 /* method abstract_compiler#ASuperExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
5958 val
* VIRTUAL_abstract_compiler__ASuperExpr__expr(val
* self
, val
* p0
) {
5959 val
* var
/* : nullable RuntimeVariable */;
5960 val
* var1
/* : nullable RuntimeVariable */;
5961 var1
= abstract_compiler__ASuperExpr__expr(self
, p0
);
5966 /* method abstract_compiler#ANewExpr#expr for (self: ANewExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
5967 val
* abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
5968 val
* var
/* : nullable RuntimeVariable */;
5969 val
* var_v
/* var v: AbstractCompilerVisitor */;
5970 val
* var1
/* : nullable MType */;
5971 short int var2
/* : Bool */;
5974 const char* var_class_name
;
5975 val
* var_mtype
/* var mtype: MClassType */;
5976 val
* var3
/* : String */;
5977 val
* var_ctype
/* var ctype: String */;
5978 static val
* varonce
;
5979 val
* var4
/* : String */;
5980 char* var5
/* : NativeString */;
5981 long var6
/* : Int */;
5982 val
* var7
/* : String */;
5983 short int var8
/* : Bool */;
5984 val
* var9
/* : RuntimeVariable */;
5985 val
* var_recv
/* var recv: nullable Object */;
5986 static val
* varonce10
;
5987 val
* var11
/* : String */;
5988 char* var12
/* : NativeString */;
5989 long var13
/* : Int */;
5990 val
* var14
/* : String */;
5991 short int var15
/* : Bool */;
5992 static val
* varonce16
;
5993 val
* var17
/* : String */;
5994 char* var18
/* : NativeString */;
5995 long var19
/* : Int */;
5996 val
* var20
/* : String */;
5997 val
* var21
/* : RuntimeVariable */;
5998 static val
* varonce22
;
5999 val
* var23
/* : String */;
6000 char* var24
/* : NativeString */;
6001 long var25
/* : Int */;
6002 val
* var26
/* : String */;
6003 val
* var27
/* : Array[Object] */;
6004 long var28
/* : Int */;
6005 val
* var29
/* : NativeArray[Object] */;
6006 val
* var30
/* : String */;
6007 val
* var31
/* : Array[RuntimeVariable] */;
6008 long var32
/* : Int */;
6009 val
* var_
/* var : Array[RuntimeVariable] */;
6010 val
* var_args
/* var args: Array[RuntimeVariable] */;
6011 val
* var33
/* : AExprs */;
6012 val
* var34
/* : ANodes[AExpr] */;
6013 val
* var35
/* : Iterator[nullable Object] */;
6014 short int var36
/* : Bool */;
6015 val
* var37
/* : nullable Object */;
6016 val
* var_a
/* var a: AExpr */;
6017 val
* var38
/* : null */;
6018 val
* var39
/* : RuntimeVariable */;
6019 val
* var40
/* : nullable CallSite */;
6020 val
* var41
/* : nullable RuntimeVariable */;
6021 val
* var_res2
/* var res2: nullable RuntimeVariable */;
6022 val
* var42
/* : null */;
6023 short int var43
/* : Bool */;
6025 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AExpr__mtype
]))(self
) /* mtype on <self:ANewExpr>*/;
6026 /* <var1:nullable MType> isa MClassType */
6027 cltype
= type_model__MClassType
.color
;
6028 idtype
= type_model__MClassType
.id
;
6032 if(cltype
>= var1
->type
->table_size
) {
6035 var2
= var1
->type
->type_table
[cltype
] == idtype
;
6039 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
6040 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6041 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2397);
6045 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
6052 var7
= string__NativeString__to_s_with_length(var5
, var6
);
6056 var8
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var4
) /* == on <var_ctype:String>*/;
6058 var9
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_mtype
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
6066 var14
= string__NativeString__to_s_with_length(var12
, var13
);
6070 var15
= ((short int (*)(val
*, val
*))(var_ctype
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_ctype
, var11
) /* == on <var_ctype:String>*/;
6075 var18
= "NULL/*special!*/";
6077 var20
= string__NativeString__to_s_with_length(var18
, var19
);
6081 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>*/;
6087 var24
= "cannot new ";
6089 var26
= string__NativeString__to_s_with_length(var24
, var25
);
6093 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
6094 { /* var27 = array_instance Array[Object] */
6096 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
6097 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var23
;
6098 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_mtype
;
6099 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
6101 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
6102 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(self
, var30
) /* debug on <self:ANewExpr>*/;
6103 fprintf(stderr
, "Runtime error: %s", "Aborted");
6104 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2406);
6108 var31
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6110 ((void (*)(val
*, long))(var31
->class->vft
[COLOR_array__Array__with_capacity
]))(var31
, var32
) /* with_capacity on <var31:Array[RuntimeVariable]>*/;
6112 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
6114 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__ANewExpr__n_args
]))(self
) /* n_args on <self:ANewExpr>*/;
6115 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_parser_nodes__AExprs__n_exprs
]))(var33
) /* n_exprs on <var33:AExprs>*/;
6116 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var34
) /* iterator on <var34:ANodes[AExpr]>*/;
6118 var36
= ((short int (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var35
) /* is_ok on <var35:Iterator[nullable Object]>*/;
6120 var37
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var35
) /* item on <var35:Iterator[nullable Object]>*/;
6123 var39
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var_a
, var38
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6124 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var39
) /* add on <var_args:Array[RuntimeVariable]>*/;
6125 CONTINUE_label
: (void)0;
6126 ((void (*)(val
*))(var35
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var35
) /* next on <var35:Iterator[nullable Object]>*/;
6128 BREAK_label
: (void)0;
6129 var40
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__ANewExpr__callsite
]))(self
) /* callsite on <self:ANewExpr>*/;
6130 if (var40
== NULL
) {
6131 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6132 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2412);
6135 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>*/;
6138 if (var_res2
== NULL
) {
6139 var43
= 0; /* is null */
6141 var43
= 1; /* arg is null and recv is not */
6153 /* method abstract_compiler#ANewExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6154 val
* VIRTUAL_abstract_compiler__ANewExpr__expr(val
* self
, val
* p0
) {
6155 val
* var
/* : nullable RuntimeVariable */;
6156 val
* var1
/* : nullable RuntimeVariable */;
6157 var1
= abstract_compiler__ANewExpr__expr(self
, p0
);
6162 /* method abstract_compiler#AAttrExpr#expr for (self: AAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6163 val
* abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
6164 val
* var
/* : nullable RuntimeVariable */;
6165 val
* var_v
/* var v: AbstractCompilerVisitor */;
6166 val
* var1
/* : AExpr */;
6167 val
* var2
/* : null */;
6168 val
* var3
/* : RuntimeVariable */;
6169 val
* var_recv
/* var recv: RuntimeVariable */;
6170 val
* var4
/* : nullable MAttribute */;
6171 val
* var_mproperty
/* var mproperty: MAttribute */;
6172 val
* var5
/* : RuntimeVariable */;
6174 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrExpr>*/;
6176 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6178 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrExpr>*/;
6180 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6181 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2425);
6184 var_mproperty
= var4
;
6185 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>*/;
6191 /* method abstract_compiler#AAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6192 val
* VIRTUAL_abstract_compiler__AAttrExpr__expr(val
* self
, val
* p0
) {
6193 val
* var
/* : nullable RuntimeVariable */;
6194 val
* var1
/* : nullable RuntimeVariable */;
6195 var1
= abstract_compiler__AAttrExpr__expr(self
, p0
);
6200 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: AAttrAssignExpr, AbstractCompilerVisitor) */
6201 void abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
6202 val
* var_v
/* var v: AbstractCompilerVisitor */;
6203 val
* var
/* : AExpr */;
6204 val
* var1
/* : null */;
6205 val
* var2
/* : RuntimeVariable */;
6206 val
* var_recv
/* var recv: RuntimeVariable */;
6207 val
* var3
/* : AExpr */;
6208 val
* var4
/* : null */;
6209 val
* var5
/* : RuntimeVariable */;
6210 val
* var_i
/* var i: RuntimeVariable */;
6211 val
* var6
/* : nullable MAttribute */;
6212 val
* var_mproperty
/* var mproperty: MAttribute */;
6214 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrAssignExpr>*/;
6216 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6218 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAssignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrAssignExpr>*/;
6220 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6222 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrAssignExpr>*/;
6224 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6225 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2435);
6228 var_mproperty
= var6
;
6229 ((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>*/;
6232 /* method abstract_compiler#AAttrAssignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6233 void VIRTUAL_abstract_compiler__AAttrAssignExpr__stmt(val
* self
, val
* p0
) {
6234 abstract_compiler__AAttrAssignExpr__stmt(self
, p0
);
6237 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: AAttrReassignExpr, AbstractCompilerVisitor) */
6238 void abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
6239 val
* var_v
/* var v: AbstractCompilerVisitor */;
6240 val
* var
/* : AExpr */;
6241 val
* var1
/* : null */;
6242 val
* var2
/* : RuntimeVariable */;
6243 val
* var_recv
/* var recv: RuntimeVariable */;
6244 val
* var3
/* : AExpr */;
6245 val
* var4
/* : null */;
6246 val
* var5
/* : RuntimeVariable */;
6247 val
* var_value
/* var value: RuntimeVariable */;
6248 val
* var6
/* : nullable MAttribute */;
6249 val
* var_mproperty
/* var mproperty: MAttribute */;
6250 val
* var7
/* : RuntimeVariable */;
6251 val
* var_attr
/* var attr: RuntimeVariable */;
6252 val
* var8
/* : nullable CallSite */;
6253 val
* var9
/* : Array[RuntimeVariable] */;
6254 long var10
/* : Int */;
6255 val
* var11
/* : NativeArray[RuntimeVariable] */;
6256 val
* var12
/* : nullable RuntimeVariable */;
6257 val
* var_res
/* var res: nullable RuntimeVariable */;
6258 val
* var13
/* : null */;
6259 short int var14
/* : Bool */;
6261 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AAttrReassignExpr>*/;
6263 var2
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var
, var1
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6265 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AReassignFormExpr__n_value
]))(self
) /* n_value on <self:AAttrReassignExpr>*/;
6267 var5
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var3
, var4
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6269 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AAttrReassignExpr>*/;
6271 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6272 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2445);
6275 var_mproperty
= var6
;
6276 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>*/;
6278 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AReassignFormExpr__reassign_callsite
]))(self
) /* reassign_callsite on <self:AAttrReassignExpr>*/;
6280 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6281 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2447);
6284 var9
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6285 { /* var9 = array_instance Array[RuntimeVariable] */
6287 var11
= NEW_array__NativeArray(var10
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
6288 ((struct instance_array__NativeArray
*)var11
)->values
[0] = (val
*) var_attr
;
6289 ((struct instance_array__NativeArray
*)var11
)->values
[1] = (val
*) var_value
;
6290 ((void (*)(val
*, val
*, long))(var9
->class->vft
[COLOR_array__Array__with_native
]))(var9
, var11
, var10
) /* with_native on <var9:Array[RuntimeVariable]>*/;
6292 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>*/;
6295 if (var_res
== NULL
) {
6296 var14
= 0; /* is null */
6298 var14
= 1; /* arg is null and recv is not */
6301 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6302 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2448);
6305 ((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>*/;
6308 /* method abstract_compiler#AAttrReassignExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6309 void VIRTUAL_abstract_compiler__AAttrReassignExpr__stmt(val
* self
, val
* p0
) {
6310 abstract_compiler__AAttrReassignExpr__stmt(self
, p0
);
6313 /* method abstract_compiler#AIssetAttrExpr#expr for (self: AIssetAttrExpr, AbstractCompilerVisitor): nullable RuntimeVariable */
6314 val
* abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
6315 val
* var
/* : nullable RuntimeVariable */;
6316 val
* var_v
/* var v: AbstractCompilerVisitor */;
6317 val
* var1
/* : AExpr */;
6318 val
* var2
/* : null */;
6319 val
* var3
/* : RuntimeVariable */;
6320 val
* var_recv
/* var recv: RuntimeVariable */;
6321 val
* var4
/* : nullable MAttribute */;
6322 val
* var_mproperty
/* var mproperty: MAttribute */;
6323 val
* var5
/* : RuntimeVariable */;
6325 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AAttrFormExpr__n_expr
]))(self
) /* n_expr on <self:AIssetAttrExpr>*/;
6327 var3
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(var_v
, var1
, var2
) /* expr on <var_v:AbstractCompilerVisitor>*/;
6329 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_typing__AAttrFormExpr__mproperty
]))(self
) /* mproperty on <self:AIssetAttrExpr>*/;
6331 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6332 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2457);
6335 var_mproperty
= var4
;
6336 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>*/;
6342 /* method abstract_compiler#AIssetAttrExpr#expr for (self: Object, AbstractCompilerVisitor): nullable RuntimeVariable */
6343 val
* VIRTUAL_abstract_compiler__AIssetAttrExpr__expr(val
* self
, val
* p0
) {
6344 val
* var
/* : nullable RuntimeVariable */;
6345 val
* var1
/* : nullable RuntimeVariable */;
6346 var1
= abstract_compiler__AIssetAttrExpr__expr(self
, p0
);
6351 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: ADebugTypeExpr, AbstractCompilerVisitor) */
6352 void abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
6353 val
* var_v
/* var v: AbstractCompilerVisitor */;
6357 /* method abstract_compiler#ADebugTypeExpr#stmt for (self: Object, AbstractCompilerVisitor) */
6358 void VIRTUAL_abstract_compiler__ADebugTypeExpr__stmt(val
* self
, val
* p0
) {
6359 abstract_compiler__ADebugTypeExpr__stmt(self
, p0
);
6362 /* method abstract_compiler#Array#- for (self: Array[nullable Object], Array[nullable Object]): Array[nullable Object] */
6363 val
* abstract_compiler__Array___45d(val
* self
, val
* p0
) {
6364 val
* var
/* : Array[nullable Object] */;
6365 short int var1
/* : Bool */;
6368 const struct type
* type_struct
;
6369 const char* var_class_name
;
6370 val
* var_o
/* var o: Array[nullable Object] */;
6371 val
* var2
/* : Array[nullable Object] */;
6372 val
* var_res
/* var res: Array[nullable Object] */;
6373 val
* var3
/* : Iterator[nullable Object] */;
6374 short int var4
/* : Bool */;
6375 val
* var5
/* : nullable Object */;
6376 val
* var_e
/* var e: nullable Object */;
6377 short int var6
/* : Bool */;
6378 short int var7
/* : Bool */;
6379 /* Covariant cast for argument 0 (o) <p0:Array[nullable Object]> isa Array[Array#0] */
6380 /* <p0:Array[nullable Object]> isa Array[Array#0] */
6381 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
];
6382 cltype
= type_struct
->color
;
6383 idtype
= type_struct
->id
;
6384 if(cltype
>= p0
->type
->table_size
) {
6387 var1
= p0
->type
->type_table
[cltype
] == idtype
;
6390 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6391 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[Array#0]", var_class_name
);
6392 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2472);
6396 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__Array_FT0
]);
6397 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[nullable Object]>*/;
6399 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Array[nullable Object]>*/;
6401 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
6403 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
6405 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]>*/;
6408 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var_e
) /* add on <var_res:Array[nullable Object]>*/;
6411 CONTINUE_label
: (void)0;
6412 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
6414 BREAK_label
: (void)0;
6420 /* method abstract_compiler#Array#- for (self: Object, Array[nullable Object]): Array[nullable Object] */
6421 val
* VIRTUAL_abstract_compiler__Array___45d(val
* self
, val
* p0
) {
6422 val
* var
/* : Array[nullable Object] */;
6423 val
* var1
/* : Array[nullable Object] */;
6424 var1
= abstract_compiler__Array___45d(self
, p0
);
6429 /* method abstract_compiler#MModule#properties for (self: MModule, MClass): Set[MProperty] */
6430 val
* abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
6431 val
* var
/* : Set[MProperty] */;
6432 val
* var_mclass
/* var mclass: MClass */;
6433 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6434 short int var2
/* : Bool */;
6435 short int var3
/* : Bool */;
6436 val
* var4
/* : HashSet[MProperty] */;
6437 val
* var_properties
/* var properties: HashSet[MProperty] */;
6438 val
* var5
/* : Array[MClass] */;
6439 val
* var_parents
/* var parents: Array[MClass] */;
6440 val
* var6
/* : POSet[MClass] */;
6441 short int var7
/* : Bool */;
6442 val
* var8
/* : POSetElement[MClass] */;
6443 val
* var9
/* : Collection[Object] */;
6444 val
* var10
/* : Iterator[nullable Object] */;
6445 short int var11
/* : Bool */;
6446 val
* var12
/* : nullable Object */;
6447 val
* var_parent
/* var parent: MClass */;
6448 val
* var13
/* : Set[MProperty] */;
6449 val
* var14
/* : Array[MClassDef] */;
6450 val
* var15
/* : Iterator[nullable Object] */;
6451 short int var16
/* : Bool */;
6452 val
* var17
/* : nullable Object */;
6453 val
* var_mclassdef
/* var mclassdef: MClassDef */;
6454 val
* var18
/* : Array[MProperty] */;
6455 val
* var19
/* : Iterator[nullable Object] */;
6456 short int var20
/* : Bool */;
6457 val
* var21
/* : nullable Object */;
6458 val
* var_mprop
/* var mprop: MProperty */;
6459 val
* var24
/* : Map[MClass, Set[MProperty]] */;
6460 val
* var25
/* : Map[MClass, Set[MProperty]] */;
6461 val
* var26
/* : nullable Object */;
6463 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
6464 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]]>*/;
6467 var4
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MProperty
);
6468 ((void (*)(val
*))(var4
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var4
) /* init on <var4:HashSet[MProperty]>*/;
6469 var_properties
= var4
;
6470 var5
= NEW_array__Array(&type_array__Arraymodel__MClass
);
6471 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[MClass]>*/;
6473 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__MModule__flatten_mclass_hierarchy
]))(self
) /* flatten_mclass_hierarchy on <self:MModule>*/;
6474 var7
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var6
, var_mclass
) /* has on <var6:POSet[MClass]>*/;
6476 var8
= ((val
* (*)(val
*, val
*))(var_mclass
->class->vft
[COLOR_model__MClass__in_hierarchy
]))(var_mclass
, self
) /* in_hierarchy on <var_mclass:MClass>*/;
6477 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_poset__POSetElement__direct_greaters
]))(var8
) /* direct_greaters on <var8:POSetElement[MClass]>*/;
6478 ((void (*)(val
*, val
*))(var_parents
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_parents
, var9
) /* add_all on <var_parents:Array[MClass]>*/;
6481 var10
= ((val
* (*)(val
*))(var_parents
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_parents
) /* iterator on <var_parents:Array[MClass]>*/;
6483 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
6485 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
6487 var13
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties
]))(self
, var_parent
) /* properties on <self:MModule>*/;
6488 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_properties
, var13
) /* add_all on <var_properties:HashSet[MProperty]>*/;
6489 CONTINUE_label
: (void)0;
6490 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
6492 BREAK_label
: (void)0;
6493 var14
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__mclassdefs
]))(var_mclass
) /* mclassdefs on <var_mclass:MClass>*/;
6494 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var14
) /* iterator on <var14:Array[MClassDef]>*/;
6496 var16
= ((short int (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var15
) /* is_ok on <var15:Iterator[nullable Object]>*/;
6498 var17
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var15
) /* item on <var15:Iterator[nullable Object]>*/;
6499 var_mclassdef
= var17
;
6500 var18
= ((val
* (*)(val
*))(var_mclassdef
->class->vft
[COLOR_model__MClassDef__intro_mproperties
]))(var_mclassdef
) /* intro_mproperties on <var_mclassdef:MClassDef>*/;
6501 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var18
) /* iterator on <var18:Array[MProperty]>*/;
6503 var20
= ((short int (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var19
) /* is_ok on <var19:Iterator[nullable Object]>*/;
6505 var21
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var19
) /* item on <var19:Iterator[nullable Object]>*/;
6507 ((void (*)(val
*, val
*))(var_properties
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_properties
, var_mprop
) /* add on <var_properties:HashSet[MProperty]>*/;
6508 CONTINUE_label22
: (void)0;
6509 ((void (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var19
) /* next on <var19:Iterator[nullable Object]>*/;
6511 BREAK_label22
: (void)0;
6512 CONTINUE_label23
: (void)0;
6513 ((void (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var15
) /* next on <var15:Iterator[nullable Object]>*/;
6515 BREAK_label23
: (void)0;
6516 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
6517 ((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]]>*/;
6520 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MModule__properties_cache
]))(self
) /* properties_cache on <self:MModule>*/;
6521 var26
= ((val
* (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var25
, var_mclass
) /* [] on <var25:Map[MClass, Set[MProperty]]>*/;
6527 /* method abstract_compiler#MModule#properties for (self: Object, MClass): Set[MProperty] */
6528 val
* VIRTUAL_abstract_compiler__MModule__properties(val
* self
, val
* p0
) {
6529 val
* var
/* : Set[MProperty] */;
6530 val
* var1
/* : Set[MProperty] */;
6531 var1
= abstract_compiler__MModule__properties(self
, p0
);
6536 /* method abstract_compiler#MModule#properties_cache for (self: MModule): Map[MClass, Set[MProperty]] */
6537 val
* abstract_compiler__MModule__properties_cache(val
* self
) {
6538 val
* var
/* : Map[MClass, Set[MProperty]] */;
6539 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6540 var1
= self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
; /* @properties_cache on <self:MModule> */
6542 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @properties_cache");
6543 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 2501);
6550 /* method abstract_compiler#MModule#properties_cache for (self: Object): Map[MClass, Set[MProperty]] */
6551 val
* VIRTUAL_abstract_compiler__MModule__properties_cache(val
* self
) {
6552 val
* var
/* : Map[MClass, Set[MProperty]] */;
6553 val
* var1
/* : Map[MClass, Set[MProperty]] */;
6554 var1
= abstract_compiler__MModule__properties_cache(self
);
6559 /* method abstract_compiler#MModule#properties_cache= for (self: MModule, Map[MClass, Set[MProperty]]) */
6560 void abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
6561 self
->attrs
[COLOR_abstract_compiler__MModule___64dproperties_cache
].val
= p0
; /* @properties_cache on <self:MModule> */
6564 /* method abstract_compiler#MModule#properties_cache= for (self: Object, Map[MClass, Set[MProperty]]) */
6565 void VIRTUAL_abstract_compiler__MModule__properties_cache_61d(val
* self
, val
* p0
) {
6566 abstract_compiler__MModule__properties_cache_61d(self
, p0
);