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 val
* var_mtype1
/* var mtype1: MClassType */;
93 static val
* varonce80
;
94 val
* var81
/* : String */;
95 char* var82
/* : NativeString */;
96 long var83
/* : Int */;
97 val
* var84
/* : String */;
98 static val
* varonce85
;
99 val
* var86
/* : String */;
100 char* var87
/* : NativeString */;
101 long var88
/* : Int */;
102 val
* var89
/* : String */;
103 static val
* varonce90
;
104 val
* var91
/* : String */;
105 char* var92
/* : NativeString */;
106 long var93
/* : Int */;
107 val
* var94
/* : String */;
108 val
* var95
/* : AbstractCompiler */;
109 val
* var96
/* : String */;
110 static val
* varonce97
;
111 val
* var98
/* : String */;
112 char* var99
/* : NativeString */;
113 long var100
/* : Int */;
114 val
* var101
/* : String */;
115 val
* var102
/* : Array[Object] */;
116 long var103
/* : Int */;
117 val
* var104
/* : NativeArray[Object] */;
118 val
* var105
/* : String */;
119 static val
* varonce106
;
120 val
* var107
/* : String */;
121 char* var108
/* : NativeString */;
122 long var109
/* : Int */;
123 val
* var110
/* : String */;
124 static val
* varonce111
;
125 val
* var112
/* : String */;
126 char* var113
/* : NativeString */;
127 long var114
/* : Int */;
128 val
* var115
/* : String */;
129 val
* var116
/* : Array[Object] */;
130 long var117
/* : Int */;
131 val
* var118
/* : NativeArray[Object] */;
132 val
* var119
/* : String */;
133 static val
* varonce120
;
134 val
* var121
/* : String */;
135 char* var122
/* : NativeString */;
136 long var123
/* : Int */;
137 val
* var124
/* : String */;
138 val
* var125
/* : MType */;
139 val
* var126
/* : RuntimeVariable */;
140 static val
* varonce127
;
141 val
* var128
/* : String */;
142 char* var129
/* : NativeString */;
143 long var130
/* : Int */;
144 val
* var131
/* : String */;
145 static val
* varonce132
;
146 val
* var133
/* : String */;
147 char* var134
/* : NativeString */;
148 long var135
/* : Int */;
149 val
* var136
/* : String */;
150 val
* var137
/* : Array[Object] */;
151 long var138
/* : Int */;
152 val
* var139
/* : NativeArray[Object] */;
153 val
* var140
/* : String */;
154 static val
* varonce141
;
155 val
* var142
/* : String */;
156 char* var143
/* : NativeString */;
157 long var144
/* : Int */;
158 val
* var145
/* : String */;
159 val
* var146
/* : Array[String] */;
160 val
* var_s
/* var s: Array[String] */;
161 val
* var147
/* : AbstractCompiler */;
162 val
* var148
/* : Array[MClassType] */;
163 val
* var149
/* : Iterator[nullable Object] */;
164 short int var150
/* : Bool */;
165 val
* var151
/* : nullable Object */;
166 val
* var_t
/* var t: MClassType */;
167 val
* var152
/* : AbstractCompiler */;
168 val
* var153
/* : MModule */;
169 val
* var154
/* : null */;
170 val
* var155
/* : MType */;
171 short int var156
/* : Bool */;
172 short int var157
/* : Bool */;
173 val
* var158
/* : AbstractCompiler */;
174 val
* var159
/* : MModule */;
175 val
* var160
/* : null */;
176 val
* var161
/* : MType */;
177 short int var162
/* : Bool */;
178 short int var163
/* : Bool */;
179 static val
* varonce164
;
180 val
* var165
/* : String */;
181 char* var166
/* : NativeString */;
182 long var167
/* : Int */;
183 val
* var168
/* : String */;
184 static val
* varonce169
;
185 val
* var170
/* : String */;
186 char* var171
/* : NativeString */;
187 long var172
/* : Int */;
188 val
* var173
/* : String */;
189 val
* var174
/* : AbstractCompiler */;
190 val
* var175
/* : String */;
191 static val
* varonce176
;
192 val
* var177
/* : String */;
193 char* var178
/* : NativeString */;
194 long var179
/* : Int */;
195 val
* var180
/* : String */;
196 val
* var181
/* : String */;
197 static val
* varonce182
;
198 val
* var183
/* : String */;
199 char* var184
/* : NativeString */;
200 long var185
/* : Int */;
201 val
* var186
/* : String */;
202 static val
* varonce187
;
203 val
* var188
/* : String */;
204 char* var189
/* : NativeString */;
205 long var190
/* : Int */;
206 val
* var191
/* : String */;
207 val
* var192
/* : String */;
208 static val
* varonce193
;
209 val
* var194
/* : String */;
210 char* var195
/* : NativeString */;
211 long var196
/* : Int */;
212 val
* var197
/* : String */;
213 static val
* varonce198
;
214 val
* var199
/* : String */;
215 char* var200
/* : NativeString */;
216 long var201
/* : Int */;
217 val
* var202
/* : String */;
218 val
* var203
/* : Array[Object] */;
219 long var204
/* : Int */;
220 val
* var205
/* : NativeArray[Object] */;
221 val
* var206
/* : String */;
222 short int var207
/* : Bool */;
223 static val
* varonce208
;
224 val
* var209
/* : String */;
225 char* var210
/* : NativeString */;
226 long var211
/* : Int */;
227 val
* var212
/* : String */;
228 static val
* varonce213
;
229 val
* var214
/* : String */;
230 char* var215
/* : NativeString */;
231 long var216
/* : Int */;
232 val
* var217
/* : String */;
233 static val
* varonce218
;
234 val
* var219
/* : String */;
235 char* var220
/* : NativeString */;
236 long var221
/* : Int */;
237 val
* var222
/* : String */;
238 val
* var223
/* : Array[Object] */;
239 long var224
/* : Int */;
240 val
* var225
/* : NativeArray[Object] */;
241 val
* var226
/* : String */;
242 static val
* varonce227
;
243 val
* var228
/* : String */;
244 char* var229
/* : NativeString */;
245 long var230
/* : Int */;
246 val
* var231
/* : String */;
247 static val
* varonce232
;
248 val
* var233
/* : String */;
249 char* var234
/* : NativeString */;
250 long var235
/* : Int */;
251 val
* var236
/* : String */;
252 static val
* varonce237
;
253 val
* var238
/* : String */;
254 char* var239
/* : NativeString */;
255 long var240
/* : Int */;
256 val
* var241
/* : String */;
257 static val
* varonce242
;
258 val
* var243
/* : String */;
259 char* var244
/* : NativeString */;
260 long var245
/* : Int */;
261 val
* var246
/* : String */;
262 static val
* varonce247
;
263 val
* var248
/* : String */;
264 char* var249
/* : NativeString */;
265 long var250
/* : Int */;
266 val
* var251
/* : String */;
267 static val
* varonce252
;
268 val
* var253
/* : String */;
269 char* var254
/* : NativeString */;
270 long var255
/* : Int */;
271 val
* var256
/* : String */;
272 static val
* varonce257
;
273 val
* var258
/* : String */;
274 char* var259
/* : NativeString */;
275 long var260
/* : Int */;
276 val
* var261
/* : String */;
277 static val
* varonce262
;
278 val
* var263
/* : String */;
279 char* var264
/* : NativeString */;
280 long var265
/* : Int */;
281 val
* var266
/* : String */;
282 val
* var267
/* : String */;
283 static val
* varonce268
;
284 val
* var269
/* : String */;
285 char* var270
/* : NativeString */;
286 long var271
/* : Int */;
287 val
* var272
/* : String */;
288 val
* var273
/* : Array[Object] */;
289 long var274
/* : Int */;
290 val
* var275
/* : NativeArray[Object] */;
291 val
* var276
/* : String */;
294 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:GlobalCompilerVisitor>*/;
295 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:GlobalCompilerVisitor>*/;
297 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
298 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
304 var9
= string__NativeString__to_s_with_length(var7
, var8
);
308 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
311 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
312 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
318 var17
= string__NativeString__to_s_with_length(var15
, var16
);
322 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
328 var_tmp
= var_value1
;
329 var_value1
= var_value2
;
330 var_value2
= var_tmp
;
333 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
334 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
340 var25
= string__NativeString__to_s_with_length(var23
, var24
);
344 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
346 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
347 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
348 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
355 var34
= string__NativeString__to_s_with_length(var32
, var33
);
364 var39
= string__NativeString__to_s_with_length(var37
, var38
);
373 var44
= string__NativeString__to_s_with_length(var42
, var43
);
377 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
378 { /* var45 = array_instance Array[Object] */
380 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
381 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
382 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
383 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
384 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
385 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
386 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
387 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
388 CHECK_NEW_array__Array(var45
);
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]>*/;
446 CHECK_NEW_array__Array(var74
);
448 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
449 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:GlobalCompilerVisitor>*/;
451 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
452 /* <var78:MType> isa MClassType */
453 cltype
= type_model__MClassType
.color
;
454 idtype
= type_model__MClassType
.id
;
455 if(cltype
>= var78
->type
->table_size
) {
458 var79
= var78
->type
->type_table
[cltype
] == idtype
;
461 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 807);
470 var84
= string__NativeString__to_s_with_length(var82
, var83
);
477 var87
= " != NULL) && (";
479 var89
= string__NativeString__to_s_with_length(var87
, var88
);
486 var92
= "->classid == ";
488 var94
= string__NativeString__to_s_with_length(var92
, var93
);
492 var95
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
493 var96
= ((val
* (*)(val
*, val
*))(var95
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var95
, var_mtype1
) /* classid on <var95:AbstractCompiler(GlobalCompiler)>*/;
499 var101
= string__NativeString__to_s_with_length(var99
, var100
);
503 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
504 { /* var102 = array_instance Array[Object] */
506 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
507 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var_res
;
508 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var81
;
509 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var_value2
;
510 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var86
;
511 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var_value2
;
512 ((struct instance_array__NativeArray
*)var104
)->values
[5] = (val
*) var91
;
513 ((struct instance_array__NativeArray
*)var104
)->values
[6] = (val
*) var96
;
514 ((struct instance_array__NativeArray
*)var104
)->values
[7] = (val
*) var98
;
515 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
516 CHECK_NEW_array__Array(var102
);
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]>*/;
546 CHECK_NEW_array__Array(var116
);
548 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
549 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var119
) /* add on <self:GlobalCompilerVisitor>*/;
555 var124
= string__NativeString__to_s_with_length(var122
, var123
);
559 var125
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
560 var126
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var125
) /* autobox on <self:GlobalCompilerVisitor>*/;
566 var131
= string__NativeString__to_s_with_length(var129
, var130
);
575 var136
= string__NativeString__to_s_with_length(var134
, var135
);
579 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
580 { /* var137 = array_instance Array[Object] */
582 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
583 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var_res
;
584 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var121
;
585 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var126
;
586 ((struct instance_array__NativeArray
*)var139
)->values
[3] = (val
*) var128
;
587 ((struct instance_array__NativeArray
*)var139
)->values
[4] = (val
*) var_value1
;
588 ((struct instance_array__NativeArray
*)var139
)->values
[5] = (val
*) var133
;
589 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
590 CHECK_NEW_array__Array(var137
);
592 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
593 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var140
) /* add on <self:GlobalCompilerVisitor>*/;
599 var145
= string__NativeString__to_s_with_length(var143
, var144
);
603 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var142
) /* add on <self:GlobalCompilerVisitor>*/;
607 var146
= NEW_array__Array(&type_array__Arraystring__String
);
608 ((void (*)(val
*))(var146
->class->vft
[COLOR_array__Array__init
]))(var146
) /* init on <var146:Array[String]>*/;
609 CHECK_NEW_array__Array(var146
);
611 var147
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
612 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_global_compiler__GlobalCompiler__live_primitive_types
]))(var147
) /* live_primitive_types on <var147:AbstractCompiler(GlobalCompiler)>*/;
613 var149
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var148
) /* iterator on <var148:Array[MClassType]>*/;
615 var150
= ((short int (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var149
) /* is_ok on <var149:Iterator[nullable Object]>*/;
617 var151
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var149
) /* item on <var149:Iterator[nullable Object]>*/;
619 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
620 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var152
) /* mainmodule on <var152:AbstractCompiler(GlobalCompiler)>*/;
622 var155
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
623 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>*/;
629 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
630 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var158
) /* mainmodule on <var158:AbstractCompiler(GlobalCompiler)>*/;
632 var161
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
633 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>*/;
644 var168
= string__NativeString__to_s_with_length(var166
, var167
);
651 var171
= "->classid == ";
653 var173
= string__NativeString__to_s_with_length(var171
, var172
);
657 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
658 var175
= ((val
* (*)(val
*, val
*))(var174
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var174
, var_t
) /* classid on <var174:AbstractCompiler(GlobalCompiler)>*/;
662 var178
= " && ((struct ";
664 var180
= string__NativeString__to_s_with_length(var178
, var179
);
668 var181
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
674 var186
= string__NativeString__to_s_with_length(var184
, var185
);
681 var189
= ")->value == ((struct ";
683 var191
= string__NativeString__to_s_with_length(var189
, var190
);
687 var192
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
693 var197
= string__NativeString__to_s_with_length(var195
, var196
);
700 var200
= ")->value)";
702 var202
= string__NativeString__to_s_with_length(var200
, var201
);
706 var203
= NEW_array__Array(&type_array__Arraykernel__Object
);
707 { /* var203 = array_instance Array[Object] */
709 var205
= NEW_array__NativeArray(var204
, &type_array__NativeArraykernel__Object
);
710 ((struct instance_array__NativeArray
*)var205
)->values
[0] = (val
*) var165
;
711 ((struct instance_array__NativeArray
*)var205
)->values
[1] = (val
*) var_value1
;
712 ((struct instance_array__NativeArray
*)var205
)->values
[2] = (val
*) var170
;
713 ((struct instance_array__NativeArray
*)var205
)->values
[3] = (val
*) var175
;
714 ((struct instance_array__NativeArray
*)var205
)->values
[4] = (val
*) var177
;
715 ((struct instance_array__NativeArray
*)var205
)->values
[5] = (val
*) var181
;
716 ((struct instance_array__NativeArray
*)var205
)->values
[6] = (val
*) var183
;
717 ((struct instance_array__NativeArray
*)var205
)->values
[7] = (val
*) var_value1
;
718 ((struct instance_array__NativeArray
*)var205
)->values
[8] = (val
*) var188
;
719 ((struct instance_array__NativeArray
*)var205
)->values
[9] = (val
*) var192
;
720 ((struct instance_array__NativeArray
*)var205
)->values
[10] = (val
*) var194
;
721 ((struct instance_array__NativeArray
*)var205
)->values
[11] = (val
*) var_value2
;
722 ((struct instance_array__NativeArray
*)var205
)->values
[12] = (val
*) var199
;
723 ((void (*)(val
*, val
*, long))(var203
->class->vft
[COLOR_array__Array__with_native
]))(var203
, var205
, var204
) /* with_native on <var203:Array[Object]>*/;
724 CHECK_NEW_array__Array(var203
);
726 var206
= ((val
* (*)(val
*))(var203
->class->vft
[COLOR_string__Object__to_s
]))(var203
) /* to_s on <var203:Array[Object]>*/;
727 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var206
) /* add on <var_s:Array[String]>*/;
728 CONTINUE_label
: (void)0;
729 ((void (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var149
) /* next on <var149:Iterator[nullable Object]>*/;
731 BREAK_label
: (void)0;
732 var207
= ((short int (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_s
) /* is_empty on <var_s:Array[String]>*/;
739 var212
= string__NativeString__to_s_with_length(var210
, var211
);
748 var217
= string__NativeString__to_s_with_length(var215
, var216
);
757 var222
= string__NativeString__to_s_with_length(var220
, var221
);
761 var223
= NEW_array__Array(&type_array__Arraykernel__Object
);
762 { /* var223 = array_instance Array[Object] */
764 var225
= NEW_array__NativeArray(var224
, &type_array__NativeArraykernel__Object
);
765 ((struct instance_array__NativeArray
*)var225
)->values
[0] = (val
*) var_res
;
766 ((struct instance_array__NativeArray
*)var225
)->values
[1] = (val
*) var209
;
767 ((struct instance_array__NativeArray
*)var225
)->values
[2] = (val
*) var_value1
;
768 ((struct instance_array__NativeArray
*)var225
)->values
[3] = (val
*) var214
;
769 ((struct instance_array__NativeArray
*)var225
)->values
[4] = (val
*) var_value2
;
770 ((struct instance_array__NativeArray
*)var225
)->values
[5] = (val
*) var219
;
771 ((void (*)(val
*, val
*, long))(var223
->class->vft
[COLOR_array__Array__with_native
]))(var223
, var225
, var224
) /* with_native on <var223:Array[Object]>*/;
772 CHECK_NEW_array__Array(var223
);
774 var226
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_string__Object__to_s
]))(var223
) /* to_s on <var223:Array[Object]>*/;
775 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var226
) /* add on <self:GlobalCompilerVisitor>*/;
782 var231
= string__NativeString__to_s_with_length(var229
, var230
);
791 var236
= string__NativeString__to_s_with_length(var234
, var235
);
800 var241
= string__NativeString__to_s_with_length(var239
, var240
);
807 var244
= " != NULL && ";
809 var246
= string__NativeString__to_s_with_length(var244
, var245
);
816 var249
= " != NULL && ";
818 var251
= string__NativeString__to_s_with_length(var249
, var250
);
825 var254
= "->classid == ";
827 var256
= string__NativeString__to_s_with_length(var254
, var255
);
834 var259
= "->classid && (";
836 var261
= string__NativeString__to_s_with_length(var259
, var260
);
845 var266
= string__NativeString__to_s_with_length(var264
, var265
);
849 var267
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var263
) /* join on <var_s:Array[String]>*/;
855 var272
= string__NativeString__to_s_with_length(var270
, var271
);
859 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
860 { /* var273 = array_instance Array[Object] */
862 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
863 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var_res
;
864 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var228
;
865 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var_value1
;
866 ((struct instance_array__NativeArray
*)var275
)->values
[3] = (val
*) var233
;
867 ((struct instance_array__NativeArray
*)var275
)->values
[4] = (val
*) var_value2
;
868 ((struct instance_array__NativeArray
*)var275
)->values
[5] = (val
*) var238
;
869 ((struct instance_array__NativeArray
*)var275
)->values
[6] = (val
*) var_value1
;
870 ((struct instance_array__NativeArray
*)var275
)->values
[7] = (val
*) var243
;
871 ((struct instance_array__NativeArray
*)var275
)->values
[8] = (val
*) var_value2
;
872 ((struct instance_array__NativeArray
*)var275
)->values
[9] = (val
*) var248
;
873 ((struct instance_array__NativeArray
*)var275
)->values
[10] = (val
*) var_value1
;
874 ((struct instance_array__NativeArray
*)var275
)->values
[11] = (val
*) var253
;
875 ((struct instance_array__NativeArray
*)var275
)->values
[12] = (val
*) var_value2
;
876 ((struct instance_array__NativeArray
*)var275
)->values
[13] = (val
*) var258
;
877 ((struct instance_array__NativeArray
*)var275
)->values
[14] = (val
*) var267
;
878 ((struct instance_array__NativeArray
*)var275
)->values
[15] = (val
*) var269
;
879 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
880 CHECK_NEW_array__Array(var273
);
882 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
883 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var276
) /* add on <self:GlobalCompilerVisitor>*/;
891 /* method global_compiler#GlobalCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
892 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
893 val
* var
/* : RuntimeVariable */;
894 val
* var1
/* : RuntimeVariable */;
895 var1
= global_compiler__GlobalCompilerVisitor__equal_test(self
, p0
, p1
);
900 /* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: GlobalCompilerVisitor, RuntimeVariable, MClassType) */
901 void global_compiler__GlobalCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
902 val
* var_recv
/* var recv: RuntimeVariable */;
903 val
* var_mtype
/* var mtype: MClassType */;
904 val
* var
/* : AbstractCompiler */;
905 val
* var1
/* : ModelBuilder */;
906 val
* var2
/* : ToolContext */;
907 val
* var3
/* : OptionBool */;
908 val
* var4
/* : nullable Object */;
909 short int var5
/* : Bool */;
910 val
* var6
/* : MType */;
911 short int var7
/* : Bool */;
914 val
* var8
/* : AbstractCompiler */;
915 val
* var9
/* : RapidTypeAnalysis */;
916 val
* var10
/* : HashSet[MClassType] */;
917 short int var11
/* : Bool */;
918 short int var12
/* : Bool */;
920 val
* var13
/* : String */;
921 char* var14
/* : NativeString */;
922 long var15
/* : Int */;
923 val
* var16
/* : String */;
924 static val
* varonce17
;
925 val
* var18
/* : String */;
926 char* var19
/* : NativeString */;
927 long var20
/* : Int */;
928 val
* var21
/* : String */;
929 val
* var22
/* : Array[Object] */;
930 long var23
/* : Int */;
931 val
* var24
/* : NativeArray[Object] */;
932 val
* var25
/* : String */;
933 static val
* varonce26
;
934 val
* var27
/* : String */;
935 char* var28
/* : NativeString */;
936 long var29
/* : Int */;
937 val
* var30
/* : String */;
938 val
* var31
/* : String */;
939 static val
* varonce32
;
940 val
* var33
/* : String */;
941 char* var34
/* : NativeString */;
942 long var35
/* : Int */;
943 val
* var36
/* : String */;
944 static val
* varonce37
;
945 val
* var38
/* : String */;
946 char* var39
/* : NativeString */;
947 long var40
/* : Int */;
948 val
* var41
/* : String */;
949 val
* var42
/* : Array[Object] */;
950 long var43
/* : Int */;
951 val
* var44
/* : NativeArray[Object] */;
952 val
* var45
/* : String */;
955 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
956 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler(GlobalCompiler)>*/;
957 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
958 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var2
) /* opt_no_check_initialization on <var2:ToolContext>*/;
959 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
960 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
965 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:GlobalCompilerVisitor>*/;
966 /* <var6:MType> isa MClassType */
967 cltype
= type_model__MClassType
.color
;
968 idtype
= type_model__MClassType
.id
;
969 if(cltype
>= var6
->type
->table_size
) {
972 var7
= var6
->type
->type_table
[cltype
] == idtype
;
975 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 833);
979 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
980 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis
]))(var8
) /* runtime_type_analysis on <var8:AbstractCompiler(GlobalCompiler)>*/;
981 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var9
) /* live_types on <var9:RapidTypeAnalysis>*/;
982 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var10
, var_mtype
) /* has on <var10:HashSet[MClassType]>*/;
990 var16
= string__NativeString__to_s_with_length(var14
, var15
);
997 var19
= " was detected dead";
999 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1003 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1004 { /* var22 = array_instance Array[Object] */
1006 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1007 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
1008 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_mtype
;
1009 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
1010 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1011 CHECK_NEW_array__Array(var22
);
1013 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1014 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__debug
]))(self
, var25
) /* debug on <self:GlobalCompilerVisitor>*/;
1020 var28
= "CHECK_NEW_";
1022 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1026 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
1032 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1041 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1045 var42
= NEW_array__Array(&type_array__Arraykernel__Object
);
1046 { /* var42 = array_instance Array[Object] */
1048 var44
= NEW_array__NativeArray(var43
, &type_array__NativeArraykernel__Object
);
1049 ((struct instance_array__NativeArray
*)var44
)->values
[0] = (val
*) var27
;
1050 ((struct instance_array__NativeArray
*)var44
)->values
[1] = (val
*) var31
;
1051 ((struct instance_array__NativeArray
*)var44
)->values
[2] = (val
*) var33
;
1052 ((struct instance_array__NativeArray
*)var44
)->values
[3] = (val
*) var_recv
;
1053 ((struct instance_array__NativeArray
*)var44
)->values
[4] = (val
*) var38
;
1054 ((void (*)(val
*, val
*, long))(var42
->class->vft
[COLOR_array__Array__with_native
]))(var42
, var44
, var43
) /* with_native on <var42:Array[Object]>*/;
1055 CHECK_NEW_array__Array(var42
);
1057 var45
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_string__Object__to_s
]))(var42
) /* to_s on <var42:Array[Object]>*/;
1058 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var45
) /* add on <self:GlobalCompilerVisitor>*/;
1061 /* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
1062 void VIRTUAL_global_compiler__GlobalCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
1063 global_compiler__GlobalCompilerVisitor__check_init_instance(self
, p0
, p1
);
1066 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: GlobalCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
1067 val
* global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1068 val
* var
/* : RuntimeVariable */;
1069 val
* var_array
/* var array: Array[RuntimeVariable] */;
1070 val
* var_elttype
/* var elttype: MType */;
1071 val
* var1
/* : MType */;
1072 static val
* varonce
;
1073 val
* var2
/* : String */;
1074 char* var3
/* : NativeString */;
1075 long var4
/* : Int */;
1076 val
* var5
/* : String */;
1077 val
* var6
/* : MClass */;
1078 val
* var7
/* : Array[MType] */;
1079 long var8
/* : Int */;
1080 val
* var9
/* : NativeArray[MType] */;
1081 val
* var10
/* : MClassType */;
1082 val
* var_arraytype
/* var arraytype: MClassType */;
1083 val
* var11
/* : RuntimeVariable */;
1084 val
* var_res
/* var res: RuntimeVariable */;
1085 static val
* varonce12
;
1086 val
* var13
/* : String */;
1087 char* var14
/* : NativeString */;
1088 long var15
/* : Int */;
1089 val
* var16
/* : String */;
1090 static val
* varonce17
;
1091 val
* var18
/* : String */;
1092 char* var19
/* : NativeString */;
1093 long var20
/* : Int */;
1094 val
* var21
/* : String */;
1095 static val
* varonce22
;
1096 val
* var23
/* : String */;
1097 char* var24
/* : NativeString */;
1098 long var25
/* : Int */;
1099 val
* var26
/* : String */;
1100 val
* var27
/* : Array[Object] */;
1101 long var28
/* : Int */;
1102 val
* var29
/* : NativeArray[Object] */;
1103 val
* var30
/* : String */;
1104 static val
* varonce31
;
1105 val
* var32
/* : String */;
1106 char* var33
/* : NativeString */;
1107 long var34
/* : Int */;
1108 val
* var35
/* : String */;
1109 val
* var36
/* : MClass */;
1110 val
* var37
/* : Array[MType] */;
1111 long var38
/* : Int */;
1112 val
* var39
/* : NativeArray[MType] */;
1113 val
* var40
/* : MClassType */;
1114 val
* var41
/* : RuntimeVariable */;
1115 val
* var_nat
/* var nat: RuntimeVariable */;
1116 short int var42
/* : Bool */;
1117 static val
* varonce43
;
1118 val
* var44
/* : String */;
1119 char* var45
/* : NativeString */;
1120 long var46
/* : Int */;
1121 val
* var47
/* : String */;
1122 val
* var48
/* : MType */;
1123 val
* var49
/* : String */;
1124 static val
* varonce50
;
1125 val
* var51
/* : String */;
1126 char* var52
/* : NativeString */;
1127 long var53
/* : Int */;
1128 val
* var54
/* : String */;
1129 long var55
/* : Int */;
1130 static val
* varonce56
;
1131 val
* var57
/* : String */;
1132 char* var58
/* : NativeString */;
1133 long var59
/* : Int */;
1134 val
* var60
/* : String */;
1135 val
* var61
/* : Array[Object] */;
1136 long var62
/* : Int */;
1137 val
* var63
/* : NativeArray[Object] */;
1138 val
* var64
/* : Object */;
1139 val
* var65
/* : String */;
1140 val
* var66
/* : Range[Int] */;
1141 long var67
/* : Int */;
1142 long var68
/* : Int */;
1143 val
* var69
/* : Discrete */;
1144 val
* var70
/* : Discrete */;
1145 val
* var71
/* : Iterator[nullable Object] */;
1146 short int var72
/* : Bool */;
1147 val
* var73
/* : nullable Object */;
1148 long var_i
/* var i: Int */;
1149 long var74
/* : Int */;
1150 val
* var75
/* : nullable Object */;
1151 val
* var76
/* : RuntimeVariable */;
1152 val
* var_r
/* var r: RuntimeVariable */;
1153 static val
* varonce77
;
1154 val
* var78
/* : String */;
1155 char* var79
/* : NativeString */;
1156 long var80
/* : Int */;
1157 val
* var81
/* : String */;
1158 val
* var82
/* : MType */;
1159 val
* var83
/* : String */;
1160 static val
* varonce84
;
1161 val
* var85
/* : String */;
1162 char* var86
/* : NativeString */;
1163 long var87
/* : Int */;
1164 val
* var88
/* : String */;
1165 static val
* varonce89
;
1166 val
* var90
/* : String */;
1167 char* var91
/* : NativeString */;
1168 long var92
/* : Int */;
1169 val
* var93
/* : String */;
1170 static val
* varonce94
;
1171 val
* var95
/* : String */;
1172 char* var96
/* : NativeString */;
1173 long var97
/* : Int */;
1174 val
* var98
/* : String */;
1175 static val
* varonce99
;
1176 val
* var100
/* : String */;
1177 char* var101
/* : NativeString */;
1178 long var102
/* : Int */;
1179 val
* var103
/* : String */;
1180 val
* var104
/* : Array[Object] */;
1181 long var105
/* : Int */;
1182 val
* var106
/* : NativeArray[Object] */;
1183 val
* var107
/* : Object */;
1184 val
* var108
/* : String */;
1185 long var109
/* : Int */;
1186 val
* var110
/* : RuntimeVariable */;
1187 val
* var_length
/* var length: RuntimeVariable */;
1188 static val
* varonce111
;
1189 val
* var112
/* : String */;
1190 char* var113
/* : NativeString */;
1191 long var114
/* : Int */;
1192 val
* var115
/* : String */;
1193 val
* var116
/* : MMethod */;
1194 val
* var117
/* : Array[RuntimeVariable] */;
1195 long var118
/* : Int */;
1196 val
* var119
/* : NativeArray[RuntimeVariable] */;
1197 val
* var120
/* : nullable RuntimeVariable */;
1198 static val
* varonce121
;
1199 val
* var122
/* : String */;
1200 char* var123
/* : NativeString */;
1201 long var124
/* : Int */;
1202 val
* var125
/* : String */;
1205 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_elttype
) /* anchor on <self:GlobalCompilerVisitor>*/;
1212 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1216 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var2
) /* get_class on <self:GlobalCompilerVisitor>*/;
1217 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
1218 { /* var7 = array_instance Array[MType] */
1220 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraymodel__MType
);
1221 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var_elttype
;
1222 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[MType]>*/;
1223 CHECK_NEW_array__Array(var7
);
1225 var10
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_model__MClass__get_mtype
]))(var6
, var7
) /* get_mtype on <var6:MClass>*/;
1226 var_arraytype
= var10
;
1227 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:GlobalCompilerVisitor>*/;
1234 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1241 var19
= " = array_instance Array[";
1243 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1252 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1256 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1257 { /* var27 = array_instance Array[Object] */
1259 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1260 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var13
;
1261 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_res
;
1262 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var18
;
1263 ((struct instance_array__NativeArray
*)var29
)->values
[3] = (val
*) var_elttype
;
1264 ((struct instance_array__NativeArray
*)var29
)->values
[4] = (val
*) var23
;
1265 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1266 CHECK_NEW_array__Array(var27
);
1268 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1269 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var30
) /* add on <self:GlobalCompilerVisitor>*/;
1273 var33
= "NativeArray";
1275 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1279 var36
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var32
) /* get_class on <self:GlobalCompilerVisitor>*/;
1280 var37
= NEW_array__Array(&type_array__Arraymodel__MType
);
1281 { /* var37 = array_instance Array[MType] */
1283 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraymodel__MType
);
1284 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var_elttype
;
1285 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[MType]>*/;
1286 CHECK_NEW_array__Array(var37
);
1288 var40
= ((val
* (*)(val
*, val
*))(var36
->class->vft
[COLOR_model__MClass__get_mtype
]))(var36
, var37
) /* get_mtype on <var36:MClass>*/;
1289 var41
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var40
) /* new_var on <self:GlobalCompilerVisitor>*/;
1292 ((void (*)(val
*, short int))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_nat
, var42
) /* is_exact= on <var_nat:RuntimeVariable>*/;
1298 var47
= string__NativeString__to_s_with_length(var45
, var46
);
1302 var48
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1303 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var48
) /* c_name on <var48:MType>*/;
1309 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1313 var55
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1319 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1323 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
1324 { /* var61 = array_instance Array[Object] */
1326 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
1327 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var_nat
;
1328 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var44
;
1329 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var49
;
1330 ((struct instance_array__NativeArray
*)var63
)->values
[3] = (val
*) var51
;
1331 var64
= BOX_kernel__Int(var55
); /* autobox from Int to Object */
1332 ((struct instance_array__NativeArray
*)var63
)->values
[4] = (val
*) var64
;
1333 ((struct instance_array__NativeArray
*)var63
)->values
[5] = (val
*) var57
;
1334 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1335 CHECK_NEW_array__Array(var61
);
1337 var65
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1338 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var65
) /* add on <self:GlobalCompilerVisitor>*/;
1339 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
1341 var68
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1342 var69
= BOX_kernel__Int(var67
); /* autobox from Int to Discrete */
1343 var70
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
1344 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var69
, var70
) /* without_last on <var66:Range[Int]>*/;
1345 CHECK_NEW_range__Range(var66
);
1346 var71
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
1348 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var71
) /* is_ok on <var71:Iterator[nullable Object]>*/;
1350 var73
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var71
) /* item on <var71:Iterator[nullable Object]>*/;
1351 var74
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
1353 var75
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
1354 var76
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var75
, var_elttype
) /* autobox on <self:GlobalCompilerVisitor>*/;
1359 var79
= "((struct ";
1361 var81
= string__NativeString__to_s_with_length(var79
, var80
);
1365 var82
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1366 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var82
) /* c_name on <var82:MType>*/;
1372 var88
= string__NativeString__to_s_with_length(var86
, var87
);
1379 var91
= ")->values[";
1381 var93
= string__NativeString__to_s_with_length(var91
, var92
);
1390 var98
= string__NativeString__to_s_with_length(var96
, var97
);
1399 var103
= string__NativeString__to_s_with_length(var101
, var102
);
1403 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
1404 { /* var104 = array_instance Array[Object] */
1406 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
1407 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var78
;
1408 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var83
;
1409 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var85
;
1410 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var_nat
;
1411 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var90
;
1412 var107
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1413 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var107
;
1414 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var95
;
1415 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var_r
;
1416 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var100
;
1417 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
1418 CHECK_NEW_array__Array(var104
);
1420 var108
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
1421 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var108
) /* add on <self:GlobalCompilerVisitor>*/;
1422 CONTINUE_label
: (void)0;
1423 ((void (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var71
) /* next on <var71:Iterator[nullable Object]>*/;
1425 BREAK_label
: (void)0;
1426 var109
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1427 var110
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var109
) /* int_instance on <self:GlobalCompilerVisitor>*/;
1428 var_length
= var110
;
1430 var112
= varonce111
;
1432 var113
= "with_native";
1434 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1436 varonce111
= var112
;
1438 var116
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var112
, var_arraytype
) /* get_property on <self:GlobalCompilerVisitor>*/;
1439 var117
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1440 { /* var117 = array_instance Array[RuntimeVariable] */
1442 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1443 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_res
;
1444 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_nat
;
1445 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var_length
;
1446 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[RuntimeVariable]>*/;
1447 CHECK_NEW_array__Array(var117
);
1449 var120
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var116
, var117
) /* send on <self:GlobalCompilerVisitor>*/;
1451 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_init_instance
]))(self
, var_res
, var_arraytype
) /* check_init_instance on <self:GlobalCompilerVisitor>*/;
1453 var122
= varonce121
;
1457 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1459 varonce121
= var122
;
1461 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var122
) /* add on <self:GlobalCompilerVisitor>*/;
1467 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
1468 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1469 val
* var
/* : RuntimeVariable */;
1470 val
* var1
/* : RuntimeVariable */;
1471 var1
= global_compiler__GlobalCompilerVisitor__array_instance(self
, p0
, p1
);
1476 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: CustomizedRuntimeFunction): MClassType */
1477 val
* global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1478 val
* var
/* : MClassType */;
1479 val
* var1
/* : MClassType */;
1480 var1
= self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
; /* @recv on <self:CustomizedRuntimeFunction> */
1482 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @recv", "src/global_compiler.nit", 869);
1489 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: Object): MClassType */
1490 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1491 val
* var
/* : MClassType */;
1492 val
* var1
/* : MClassType */;
1493 var1
= global_compiler__CustomizedRuntimeFunction__recv(self
);
1498 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: CustomizedRuntimeFunction, MClassType) */
1499 void global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1500 self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
= p0
; /* @recv on <self:CustomizedRuntimeFunction> */
1503 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: Object, MClassType) */
1504 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1505 global_compiler__CustomizedRuntimeFunction__recv_61d(self
, p0
);
1508 /* method global_compiler#CustomizedRuntimeFunction#init for (self: CustomizedRuntimeFunction, MMethodDef, MClassType) */
1509 void global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1510 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1511 val
* var_recv
/* var recv: MClassType */;
1512 var_mmethoddef
= p0
;
1514 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(self
, var_mmethoddef
) /* init on <self:CustomizedRuntimeFunction>*/;
1515 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv_61d
]))(self
, var_recv
) /* recv= on <self:CustomizedRuntimeFunction>*/;
1518 /* method global_compiler#CustomizedRuntimeFunction#init for (self: Object, MMethodDef, MClassType) */
1519 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1520 global_compiler__CustomizedRuntimeFunction__init(self
, p0
, p1
);
1523 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: CustomizedRuntimeFunction): String */
1524 val
* global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1525 val
* var
/* : String */;
1526 val
* var1
/* : nullable String */;
1527 val
* var_res
/* var res: nullable String */;
1528 val
* var2
/* : null */;
1529 short int var3
/* : Bool */;
1530 val
* var4
/* : MMethodDef */;
1531 val
* var5
/* : MClassDef */;
1532 val
* var6
/* : MClassType */;
1533 val
* var7
/* : MClassType */;
1534 short int var8
/* : Bool */;
1535 val
* var9
/* : MMethodDef */;
1536 val
* var10
/* : String */;
1537 val
* var11
/* : Array[Object] */;
1538 long var12
/* : Int */;
1539 val
* var_
/* var : Array[Object] */;
1540 static val
* varonce
;
1541 val
* var13
/* : String */;
1542 char* var14
/* : NativeString */;
1543 long var15
/* : Int */;
1544 val
* var16
/* : String */;
1545 val
* var17
/* : MMethodDef */;
1546 val
* var18
/* : String */;
1547 static val
* varonce19
;
1548 val
* var20
/* : String */;
1549 char* var21
/* : NativeString */;
1550 long var22
/* : Int */;
1551 val
* var23
/* : String */;
1552 val
* var24
/* : MClassType */;
1553 val
* var25
/* : String */;
1554 static val
* varonce26
;
1555 val
* var27
/* : String */;
1556 char* var28
/* : NativeString */;
1557 long var29
/* : Int */;
1558 val
* var30
/* : String */;
1559 val
* var31
/* : String */;
1560 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache
]))(self
) /* c_name_cache on <self:CustomizedRuntimeFunction>*/;
1563 if (var_res
== NULL
) {
1564 var3
= 0; /* is null */
1566 var3
= 1; /* arg is null and recv is not */
1573 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1574 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var4
) /* mclassdef on <var4:MMethodDef>*/;
1575 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
1576 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1577 var8
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var6
, var7
) /* == on <var6:MClassType>*/;
1579 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1580 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var9
) /* c_name on <var9:MMethodDef>*/;
1583 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1585 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[Object]>*/;
1586 CHECK_NEW_array__Array(var11
);
1593 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1597 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
1598 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1599 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var17
) /* c_name on <var17:MMethodDef>*/;
1600 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var18
) /* add on <var_:Array[Object]>*/;
1606 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1610 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1611 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1612 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var24
) /* c_name on <var24:MClassType>*/;
1613 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var25
) /* add on <var_:Array[Object]>*/;
1619 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1623 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var27
) /* add on <var_:Array[Object]>*/;
1624 var31
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1627 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:CustomizedRuntimeFunction>*/;
1633 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: Object): String */
1634 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1635 val
* var
/* : String */;
1636 val
* var1
/* : String */;
1637 var1
= global_compiler__CustomizedRuntimeFunction__build_c_name(self
);
1642 /* method global_compiler#CustomizedRuntimeFunction#== for (self: CustomizedRuntimeFunction, nullable Object): Bool */
1643 short int global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1644 short int var
/* : Bool */;
1645 val
* var_o
/* var o: nullable Object */;
1646 short int var1
/* : Bool */;
1649 short int var2
/* : Bool */;
1650 short int var3
/* : Bool */;
1651 val
* var4
/* : MMethodDef */;
1652 val
* var5
/* : MMethodDef */;
1653 short int var6
/* : Bool */;
1654 short int var7
/* : Bool */;
1655 val
* var8
/* : MClassType */;
1656 val
* var9
/* : MClassType */;
1657 short int var10
/* : Bool */;
1658 short int var11
/* : Bool */;
1659 short int var12
/* : Bool */;
1661 /* <var_o:nullable Object> isa CustomizedRuntimeFunction */
1662 cltype
= type_global_compiler__CustomizedRuntimeFunction
.color
;
1663 idtype
= type_global_compiler__CustomizedRuntimeFunction
.id
;
1667 if(cltype
>= var_o
->type
->table_size
) {
1670 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
1680 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1681 var5
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(var_o
) /* mmethoddef on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1682 var6
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var4
, var5
) /* != on <var4:MMethodDef>*/;
1689 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1690 var9
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(var_o
) /* recv on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1691 var10
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var8
, var9
) /* != on <var8:MClassType>*/;
1704 /* method global_compiler#CustomizedRuntimeFunction#== for (self: Object, nullable Object): Bool */
1705 short int VIRTUAL_global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1706 short int var
/* : Bool */;
1707 short int var1
/* : Bool */;
1708 var1
= global_compiler__CustomizedRuntimeFunction___61d_61d(self
, p0
);
1713 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: CustomizedRuntimeFunction): Int */
1714 long global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1715 long var
/* : Int */;
1716 val
* var1
/* : MMethodDef */;
1717 long var2
/* : Int */;
1718 val
* var3
/* : MClassType */;
1719 long var4
/* : Int */;
1720 long var5
/* : Int */;
1721 long var7
/* : Int */;
1722 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1723 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__hash
]))(var1
) /* hash on <var1:MMethodDef>*/;
1724 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1725 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__hash
]))(var3
) /* hash on <var3:MClassType>*/;
1726 { /* Inline kernel#Int#+ (var2,var4) */
1737 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: Object): Int */
1738 long VIRTUAL_global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1739 long var
/* : Int */;
1740 long var1
/* : Int */;
1741 var1
= global_compiler__CustomizedRuntimeFunction__hash(self
);
1746 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: CustomizedRuntimeFunction): String */
1747 val
* global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1748 val
* var
/* : String */;
1749 val
* var1
/* : MMethodDef */;
1750 val
* var2
/* : MClassDef */;
1751 val
* var3
/* : MClassType */;
1752 val
* var4
/* : MClassType */;
1753 short int var5
/* : Bool */;
1754 val
* var6
/* : MMethodDef */;
1755 val
* var7
/* : String */;
1756 val
* var8
/* : Array[Object] */;
1757 long var9
/* : Int */;
1758 val
* var_
/* var : Array[Object] */;
1759 static val
* varonce
;
1760 val
* var10
/* : String */;
1761 char* var11
/* : NativeString */;
1762 long var12
/* : Int */;
1763 val
* var13
/* : String */;
1764 val
* var14
/* : MMethodDef */;
1765 static val
* varonce15
;
1766 val
* var16
/* : String */;
1767 char* var17
/* : NativeString */;
1768 long var18
/* : Int */;
1769 val
* var19
/* : String */;
1770 val
* var20
/* : MClassType */;
1771 static val
* varonce21
;
1772 val
* var22
/* : String */;
1773 char* var23
/* : NativeString */;
1774 long var24
/* : Int */;
1775 val
* var25
/* : String */;
1776 val
* var26
/* : String */;
1777 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1778 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var1
) /* mclassdef on <var1:MMethodDef>*/;
1779 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var2
) /* bound_mtype on <var2:MClassDef>*/;
1780 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1781 var5
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var4
) /* == on <var3:MClassType>*/;
1783 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1784 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__Object__to_s
]))(var6
) /* to_s on <var6:MMethodDef>*/;
1788 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
1790 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
1791 CHECK_NEW_array__Array(var8
);
1798 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1802 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1803 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1804 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
1810 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1814 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
1815 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1816 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1822 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1826 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1827 var26
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1834 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: Object): String */
1835 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1836 val
* var
/* : String */;
1837 val
* var1
/* : String */;
1838 var1
= global_compiler__CustomizedRuntimeFunction__to_s(self
);
1843 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: CustomizedRuntimeFunction, GlobalCompiler) */
1844 void global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1845 short int var
/* : Bool */;
1848 const struct type
* type_struct
;
1849 val
* var_compiler
/* var compiler: GlobalCompiler */;
1850 val
* var1
/* : MClassType */;
1851 val
* var_recv
/* var recv: MClassType */;
1852 val
* var2
/* : MMethodDef */;
1853 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1854 val
* var3
/* : MModule */;
1855 val
* var4
/* : null */;
1856 val
* var5
/* : MClassDef */;
1857 val
* var6
/* : MClassType */;
1858 short int var7
/* : Bool */;
1859 short int var8
/* : Bool */;
1860 static val
* varonce
;
1861 val
* var9
/* : String */;
1862 char* var10
/* : NativeString */;
1863 long var11
/* : Int */;
1864 val
* var12
/* : String */;
1865 static val
* varonce13
;
1866 val
* var14
/* : String */;
1867 char* var15
/* : NativeString */;
1868 long var16
/* : Int */;
1869 val
* var17
/* : String */;
1870 static val
* varonce18
;
1871 val
* var19
/* : String */;
1872 char* var20
/* : NativeString */;
1873 long var21
/* : Int */;
1874 val
* var22
/* : String */;
1875 val
* var23
/* : Array[Object] */;
1876 long var24
/* : Int */;
1877 val
* var25
/* : NativeArray[Object] */;
1878 val
* var26
/* : String */;
1879 val
* var27
/* : AbstractCompilerVisitor */;
1880 val
* var_v
/* var v: GlobalCompilerVisitor */;
1881 val
* var28
/* : RuntimeVariable */;
1882 static val
* varonce29
;
1883 val
* var30
/* : String */;
1884 char* var31
/* : NativeString */;
1885 long var32
/* : Int */;
1886 val
* var33
/* : String */;
1887 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
1888 val
* var34
/* : RapidTypeAnalysis */;
1889 val
* var35
/* : HashSet[MClassType] */;
1890 short int var36
/* : Bool */;
1891 short int var37
/* : Bool */;
1892 val
* var38
/* : Array[RuntimeVariable] */;
1893 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1894 val
* var39
/* : Frame */;
1895 val
* var_frame
/* var frame: Frame */;
1896 val
* var40
/* : Buffer */;
1897 val
* var_sig
/* var sig: Buffer */;
1898 val
* var41
/* : Buffer */;
1899 val
* var_comment
/* var comment: Buffer */;
1900 val
* var42
/* : nullable MSignature */;
1901 val
* var43
/* : nullable MType */;
1902 val
* var_ret
/* var ret: nullable MType */;
1903 val
* var44
/* : null */;
1904 short int var45
/* : Bool */;
1905 val
* var46
/* : MType */;
1906 val
* var47
/* : String */;
1907 static val
* varonce48
;
1908 val
* var49
/* : String */;
1909 char* var50
/* : NativeString */;
1910 long var51
/* : Int */;
1911 val
* var52
/* : String */;
1912 val
* var53
/* : Array[Object] */;
1913 long var54
/* : Int */;
1914 val
* var55
/* : NativeArray[Object] */;
1915 val
* var56
/* : String */;
1916 val
* var57
/* : MProperty */;
1917 short int var58
/* : Bool */;
1918 val
* var59
/* : String */;
1919 static val
* varonce60
;
1920 val
* var61
/* : String */;
1921 char* var62
/* : NativeString */;
1922 long var63
/* : Int */;
1923 val
* var64
/* : String */;
1924 val
* var65
/* : Array[Object] */;
1925 long var66
/* : Int */;
1926 val
* var67
/* : NativeArray[Object] */;
1927 val
* var68
/* : String */;
1928 static val
* varonce69
;
1929 val
* var70
/* : String */;
1930 char* var71
/* : NativeString */;
1931 long var72
/* : Int */;
1932 val
* var73
/* : String */;
1933 val
* var74
/* : String */;
1934 static val
* varonce75
;
1935 val
* var76
/* : String */;
1936 char* var77
/* : NativeString */;
1937 long var78
/* : Int */;
1938 val
* var79
/* : String */;
1939 val
* var80
/* : String */;
1940 static val
* varonce81
;
1941 val
* var82
/* : String */;
1942 char* var83
/* : NativeString */;
1943 long var84
/* : Int */;
1944 val
* var85
/* : String */;
1945 val
* var86
/* : Array[Object] */;
1946 long var87
/* : Int */;
1947 val
* var88
/* : NativeArray[Object] */;
1948 val
* var89
/* : String */;
1949 static val
* varonce90
;
1950 val
* var91
/* : String */;
1951 char* var92
/* : NativeString */;
1952 long var93
/* : Int */;
1953 val
* var94
/* : String */;
1954 val
* var95
/* : Array[Object] */;
1955 long var96
/* : Int */;
1956 val
* var97
/* : NativeArray[Object] */;
1957 val
* var98
/* : String */;
1958 val
* var99
/* : Range[Int] */;
1959 long var100
/* : Int */;
1960 val
* var101
/* : nullable MSignature */;
1961 long var102
/* : Int */;
1962 val
* var103
/* : Discrete */;
1963 val
* var104
/* : Discrete */;
1964 val
* var105
/* : Iterator[nullable Object] */;
1965 short int var106
/* : Bool */;
1966 val
* var107
/* : nullable Object */;
1967 long var_i
/* var i: Int */;
1968 long var108
/* : Int */;
1969 val
* var109
/* : nullable MSignature */;
1970 val
* var110
/* : Array[MParameter] */;
1971 val
* var111
/* : nullable Object */;
1972 val
* var112
/* : MType */;
1973 val
* var_mtype
/* var mtype: MType */;
1974 val
* var113
/* : nullable MSignature */;
1975 long var114
/* : Int */;
1976 short int var115
/* : Bool */;
1977 short int var117
/* : Bool */;
1978 static val
* varonce118
;
1979 val
* var119
/* : String */;
1980 char* var120
/* : NativeString */;
1981 long var121
/* : Int */;
1982 val
* var122
/* : String */;
1983 val
* var123
/* : MClass */;
1984 val
* var124
/* : Array[MType] */;
1985 long var125
/* : Int */;
1986 val
* var126
/* : NativeArray[MType] */;
1987 val
* var127
/* : MClassType */;
1988 val
* var128
/* : MType */;
1989 static val
* varonce129
;
1990 val
* var130
/* : String */;
1991 char* var131
/* : NativeString */;
1992 long var132
/* : Int */;
1993 val
* var133
/* : String */;
1994 val
* var134
/* : Array[Object] */;
1995 long var135
/* : Int */;
1996 val
* var136
/* : NativeArray[Object] */;
1997 val
* var137
/* : String */;
1998 static val
* varonce138
;
1999 val
* var139
/* : String */;
2000 char* var140
/* : NativeString */;
2001 long var141
/* : Int */;
2002 val
* var142
/* : String */;
2003 val
* var143
/* : String */;
2004 static val
* varonce144
;
2005 val
* var145
/* : String */;
2006 char* var146
/* : NativeString */;
2007 long var147
/* : Int */;
2008 val
* var148
/* : String */;
2009 val
* var149
/* : Array[Object] */;
2010 long var150
/* : Int */;
2011 val
* var151
/* : NativeArray[Object] */;
2012 val
* var152
/* : Object */;
2013 val
* var153
/* : String */;
2014 val
* var154
/* : RuntimeVariable */;
2015 val
* var155
/* : Array[Object] */;
2016 long var156
/* : Int */;
2017 val
* var_
/* var : Array[Object] */;
2018 static val
* varonce157
;
2019 val
* var158
/* : String */;
2020 char* var159
/* : NativeString */;
2021 long var160
/* : Int */;
2022 val
* var161
/* : String */;
2023 val
* var162
/* : nullable Object */;
2024 static val
* varonce163
;
2025 val
* var164
/* : String */;
2026 char* var165
/* : NativeString */;
2027 long var166
/* : Int */;
2028 val
* var167
/* : String */;
2029 val
* var168
/* : String */;
2030 val
* var_argvar
/* var argvar: RuntimeVariable */;
2031 static val
* varonce169
;
2032 val
* var170
/* : String */;
2033 char* var171
/* : NativeString */;
2034 long var172
/* : Int */;
2035 val
* var173
/* : String */;
2036 static val
* varonce174
;
2037 val
* var175
/* : String */;
2038 char* var176
/* : NativeString */;
2039 long var177
/* : Int */;
2040 val
* var178
/* : String */;
2041 val
* var179
/* : null */;
2042 short int var180
/* : Bool */;
2043 static val
* varonce181
;
2044 val
* var182
/* : String */;
2045 char* var183
/* : NativeString */;
2046 long var184
/* : Int */;
2047 val
* var185
/* : String */;
2048 val
* var186
/* : Array[Object] */;
2049 long var187
/* : Int */;
2050 val
* var188
/* : NativeArray[Object] */;
2051 val
* var189
/* : String */;
2052 val
* var190
/* : CodeWriter */;
2053 static val
* varonce191
;
2054 val
* var192
/* : String */;
2055 char* var193
/* : NativeString */;
2056 long var194
/* : Int */;
2057 val
* var195
/* : String */;
2058 val
* var196
/* : Array[Object] */;
2059 long var197
/* : Int */;
2060 val
* var198
/* : NativeArray[Object] */;
2061 val
* var199
/* : String */;
2062 static val
* varonce200
;
2063 val
* var201
/* : String */;
2064 char* var202
/* : NativeString */;
2065 long var203
/* : Int */;
2066 val
* var204
/* : String */;
2067 static val
* varonce205
;
2068 val
* var206
/* : String */;
2069 char* var207
/* : NativeString */;
2070 long var208
/* : Int */;
2071 val
* var209
/* : String */;
2072 static val
* varonce210
;
2073 val
* var211
/* : String */;
2074 char* var212
/* : NativeString */;
2075 long var213
/* : Int */;
2076 val
* var214
/* : String */;
2077 val
* var215
/* : Array[Object] */;
2078 long var216
/* : Int */;
2079 val
* var217
/* : NativeArray[Object] */;
2080 val
* var218
/* : String */;
2081 static val
* varonce219
;
2082 val
* var220
/* : String */;
2083 char* var221
/* : NativeString */;
2084 long var222
/* : Int */;
2085 val
* var223
/* : String */;
2086 val
* var224
/* : Array[Object] */;
2087 long var225
/* : Int */;
2088 val
* var226
/* : NativeArray[Object] */;
2089 val
* var227
/* : String */;
2090 val
* var228
/* : null */;
2091 short int var229
/* : Bool */;
2092 val
* var230
/* : RuntimeVariable */;
2093 static val
* varonce231
;
2094 val
* var232
/* : String */;
2095 char* var233
/* : NativeString */;
2096 long var234
/* : Int */;
2097 val
* var235
/* : String */;
2098 val
* var236
/* : String */;
2099 val
* var237
/* : nullable RuntimeVariable */;
2100 val
* var238
/* : nullable String */;
2101 static val
* varonce239
;
2102 val
* var240
/* : String */;
2103 char* var241
/* : NativeString */;
2104 long var242
/* : Int */;
2105 val
* var243
/* : String */;
2106 val
* var244
/* : Array[Object] */;
2107 long var245
/* : Int */;
2108 val
* var246
/* : NativeArray[Object] */;
2109 val
* var247
/* : String */;
2110 val
* var248
/* : null */;
2111 short int var249
/* : Bool */;
2112 static val
* varonce250
;
2113 val
* var251
/* : String */;
2114 char* var252
/* : NativeString */;
2115 long var253
/* : Int */;
2116 val
* var254
/* : String */;
2117 val
* var255
/* : nullable RuntimeVariable */;
2118 static val
* varonce256
;
2119 val
* var257
/* : String */;
2120 char* var258
/* : NativeString */;
2121 long var259
/* : Int */;
2122 val
* var260
/* : String */;
2123 val
* var261
/* : Array[Object] */;
2124 long var262
/* : Int */;
2125 val
* var263
/* : NativeArray[Object] */;
2126 val
* var264
/* : String */;
2127 static val
* varonce265
;
2128 val
* var266
/* : String */;
2129 char* var267
/* : NativeString */;
2130 long var268
/* : Int */;
2131 val
* var269
/* : String */;
2132 /* Covariant cast for argument 0 (compiler) <p0:GlobalCompiler> isa COMPILER */
2133 /* <p0:GlobalCompiler> isa COMPILER */
2134 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
2135 cltype
= type_struct
->color
;
2136 idtype
= type_struct
->id
;
2137 if(cltype
>= p0
->type
->table_size
) {
2140 var
= p0
->type
->type_table
[cltype
] == idtype
;
2143 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 913);
2147 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2149 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2150 var_mmethoddef
= var2
;
2151 var3
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:GlobalCompiler>*/;
2153 var5
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2154 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
2155 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>*/;
2161 var10
= "problem: why do we compile ";
2163 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2172 var17
= string__NativeString__to_s_with_length(var15
, var16
);
2181 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2185 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2186 { /* var23 = array_instance Array[Object] */
2188 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2189 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var9
;
2190 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) self
;
2191 ((struct instance_array__NativeArray
*)var25
)->values
[2] = (val
*) var14
;
2192 ((struct instance_array__NativeArray
*)var25
)->values
[3] = (val
*) var_recv
;
2193 ((struct instance_array__NativeArray
*)var25
)->values
[4] = (val
*) var19
;
2194 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2195 CHECK_NEW_array__Array(var23
);
2197 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2198 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var26
) /* print on <self:CustomizedRuntimeFunction>*/;
2199 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/global_compiler.nit", 920);
2203 var27
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:GlobalCompiler>*/;
2205 var28
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2211 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2215 ((void (*)(val
*, val
*, val
*, val
*))(var28
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var28
, var30
, var_recv
, var_recv
) /* init on <var28:RuntimeVariable>*/;
2216 CHECK_NEW_abstract_compiler__RuntimeVariable(var28
);
2217 var_selfvar
= var28
;
2218 var34
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis
]))(var_compiler
) /* runtime_type_analysis on <var_compiler:GlobalCompiler>*/;
2219 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var34
) /* live_types on <var34:RapidTypeAnalysis>*/;
2220 var36
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var35
, var_recv
) /* has on <var35:HashSet[MClassType]>*/;
2223 ((void (*)(val
*, short int))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_selfvar
, var37
) /* is_exact= on <var_selfvar:RuntimeVariable>*/;
2226 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2227 ((void (*)(val
*))(var38
->class->vft
[COLOR_array__Array__init
]))(var38
) /* init on <var38:Array[RuntimeVariable]>*/;
2228 CHECK_NEW_array__Array(var38
);
2229 var_arguments
= var38
;
2230 var39
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2231 ((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>*/;
2232 CHECK_NEW_abstract_compiler__Frame(var39
);
2234 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
2235 var40
= NEW_string__Buffer(&type_string__Buffer
);
2236 ((void (*)(val
*))(var40
->class->vft
[COLOR_string__Buffer__init
]))(var40
) /* init on <var40:Buffer>*/;
2237 CHECK_NEW_string__Buffer(var40
);
2239 var41
= NEW_string__Buffer(&type_string__Buffer
);
2240 ((void (*)(val
*))(var41
->class->vft
[COLOR_string__Buffer__init
]))(var41
) /* init on <var41:Buffer>*/;
2241 CHECK_NEW_string__Buffer(var41
);
2242 var_comment
= var41
;
2243 var42
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2244 if (var42
== NULL
) {
2245 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/global_compiler.nit", 934);
2248 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var42
) /* return_mtype on <var42:nullable MSignature>*/;
2252 if (var_ret
== NULL
) {
2253 var45
= 0; /* is null */
2255 var45
= 1; /* arg is null and recv is not */
2258 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>*/;
2260 var47
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
2266 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2270 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
2271 { /* var53 = array_instance Array[Object] */
2273 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
2274 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var47
;
2275 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var49
;
2276 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
2277 CHECK_NEW_array__Array(var53
);
2279 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
2280 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var56
) /* append on <var_sig:Buffer>*/;
2282 var57
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2283 var58
= ((short int (*)(val
*))(var57
->class->vft
[COLOR_model__MMethod__is_new
]))(var57
) /* is_new on <var57:MProperty(MMethod)>*/;
2286 var59
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
2292 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2296 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
2297 { /* var65 = array_instance Array[Object] */
2299 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
2300 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var59
;
2301 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var61
;
2302 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
2303 CHECK_NEW_array__Array(var65
);
2305 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
2306 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var68
) /* append on <var_sig:Buffer>*/;
2313 var73
= string__NativeString__to_s_with_length(var71
, var72
);
2317 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var70
) /* append on <var_sig:Buffer>*/;
2320 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
2321 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var74
) /* append on <var_sig:Buffer>*/;
2327 var79
= string__NativeString__to_s_with_length(var77
, var78
);
2331 var80
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_recv
) /* ctype on <var_recv:MClassType>*/;
2337 var85
= string__NativeString__to_s_with_length(var83
, var84
);
2341 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
2342 { /* var86 = array_instance Array[Object] */
2344 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
2345 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
2346 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var80
;
2347 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var82
;
2348 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var_selfvar
;
2349 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
2350 CHECK_NEW_array__Array(var86
);
2352 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
2353 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var89
) /* append on <var_sig:Buffer>*/;
2359 var94
= string__NativeString__to_s_with_length(var92
, var93
);
2363 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
2364 { /* var95 = array_instance Array[Object] */
2366 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
2367 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var91
;
2368 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var_recv
;
2369 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
2370 CHECK_NEW_array__Array(var95
);
2372 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
2373 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var98
) /* append on <var_comment:Buffer>*/;
2374 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2375 var99
= NEW_range__Range(&type_range__Rangekernel__Int
);
2377 var101
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2378 if (var101
== NULL
) {
2379 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/global_compiler.nit", 948);
2382 var102
= ((long (*)(val
*))(var101
->class->vft
[COLOR_model__MSignature__arity
]))(var101
) /* arity on <var101:nullable MSignature>*/;
2384 var103
= BOX_kernel__Int(var100
); /* autobox from Int to Discrete */
2385 var104
= BOX_kernel__Int(var102
); /* autobox from Int to Discrete */
2386 ((void (*)(val
*, val
*, val
*))(var99
->class->vft
[COLOR_range__Range__without_last
]))(var99
, var103
, var104
) /* without_last on <var99:Range[Int]>*/;
2387 CHECK_NEW_range__Range(var99
);
2388 var105
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var99
) /* iterator on <var99:Range[Int]>*/;
2390 var106
= ((short int (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var105
) /* is_ok on <var105:Iterator[nullable Object]>*/;
2392 var107
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var105
) /* item on <var105:Iterator[nullable Object]>*/;
2393 var108
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
2395 var109
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2396 if (var109
== NULL
) {
2397 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/global_compiler.nit", 949);
2400 var110
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_model__MSignature__mparameters
]))(var109
) /* mparameters on <var109:nullable MSignature>*/;
2402 var111
= ((val
* (*)(val
*, long))(var110
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var110
, var_i
) /* [] on <var110:Array[MParameter]>*/;
2403 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_model__MParameter__mtype
]))(var111
) /* mtype on <var111:nullable Object(MParameter)>*/;
2405 var113
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2406 if (var113
== NULL
) {
2407 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/global_compiler.nit", 950);
2410 var114
= ((long (*)(val
*))(var113
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var113
) /* vararg_rank on <var113:nullable MSignature>*/;
2412 { /* Inline kernel#Int#== (var_i,var114) */
2413 var117
= var_i
== var114
;
2416 RET_LABEL116
:(void)0;
2420 var119
= varonce118
;
2424 var122
= string__NativeString__to_s_with_length(var120
, var121
);
2426 varonce118
= var119
;
2428 var123
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var119
) /* get_class on <var_v:GlobalCompilerVisitor>*/;
2429 var124
= NEW_array__Array(&type_array__Arraymodel__MType
);
2430 { /* var124 = array_instance Array[MType] */
2432 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraymodel__MType
);
2433 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_mtype
;
2434 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[MType]>*/;
2435 CHECK_NEW_array__Array(var124
);
2437 var127
= ((val
* (*)(val
*, val
*))(var123
->class->vft
[COLOR_model__MClass__get_mtype
]))(var123
, var124
) /* get_mtype on <var123:MClass>*/;
2441 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>*/;
2444 var130
= varonce129
;
2448 var133
= string__NativeString__to_s_with_length(var131
, var132
);
2450 varonce129
= var130
;
2452 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
2453 { /* var134 = array_instance Array[Object] */
2455 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
2456 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var130
;
2457 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var_mtype
;
2458 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
2459 CHECK_NEW_array__Array(var134
);
2461 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
2462 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var137
) /* append on <var_comment:Buffer>*/;
2464 var139
= varonce138
;
2468 var142
= string__NativeString__to_s_with_length(var140
, var141
);
2470 varonce138
= var139
;
2472 var143
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2474 var145
= varonce144
;
2478 var148
= string__NativeString__to_s_with_length(var146
, var147
);
2480 varonce144
= var145
;
2482 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
2483 { /* var149 = array_instance Array[Object] */
2485 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
2486 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var139
;
2487 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var143
;
2488 ((struct instance_array__NativeArray
*)var151
)->values
[2] = (val
*) var145
;
2489 var152
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
2490 ((struct instance_array__NativeArray
*)var151
)->values
[3] = (val
*) var152
;
2491 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
2492 CHECK_NEW_array__Array(var149
);
2494 var153
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
2495 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var153
) /* append on <var_sig:Buffer>*/;
2496 var154
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2497 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
2499 ((void (*)(val
*, long))(var155
->class->vft
[COLOR_array__Array__with_capacity
]))(var155
, var156
) /* with_capacity on <var155:Array[Object]>*/;
2500 CHECK_NEW_array__Array(var155
);
2503 var158
= varonce157
;
2507 var161
= string__NativeString__to_s_with_length(var159
, var160
);
2509 varonce157
= var158
;
2511 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var158
) /* add on <var_:Array[Object]>*/;
2512 var162
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2513 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var162
) /* add on <var_:Array[Object]>*/;
2515 var164
= varonce163
;
2519 var167
= string__NativeString__to_s_with_length(var165
, var166
);
2521 varonce163
= var164
;
2523 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var164
) /* add on <var_:Array[Object]>*/;
2524 var168
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2525 ((void (*)(val
*, val
*, val
*, val
*))(var154
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var154
, var168
, var_mtype
, var_mtype
) /* init on <var154:RuntimeVariable>*/;
2526 CHECK_NEW_abstract_compiler__RuntimeVariable(var154
);
2527 var_argvar
= var154
;
2528 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2529 CONTINUE_label
: (void)0;
2530 ((void (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var105
) /* next on <var105:Iterator[nullable Object]>*/;
2532 BREAK_label
: (void)0;
2534 var170
= varonce169
;
2538 var173
= string__NativeString__to_s_with_length(var171
, var172
);
2540 varonce169
= var170
;
2542 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var170
) /* append on <var_sig:Buffer>*/;
2544 var175
= varonce174
;
2548 var178
= string__NativeString__to_s_with_length(var176
, var177
);
2550 varonce174
= var175
;
2552 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var175
) /* append on <var_comment:Buffer>*/;
2554 if (var_ret
== NULL
) {
2555 var180
= 0; /* is null */
2557 var180
= 1; /* arg is null and recv is not */
2561 var182
= varonce181
;
2565 var185
= string__NativeString__to_s_with_length(var183
, var184
);
2567 varonce181
= var182
;
2569 var186
= NEW_array__Array(&type_array__Arraykernel__Object
);
2570 { /* var186 = array_instance Array[Object] */
2572 var188
= NEW_array__NativeArray(var187
, &type_array__NativeArraykernel__Object
);
2573 ((struct instance_array__NativeArray
*)var188
)->values
[0] = (val
*) var182
;
2574 ((struct instance_array__NativeArray
*)var188
)->values
[1] = (val
*) var_ret
;
2575 ((void (*)(val
*, val
*, long))(var186
->class->vft
[COLOR_array__Array__with_native
]))(var186
, var188
, var187
) /* with_native on <var186:Array[Object]>*/;
2576 CHECK_NEW_array__Array(var186
);
2578 var189
= ((val
* (*)(val
*))(var186
->class->vft
[COLOR_string__Object__to_s
]))(var186
) /* to_s on <var186:Array[Object]>*/;
2579 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var189
) /* append on <var_comment:Buffer>*/;
2582 var190
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:GlobalCompiler>*/;
2584 var192
= varonce191
;
2588 var195
= string__NativeString__to_s_with_length(var193
, var194
);
2590 varonce191
= var192
;
2592 var196
= NEW_array__Array(&type_array__Arraykernel__Object
);
2593 { /* var196 = array_instance Array[Object] */
2595 var198
= NEW_array__NativeArray(var197
, &type_array__NativeArraykernel__Object
);
2596 ((struct instance_array__NativeArray
*)var198
)->values
[0] = (val
*) var_sig
;
2597 ((struct instance_array__NativeArray
*)var198
)->values
[1] = (val
*) var192
;
2598 ((void (*)(val
*, val
*, long))(var196
->class->vft
[COLOR_array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
2599 CHECK_NEW_array__Array(var196
);
2601 var199
= ((val
* (*)(val
*))(var196
->class->vft
[COLOR_string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
2602 ((void (*)(val
*, val
*))(var190
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var190
, var199
) /* add_decl on <var190:CodeWriter>*/;
2604 var201
= varonce200
;
2606 var202
= "/* method ";
2608 var204
= string__NativeString__to_s_with_length(var202
, var203
);
2610 varonce200
= var201
;
2613 var206
= varonce205
;
2617 var209
= string__NativeString__to_s_with_length(var207
, var208
);
2619 varonce205
= var206
;
2622 var211
= varonce210
;
2626 var214
= string__NativeString__to_s_with_length(var212
, var213
);
2628 varonce210
= var211
;
2630 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
2631 { /* var215 = array_instance Array[Object] */
2633 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
2634 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var201
;
2635 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) self
;
2636 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var206
;
2637 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var_comment
;
2638 ((struct instance_array__NativeArray
*)var217
)->values
[4] = (val
*) var211
;
2639 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
2640 CHECK_NEW_array__Array(var215
);
2642 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
2643 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var218
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2645 var220
= varonce219
;
2649 var223
= string__NativeString__to_s_with_length(var221
, var222
);
2651 varonce219
= var220
;
2653 var224
= NEW_array__Array(&type_array__Arraykernel__Object
);
2654 { /* var224 = array_instance Array[Object] */
2656 var226
= NEW_array__NativeArray(var225
, &type_array__NativeArraykernel__Object
);
2657 ((struct instance_array__NativeArray
*)var226
)->values
[0] = (val
*) var_sig
;
2658 ((struct instance_array__NativeArray
*)var226
)->values
[1] = (val
*) var220
;
2659 ((void (*)(val
*, val
*, long))(var224
->class->vft
[COLOR_array__Array__with_native
]))(var224
, var226
, var225
) /* with_native on <var224:Array[Object]>*/;
2660 CHECK_NEW_array__Array(var224
);
2662 var227
= ((val
* (*)(val
*))(var224
->class->vft
[COLOR_string__Object__to_s
]))(var224
) /* to_s on <var224:Array[Object]>*/;
2663 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var227
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2665 if (var_ret
== NULL
) {
2666 var229
= 0; /* is null */
2668 var229
= 1; /* arg is null and recv is not */
2671 var230
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
2672 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var230
) /* returnvar= on <var_frame:Frame>*/;
2676 var232
= varonce231
;
2678 var233
= "RET_LABEL";
2680 var235
= string__NativeString__to_s_with_length(var233
, var234
);
2682 varonce231
= var232
;
2684 var236
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var232
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2685 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var236
) /* returnlabel= on <var_frame:Frame>*/;
2686 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>*/;
2688 var238
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2689 if (var238
== NULL
) {
2690 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 976);
2694 var240
= varonce239
;
2698 var243
= string__NativeString__to_s_with_length(var241
, var242
);
2700 varonce239
= var240
;
2702 var244
= NEW_array__Array(&type_array__Arraykernel__Object
);
2703 { /* var244 = array_instance Array[Object] */
2705 var246
= NEW_array__NativeArray(var245
, &type_array__NativeArraykernel__Object
);
2706 ((struct instance_array__NativeArray
*)var246
)->values
[0] = (val
*) var238
;
2707 ((struct instance_array__NativeArray
*)var246
)->values
[1] = (val
*) var240
;
2708 ((void (*)(val
*, val
*, long))(var244
->class->vft
[COLOR_array__Array__with_native
]))(var244
, var246
, var245
) /* with_native on <var244:Array[Object]>*/;
2709 CHECK_NEW_array__Array(var244
);
2711 var247
= ((val
* (*)(val
*))(var244
->class->vft
[COLOR_string__Object__to_s
]))(var244
) /* to_s on <var244:Array[Object]>*/;
2712 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var247
) /* add on <var_v:GlobalCompilerVisitor>*/;
2714 if (var_ret
== NULL
) {
2715 var249
= 0; /* is null */
2717 var249
= 1; /* arg is null and recv is not */
2721 var251
= varonce250
;
2725 var254
= string__NativeString__to_s_with_length(var252
, var253
);
2727 varonce250
= var251
;
2729 var255
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
2730 if (var255
== NULL
) {
2731 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 978);
2735 var257
= varonce256
;
2739 var260
= string__NativeString__to_s_with_length(var258
, var259
);
2741 varonce256
= var257
;
2743 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
2744 { /* var261 = array_instance Array[Object] */
2746 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
2747 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var251
;
2748 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var255
;
2749 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var257
;
2750 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
2751 CHECK_NEW_array__Array(var261
);
2753 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
2754 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var264
) /* add on <var_v:GlobalCompilerVisitor>*/;
2758 var266
= varonce265
;
2762 var269
= string__NativeString__to_s_with_length(var267
, var268
);
2764 varonce265
= var266
;
2766 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var266
) /* add on <var_v:GlobalCompilerVisitor>*/;
2769 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2770 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2771 global_compiler__CustomizedRuntimeFunction__compile_to_c(self
, p0
);
2774 /* method global_compiler#CustomizedRuntimeFunction#call for (self: CustomizedRuntimeFunction, GlobalCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2775 val
* global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2776 val
* var
/* : nullable RuntimeVariable */;
2777 short int var1
/* : Bool */;
2780 const struct type
* type_struct
;
2781 val
* var_v
/* var v: GlobalCompilerVisitor */;
2782 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2783 val
* var2
/* : MMethodDef */;
2784 val
* var3
/* : nullable MSignature */;
2785 val
* var4
/* : nullable MType */;
2786 val
* var_ret
/* var ret: nullable MType */;
2787 val
* var5
/* : MMethodDef */;
2788 val
* var6
/* : MProperty */;
2789 short int var7
/* : Bool */;
2790 val
* var8
/* : MClassType */;
2791 val
* var9
/* : null */;
2792 short int var10
/* : Bool */;
2793 val
* var11
/* : nullable Object */;
2794 val
* var12
/* : MType */;
2795 val
* var13
/* : MMethodDef */;
2796 short int var14
/* : Bool */;
2797 val
* var15
/* : Frame */;
2798 val
* var16
/* : MMethodDef */;
2799 val
* var17
/* : MClassType */;
2800 val
* var_frame
/* var frame: Frame */;
2801 static val
* varonce
;
2802 val
* var18
/* : String */;
2803 char* var19
/* : NativeString */;
2804 long var20
/* : Int */;
2805 val
* var21
/* : String */;
2806 val
* var22
/* : String */;
2807 val
* var23
/* : null */;
2808 short int var24
/* : Bool */;
2809 val
* var25
/* : RuntimeVariable */;
2810 val
* var26
/* : nullable Frame */;
2811 val
* var_old_frame
/* var old_frame: nullable Frame */;
2812 static val
* varonce27
;
2813 val
* var28
/* : String */;
2814 char* var29
/* : NativeString */;
2815 long var30
/* : Int */;
2816 val
* var31
/* : String */;
2817 static val
* varonce32
;
2818 val
* var33
/* : String */;
2819 char* var34
/* : NativeString */;
2820 long var35
/* : Int */;
2821 val
* var36
/* : String */;
2822 static val
* varonce37
;
2823 val
* var38
/* : String */;
2824 char* var39
/* : NativeString */;
2825 long var40
/* : Int */;
2826 val
* var41
/* : String */;
2827 val
* var42
/* : String */;
2828 static val
* varonce43
;
2829 val
* var44
/* : String */;
2830 char* var45
/* : NativeString */;
2831 long var46
/* : Int */;
2832 val
* var47
/* : String */;
2833 val
* var48
/* : Array[Object] */;
2834 long var49
/* : Int */;
2835 val
* var50
/* : NativeArray[Object] */;
2836 val
* var51
/* : String */;
2837 val
* var52
/* : MMethodDef */;
2838 val
* var53
/* : nullable RuntimeVariable */;
2839 val
* var54
/* : nullable String */;
2840 static val
* varonce55
;
2841 val
* var56
/* : String */;
2842 char* var57
/* : NativeString */;
2843 long var58
/* : Int */;
2844 val
* var59
/* : String */;
2845 val
* var60
/* : Array[Object] */;
2846 long var61
/* : Int */;
2847 val
* var62
/* : NativeArray[Object] */;
2848 val
* var63
/* : String */;
2849 static val
* varonce64
;
2850 val
* var65
/* : String */;
2851 char* var66
/* : NativeString */;
2852 long var67
/* : Int */;
2853 val
* var68
/* : String */;
2854 val
* var69
/* : nullable RuntimeVariable */;
2855 val
* var70
/* : MMethodDef */;
2856 val
* var71
/* : AbstractCompiler */;
2857 val
* var72
/* : null */;
2858 short int var73
/* : Bool */;
2859 val
* var74
/* : String */;
2860 static val
* varonce75
;
2861 val
* var76
/* : String */;
2862 char* var77
/* : NativeString */;
2863 long var78
/* : Int */;
2864 val
* var79
/* : String */;
2865 static val
* varonce80
;
2866 val
* var81
/* : String */;
2867 char* var82
/* : NativeString */;
2868 long var83
/* : Int */;
2869 val
* var84
/* : String */;
2870 val
* var85
/* : String */;
2871 static val
* varonce86
;
2872 val
* var87
/* : String */;
2873 char* var88
/* : NativeString */;
2874 long var89
/* : Int */;
2875 val
* var90
/* : String */;
2876 val
* var91
/* : Array[Object] */;
2877 long var92
/* : Int */;
2878 val
* var93
/* : NativeArray[Object] */;
2879 val
* var94
/* : String */;
2880 val
* var95
/* : null */;
2881 val
* var96
/* : RuntimeVariable */;
2882 val
* var_res
/* var res: RuntimeVariable */;
2883 static val
* varonce97
;
2884 val
* var98
/* : String */;
2885 char* var99
/* : NativeString */;
2886 long var100
/* : Int */;
2887 val
* var101
/* : String */;
2888 val
* var102
/* : String */;
2889 static val
* varonce103
;
2890 val
* var104
/* : String */;
2891 char* var105
/* : NativeString */;
2892 long var106
/* : Int */;
2893 val
* var107
/* : String */;
2894 static val
* varonce108
;
2895 val
* var109
/* : String */;
2896 char* var110
/* : NativeString */;
2897 long var111
/* : Int */;
2898 val
* var112
/* : String */;
2899 val
* var113
/* : String */;
2900 static val
* varonce114
;
2901 val
* var115
/* : String */;
2902 char* var116
/* : NativeString */;
2903 long var117
/* : Int */;
2904 val
* var118
/* : String */;
2905 val
* var119
/* : Array[Object] */;
2906 long var120
/* : Int */;
2907 val
* var121
/* : NativeArray[Object] */;
2908 val
* var122
/* : String */;
2909 /* Covariant cast for argument 0 (v) <p0:GlobalCompilerVisitor> isa VISITOR */
2910 /* <p0:GlobalCompilerVisitor> isa VISITOR */
2911 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2912 cltype
= type_struct
->color
;
2913 idtype
= type_struct
->id
;
2914 if(cltype
>= p0
->type
->table_size
) {
2917 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2920 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 983);
2925 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2926 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MMethodDef>*/;
2928 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/global_compiler.nit", 985);
2931 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var3
) /* return_mtype on <var3:nullable MSignature>*/;
2934 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2935 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var5
) /* mproperty on <var5:MMethodDef>*/;
2936 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_model__MMethod__is_new
]))(var6
) /* is_new on <var6:MProperty(MMethod)>*/;
2938 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2943 if (var_ret
== NULL
) {
2944 var10
= 0; /* is null */
2946 var10
= 1; /* arg is null and recv is not */
2949 var11
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2950 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>*/;
2954 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2955 var14
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_compiler__MMethodDef__can_inline
]))(var13
, var_v
) /* can_inline on <var13:MMethodDef>*/;
2957 var15
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2958 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2959 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2960 ((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>*/;
2961 CHECK_NEW_abstract_compiler__Frame(var15
);
2966 var19
= "RET_LABEL";
2968 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2972 var22
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var18
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2973 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var22
) /* returnlabel= on <var_frame:Frame>*/;
2975 if (var_ret
== NULL
) {
2976 var24
= 0; /* is null */
2978 var24
= 1; /* arg is null and recv is not */
2981 var25
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
2982 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var25
) /* returnvar= on <var_frame:Frame>*/;
2985 var26
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:GlobalCompilerVisitor>*/;
2986 var_old_frame
= var26
;
2987 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
2991 var29
= "{ /* Inline ";
2993 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3002 var36
= string__NativeString__to_s_with_length(var34
, var35
);
3011 var41
= string__NativeString__to_s_with_length(var39
, var40
);
3015 var42
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var38
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3021 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3025 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
3026 { /* var48 = array_instance Array[Object] */
3028 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
3029 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var28
;
3030 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) self
;
3031 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var33
;
3032 ((struct instance_array__NativeArray
*)var50
)->values
[3] = (val
*) var42
;
3033 ((struct instance_array__NativeArray
*)var50
)->values
[4] = (val
*) var44
;
3034 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
3035 CHECK_NEW_array__Array(var48
);
3037 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
3038 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var51
) /* add on <var_v:GlobalCompilerVisitor>*/;
3039 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3040 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>*/;
3042 var54
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
3043 if (var54
== NULL
) {
3044 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/global_compiler.nit", 1002);
3050 var57
= ":(void)0;";
3052 var59
= string__NativeString__to_s_with_length(var57
, var58
);
3056 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
3057 { /* var60 = array_instance Array[Object] */
3059 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
3060 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var54
;
3061 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var56
;
3062 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
3063 CHECK_NEW_array__Array(var60
);
3065 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
3066 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var63
) /* add on <var_v:GlobalCompilerVisitor>*/;
3072 var68
= string__NativeString__to_s_with_length(var66
, var67
);
3076 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var65
) /* add on <var_v:GlobalCompilerVisitor>*/;
3077 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_old_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
3078 var69
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
3083 var70
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3084 ((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>*/;
3085 var71
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:GlobalCompilerVisitor>*/;
3086 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_global_compiler__GlobalCompiler__todo
]))(var71
, self
) /* todo on <var71:AbstractCompiler(GlobalCompiler)>*/;
3088 if (var_ret
== NULL
) {
3089 var73
= 1; /* is null */
3091 var73
= 0; /* arg is null but recv is not */
3094 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3100 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3109 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3113 var85
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var81
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3119 var90
= string__NativeString__to_s_with_length(var88
, var89
);
3123 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
3124 { /* var91 = array_instance Array[Object] */
3126 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
3127 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var74
;
3128 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var76
;
3129 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var85
;
3130 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var87
;
3131 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
3132 CHECK_NEW_array__Array(var91
);
3134 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
3135 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var94
) /* add on <var_v:GlobalCompilerVisitor>*/;
3140 var96
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
3147 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3151 var102
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3153 var104
= varonce103
;
3157 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3159 varonce103
= var104
;
3162 var109
= varonce108
;
3166 var112
= string__NativeString__to_s_with_length(var110
, var111
);
3168 varonce108
= var109
;
3170 var113
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var109
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3172 var115
= varonce114
;
3176 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3178 varonce114
= var115
;
3180 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
3181 { /* var119 = array_instance Array[Object] */
3183 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
3184 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var_res
;
3185 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var98
;
3186 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var102
;
3187 ((struct instance_array__NativeArray
*)var121
)->values
[3] = (val
*) var104
;
3188 ((struct instance_array__NativeArray
*)var121
)->values
[4] = (val
*) var113
;
3189 ((struct instance_array__NativeArray
*)var121
)->values
[5] = (val
*) var115
;
3190 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
3191 CHECK_NEW_array__Array(var119
);
3193 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
3194 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:GlobalCompilerVisitor>*/;
3201 /* method global_compiler#CustomizedRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
3202 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
3203 val
* var
/* : nullable RuntimeVariable */;
3204 val
* var1
/* : nullable RuntimeVariable */;
3205 var1
= global_compiler__CustomizedRuntimeFunction__call(self
, p0
, p1
);