1 #include "global_compiler.sep.0.h"
2 /* method global_compiler#GlobalCompilerVisitor#equal_test for (self: GlobalCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
3 val
* global_compiler__GlobalCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value1
/* var value1: RuntimeVariable */;
6 val
* var_value2
/* var value2: RuntimeVariable */;
7 val
* var1
/* : MClassType */;
8 val
* var2
/* : RuntimeVariable */;
9 val
* var_res
/* var res: RuntimeVariable */;
10 short int var3
/* : Bool */;
11 val
* var4
/* : MType */;
12 val
* var5
/* : String */;
14 val
* var6
/* : String */;
15 char* var7
/* : NativeString */;
16 long var8
/* : Int */;
17 val
* var9
/* : String */;
18 short int var10
/* : Bool */;
19 short int var_
/* var : Bool */;
20 val
* var11
/* : MType */;
21 val
* var12
/* : String */;
22 static val
* varonce13
;
23 val
* var14
/* : String */;
24 char* var15
/* : NativeString */;
25 long var16
/* : Int */;
26 val
* var17
/* : String */;
27 short int var18
/* : Bool */;
28 val
* var_tmp
/* var tmp: RuntimeVariable */;
29 val
* var19
/* : MType */;
30 val
* var20
/* : String */;
31 static val
* varonce21
;
32 val
* var22
/* : String */;
33 char* var23
/* : NativeString */;
34 long var24
/* : Int */;
35 val
* var25
/* : String */;
36 short int var26
/* : Bool */;
37 val
* var27
/* : MType */;
38 val
* var28
/* : MType */;
39 short int var29
/* : Bool */;
40 static val
* varonce30
;
41 val
* var31
/* : String */;
42 char* var32
/* : NativeString */;
43 long var33
/* : Int */;
44 val
* var34
/* : String */;
45 static val
* varonce35
;
46 val
* var36
/* : String */;
47 char* var37
/* : NativeString */;
48 long var38
/* : Int */;
49 val
* var39
/* : String */;
50 static val
* varonce40
;
51 val
* var41
/* : String */;
52 char* var42
/* : NativeString */;
53 long var43
/* : Int */;
54 val
* var44
/* : String */;
55 val
* var45
/* : Array[Object] */;
56 long var46
/* : Int */;
57 val
* var47
/* : NativeArray[Object] */;
58 val
* var48
/* : String */;
59 val
* var49
/* : MType */;
60 val
* var50
/* : String */;
61 static val
* varonce51
;
62 val
* var52
/* : String */;
63 char* var53
/* : NativeString */;
64 long var54
/* : Int */;
65 val
* var55
/* : String */;
66 short int var56
/* : Bool */;
67 static val
* varonce57
;
68 val
* var58
/* : String */;
69 char* var59
/* : NativeString */;
70 long var60
/* : Int */;
71 val
* var61
/* : String */;
72 val
* var62
/* : MType */;
73 static val
* varonce63
;
74 val
* var64
/* : String */;
75 char* var65
/* : NativeString */;
76 long var66
/* : Int */;
77 val
* var67
/* : String */;
78 val
* var68
/* : MType */;
79 static val
* varonce69
;
80 val
* var70
/* : String */;
81 char* var71
/* : NativeString */;
82 long var72
/* : Int */;
83 val
* var73
/* : String */;
84 val
* var74
/* : Array[Object] */;
85 long var75
/* : Int */;
86 val
* var76
/* : NativeArray[Object] */;
87 val
* var77
/* : String */;
88 val
* var78
/* : MType */;
89 short int var79
/* : Bool */;
92 const char* var_class_name
;
93 val
* var_mtype1
/* var mtype1: MClassType */;
94 static val
* varonce80
;
95 val
* var81
/* : String */;
96 char* var82
/* : NativeString */;
97 long var83
/* : Int */;
98 val
* var84
/* : String */;
99 static val
* varonce85
;
100 val
* var86
/* : String */;
101 char* var87
/* : NativeString */;
102 long var88
/* : Int */;
103 val
* var89
/* : String */;
104 static val
* varonce90
;
105 val
* var91
/* : String */;
106 char* var92
/* : NativeString */;
107 long var93
/* : Int */;
108 val
* var94
/* : String */;
109 val
* var95
/* : AbstractCompiler */;
110 val
* var96
/* : String */;
111 static val
* varonce97
;
112 val
* var98
/* : String */;
113 char* var99
/* : NativeString */;
114 long var100
/* : Int */;
115 val
* var101
/* : String */;
116 val
* var102
/* : Array[Object] */;
117 long var103
/* : Int */;
118 val
* var104
/* : NativeArray[Object] */;
119 val
* var105
/* : String */;
120 static val
* varonce106
;
121 val
* var107
/* : String */;
122 char* var108
/* : NativeString */;
123 long var109
/* : Int */;
124 val
* var110
/* : String */;
125 static val
* varonce111
;
126 val
* var112
/* : String */;
127 char* var113
/* : NativeString */;
128 long var114
/* : Int */;
129 val
* var115
/* : String */;
130 val
* var116
/* : Array[Object] */;
131 long var117
/* : Int */;
132 val
* var118
/* : NativeArray[Object] */;
133 val
* var119
/* : String */;
134 static val
* varonce120
;
135 val
* var121
/* : String */;
136 char* var122
/* : NativeString */;
137 long var123
/* : Int */;
138 val
* var124
/* : String */;
139 val
* var125
/* : MType */;
140 val
* var126
/* : RuntimeVariable */;
141 static val
* varonce127
;
142 val
* var128
/* : String */;
143 char* var129
/* : NativeString */;
144 long var130
/* : Int */;
145 val
* var131
/* : String */;
146 static val
* varonce132
;
147 val
* var133
/* : String */;
148 char* var134
/* : NativeString */;
149 long var135
/* : Int */;
150 val
* var136
/* : String */;
151 val
* var137
/* : Array[Object] */;
152 long var138
/* : Int */;
153 val
* var139
/* : NativeArray[Object] */;
154 val
* var140
/* : String */;
155 static val
* varonce141
;
156 val
* var142
/* : String */;
157 char* var143
/* : NativeString */;
158 long var144
/* : Int */;
159 val
* var145
/* : String */;
160 val
* var146
/* : Array[String] */;
161 val
* var_s
/* var s: Array[String] */;
162 val
* var147
/* : AbstractCompiler */;
163 val
* var148
/* : Array[MClassType] */;
164 val
* var149
/* : Iterator[nullable Object] */;
165 short int var150
/* : Bool */;
166 val
* var151
/* : nullable Object */;
167 val
* var_t
/* var t: MClassType */;
168 val
* var152
/* : AbstractCompiler */;
169 val
* var153
/* : MModule */;
170 val
* var154
/* : null */;
171 val
* var155
/* : MType */;
172 short int var156
/* : Bool */;
173 short int var157
/* : Bool */;
174 val
* var158
/* : AbstractCompiler */;
175 val
* var159
/* : MModule */;
176 val
* var160
/* : null */;
177 val
* var161
/* : MType */;
178 short int var162
/* : Bool */;
179 short int var163
/* : Bool */;
180 static val
* varonce164
;
181 val
* var165
/* : String */;
182 char* var166
/* : NativeString */;
183 long var167
/* : Int */;
184 val
* var168
/* : String */;
185 static val
* varonce169
;
186 val
* var170
/* : String */;
187 char* var171
/* : NativeString */;
188 long var172
/* : Int */;
189 val
* var173
/* : String */;
190 val
* var174
/* : AbstractCompiler */;
191 val
* var175
/* : String */;
192 static val
* varonce176
;
193 val
* var177
/* : String */;
194 char* var178
/* : NativeString */;
195 long var179
/* : Int */;
196 val
* var180
/* : String */;
197 val
* var181
/* : String */;
198 static val
* varonce182
;
199 val
* var183
/* : String */;
200 char* var184
/* : NativeString */;
201 long var185
/* : Int */;
202 val
* var186
/* : String */;
203 static val
* varonce187
;
204 val
* var188
/* : String */;
205 char* var189
/* : NativeString */;
206 long var190
/* : Int */;
207 val
* var191
/* : String */;
208 val
* var192
/* : String */;
209 static val
* varonce193
;
210 val
* var194
/* : String */;
211 char* var195
/* : NativeString */;
212 long var196
/* : Int */;
213 val
* var197
/* : String */;
214 static val
* varonce198
;
215 val
* var199
/* : String */;
216 char* var200
/* : NativeString */;
217 long var201
/* : Int */;
218 val
* var202
/* : String */;
219 val
* var203
/* : Array[Object] */;
220 long var204
/* : Int */;
221 val
* var205
/* : NativeArray[Object] */;
222 val
* var206
/* : String */;
223 short int var207
/* : Bool */;
224 static val
* varonce208
;
225 val
* var209
/* : String */;
226 char* var210
/* : NativeString */;
227 long var211
/* : Int */;
228 val
* var212
/* : String */;
229 static val
* varonce213
;
230 val
* var214
/* : String */;
231 char* var215
/* : NativeString */;
232 long var216
/* : Int */;
233 val
* var217
/* : String */;
234 static val
* varonce218
;
235 val
* var219
/* : String */;
236 char* var220
/* : NativeString */;
237 long var221
/* : Int */;
238 val
* var222
/* : String */;
239 val
* var223
/* : Array[Object] */;
240 long var224
/* : Int */;
241 val
* var225
/* : NativeArray[Object] */;
242 val
* var226
/* : String */;
243 static val
* varonce227
;
244 val
* var228
/* : String */;
245 char* var229
/* : NativeString */;
246 long var230
/* : Int */;
247 val
* var231
/* : String */;
248 static val
* varonce232
;
249 val
* var233
/* : String */;
250 char* var234
/* : NativeString */;
251 long var235
/* : Int */;
252 val
* var236
/* : String */;
253 static val
* varonce237
;
254 val
* var238
/* : String */;
255 char* var239
/* : NativeString */;
256 long var240
/* : Int */;
257 val
* var241
/* : String */;
258 static val
* varonce242
;
259 val
* var243
/* : String */;
260 char* var244
/* : NativeString */;
261 long var245
/* : Int */;
262 val
* var246
/* : String */;
263 static val
* varonce247
;
264 val
* var248
/* : String */;
265 char* var249
/* : NativeString */;
266 long var250
/* : Int */;
267 val
* var251
/* : String */;
268 static val
* varonce252
;
269 val
* var253
/* : String */;
270 char* var254
/* : NativeString */;
271 long var255
/* : Int */;
272 val
* var256
/* : String */;
273 static val
* varonce257
;
274 val
* var258
/* : String */;
275 char* var259
/* : NativeString */;
276 long var260
/* : Int */;
277 val
* var261
/* : String */;
278 static val
* varonce262
;
279 val
* var263
/* : String */;
280 char* var264
/* : NativeString */;
281 long var265
/* : Int */;
282 val
* var266
/* : String */;
283 val
* var267
/* : String */;
284 static val
* varonce268
;
285 val
* var269
/* : String */;
286 char* var270
/* : NativeString */;
287 long var271
/* : Int */;
288 val
* var272
/* : String */;
289 val
* var273
/* : Array[Object] */;
290 long var274
/* : Int */;
291 val
* var275
/* : NativeArray[Object] */;
292 val
* var276
/* : String */;
295 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:GlobalCompilerVisitor>*/;
296 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:GlobalCompilerVisitor>*/;
298 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
299 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
305 var9
= string__NativeString__to_s_with_length(var7
, var8
);
309 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
312 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
313 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
319 var17
= string__NativeString__to_s_with_length(var15
, var16
);
323 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
329 var_tmp
= var_value1
;
330 var_value1
= var_value2
;
331 var_value2
= var_tmp
;
334 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
335 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
341 var25
= string__NativeString__to_s_with_length(var23
, var24
);
345 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
347 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
348 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
349 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
356 var34
= string__NativeString__to_s_with_length(var32
, var33
);
365 var39
= string__NativeString__to_s_with_length(var37
, var38
);
374 var44
= string__NativeString__to_s_with_length(var42
, var43
);
378 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
379 { /* var45 = array_instance Array[Object] */
381 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
382 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
383 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
384 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
385 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
386 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
387 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
388 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
390 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
391 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:GlobalCompilerVisitor>*/;
393 var49
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
394 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
400 var55
= string__NativeString__to_s_with_length(var53
, var54
);
404 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var50
, var52
) /* != on <var50:String>*/;
409 var59
= " = 0; /* incompatible types ";
411 var61
= string__NativeString__to_s_with_length(var59
, var60
);
415 var62
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
421 var67
= string__NativeString__to_s_with_length(var65
, var66
);
425 var68
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
431 var73
= string__NativeString__to_s_with_length(var71
, var72
);
435 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
436 { /* var74 = array_instance Array[Object] */
438 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
439 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
440 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var58
;
441 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var62
;
442 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var64
;
443 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var68
;
444 ((struct instance_array__NativeArray
*)var76
)->values
[5] = (val
*) var70
;
445 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
447 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
448 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:GlobalCompilerVisitor>*/;
450 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
451 /* <var78:MType> isa MClassType */
452 cltype
= type_model__MClassType
.color
;
453 idtype
= type_model__MClassType
.id
;
454 if(cltype
>= var78
->type
->table_size
) {
457 var79
= var78
->type
->type_table
[cltype
] == idtype
;
460 var_class_name
= var78
== NULL ?
"null" : var78
->type
->name
;
461 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
462 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 793);
471 var84
= string__NativeString__to_s_with_length(var82
, var83
);
478 var87
= " != NULL) && (";
480 var89
= string__NativeString__to_s_with_length(var87
, var88
);
487 var92
= "->classid == ";
489 var94
= string__NativeString__to_s_with_length(var92
, var93
);
493 var95
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
494 var96
= ((val
* (*)(val
*, val
*))(var95
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var95
, var_mtype1
) /* classid on <var95:AbstractCompiler(GlobalCompiler)>*/;
500 var101
= string__NativeString__to_s_with_length(var99
, var100
);
504 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
505 { /* var102 = array_instance Array[Object] */
507 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
508 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var_res
;
509 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var81
;
510 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var_value2
;
511 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var86
;
512 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var_value2
;
513 ((struct instance_array__NativeArray
*)var104
)->values
[5] = (val
*) var91
;
514 ((struct instance_array__NativeArray
*)var104
)->values
[6] = (val
*) var96
;
515 ((struct instance_array__NativeArray
*)var104
)->values
[7] = (val
*) var98
;
516 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
518 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
519 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var105
) /* add on <self:GlobalCompilerVisitor>*/;
525 var110
= string__NativeString__to_s_with_length(var108
, var109
);
534 var115
= string__NativeString__to_s_with_length(var113
, var114
);
538 var116
= NEW_array__Array(&type_array__Arraykernel__Object
);
539 { /* var116 = array_instance Array[Object] */
541 var118
= NEW_array__NativeArray(var117
, &type_array__NativeArraykernel__Object
);
542 ((struct instance_array__NativeArray
*)var118
)->values
[0] = (val
*) var107
;
543 ((struct instance_array__NativeArray
*)var118
)->values
[1] = (val
*) var_res
;
544 ((struct instance_array__NativeArray
*)var118
)->values
[2] = (val
*) var112
;
545 ((void (*)(val
*, val
*, long))(var116
->class->vft
[COLOR_array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
547 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
548 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var119
) /* add on <self:GlobalCompilerVisitor>*/;
554 var124
= string__NativeString__to_s_with_length(var122
, var123
);
558 var125
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
559 var126
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var125
) /* autobox on <self:GlobalCompilerVisitor>*/;
565 var131
= string__NativeString__to_s_with_length(var129
, var130
);
574 var136
= string__NativeString__to_s_with_length(var134
, var135
);
578 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
579 { /* var137 = array_instance Array[Object] */
581 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
582 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var_res
;
583 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var121
;
584 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var126
;
585 ((struct instance_array__NativeArray
*)var139
)->values
[3] = (val
*) var128
;
586 ((struct instance_array__NativeArray
*)var139
)->values
[4] = (val
*) var_value1
;
587 ((struct instance_array__NativeArray
*)var139
)->values
[5] = (val
*) var133
;
588 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
590 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
591 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var140
) /* add on <self:GlobalCompilerVisitor>*/;
597 var145
= string__NativeString__to_s_with_length(var143
, var144
);
601 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var142
) /* add on <self:GlobalCompilerVisitor>*/;
605 var146
= NEW_array__Array(&type_array__Arraystring__String
);
606 ((void (*)(val
*))(var146
->class->vft
[COLOR_array__Array__init
]))(var146
) /* init on <var146:Array[String]>*/;
608 var147
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
609 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_global_compiler__GlobalCompiler__live_primitive_types
]))(var147
) /* live_primitive_types on <var147:AbstractCompiler(GlobalCompiler)>*/;
610 var149
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var148
) /* iterator on <var148:Array[MClassType]>*/;
612 var150
= ((short int (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var149
) /* is_ok on <var149:Iterator[nullable Object]>*/;
614 var151
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var149
) /* item on <var149:Iterator[nullable Object]>*/;
616 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
617 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var152
) /* mainmodule on <var152:AbstractCompiler(GlobalCompiler)>*/;
619 var155
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
620 var156
= ((short int (*)(val
*, val
*, val
*, val
*))(var_t
->class->vft
[COLOR_model__MType__is_subtype
]))(var_t
, var153
, var154
, var155
) /* is_subtype on <var_t:MClassType>*/;
626 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
627 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var158
) /* mainmodule on <var158:AbstractCompiler(GlobalCompiler)>*/;
629 var161
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
630 var162
= ((short int (*)(val
*, val
*, val
*, val
*))(var_t
->class->vft
[COLOR_model__MType__is_subtype
]))(var_t
, var159
, var160
, var161
) /* is_subtype on <var_t:MClassType>*/;
641 var168
= string__NativeString__to_s_with_length(var166
, var167
);
648 var171
= "->classid == ";
650 var173
= string__NativeString__to_s_with_length(var171
, var172
);
654 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
655 var175
= ((val
* (*)(val
*, val
*))(var174
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var174
, var_t
) /* classid on <var174:AbstractCompiler(GlobalCompiler)>*/;
659 var178
= " && ((struct ";
661 var180
= string__NativeString__to_s_with_length(var178
, var179
);
665 var181
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
671 var186
= string__NativeString__to_s_with_length(var184
, var185
);
678 var189
= ")->value == ((struct ";
680 var191
= string__NativeString__to_s_with_length(var189
, var190
);
684 var192
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
690 var197
= string__NativeString__to_s_with_length(var195
, var196
);
697 var200
= ")->value)";
699 var202
= string__NativeString__to_s_with_length(var200
, var201
);
703 var203
= NEW_array__Array(&type_array__Arraykernel__Object
);
704 { /* var203 = array_instance Array[Object] */
706 var205
= NEW_array__NativeArray(var204
, &type_array__NativeArraykernel__Object
);
707 ((struct instance_array__NativeArray
*)var205
)->values
[0] = (val
*) var165
;
708 ((struct instance_array__NativeArray
*)var205
)->values
[1] = (val
*) var_value1
;
709 ((struct instance_array__NativeArray
*)var205
)->values
[2] = (val
*) var170
;
710 ((struct instance_array__NativeArray
*)var205
)->values
[3] = (val
*) var175
;
711 ((struct instance_array__NativeArray
*)var205
)->values
[4] = (val
*) var177
;
712 ((struct instance_array__NativeArray
*)var205
)->values
[5] = (val
*) var181
;
713 ((struct instance_array__NativeArray
*)var205
)->values
[6] = (val
*) var183
;
714 ((struct instance_array__NativeArray
*)var205
)->values
[7] = (val
*) var_value1
;
715 ((struct instance_array__NativeArray
*)var205
)->values
[8] = (val
*) var188
;
716 ((struct instance_array__NativeArray
*)var205
)->values
[9] = (val
*) var192
;
717 ((struct instance_array__NativeArray
*)var205
)->values
[10] = (val
*) var194
;
718 ((struct instance_array__NativeArray
*)var205
)->values
[11] = (val
*) var_value2
;
719 ((struct instance_array__NativeArray
*)var205
)->values
[12] = (val
*) var199
;
720 ((void (*)(val
*, val
*, long))(var203
->class->vft
[COLOR_array__Array__with_native
]))(var203
, var205
, var204
) /* with_native on <var203:Array[Object]>*/;
722 var206
= ((val
* (*)(val
*))(var203
->class->vft
[COLOR_string__Object__to_s
]))(var203
) /* to_s on <var203:Array[Object]>*/;
723 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var206
) /* add on <var_s:Array[String]>*/;
724 CONTINUE_label
: (void)0;
725 ((void (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var149
) /* next on <var149:Iterator[nullable Object]>*/;
727 BREAK_label
: (void)0;
728 var207
= ((short int (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_s
) /* is_empty on <var_s:Array[String]>*/;
735 var212
= string__NativeString__to_s_with_length(var210
, var211
);
744 var217
= string__NativeString__to_s_with_length(var215
, var216
);
753 var222
= string__NativeString__to_s_with_length(var220
, var221
);
757 var223
= NEW_array__Array(&type_array__Arraykernel__Object
);
758 { /* var223 = array_instance Array[Object] */
760 var225
= NEW_array__NativeArray(var224
, &type_array__NativeArraykernel__Object
);
761 ((struct instance_array__NativeArray
*)var225
)->values
[0] = (val
*) var_res
;
762 ((struct instance_array__NativeArray
*)var225
)->values
[1] = (val
*) var209
;
763 ((struct instance_array__NativeArray
*)var225
)->values
[2] = (val
*) var_value1
;
764 ((struct instance_array__NativeArray
*)var225
)->values
[3] = (val
*) var214
;
765 ((struct instance_array__NativeArray
*)var225
)->values
[4] = (val
*) var_value2
;
766 ((struct instance_array__NativeArray
*)var225
)->values
[5] = (val
*) var219
;
767 ((void (*)(val
*, val
*, long))(var223
->class->vft
[COLOR_array__Array__with_native
]))(var223
, var225
, var224
) /* with_native on <var223:Array[Object]>*/;
769 var226
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_string__Object__to_s
]))(var223
) /* to_s on <var223:Array[Object]>*/;
770 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var226
) /* add on <self:GlobalCompilerVisitor>*/;
777 var231
= string__NativeString__to_s_with_length(var229
, var230
);
786 var236
= string__NativeString__to_s_with_length(var234
, var235
);
795 var241
= string__NativeString__to_s_with_length(var239
, var240
);
802 var244
= " != NULL && ";
804 var246
= string__NativeString__to_s_with_length(var244
, var245
);
811 var249
= " != NULL && ";
813 var251
= string__NativeString__to_s_with_length(var249
, var250
);
820 var254
= "->classid == ";
822 var256
= string__NativeString__to_s_with_length(var254
, var255
);
829 var259
= "->classid && (";
831 var261
= string__NativeString__to_s_with_length(var259
, var260
);
840 var266
= string__NativeString__to_s_with_length(var264
, var265
);
844 var267
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var263
) /* join on <var_s:Array[String]>*/;
850 var272
= string__NativeString__to_s_with_length(var270
, var271
);
854 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
855 { /* var273 = array_instance Array[Object] */
857 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
858 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var_res
;
859 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var228
;
860 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var_value1
;
861 ((struct instance_array__NativeArray
*)var275
)->values
[3] = (val
*) var233
;
862 ((struct instance_array__NativeArray
*)var275
)->values
[4] = (val
*) var_value2
;
863 ((struct instance_array__NativeArray
*)var275
)->values
[5] = (val
*) var238
;
864 ((struct instance_array__NativeArray
*)var275
)->values
[6] = (val
*) var_value1
;
865 ((struct instance_array__NativeArray
*)var275
)->values
[7] = (val
*) var243
;
866 ((struct instance_array__NativeArray
*)var275
)->values
[8] = (val
*) var_value2
;
867 ((struct instance_array__NativeArray
*)var275
)->values
[9] = (val
*) var248
;
868 ((struct instance_array__NativeArray
*)var275
)->values
[10] = (val
*) var_value1
;
869 ((struct instance_array__NativeArray
*)var275
)->values
[11] = (val
*) var253
;
870 ((struct instance_array__NativeArray
*)var275
)->values
[12] = (val
*) var_value2
;
871 ((struct instance_array__NativeArray
*)var275
)->values
[13] = (val
*) var258
;
872 ((struct instance_array__NativeArray
*)var275
)->values
[14] = (val
*) var267
;
873 ((struct instance_array__NativeArray
*)var275
)->values
[15] = (val
*) var269
;
874 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
876 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
877 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var276
) /* add on <self:GlobalCompilerVisitor>*/;
885 /* method global_compiler#GlobalCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
886 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
887 val
* var
/* : RuntimeVariable */;
888 val
* var1
/* : RuntimeVariable */;
889 var1
= global_compiler__GlobalCompilerVisitor__equal_test(self
, p0
, p1
);
894 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: GlobalCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
895 val
* global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
896 val
* var
/* : RuntimeVariable */;
897 val
* var_array
/* var array: Array[RuntimeVariable] */;
898 val
* var_elttype
/* var elttype: MType */;
899 val
* var1
/* : MType */;
901 val
* var2
/* : String */;
902 char* var3
/* : NativeString */;
903 long var4
/* : Int */;
904 val
* var5
/* : String */;
905 val
* var6
/* : MClass */;
906 val
* var7
/* : Array[MType] */;
907 long var8
/* : Int */;
908 val
* var9
/* : NativeArray[MType] */;
909 val
* var10
/* : MClassType */;
910 val
* var_arraytype
/* var arraytype: MClassType */;
911 val
* var11
/* : RuntimeVariable */;
912 val
* var_res
/* var res: RuntimeVariable */;
913 static val
* varonce12
;
914 val
* var13
/* : String */;
915 char* var14
/* : NativeString */;
916 long var15
/* : Int */;
917 val
* var16
/* : String */;
918 static val
* varonce17
;
919 val
* var18
/* : String */;
920 char* var19
/* : NativeString */;
921 long var20
/* : Int */;
922 val
* var21
/* : String */;
923 static val
* varonce22
;
924 val
* var23
/* : String */;
925 char* var24
/* : NativeString */;
926 long var25
/* : Int */;
927 val
* var26
/* : String */;
928 val
* var27
/* : Array[Object] */;
929 long var28
/* : Int */;
930 val
* var29
/* : NativeArray[Object] */;
931 val
* var30
/* : String */;
932 static val
* varonce31
;
933 val
* var32
/* : String */;
934 char* var33
/* : NativeString */;
935 long var34
/* : Int */;
936 val
* var35
/* : String */;
937 val
* var36
/* : MClass */;
938 val
* var37
/* : Array[MType] */;
939 long var38
/* : Int */;
940 val
* var39
/* : NativeArray[MType] */;
941 val
* var40
/* : MClassType */;
942 val
* var41
/* : RuntimeVariable */;
943 val
* var_nat
/* var nat: RuntimeVariable */;
944 short int var42
/* : Bool */;
945 static val
* varonce43
;
946 val
* var44
/* : String */;
947 char* var45
/* : NativeString */;
948 long var46
/* : Int */;
949 val
* var47
/* : String */;
950 val
* var48
/* : MType */;
951 val
* var49
/* : String */;
952 static val
* varonce50
;
953 val
* var51
/* : String */;
954 char* var52
/* : NativeString */;
955 long var53
/* : Int */;
956 val
* var54
/* : String */;
957 long var55
/* : Int */;
958 static val
* varonce56
;
959 val
* var57
/* : String */;
960 char* var58
/* : NativeString */;
961 long var59
/* : Int */;
962 val
* var60
/* : String */;
963 val
* var61
/* : Array[Object] */;
964 long var62
/* : Int */;
965 val
* var63
/* : NativeArray[Object] */;
966 val
* var64
/* : Object */;
967 val
* var65
/* : String */;
968 val
* var66
/* : Range[Int] */;
969 long var67
/* : Int */;
970 long var68
/* : Int */;
971 val
* var69
/* : Discrete */;
972 val
* var70
/* : Discrete */;
973 val
* var71
/* : Iterator[nullable Object] */;
974 short int var72
/* : Bool */;
975 val
* var73
/* : nullable Object */;
976 long var_i
/* var i: Int */;
977 long var74
/* : Int */;
978 val
* var75
/* : nullable Object */;
979 val
* var76
/* : RuntimeVariable */;
980 val
* var_r
/* var r: RuntimeVariable */;
981 static val
* varonce77
;
982 val
* var78
/* : String */;
983 char* var79
/* : NativeString */;
984 long var80
/* : Int */;
985 val
* var81
/* : String */;
986 val
* var82
/* : MType */;
987 val
* var83
/* : String */;
988 static val
* varonce84
;
989 val
* var85
/* : String */;
990 char* var86
/* : NativeString */;
991 long var87
/* : Int */;
992 val
* var88
/* : String */;
993 static val
* varonce89
;
994 val
* var90
/* : String */;
995 char* var91
/* : NativeString */;
996 long var92
/* : Int */;
997 val
* var93
/* : String */;
998 static val
* varonce94
;
999 val
* var95
/* : String */;
1000 char* var96
/* : NativeString */;
1001 long var97
/* : Int */;
1002 val
* var98
/* : String */;
1003 static val
* varonce99
;
1004 val
* var100
/* : String */;
1005 char* var101
/* : NativeString */;
1006 long var102
/* : Int */;
1007 val
* var103
/* : String */;
1008 val
* var104
/* : Array[Object] */;
1009 long var105
/* : Int */;
1010 val
* var106
/* : NativeArray[Object] */;
1011 val
* var107
/* : Object */;
1012 val
* var108
/* : String */;
1013 long var109
/* : Int */;
1014 val
* var110
/* : RuntimeVariable */;
1015 val
* var_length
/* var length: RuntimeVariable */;
1016 static val
* varonce111
;
1017 val
* var112
/* : String */;
1018 char* var113
/* : NativeString */;
1019 long var114
/* : Int */;
1020 val
* var115
/* : String */;
1021 val
* var116
/* : MMethod */;
1022 val
* var117
/* : Array[RuntimeVariable] */;
1023 long var118
/* : Int */;
1024 val
* var119
/* : NativeArray[RuntimeVariable] */;
1025 val
* var120
/* : nullable RuntimeVariable */;
1026 static val
* varonce121
;
1027 val
* var122
/* : String */;
1028 char* var123
/* : NativeString */;
1029 long var124
/* : Int */;
1030 val
* var125
/* : String */;
1033 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_elttype
) /* anchor on <self:GlobalCompilerVisitor>*/;
1040 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1044 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var2
) /* get_class on <self:GlobalCompilerVisitor>*/;
1045 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
1046 { /* var7 = array_instance Array[MType] */
1048 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraymodel__MType
);
1049 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var_elttype
;
1050 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[MType]>*/;
1052 var10
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_model__MClass__get_mtype
]))(var6
, var7
) /* get_mtype on <var6:MClass>*/;
1053 var_arraytype
= var10
;
1054 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:GlobalCompilerVisitor>*/;
1061 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1068 var19
= " = array_instance Array[";
1070 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1079 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1083 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1084 { /* var27 = array_instance Array[Object] */
1086 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1087 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var13
;
1088 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_res
;
1089 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var18
;
1090 ((struct instance_array__NativeArray
*)var29
)->values
[3] = (val
*) var_elttype
;
1091 ((struct instance_array__NativeArray
*)var29
)->values
[4] = (val
*) var23
;
1092 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1094 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1095 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var30
) /* add on <self:GlobalCompilerVisitor>*/;
1099 var33
= "NativeArray";
1101 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1105 var36
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var32
) /* get_class on <self:GlobalCompilerVisitor>*/;
1106 var37
= NEW_array__Array(&type_array__Arraymodel__MType
);
1107 { /* var37 = array_instance Array[MType] */
1109 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraymodel__MType
);
1110 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var_elttype
;
1111 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[MType]>*/;
1113 var40
= ((val
* (*)(val
*, val
*))(var36
->class->vft
[COLOR_model__MClass__get_mtype
]))(var36
, var37
) /* get_mtype on <var36:MClass>*/;
1114 var41
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var40
) /* new_var on <self:GlobalCompilerVisitor>*/;
1117 ((void (*)(val
*, short int))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_nat
, var42
) /* is_exact= on <var_nat:RuntimeVariable>*/;
1123 var47
= string__NativeString__to_s_with_length(var45
, var46
);
1127 var48
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1128 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var48
) /* c_name on <var48:MType>*/;
1134 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1138 var55
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1144 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1148 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
1149 { /* var61 = array_instance Array[Object] */
1151 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
1152 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var_nat
;
1153 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var44
;
1154 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var49
;
1155 ((struct instance_array__NativeArray
*)var63
)->values
[3] = (val
*) var51
;
1156 var64
= BOX_kernel__Int(var55
); /* autobox from Int to Object */
1157 ((struct instance_array__NativeArray
*)var63
)->values
[4] = (val
*) var64
;
1158 ((struct instance_array__NativeArray
*)var63
)->values
[5] = (val
*) var57
;
1159 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1161 var65
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1162 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var65
) /* add on <self:GlobalCompilerVisitor>*/;
1163 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
1165 var68
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1166 var69
= BOX_kernel__Int(var67
); /* autobox from Int to Discrete */
1167 var70
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
1168 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var69
, var70
) /* without_last on <var66:Range[Int]>*/;
1169 var71
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
1171 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var71
) /* is_ok on <var71:Iterator[nullable Object]>*/;
1173 var73
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var71
) /* item on <var71:Iterator[nullable Object]>*/;
1174 var74
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
1176 var75
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
1177 var76
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var75
, var_elttype
) /* autobox on <self:GlobalCompilerVisitor>*/;
1182 var79
= "((struct ";
1184 var81
= string__NativeString__to_s_with_length(var79
, var80
);
1188 var82
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1189 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var82
) /* c_name on <var82:MType>*/;
1195 var88
= string__NativeString__to_s_with_length(var86
, var87
);
1202 var91
= ")->values[";
1204 var93
= string__NativeString__to_s_with_length(var91
, var92
);
1213 var98
= string__NativeString__to_s_with_length(var96
, var97
);
1222 var103
= string__NativeString__to_s_with_length(var101
, var102
);
1226 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
1227 { /* var104 = array_instance Array[Object] */
1229 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
1230 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var78
;
1231 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var83
;
1232 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var85
;
1233 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var_nat
;
1234 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var90
;
1235 var107
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1236 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var107
;
1237 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var95
;
1238 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var_r
;
1239 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var100
;
1240 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
1242 var108
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
1243 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var108
) /* add on <self:GlobalCompilerVisitor>*/;
1244 CONTINUE_label
: (void)0;
1245 ((void (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var71
) /* next on <var71:Iterator[nullable Object]>*/;
1247 BREAK_label
: (void)0;
1248 var109
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1249 var110
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var109
) /* int_instance on <self:GlobalCompilerVisitor>*/;
1250 var_length
= var110
;
1252 var112
= varonce111
;
1254 var113
= "with_native";
1256 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1258 varonce111
= var112
;
1260 var116
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var112
, var_arraytype
) /* get_property on <self:GlobalCompilerVisitor>*/;
1261 var117
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1262 { /* var117 = array_instance Array[RuntimeVariable] */
1264 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1265 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_res
;
1266 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_nat
;
1267 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var_length
;
1268 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[RuntimeVariable]>*/;
1270 var120
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var116
, var117
) /* send on <self:GlobalCompilerVisitor>*/;
1273 var122
= varonce121
;
1277 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1279 varonce121
= var122
;
1281 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var122
) /* add on <self:GlobalCompilerVisitor>*/;
1287 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
1288 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1289 val
* var
/* : RuntimeVariable */;
1290 val
* var1
/* : RuntimeVariable */;
1291 var1
= global_compiler__GlobalCompilerVisitor__array_instance(self
, p0
, p1
);
1296 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: CustomizedRuntimeFunction): MClassType */
1297 val
* global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1298 val
* var
/* : MClassType */;
1299 val
* var1
/* : MClassType */;
1300 var1
= self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
; /* @recv on <self:CustomizedRuntimeFunction> */
1302 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @recv");
1303 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 842);
1310 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: Object): MClassType */
1311 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1312 val
* var
/* : MClassType */;
1313 val
* var1
/* : MClassType */;
1314 var1
= global_compiler__CustomizedRuntimeFunction__recv(self
);
1319 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: CustomizedRuntimeFunction, MClassType) */
1320 void global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1321 self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
= p0
; /* @recv on <self:CustomizedRuntimeFunction> */
1324 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: Object, MClassType) */
1325 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1326 global_compiler__CustomizedRuntimeFunction__recv_61d(self
, p0
);
1329 /* method global_compiler#CustomizedRuntimeFunction#init for (self: CustomizedRuntimeFunction, MMethodDef, MClassType) */
1330 void global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1331 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1332 val
* var_recv
/* var recv: MClassType */;
1333 var_mmethoddef
= p0
;
1335 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(self
, var_mmethoddef
) /* init on <self:CustomizedRuntimeFunction>*/;
1336 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv_61d
]))(self
, var_recv
) /* recv= on <self:CustomizedRuntimeFunction>*/;
1339 /* method global_compiler#CustomizedRuntimeFunction#init for (self: Object, MMethodDef, MClassType) */
1340 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1341 global_compiler__CustomizedRuntimeFunction__init(self
, p0
, p1
);
1344 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: CustomizedRuntimeFunction): String */
1345 val
* global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1346 val
* var
/* : String */;
1347 val
* var1
/* : nullable String */;
1348 val
* var_res
/* var res: nullable String */;
1349 val
* var2
/* : null */;
1350 short int var3
/* : Bool */;
1351 val
* var4
/* : MMethodDef */;
1352 val
* var5
/* : MClassDef */;
1353 val
* var6
/* : MClassType */;
1354 val
* var7
/* : MClassType */;
1355 short int var8
/* : Bool */;
1356 val
* var9
/* : MMethodDef */;
1357 val
* var10
/* : String */;
1358 val
* var11
/* : Array[Object] */;
1359 long var12
/* : Int */;
1360 val
* var_
/* var : Array[Object] */;
1361 static val
* varonce
;
1362 val
* var13
/* : String */;
1363 char* var14
/* : NativeString */;
1364 long var15
/* : Int */;
1365 val
* var16
/* : String */;
1366 val
* var17
/* : MMethodDef */;
1367 val
* var18
/* : String */;
1368 static val
* varonce19
;
1369 val
* var20
/* : String */;
1370 char* var21
/* : NativeString */;
1371 long var22
/* : Int */;
1372 val
* var23
/* : String */;
1373 val
* var24
/* : MClassType */;
1374 val
* var25
/* : String */;
1375 static val
* varonce26
;
1376 val
* var27
/* : String */;
1377 char* var28
/* : NativeString */;
1378 long var29
/* : Int */;
1379 val
* var30
/* : String */;
1380 val
* var31
/* : String */;
1381 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache
]))(self
) /* c_name_cache on <self:CustomizedRuntimeFunction>*/;
1384 if (var_res
== NULL
) {
1385 var3
= 0; /* is null */
1387 var3
= 1; /* arg is null and recv is not */
1394 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1395 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var4
) /* mclassdef on <var4:MMethodDef>*/;
1396 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
1397 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1398 var8
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var6
, var7
) /* == on <var6:MClassType>*/;
1400 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1401 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var9
) /* c_name on <var9:MMethodDef>*/;
1404 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1406 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[Object]>*/;
1413 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1417 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
1418 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1419 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var17
) /* c_name on <var17:MMethodDef>*/;
1420 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var18
) /* add on <var_:Array[Object]>*/;
1426 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1430 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1431 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1432 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var24
) /* c_name on <var24:MClassType>*/;
1433 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var25
) /* add on <var_:Array[Object]>*/;
1439 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1443 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var27
) /* add on <var_:Array[Object]>*/;
1444 var31
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1447 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:CustomizedRuntimeFunction>*/;
1453 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: Object): String */
1454 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1455 val
* var
/* : String */;
1456 val
* var1
/* : String */;
1457 var1
= global_compiler__CustomizedRuntimeFunction__build_c_name(self
);
1462 /* method global_compiler#CustomizedRuntimeFunction#== for (self: CustomizedRuntimeFunction, nullable Object): Bool */
1463 short int global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1464 short int var
/* : Bool */;
1465 val
* var_o
/* var o: nullable Object */;
1466 short int var1
/* : Bool */;
1469 short int var2
/* : Bool */;
1470 short int var3
/* : Bool */;
1471 val
* var4
/* : MMethodDef */;
1472 val
* var5
/* : MMethodDef */;
1473 short int var6
/* : Bool */;
1474 short int var7
/* : Bool */;
1475 val
* var8
/* : MClassType */;
1476 val
* var9
/* : MClassType */;
1477 short int var10
/* : Bool */;
1478 short int var11
/* : Bool */;
1479 short int var12
/* : Bool */;
1481 /* <var_o:nullable Object> isa CustomizedRuntimeFunction */
1482 cltype
= type_global_compiler__CustomizedRuntimeFunction
.color
;
1483 idtype
= type_global_compiler__CustomizedRuntimeFunction
.id
;
1487 if(cltype
>= var_o
->type
->table_size
) {
1490 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
1500 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1501 var5
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(var_o
) /* mmethoddef on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1502 var6
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var4
, var5
) /* != on <var4:MMethodDef>*/;
1509 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1510 var9
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(var_o
) /* recv on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1511 var10
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var8
, var9
) /* != on <var8:MClassType>*/;
1524 /* method global_compiler#CustomizedRuntimeFunction#== for (self: Object, nullable Object): Bool */
1525 short int VIRTUAL_global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1526 short int var
/* : Bool */;
1527 short int var1
/* : Bool */;
1528 var1
= global_compiler__CustomizedRuntimeFunction___61d_61d(self
, p0
);
1533 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: CustomizedRuntimeFunction): Int */
1534 long global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1535 long var
/* : Int */;
1536 val
* var1
/* : MMethodDef */;
1537 long var2
/* : Int */;
1538 val
* var3
/* : MClassType */;
1539 long var4
/* : Int */;
1540 long var5
/* : Int */;
1541 long var7
/* : Int */;
1542 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1543 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__hash
]))(var1
) /* hash on <var1:MMethodDef>*/;
1544 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1545 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__hash
]))(var3
) /* hash on <var3:MClassType>*/;
1546 { /* Inline kernel#Int#+ (var2,var4) */
1557 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: Object): Int */
1558 long VIRTUAL_global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1559 long var
/* : Int */;
1560 long var1
/* : Int */;
1561 var1
= global_compiler__CustomizedRuntimeFunction__hash(self
);
1566 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: CustomizedRuntimeFunction): String */
1567 val
* global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1568 val
* var
/* : String */;
1569 val
* var1
/* : MMethodDef */;
1570 val
* var2
/* : MClassDef */;
1571 val
* var3
/* : MClassType */;
1572 val
* var4
/* : MClassType */;
1573 short int var5
/* : Bool */;
1574 val
* var6
/* : MMethodDef */;
1575 val
* var7
/* : String */;
1576 val
* var8
/* : Array[Object] */;
1577 long var9
/* : Int */;
1578 val
* var_
/* var : Array[Object] */;
1579 static val
* varonce
;
1580 val
* var10
/* : String */;
1581 char* var11
/* : NativeString */;
1582 long var12
/* : Int */;
1583 val
* var13
/* : String */;
1584 val
* var14
/* : MMethodDef */;
1585 static val
* varonce15
;
1586 val
* var16
/* : String */;
1587 char* var17
/* : NativeString */;
1588 long var18
/* : Int */;
1589 val
* var19
/* : String */;
1590 val
* var20
/* : MClassType */;
1591 static val
* varonce21
;
1592 val
* var22
/* : String */;
1593 char* var23
/* : NativeString */;
1594 long var24
/* : Int */;
1595 val
* var25
/* : String */;
1596 val
* var26
/* : String */;
1597 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1598 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var1
) /* mclassdef on <var1:MMethodDef>*/;
1599 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var2
) /* bound_mtype on <var2:MClassDef>*/;
1600 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1601 var5
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var4
) /* == on <var3:MClassType>*/;
1603 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1604 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__Object__to_s
]))(var6
) /* to_s on <var6:MMethodDef>*/;
1608 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
1610 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
1617 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1621 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1622 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1623 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
1629 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1633 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
1634 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1635 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1641 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1645 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1646 var26
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1653 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: Object): String */
1654 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1655 val
* var
/* : String */;
1656 val
* var1
/* : String */;
1657 var1
= global_compiler__CustomizedRuntimeFunction__to_s(self
);
1662 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: CustomizedRuntimeFunction, GlobalCompiler) */
1663 void global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1664 short int var
/* : Bool */;
1667 const struct type
* type_struct
;
1668 const char* var_class_name
;
1669 val
* var_compiler
/* var compiler: GlobalCompiler */;
1670 val
* var1
/* : MClassType */;
1671 val
* var_recv
/* var recv: MClassType */;
1672 val
* var2
/* : MMethodDef */;
1673 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1674 val
* var3
/* : MModule */;
1675 val
* var4
/* : null */;
1676 val
* var5
/* : MClassDef */;
1677 val
* var6
/* : MClassType */;
1678 short int var7
/* : Bool */;
1679 short int var8
/* : Bool */;
1680 static val
* varonce
;
1681 val
* var9
/* : String */;
1682 char* var10
/* : NativeString */;
1683 long var11
/* : Int */;
1684 val
* var12
/* : String */;
1685 static val
* varonce13
;
1686 val
* var14
/* : String */;
1687 char* var15
/* : NativeString */;
1688 long var16
/* : Int */;
1689 val
* var17
/* : String */;
1690 static val
* varonce18
;
1691 val
* var19
/* : String */;
1692 char* var20
/* : NativeString */;
1693 long var21
/* : Int */;
1694 val
* var22
/* : String */;
1695 val
* var23
/* : Array[Object] */;
1696 long var24
/* : Int */;
1697 val
* var25
/* : NativeArray[Object] */;
1698 val
* var26
/* : String */;
1699 val
* var27
/* : AbstractCompilerVisitor */;
1700 val
* var_v
/* var v: GlobalCompilerVisitor */;
1701 val
* var28
/* : RuntimeVariable */;
1702 static val
* varonce29
;
1703 val
* var30
/* : String */;
1704 char* var31
/* : NativeString */;
1705 long var32
/* : Int */;
1706 val
* var33
/* : String */;
1707 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
1708 val
* var34
/* : RapidTypeAnalysis */;
1709 val
* var35
/* : HashSet[MClassType] */;
1710 short int var36
/* : Bool */;
1711 short int var37
/* : Bool */;
1712 val
* var38
/* : Array[RuntimeVariable] */;
1713 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1714 val
* var39
/* : Frame */;
1715 val
* var_frame
/* var frame: Frame */;
1716 val
* var40
/* : Buffer */;
1717 val
* var_sig
/* var sig: Buffer */;
1718 val
* var41
/* : Buffer */;
1719 val
* var_comment
/* var comment: Buffer */;
1720 val
* var42
/* : nullable MSignature */;
1721 val
* var43
/* : nullable MType */;
1722 val
* var_ret
/* var ret: nullable MType */;
1723 val
* var44
/* : null */;
1724 short int var45
/* : Bool */;
1725 val
* var46
/* : MType */;
1726 val
* var47
/* : String */;
1727 static val
* varonce48
;
1728 val
* var49
/* : String */;
1729 char* var50
/* : NativeString */;
1730 long var51
/* : Int */;
1731 val
* var52
/* : String */;
1732 val
* var53
/* : Array[Object] */;
1733 long var54
/* : Int */;
1734 val
* var55
/* : NativeArray[Object] */;
1735 val
* var56
/* : String */;
1736 val
* var57
/* : MProperty */;
1737 short int var58
/* : Bool */;
1738 val
* var59
/* : String */;
1739 static val
* varonce60
;
1740 val
* var61
/* : String */;
1741 char* var62
/* : NativeString */;
1742 long var63
/* : Int */;
1743 val
* var64
/* : String */;
1744 val
* var65
/* : Array[Object] */;
1745 long var66
/* : Int */;
1746 val
* var67
/* : NativeArray[Object] */;
1747 val
* var68
/* : String */;
1748 static val
* varonce69
;
1749 val
* var70
/* : String */;
1750 char* var71
/* : NativeString */;
1751 long var72
/* : Int */;
1752 val
* var73
/* : String */;
1753 val
* var74
/* : String */;
1754 static val
* varonce75
;
1755 val
* var76
/* : String */;
1756 char* var77
/* : NativeString */;
1757 long var78
/* : Int */;
1758 val
* var79
/* : String */;
1759 val
* var80
/* : String */;
1760 static val
* varonce81
;
1761 val
* var82
/* : String */;
1762 char* var83
/* : NativeString */;
1763 long var84
/* : Int */;
1764 val
* var85
/* : String */;
1765 val
* var86
/* : Array[Object] */;
1766 long var87
/* : Int */;
1767 val
* var88
/* : NativeArray[Object] */;
1768 val
* var89
/* : String */;
1769 static val
* varonce90
;
1770 val
* var91
/* : String */;
1771 char* var92
/* : NativeString */;
1772 long var93
/* : Int */;
1773 val
* var94
/* : String */;
1774 val
* var95
/* : Array[Object] */;
1775 long var96
/* : Int */;
1776 val
* var97
/* : NativeArray[Object] */;
1777 val
* var98
/* : String */;
1778 val
* var99
/* : Range[Int] */;
1779 long var100
/* : Int */;
1780 val
* var101
/* : nullable MSignature */;
1781 long var102
/* : Int */;
1782 val
* var103
/* : Discrete */;
1783 val
* var104
/* : Discrete */;
1784 val
* var105
/* : Iterator[nullable Object] */;
1785 short int var106
/* : Bool */;
1786 val
* var107
/* : nullable Object */;
1787 long var_i
/* var i: Int */;
1788 long var108
/* : Int */;
1789 val
* var109
/* : nullable MSignature */;
1790 val
* var110
/* : Array[MParameter] */;
1791 val
* var111
/* : nullable Object */;
1792 val
* var112
/* : MType */;
1793 val
* var_mtype
/* var mtype: MType */;
1794 val
* var113
/* : nullable MSignature */;
1795 long var114
/* : Int */;
1796 short int var115
/* : Bool */;
1797 short int var117
/* : Bool */;
1798 static val
* varonce118
;
1799 val
* var119
/* : String */;
1800 char* var120
/* : NativeString */;
1801 long var121
/* : Int */;
1802 val
* var122
/* : String */;
1803 val
* var123
/* : MClass */;
1804 val
* var124
/* : Array[MType] */;
1805 long var125
/* : Int */;
1806 val
* var126
/* : NativeArray[MType] */;
1807 val
* var127
/* : MClassType */;
1808 val
* var128
/* : MType */;
1809 static val
* varonce129
;
1810 val
* var130
/* : String */;
1811 char* var131
/* : NativeString */;
1812 long var132
/* : Int */;
1813 val
* var133
/* : String */;
1814 val
* var134
/* : Array[Object] */;
1815 long var135
/* : Int */;
1816 val
* var136
/* : NativeArray[Object] */;
1817 val
* var137
/* : String */;
1818 static val
* varonce138
;
1819 val
* var139
/* : String */;
1820 char* var140
/* : NativeString */;
1821 long var141
/* : Int */;
1822 val
* var142
/* : String */;
1823 val
* var143
/* : String */;
1824 static val
* varonce144
;
1825 val
* var145
/* : String */;
1826 char* var146
/* : NativeString */;
1827 long var147
/* : Int */;
1828 val
* var148
/* : String */;
1829 val
* var149
/* : Array[Object] */;
1830 long var150
/* : Int */;
1831 val
* var151
/* : NativeArray[Object] */;
1832 val
* var152
/* : Object */;
1833 val
* var153
/* : String */;
1834 val
* var154
/* : RuntimeVariable */;
1835 val
* var155
/* : Array[Object] */;
1836 long var156
/* : Int */;
1837 val
* var_
/* var : Array[Object] */;
1838 static val
* varonce157
;
1839 val
* var158
/* : String */;
1840 char* var159
/* : NativeString */;
1841 long var160
/* : Int */;
1842 val
* var161
/* : String */;
1843 val
* var162
/* : nullable Object */;
1844 static val
* varonce163
;
1845 val
* var164
/* : String */;
1846 char* var165
/* : NativeString */;
1847 long var166
/* : Int */;
1848 val
* var167
/* : String */;
1849 val
* var168
/* : String */;
1850 val
* var_argvar
/* var argvar: RuntimeVariable */;
1851 static val
* varonce169
;
1852 val
* var170
/* : String */;
1853 char* var171
/* : NativeString */;
1854 long var172
/* : Int */;
1855 val
* var173
/* : String */;
1856 static val
* varonce174
;
1857 val
* var175
/* : String */;
1858 char* var176
/* : NativeString */;
1859 long var177
/* : Int */;
1860 val
* var178
/* : String */;
1861 val
* var179
/* : null */;
1862 short int var180
/* : Bool */;
1863 static val
* varonce181
;
1864 val
* var182
/* : String */;
1865 char* var183
/* : NativeString */;
1866 long var184
/* : Int */;
1867 val
* var185
/* : String */;
1868 val
* var186
/* : Array[Object] */;
1869 long var187
/* : Int */;
1870 val
* var188
/* : NativeArray[Object] */;
1871 val
* var189
/* : String */;
1872 val
* var190
/* : CodeWriter */;
1873 static val
* varonce191
;
1874 val
* var192
/* : String */;
1875 char* var193
/* : NativeString */;
1876 long var194
/* : Int */;
1877 val
* var195
/* : String */;
1878 val
* var196
/* : Array[Object] */;
1879 long var197
/* : Int */;
1880 val
* var198
/* : NativeArray[Object] */;
1881 val
* var199
/* : String */;
1882 static val
* varonce200
;
1883 val
* var201
/* : String */;
1884 char* var202
/* : NativeString */;
1885 long var203
/* : Int */;
1886 val
* var204
/* : String */;
1887 static val
* varonce205
;
1888 val
* var206
/* : String */;
1889 char* var207
/* : NativeString */;
1890 long var208
/* : Int */;
1891 val
* var209
/* : String */;
1892 static val
* varonce210
;
1893 val
* var211
/* : String */;
1894 char* var212
/* : NativeString */;
1895 long var213
/* : Int */;
1896 val
* var214
/* : String */;
1897 val
* var215
/* : Array[Object] */;
1898 long var216
/* : Int */;
1899 val
* var217
/* : NativeArray[Object] */;
1900 val
* var218
/* : String */;
1901 static val
* varonce219
;
1902 val
* var220
/* : String */;
1903 char* var221
/* : NativeString */;
1904 long var222
/* : Int */;
1905 val
* var223
/* : String */;
1906 val
* var224
/* : Array[Object] */;
1907 long var225
/* : Int */;
1908 val
* var226
/* : NativeArray[Object] */;
1909 val
* var227
/* : String */;
1910 val
* var228
/* : null */;
1911 short int var229
/* : Bool */;
1912 val
* var230
/* : RuntimeVariable */;
1913 static val
* varonce231
;
1914 val
* var232
/* : String */;
1915 char* var233
/* : NativeString */;
1916 long var234
/* : Int */;
1917 val
* var235
/* : String */;
1918 val
* var236
/* : String */;
1919 val
* var237
/* : nullable RuntimeVariable */;
1920 val
* var238
/* : nullable String */;
1921 static val
* varonce239
;
1922 val
* var240
/* : String */;
1923 char* var241
/* : NativeString */;
1924 long var242
/* : Int */;
1925 val
* var243
/* : String */;
1926 val
* var244
/* : Array[Object] */;
1927 long var245
/* : Int */;
1928 val
* var246
/* : NativeArray[Object] */;
1929 val
* var247
/* : String */;
1930 val
* var248
/* : null */;
1931 short int var249
/* : Bool */;
1932 static val
* varonce250
;
1933 val
* var251
/* : String */;
1934 char* var252
/* : NativeString */;
1935 long var253
/* : Int */;
1936 val
* var254
/* : String */;
1937 val
* var255
/* : nullable RuntimeVariable */;
1938 static val
* varonce256
;
1939 val
* var257
/* : String */;
1940 char* var258
/* : NativeString */;
1941 long var259
/* : Int */;
1942 val
* var260
/* : String */;
1943 val
* var261
/* : Array[Object] */;
1944 long var262
/* : Int */;
1945 val
* var263
/* : NativeArray[Object] */;
1946 val
* var264
/* : String */;
1947 static val
* varonce265
;
1948 val
* var266
/* : String */;
1949 char* var267
/* : NativeString */;
1950 long var268
/* : Int */;
1951 val
* var269
/* : String */;
1952 val
* var270
/* : String */;
1953 static val
* varonce271
;
1954 val
* var272
/* : String */;
1955 char* var273
/* : NativeString */;
1956 long var274
/* : Int */;
1957 val
* var275
/* : String */;
1958 long var276
/* : Int */;
1959 short int var277
/* : Bool */;
1960 short int var278
/* : Bool */;
1961 val
* var279
/* : HashMap[String, String] */;
1962 val
* var280
/* : String */;
1963 val
* var281
/* : MClassDef */;
1964 val
* var282
/* : MModule */;
1965 val
* var283
/* : String */;
1966 static val
* varonce284
;
1967 val
* var285
/* : String */;
1968 char* var286
/* : NativeString */;
1969 long var287
/* : Int */;
1970 val
* var288
/* : String */;
1971 val
* var289
/* : MClassDef */;
1972 val
* var290
/* : MClass */;
1973 val
* var291
/* : String */;
1974 static val
* varonce292
;
1975 val
* var293
/* : String */;
1976 char* var294
/* : NativeString */;
1977 long var295
/* : Int */;
1978 val
* var296
/* : String */;
1979 val
* var297
/* : MProperty */;
1980 val
* var298
/* : String */;
1981 static val
* varonce299
;
1982 val
* var300
/* : String */;
1983 char* var301
/* : NativeString */;
1984 long var302
/* : Int */;
1985 val
* var303
/* : String */;
1986 val
* var304
/* : Location */;
1987 val
* var305
/* : nullable SourceFile */;
1988 val
* var306
/* : String */;
1989 static val
* varonce307
;
1990 val
* var308
/* : String */;
1991 char* var309
/* : NativeString */;
1992 long var310
/* : Int */;
1993 val
* var311
/* : String */;
1994 val
* var312
/* : Location */;
1995 long var313
/* : Int */;
1996 static val
* varonce314
;
1997 val
* var315
/* : String */;
1998 char* var316
/* : NativeString */;
1999 long var317
/* : Int */;
2000 val
* var318
/* : String */;
2001 val
* var319
/* : Array[Object] */;
2002 long var320
/* : Int */;
2003 val
* var321
/* : NativeArray[Object] */;
2004 val
* var322
/* : Object */;
2005 val
* var323
/* : String */;
2006 /* Covariant cast for argument 0 (compiler) <p0:GlobalCompiler> isa COMPILER */
2007 /* <p0:GlobalCompiler> isa COMPILER */
2008 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
2009 cltype
= type_struct
->color
;
2010 idtype
= type_struct
->id
;
2011 if(cltype
>= p0
->type
->table_size
) {
2014 var
= p0
->type
->type_table
[cltype
] == idtype
;
2017 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2018 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
2019 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 886);
2023 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2025 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2026 var_mmethoddef
= var2
;
2027 var3
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:GlobalCompiler>*/;
2029 var5
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2030 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
2031 var7
= ((short int (*)(val
*, val
*, val
*, val
*))(var_recv
->class->vft
[COLOR_model__MType__is_subtype
]))(var_recv
, var3
, var4
, var6
) /* is_subtype on <var_recv:MClassType>*/;
2037 var10
= "problem: why do we compile ";
2039 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2048 var17
= string__NativeString__to_s_with_length(var15
, var16
);
2057 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2061 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2062 { /* var23 = array_instance Array[Object] */
2064 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2065 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var9
;
2066 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) self
;
2067 ((struct instance_array__NativeArray
*)var25
)->values
[2] = (val
*) var14
;
2068 ((struct instance_array__NativeArray
*)var25
)->values
[3] = (val
*) var_recv
;
2069 ((struct instance_array__NativeArray
*)var25
)->values
[4] = (val
*) var19
;
2070 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2072 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2073 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var26
) /* print on <self:CustomizedRuntimeFunction>*/;
2074 fprintf(stderr
, "Runtime error: %s", "Aborted");
2075 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 893);
2079 var27
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:GlobalCompiler>*/;
2081 var28
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2087 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2091 ((void (*)(val
*, val
*, val
*, val
*))(var28
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var28
, var30
, var_recv
, var_recv
) /* init on <var28:RuntimeVariable>*/;
2092 var_selfvar
= var28
;
2093 var34
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis
]))(var_compiler
) /* runtime_type_analysis on <var_compiler:GlobalCompiler>*/;
2094 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var34
) /* live_types on <var34:RapidTypeAnalysis>*/;
2095 var36
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var35
, var_recv
) /* has on <var35:HashSet[MClassType]>*/;
2098 ((void (*)(val
*, short int))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_selfvar
, var37
) /* is_exact= on <var_selfvar:RuntimeVariable>*/;
2101 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2102 ((void (*)(val
*))(var38
->class->vft
[COLOR_array__Array__init
]))(var38
) /* init on <var38:Array[RuntimeVariable]>*/;
2103 var_arguments
= var38
;
2104 var39
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2105 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var39
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var39
, var_v
, var_mmethoddef
, var_recv
, var_arguments
) /* init on <var39:Frame>*/;
2107 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
2108 var40
= NEW_string__Buffer(&type_string__Buffer
);
2109 ((void (*)(val
*))(var40
->class->vft
[COLOR_string__Buffer__init
]))(var40
) /* init on <var40:Buffer>*/;
2111 var41
= NEW_string__Buffer(&type_string__Buffer
);
2112 ((void (*)(val
*))(var41
->class->vft
[COLOR_string__Buffer__init
]))(var41
) /* init on <var41:Buffer>*/;
2113 var_comment
= var41
;
2114 var42
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2115 if (var42
== NULL
) {
2116 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2117 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 907);
2120 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var42
) /* return_mtype on <var42:nullable MSignature>*/;
2124 if (var_ret
== NULL
) {
2125 var45
= 0; /* is null */
2127 var45
= 1; /* arg is null and recv is not */
2130 var46
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for
]))(var_v
, var_ret
, var_selfvar
) /* resolve_for on <var_v:GlobalCompilerVisitor>*/;
2132 var47
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
2138 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2142 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
2143 { /* var53 = array_instance Array[Object] */
2145 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
2146 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var47
;
2147 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var49
;
2148 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
2150 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
2151 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var56
) /* append on <var_sig:Buffer>*/;
2153 var57
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2154 var58
= ((short int (*)(val
*))(var57
->class->vft
[COLOR_model__MMethod__is_new
]))(var57
) /* is_new on <var57:MProperty(MMethod)>*/;
2157 var59
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
2163 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2167 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
2168 { /* var65 = array_instance Array[Object] */
2170 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
2171 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var59
;
2172 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var61
;
2173 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
2175 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
2176 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var68
) /* append on <var_sig:Buffer>*/;
2183 var73
= string__NativeString__to_s_with_length(var71
, var72
);
2187 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var70
) /* append on <var_sig:Buffer>*/;
2190 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
2191 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var74
) /* append on <var_sig:Buffer>*/;
2197 var79
= string__NativeString__to_s_with_length(var77
, var78
);
2201 var80
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_recv
) /* ctype on <var_recv:MClassType>*/;
2207 var85
= string__NativeString__to_s_with_length(var83
, var84
);
2211 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
2212 { /* var86 = array_instance Array[Object] */
2214 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
2215 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
2216 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var80
;
2217 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var82
;
2218 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var_selfvar
;
2219 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
2221 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
2222 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var89
) /* append on <var_sig:Buffer>*/;
2228 var94
= string__NativeString__to_s_with_length(var92
, var93
);
2232 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
2233 { /* var95 = array_instance Array[Object] */
2235 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
2236 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var91
;
2237 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var_recv
;
2238 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
2240 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
2241 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var98
) /* append on <var_comment:Buffer>*/;
2242 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2243 var99
= NEW_range__Range(&type_range__Rangekernel__Int
);
2245 var101
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2246 if (var101
== NULL
) {
2247 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2248 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 921);
2251 var102
= ((long (*)(val
*))(var101
->class->vft
[COLOR_model__MSignature__arity
]))(var101
) /* arity on <var101:nullable MSignature>*/;
2253 var103
= BOX_kernel__Int(var100
); /* autobox from Int to Discrete */
2254 var104
= BOX_kernel__Int(var102
); /* autobox from Int to Discrete */
2255 ((void (*)(val
*, val
*, val
*))(var99
->class->vft
[COLOR_range__Range__without_last
]))(var99
, var103
, var104
) /* without_last on <var99:Range[Int]>*/;
2256 var105
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var99
) /* iterator on <var99:Range[Int]>*/;
2258 var106
= ((short int (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var105
) /* is_ok on <var105:Iterator[nullable Object]>*/;
2260 var107
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var105
) /* item on <var105:Iterator[nullable Object]>*/;
2261 var108
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
2263 var109
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2264 if (var109
== NULL
) {
2265 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2266 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 922);
2269 var110
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_model__MSignature__mparameters
]))(var109
) /* mparameters on <var109:nullable MSignature>*/;
2271 var111
= ((val
* (*)(val
*, long))(var110
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var110
, var_i
) /* [] on <var110:Array[MParameter]>*/;
2272 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_model__MParameter__mtype
]))(var111
) /* mtype on <var111:nullable Object(MParameter)>*/;
2274 var113
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2275 if (var113
== NULL
) {
2276 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2277 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 923);
2280 var114
= ((long (*)(val
*))(var113
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var113
) /* vararg_rank on <var113:nullable MSignature>*/;
2282 { /* Inline kernel#Int#== (var_i,var114) */
2283 var117
= var_i
== var114
;
2286 RET_LABEL116
:(void)0;
2290 var119
= varonce118
;
2294 var122
= string__NativeString__to_s_with_length(var120
, var121
);
2296 varonce118
= var119
;
2298 var123
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var119
) /* get_class on <var_v:GlobalCompilerVisitor>*/;
2299 var124
= NEW_array__Array(&type_array__Arraymodel__MType
);
2300 { /* var124 = array_instance Array[MType] */
2302 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraymodel__MType
);
2303 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_mtype
;
2304 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[MType]>*/;
2306 var127
= ((val
* (*)(val
*, val
*))(var123
->class->vft
[COLOR_model__MClass__get_mtype
]))(var123
, var124
) /* get_mtype on <var123:MClass>*/;
2310 var128
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for
]))(var_v
, var_mtype
, var_selfvar
) /* resolve_for on <var_v:GlobalCompilerVisitor>*/;
2313 var130
= varonce129
;
2317 var133
= string__NativeString__to_s_with_length(var131
, var132
);
2319 varonce129
= var130
;
2321 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
2322 { /* var134 = array_instance Array[Object] */
2324 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
2325 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var130
;
2326 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var_mtype
;
2327 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
2329 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
2330 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var137
) /* append on <var_comment:Buffer>*/;
2332 var139
= varonce138
;
2336 var142
= string__NativeString__to_s_with_length(var140
, var141
);
2338 varonce138
= var139
;
2340 var143
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2342 var145
= varonce144
;
2346 var148
= string__NativeString__to_s_with_length(var146
, var147
);
2348 varonce144
= var145
;
2350 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
2351 { /* var149 = array_instance Array[Object] */
2353 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
2354 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var139
;
2355 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var143
;
2356 ((struct instance_array__NativeArray
*)var151
)->values
[2] = (val
*) var145
;
2357 var152
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
2358 ((struct instance_array__NativeArray
*)var151
)->values
[3] = (val
*) var152
;
2359 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
2361 var153
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
2362 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var153
) /* append on <var_sig:Buffer>*/;
2363 var154
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2364 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
2366 ((void (*)(val
*, long))(var155
->class->vft
[COLOR_array__Array__with_capacity
]))(var155
, var156
) /* with_capacity on <var155:Array[Object]>*/;
2369 var158
= varonce157
;
2373 var161
= string__NativeString__to_s_with_length(var159
, var160
);
2375 varonce157
= var158
;
2377 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var158
) /* add on <var_:Array[Object]>*/;
2378 var162
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2379 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var162
) /* add on <var_:Array[Object]>*/;
2381 var164
= varonce163
;
2385 var167
= string__NativeString__to_s_with_length(var165
, var166
);
2387 varonce163
= var164
;
2389 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var164
) /* add on <var_:Array[Object]>*/;
2390 var168
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2391 ((void (*)(val
*, val
*, val
*, val
*))(var154
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var154
, var168
, var_mtype
, var_mtype
) /* init on <var154:RuntimeVariable>*/;
2392 var_argvar
= var154
;
2393 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2394 CONTINUE_label
: (void)0;
2395 ((void (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var105
) /* next on <var105:Iterator[nullable Object]>*/;
2397 BREAK_label
: (void)0;
2399 var170
= varonce169
;
2403 var173
= string__NativeString__to_s_with_length(var171
, var172
);
2405 varonce169
= var170
;
2407 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var170
) /* append on <var_sig:Buffer>*/;
2409 var175
= varonce174
;
2413 var178
= string__NativeString__to_s_with_length(var176
, var177
);
2415 varonce174
= var175
;
2417 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var175
) /* append on <var_comment:Buffer>*/;
2419 if (var_ret
== NULL
) {
2420 var180
= 0; /* is null */
2422 var180
= 1; /* arg is null and recv is not */
2426 var182
= varonce181
;
2430 var185
= string__NativeString__to_s_with_length(var183
, var184
);
2432 varonce181
= var182
;
2434 var186
= NEW_array__Array(&type_array__Arraykernel__Object
);
2435 { /* var186 = array_instance Array[Object] */
2437 var188
= NEW_array__NativeArray(var187
, &type_array__NativeArraykernel__Object
);
2438 ((struct instance_array__NativeArray
*)var188
)->values
[0] = (val
*) var182
;
2439 ((struct instance_array__NativeArray
*)var188
)->values
[1] = (val
*) var_ret
;
2440 ((void (*)(val
*, val
*, long))(var186
->class->vft
[COLOR_array__Array__with_native
]))(var186
, var188
, var187
) /* with_native on <var186:Array[Object]>*/;
2442 var189
= ((val
* (*)(val
*))(var186
->class->vft
[COLOR_string__Object__to_s
]))(var186
) /* to_s on <var186:Array[Object]>*/;
2443 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var189
) /* append on <var_comment:Buffer>*/;
2446 var190
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:GlobalCompiler>*/;
2448 var192
= varonce191
;
2452 var195
= string__NativeString__to_s_with_length(var193
, var194
);
2454 varonce191
= var192
;
2456 var196
= NEW_array__Array(&type_array__Arraykernel__Object
);
2457 { /* var196 = array_instance Array[Object] */
2459 var198
= NEW_array__NativeArray(var197
, &type_array__NativeArraykernel__Object
);
2460 ((struct instance_array__NativeArray
*)var198
)->values
[0] = (val
*) var_sig
;
2461 ((struct instance_array__NativeArray
*)var198
)->values
[1] = (val
*) var192
;
2462 ((void (*)(val
*, val
*, long))(var196
->class->vft
[COLOR_array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
2464 var199
= ((val
* (*)(val
*))(var196
->class->vft
[COLOR_string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
2465 ((void (*)(val
*, val
*))(var190
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var190
, var199
) /* add_decl on <var190:CodeWriter>*/;
2467 var201
= varonce200
;
2469 var202
= "/* method ";
2471 var204
= string__NativeString__to_s_with_length(var202
, var203
);
2473 varonce200
= var201
;
2476 var206
= varonce205
;
2480 var209
= string__NativeString__to_s_with_length(var207
, var208
);
2482 varonce205
= var206
;
2485 var211
= varonce210
;
2489 var214
= string__NativeString__to_s_with_length(var212
, var213
);
2491 varonce210
= var211
;
2493 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
2494 { /* var215 = array_instance Array[Object] */
2496 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
2497 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var201
;
2498 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) self
;
2499 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var206
;
2500 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var_comment
;
2501 ((struct instance_array__NativeArray
*)var217
)->values
[4] = (val
*) var211
;
2502 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
2504 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
2505 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var218
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2507 var220
= varonce219
;
2511 var223
= string__NativeString__to_s_with_length(var221
, var222
);
2513 varonce219
= var220
;
2515 var224
= NEW_array__Array(&type_array__Arraykernel__Object
);
2516 { /* var224 = array_instance Array[Object] */
2518 var226
= NEW_array__NativeArray(var225
, &type_array__NativeArraykernel__Object
);
2519 ((struct instance_array__NativeArray
*)var226
)->values
[0] = (val
*) var_sig
;
2520 ((struct instance_array__NativeArray
*)var226
)->values
[1] = (val
*) var220
;
2521 ((void (*)(val
*, val
*, long))(var224
->class->vft
[COLOR_array__Array__with_native
]))(var224
, var226
, var225
) /* with_native on <var224:Array[Object]>*/;
2523 var227
= ((val
* (*)(val
*))(var224
->class->vft
[COLOR_string__Object__to_s
]))(var224
) /* to_s on <var224:Array[Object]>*/;
2524 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var227
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2526 if (var_ret
== NULL
) {
2527 var229
= 0; /* is null */
2529 var229
= 1; /* arg is null and recv is not */
2532 var230
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
2533 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var230
) /* returnvar= on <var_frame:Frame>*/;
2537 var232
= varonce231
;
2539 var233
= "RET_LABEL";
2541 var235
= string__NativeString__to_s_with_length(var233
, var234
);
2543 varonce231
= var232
;
2545 var236
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var232
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2546 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var236
) /* returnlabel= on <var_frame:Frame>*/;
2547 var237
= ((val
* (*)(val
*, val
*, val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_inside_to_c
]))(var_mmethoddef
, var_v
, var_arguments
) /* compile_inside_to_c on <var_mmethoddef:MMethodDef>*/;
2549 var238
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2550 if (var238
== NULL
) {
2551 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2552 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 949);
2556 var240
= varonce239
;
2560 var243
= string__NativeString__to_s_with_length(var241
, var242
);
2562 varonce239
= var240
;
2564 var244
= NEW_array__Array(&type_array__Arraykernel__Object
);
2565 { /* var244 = array_instance Array[Object] */
2567 var246
= NEW_array__NativeArray(var245
, &type_array__NativeArraykernel__Object
);
2568 ((struct instance_array__NativeArray
*)var246
)->values
[0] = (val
*) var238
;
2569 ((struct instance_array__NativeArray
*)var246
)->values
[1] = (val
*) var240
;
2570 ((void (*)(val
*, val
*, long))(var244
->class->vft
[COLOR_array__Array__with_native
]))(var244
, var246
, var245
) /* with_native on <var244:Array[Object]>*/;
2572 var247
= ((val
* (*)(val
*))(var244
->class->vft
[COLOR_string__Object__to_s
]))(var244
) /* to_s on <var244:Array[Object]>*/;
2573 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var247
) /* add on <var_v:GlobalCompilerVisitor>*/;
2575 if (var_ret
== NULL
) {
2576 var249
= 0; /* is null */
2578 var249
= 1; /* arg is null and recv is not */
2582 var251
= varonce250
;
2586 var254
= string__NativeString__to_s_with_length(var252
, var253
);
2588 varonce250
= var251
;
2590 var255
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
2591 if (var255
== NULL
) {
2592 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2593 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 951);
2597 var257
= varonce256
;
2601 var260
= string__NativeString__to_s_with_length(var258
, var259
);
2603 varonce256
= var257
;
2605 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
2606 { /* var261 = array_instance Array[Object] */
2608 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
2609 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var251
;
2610 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var255
;
2611 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var257
;
2612 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
2614 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
2615 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var264
) /* add on <var_v:GlobalCompilerVisitor>*/;
2619 var266
= varonce265
;
2623 var269
= string__NativeString__to_s_with_length(var267
, var268
);
2625 varonce265
= var266
;
2627 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var266
) /* add on <var_v:GlobalCompilerVisitor>*/;
2628 var270
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
2630 var272
= varonce271
;
2634 var275
= string__NativeString__to_s_with_length(var273
, var274
);
2636 varonce271
= var272
;
2639 var277
= ((short int (*)(val
*, val
*, long))(var270
->class->vft
[COLOR_string__AbstractString__has_substring
]))(var270
, var272
, var276
) /* has_substring on <var270:String>*/;
2642 var279
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(var_compiler
) /* names on <var_compiler:GlobalCompiler>*/;
2643 var280
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
2644 var281
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2645 var282
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var281
) /* mmodule on <var281:MClassDef>*/;
2646 var283
= ((val
* (*)(val
*))(var282
->class->vft
[COLOR_mmodule__MModule__name
]))(var282
) /* name on <var282:MModule>*/;
2648 var285
= varonce284
;
2652 var288
= string__NativeString__to_s_with_length(var286
, var287
);
2654 varonce284
= var285
;
2656 var289
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2657 var290
= ((val
* (*)(val
*))(var289
->class->vft
[COLOR_model__MClassDef__mclass
]))(var289
) /* mclass on <var289:MClassDef>*/;
2658 var291
= ((val
* (*)(val
*))(var290
->class->vft
[COLOR_model__MClass__name
]))(var290
) /* name on <var290:MClass>*/;
2660 var293
= varonce292
;
2664 var296
= string__NativeString__to_s_with_length(var294
, var295
);
2666 varonce292
= var293
;
2668 var297
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2669 var298
= ((val
* (*)(val
*))(var297
->class->vft
[COLOR_model__MProperty__name
]))(var297
) /* name on <var297:MProperty(MMethod)>*/;
2671 var300
= varonce299
;
2675 var303
= string__NativeString__to_s_with_length(var301
, var302
);
2677 varonce299
= var300
;
2679 var304
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
2680 var305
= ((val
* (*)(val
*))(var304
->class->vft
[COLOR_location__Location__file
]))(var304
) /* file on <var304:Location>*/;
2681 if (var305
== NULL
) {
2682 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2683 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 954);
2686 var306
= ((val
* (*)(val
*))(var305
->class->vft
[COLOR_location__SourceFile__filename
]))(var305
) /* filename on <var305:nullable SourceFile>*/;
2689 var308
= varonce307
;
2693 var311
= string__NativeString__to_s_with_length(var309
, var310
);
2695 varonce307
= var308
;
2697 var312
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__location
]))(var_mmethoddef
) /* location on <var_mmethoddef:MMethodDef>*/;
2698 var313
= ((long (*)(val
*))(var312
->class->vft
[COLOR_location__Location__line_start
]))(var312
) /* line_start on <var312:Location>*/;
2700 var315
= varonce314
;
2704 var318
= string__NativeString__to_s_with_length(var316
, var317
);
2706 varonce314
= var315
;
2708 var319
= NEW_array__Array(&type_array__Arraykernel__Object
);
2709 { /* var319 = array_instance Array[Object] */
2711 var321
= NEW_array__NativeArray(var320
, &type_array__NativeArraykernel__Object
);
2712 ((struct instance_array__NativeArray
*)var321
)->values
[0] = (val
*) var283
;
2713 ((struct instance_array__NativeArray
*)var321
)->values
[1] = (val
*) var285
;
2714 ((struct instance_array__NativeArray
*)var321
)->values
[2] = (val
*) var291
;
2715 ((struct instance_array__NativeArray
*)var321
)->values
[3] = (val
*) var293
;
2716 ((struct instance_array__NativeArray
*)var321
)->values
[4] = (val
*) var298
;
2717 ((struct instance_array__NativeArray
*)var321
)->values
[5] = (val
*) var300
;
2718 ((struct instance_array__NativeArray
*)var321
)->values
[6] = (val
*) var306
;
2719 ((struct instance_array__NativeArray
*)var321
)->values
[7] = (val
*) var308
;
2720 var322
= BOX_kernel__Int(var313
); /* autobox from Int to Object */
2721 ((struct instance_array__NativeArray
*)var321
)->values
[8] = (val
*) var322
;
2722 ((struct instance_array__NativeArray
*)var321
)->values
[9] = (val
*) var315
;
2723 ((void (*)(val
*, val
*, long))(var319
->class->vft
[COLOR_array__Array__with_native
]))(var319
, var321
, var320
) /* with_native on <var319:Array[Object]>*/;
2725 var323
= ((val
* (*)(val
*))(var319
->class->vft
[COLOR_string__Object__to_s
]))(var319
) /* to_s on <var319:Array[Object]>*/;
2726 ((void (*)(val
*, val
*, val
*))(var279
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var279
, var280
, var323
) /* []= on <var279:HashMap[String, String]>*/;
2731 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2732 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2733 global_compiler__CustomizedRuntimeFunction__compile_to_c(self
, p0
);
2736 /* method global_compiler#CustomizedRuntimeFunction#call for (self: CustomizedRuntimeFunction, GlobalCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2737 val
* global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2738 val
* var
/* : nullable RuntimeVariable */;
2739 short int var1
/* : Bool */;
2742 const struct type
* type_struct
;
2743 const char* var_class_name
;
2744 val
* var_v
/* var v: GlobalCompilerVisitor */;
2745 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2746 val
* var2
/* : MMethodDef */;
2747 val
* var3
/* : nullable MSignature */;
2748 val
* var4
/* : nullable MType */;
2749 val
* var_ret
/* var ret: nullable MType */;
2750 val
* var5
/* : MMethodDef */;
2751 val
* var6
/* : MProperty */;
2752 short int var7
/* : Bool */;
2753 val
* var8
/* : MClassType */;
2754 val
* var9
/* : null */;
2755 short int var10
/* : Bool */;
2756 val
* var11
/* : nullable Object */;
2757 val
* var12
/* : MType */;
2758 val
* var13
/* : MMethodDef */;
2759 short int var14
/* : Bool */;
2760 val
* var15
/* : Frame */;
2761 val
* var16
/* : MMethodDef */;
2762 val
* var17
/* : MClassType */;
2763 val
* var_frame
/* var frame: Frame */;
2764 static val
* varonce
;
2765 val
* var18
/* : String */;
2766 char* var19
/* : NativeString */;
2767 long var20
/* : Int */;
2768 val
* var21
/* : String */;
2769 val
* var22
/* : String */;
2770 val
* var23
/* : null */;
2771 short int var24
/* : Bool */;
2772 val
* var25
/* : RuntimeVariable */;
2773 val
* var26
/* : nullable Frame */;
2774 val
* var_old_frame
/* var old_frame: nullable Frame */;
2775 static val
* varonce27
;
2776 val
* var28
/* : String */;
2777 char* var29
/* : NativeString */;
2778 long var30
/* : Int */;
2779 val
* var31
/* : String */;
2780 static val
* varonce32
;
2781 val
* var33
/* : String */;
2782 char* var34
/* : NativeString */;
2783 long var35
/* : Int */;
2784 val
* var36
/* : String */;
2785 static val
* varonce37
;
2786 val
* var38
/* : String */;
2787 char* var39
/* : NativeString */;
2788 long var40
/* : Int */;
2789 val
* var41
/* : String */;
2790 val
* var42
/* : String */;
2791 static val
* varonce43
;
2792 val
* var44
/* : String */;
2793 char* var45
/* : NativeString */;
2794 long var46
/* : Int */;
2795 val
* var47
/* : String */;
2796 val
* var48
/* : Array[Object] */;
2797 long var49
/* : Int */;
2798 val
* var50
/* : NativeArray[Object] */;
2799 val
* var51
/* : String */;
2800 val
* var52
/* : MMethodDef */;
2801 val
* var53
/* : nullable RuntimeVariable */;
2802 val
* var54
/* : nullable String */;
2803 static val
* varonce55
;
2804 val
* var56
/* : String */;
2805 char* var57
/* : NativeString */;
2806 long var58
/* : Int */;
2807 val
* var59
/* : String */;
2808 val
* var60
/* : Array[Object] */;
2809 long var61
/* : Int */;
2810 val
* var62
/* : NativeArray[Object] */;
2811 val
* var63
/* : String */;
2812 static val
* varonce64
;
2813 val
* var65
/* : String */;
2814 char* var66
/* : NativeString */;
2815 long var67
/* : Int */;
2816 val
* var68
/* : String */;
2817 val
* var69
/* : nullable RuntimeVariable */;
2818 val
* var70
/* : MMethodDef */;
2819 val
* var71
/* : AbstractCompiler */;
2820 val
* var72
/* : null */;
2821 short int var73
/* : Bool */;
2822 val
* var74
/* : String */;
2823 static val
* varonce75
;
2824 val
* var76
/* : String */;
2825 char* var77
/* : NativeString */;
2826 long var78
/* : Int */;
2827 val
* var79
/* : String */;
2828 static val
* varonce80
;
2829 val
* var81
/* : String */;
2830 char* var82
/* : NativeString */;
2831 long var83
/* : Int */;
2832 val
* var84
/* : String */;
2833 val
* var85
/* : String */;
2834 static val
* varonce86
;
2835 val
* var87
/* : String */;
2836 char* var88
/* : NativeString */;
2837 long var89
/* : Int */;
2838 val
* var90
/* : String */;
2839 val
* var91
/* : Array[Object] */;
2840 long var92
/* : Int */;
2841 val
* var93
/* : NativeArray[Object] */;
2842 val
* var94
/* : String */;
2843 val
* var95
/* : null */;
2844 val
* var96
/* : RuntimeVariable */;
2845 val
* var_res
/* var res: RuntimeVariable */;
2846 static val
* varonce97
;
2847 val
* var98
/* : String */;
2848 char* var99
/* : NativeString */;
2849 long var100
/* : Int */;
2850 val
* var101
/* : String */;
2851 val
* var102
/* : String */;
2852 static val
* varonce103
;
2853 val
* var104
/* : String */;
2854 char* var105
/* : NativeString */;
2855 long var106
/* : Int */;
2856 val
* var107
/* : String */;
2857 static val
* varonce108
;
2858 val
* var109
/* : String */;
2859 char* var110
/* : NativeString */;
2860 long var111
/* : Int */;
2861 val
* var112
/* : String */;
2862 val
* var113
/* : String */;
2863 static val
* varonce114
;
2864 val
* var115
/* : String */;
2865 char* var116
/* : NativeString */;
2866 long var117
/* : Int */;
2867 val
* var118
/* : String */;
2868 val
* var119
/* : Array[Object] */;
2869 long var120
/* : Int */;
2870 val
* var121
/* : NativeArray[Object] */;
2871 val
* var122
/* : String */;
2872 /* Covariant cast for argument 0 (v) <p0:GlobalCompilerVisitor> isa VISITOR */
2873 /* <p0:GlobalCompilerVisitor> isa VISITOR */
2874 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2875 cltype
= type_struct
->color
;
2876 idtype
= type_struct
->id
;
2877 if(cltype
>= p0
->type
->table_size
) {
2880 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2883 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2884 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2885 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 957);
2890 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2891 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MMethodDef>*/;
2893 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2894 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 959);
2897 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var3
) /* return_mtype on <var3:nullable MSignature>*/;
2900 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2901 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var5
) /* mproperty on <var5:MMethodDef>*/;
2902 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_model__MMethod__is_new
]))(var6
) /* is_new on <var6:MProperty(MMethod)>*/;
2904 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2909 if (var_ret
== NULL
) {
2910 var10
= 0; /* is null */
2912 var10
= 1; /* arg is null and recv is not */
2915 var11
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2916 var12
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__resolve_for
]))(var_v
, var_ret
, var11
) /* resolve_for on <var_v:GlobalCompilerVisitor>*/;
2920 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2921 var14
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_compiler__MMethodDef__can_inline
]))(var13
, var_v
) /* can_inline on <var13:MMethodDef>*/;
2923 var15
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2924 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2925 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2926 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var15
, var_v
, var16
, var17
, var_arguments
) /* init on <var15:Frame>*/;
2931 var19
= "RET_LABEL";
2933 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2937 var22
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var18
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2938 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var22
) /* returnlabel= on <var_frame:Frame>*/;
2940 if (var_ret
== NULL
) {
2941 var24
= 0; /* is null */
2943 var24
= 1; /* arg is null and recv is not */
2946 var25
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
2947 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var25
) /* returnvar= on <var_frame:Frame>*/;
2950 var26
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:GlobalCompilerVisitor>*/;
2951 var_old_frame
= var26
;
2952 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
2956 var29
= "{ /* Inline ";
2958 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2967 var36
= string__NativeString__to_s_with_length(var34
, var35
);
2976 var41
= string__NativeString__to_s_with_length(var39
, var40
);
2980 var42
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var38
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
2986 var47
= string__NativeString__to_s_with_length(var45
, var46
);
2990 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
2991 { /* var48 = array_instance Array[Object] */
2993 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
2994 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var28
;
2995 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) self
;
2996 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var33
;
2997 ((struct instance_array__NativeArray
*)var50
)->values
[3] = (val
*) var42
;
2998 ((struct instance_array__NativeArray
*)var50
)->values
[4] = (val
*) var44
;
2999 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
3001 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
3002 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var51
) /* add on <var_v:GlobalCompilerVisitor>*/;
3003 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3004 var53
= ((val
* (*)(val
*, val
*, val
*))(var52
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_inside_to_c
]))(var52
, var_v
, var_arguments
) /* compile_inside_to_c on <var52:MMethodDef>*/;
3006 var54
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
3007 if (var54
== NULL
) {
3008 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3009 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 976);
3015 var57
= ":(void)0;";
3017 var59
= string__NativeString__to_s_with_length(var57
, var58
);
3021 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
3022 { /* var60 = array_instance Array[Object] */
3024 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
3025 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var54
;
3026 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var56
;
3027 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
3029 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
3030 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var63
) /* add on <var_v:GlobalCompilerVisitor>*/;
3036 var68
= string__NativeString__to_s_with_length(var66
, var67
);
3040 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var65
) /* add on <var_v:GlobalCompilerVisitor>*/;
3041 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_old_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
3042 var69
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
3047 var70
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3048 ((void (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__adapt_signature
]))(var_v
, var70
, var_arguments
) /* adapt_signature on <var_v:GlobalCompilerVisitor>*/;
3049 var71
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:GlobalCompilerVisitor>*/;
3050 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_global_compiler__GlobalCompiler__todo
]))(var71
, self
) /* todo on <var71:AbstractCompiler(GlobalCompiler)>*/;
3052 if (var_ret
== NULL
) {
3053 var73
= 1; /* is null */
3055 var73
= 0; /* arg is null but recv is not */
3058 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3064 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3073 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3077 var85
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var81
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3083 var90
= string__NativeString__to_s_with_length(var88
, var89
);
3087 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
3088 { /* var91 = array_instance Array[Object] */
3090 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
3091 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var74
;
3092 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var76
;
3093 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var85
;
3094 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var87
;
3095 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
3097 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
3098 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var94
) /* add on <var_v:GlobalCompilerVisitor>*/;
3103 var96
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
3110 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3114 var102
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3116 var104
= varonce103
;
3120 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3122 varonce103
= var104
;
3125 var109
= varonce108
;
3129 var112
= string__NativeString__to_s_with_length(var110
, var111
);
3131 varonce108
= var109
;
3133 var113
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var109
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3135 var115
= varonce114
;
3139 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3141 varonce114
= var115
;
3143 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
3144 { /* var119 = array_instance Array[Object] */
3146 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
3147 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var_res
;
3148 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var98
;
3149 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var102
;
3150 ((struct instance_array__NativeArray
*)var121
)->values
[3] = (val
*) var104
;
3151 ((struct instance_array__NativeArray
*)var121
)->values
[4] = (val
*) var113
;
3152 ((struct instance_array__NativeArray
*)var121
)->values
[5] = (val
*) var115
;
3153 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
3155 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
3156 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:GlobalCompilerVisitor>*/;
3163 /* method global_compiler#CustomizedRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
3164 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
3165 val
* var
/* : nullable RuntimeVariable */;
3166 val
* var1
/* : nullable RuntimeVariable */;
3167 var1
= global_compiler__CustomizedRuntimeFunction__call(self
, p0
, p1
);