1 #include "global_compiler.sep.0.h"
2 /* method global_compiler#GlobalCompilerVisitor#equal_test for (self: GlobalCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
3 val
* global_compiler__GlobalCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value1
/* var value1: RuntimeVariable */;
6 val
* var_value2
/* var value2: RuntimeVariable */;
7 val
* var1
/* : MClassType */;
8 val
* var2
/* : RuntimeVariable */;
9 val
* var_res
/* var res: RuntimeVariable */;
10 short int var3
/* : Bool */;
11 val
* var4
/* : MType */;
12 val
* var5
/* : String */;
14 val
* var6
/* : String */;
15 char* var7
/* : NativeString */;
16 long var8
/* : Int */;
17 val
* var9
/* : String */;
18 short int var10
/* : Bool */;
19 short int var_
/* var : Bool */;
20 val
* var11
/* : MType */;
21 val
* var12
/* : String */;
22 static val
* varonce13
;
23 val
* var14
/* : String */;
24 char* var15
/* : NativeString */;
25 long var16
/* : Int */;
26 val
* var17
/* : String */;
27 short int var18
/* : Bool */;
28 val
* var_tmp
/* var tmp: RuntimeVariable */;
29 val
* var19
/* : MType */;
30 val
* var20
/* : String */;
31 static val
* varonce21
;
32 val
* var22
/* : String */;
33 char* var23
/* : NativeString */;
34 long var24
/* : Int */;
35 val
* var25
/* : String */;
36 short int var26
/* : Bool */;
37 val
* var27
/* : MType */;
38 val
* var28
/* : MType */;
39 short int var29
/* : Bool */;
40 static val
* varonce30
;
41 val
* var31
/* : String */;
42 char* var32
/* : NativeString */;
43 long var33
/* : Int */;
44 val
* var34
/* : String */;
45 static val
* varonce35
;
46 val
* var36
/* : String */;
47 char* var37
/* : NativeString */;
48 long var38
/* : Int */;
49 val
* var39
/* : String */;
50 static val
* varonce40
;
51 val
* var41
/* : String */;
52 char* var42
/* : NativeString */;
53 long var43
/* : Int */;
54 val
* var44
/* : String */;
55 val
* var45
/* : Array[Object] */;
56 long var46
/* : Int */;
57 val
* var47
/* : NativeArray[Object] */;
58 val
* var48
/* : String */;
59 val
* var49
/* : MType */;
60 val
* var50
/* : String */;
61 static val
* varonce51
;
62 val
* var52
/* : String */;
63 char* var53
/* : NativeString */;
64 long var54
/* : Int */;
65 val
* var55
/* : String */;
66 short int var56
/* : Bool */;
67 static val
* varonce57
;
68 val
* var58
/* : String */;
69 char* var59
/* : NativeString */;
70 long var60
/* : Int */;
71 val
* var61
/* : String */;
72 val
* var62
/* : MType */;
73 static val
* varonce63
;
74 val
* var64
/* : String */;
75 char* var65
/* : NativeString */;
76 long var66
/* : Int */;
77 val
* var67
/* : String */;
78 val
* var68
/* : MType */;
79 static val
* varonce69
;
80 val
* var70
/* : String */;
81 char* var71
/* : NativeString */;
82 long var72
/* : Int */;
83 val
* var73
/* : String */;
84 val
* var74
/* : Array[Object] */;
85 long var75
/* : Int */;
86 val
* var76
/* : NativeArray[Object] */;
87 val
* var77
/* : String */;
88 val
* var78
/* : MType */;
89 short int var79
/* : Bool */;
92 const char* var_class_name
;
93 val
* var_mtype1
/* var mtype1: MClassType */;
94 static val
* varonce80
;
95 val
* var81
/* : String */;
96 char* var82
/* : NativeString */;
97 long var83
/* : Int */;
98 val
* var84
/* : String */;
99 static val
* varonce85
;
100 val
* var86
/* : String */;
101 char* var87
/* : NativeString */;
102 long var88
/* : Int */;
103 val
* var89
/* : String */;
104 static val
* varonce90
;
105 val
* var91
/* : String */;
106 char* var92
/* : NativeString */;
107 long var93
/* : Int */;
108 val
* var94
/* : String */;
109 val
* var95
/* : AbstractCompiler */;
110 val
* var96
/* : String */;
111 static val
* varonce97
;
112 val
* var98
/* : String */;
113 char* var99
/* : NativeString */;
114 long var100
/* : Int */;
115 val
* var101
/* : String */;
116 val
* var102
/* : Array[Object] */;
117 long var103
/* : Int */;
118 val
* var104
/* : NativeArray[Object] */;
119 val
* var105
/* : String */;
120 static val
* varonce106
;
121 val
* var107
/* : String */;
122 char* var108
/* : NativeString */;
123 long var109
/* : Int */;
124 val
* var110
/* : String */;
125 static val
* varonce111
;
126 val
* var112
/* : String */;
127 char* var113
/* : NativeString */;
128 long var114
/* : Int */;
129 val
* var115
/* : String */;
130 val
* var116
/* : Array[Object] */;
131 long var117
/* : Int */;
132 val
* var118
/* : NativeArray[Object] */;
133 val
* var119
/* : String */;
134 static val
* varonce120
;
135 val
* var121
/* : String */;
136 char* var122
/* : NativeString */;
137 long var123
/* : Int */;
138 val
* var124
/* : String */;
139 val
* var125
/* : MType */;
140 val
* var126
/* : RuntimeVariable */;
141 static val
* varonce127
;
142 val
* var128
/* : String */;
143 char* var129
/* : NativeString */;
144 long var130
/* : Int */;
145 val
* var131
/* : String */;
146 static val
* varonce132
;
147 val
* var133
/* : String */;
148 char* var134
/* : NativeString */;
149 long var135
/* : Int */;
150 val
* var136
/* : String */;
151 val
* var137
/* : Array[Object] */;
152 long var138
/* : Int */;
153 val
* var139
/* : NativeArray[Object] */;
154 val
* var140
/* : String */;
155 static val
* varonce141
;
156 val
* var142
/* : String */;
157 char* var143
/* : NativeString */;
158 long var144
/* : Int */;
159 val
* var145
/* : String */;
160 val
* var146
/* : Array[String] */;
161 val
* var_s
/* var s: Array[String] */;
162 val
* var147
/* : AbstractCompiler */;
163 val
* var148
/* : Array[MClassType] */;
164 val
* var149
/* : Iterator[nullable Object] */;
165 short int var150
/* : Bool */;
166 val
* var151
/* : nullable Object */;
167 val
* var_t
/* var t: MClassType */;
168 val
* var152
/* : AbstractCompiler */;
169 val
* var153
/* : MModule */;
170 val
* var154
/* : null */;
171 val
* var155
/* : MType */;
172 short int var156
/* : Bool */;
173 short int var157
/* : Bool */;
174 val
* var158
/* : AbstractCompiler */;
175 val
* var159
/* : MModule */;
176 val
* var160
/* : null */;
177 val
* var161
/* : MType */;
178 short int var162
/* : Bool */;
179 short int var163
/* : Bool */;
180 static val
* varonce164
;
181 val
* var165
/* : String */;
182 char* var166
/* : NativeString */;
183 long var167
/* : Int */;
184 val
* var168
/* : String */;
185 static val
* varonce169
;
186 val
* var170
/* : String */;
187 char* var171
/* : NativeString */;
188 long var172
/* : Int */;
189 val
* var173
/* : String */;
190 val
* var174
/* : AbstractCompiler */;
191 val
* var175
/* : String */;
192 static val
* varonce176
;
193 val
* var177
/* : String */;
194 char* var178
/* : NativeString */;
195 long var179
/* : Int */;
196 val
* var180
/* : String */;
197 val
* var181
/* : String */;
198 static val
* varonce182
;
199 val
* var183
/* : String */;
200 char* var184
/* : NativeString */;
201 long var185
/* : Int */;
202 val
* var186
/* : String */;
203 static val
* varonce187
;
204 val
* var188
/* : String */;
205 char* var189
/* : NativeString */;
206 long var190
/* : Int */;
207 val
* var191
/* : String */;
208 val
* var192
/* : String */;
209 static val
* varonce193
;
210 val
* var194
/* : String */;
211 char* var195
/* : NativeString */;
212 long var196
/* : Int */;
213 val
* var197
/* : String */;
214 static val
* varonce198
;
215 val
* var199
/* : String */;
216 char* var200
/* : NativeString */;
217 long var201
/* : Int */;
218 val
* var202
/* : String */;
219 val
* var203
/* : Array[Object] */;
220 long var204
/* : Int */;
221 val
* var205
/* : NativeArray[Object] */;
222 val
* var206
/* : String */;
223 short int var207
/* : Bool */;
224 static val
* varonce208
;
225 val
* var209
/* : String */;
226 char* var210
/* : NativeString */;
227 long var211
/* : Int */;
228 val
* var212
/* : String */;
229 static val
* varonce213
;
230 val
* var214
/* : String */;
231 char* var215
/* : NativeString */;
232 long var216
/* : Int */;
233 val
* var217
/* : String */;
234 static val
* varonce218
;
235 val
* var219
/* : String */;
236 char* var220
/* : NativeString */;
237 long var221
/* : Int */;
238 val
* var222
/* : String */;
239 val
* var223
/* : Array[Object] */;
240 long var224
/* : Int */;
241 val
* var225
/* : NativeArray[Object] */;
242 val
* var226
/* : String */;
243 static val
* varonce227
;
244 val
* var228
/* : String */;
245 char* var229
/* : NativeString */;
246 long var230
/* : Int */;
247 val
* var231
/* : String */;
248 static val
* varonce232
;
249 val
* var233
/* : String */;
250 char* var234
/* : NativeString */;
251 long var235
/* : Int */;
252 val
* var236
/* : String */;
253 static val
* varonce237
;
254 val
* var238
/* : String */;
255 char* var239
/* : NativeString */;
256 long var240
/* : Int */;
257 val
* var241
/* : String */;
258 static val
* varonce242
;
259 val
* var243
/* : String */;
260 char* var244
/* : NativeString */;
261 long var245
/* : Int */;
262 val
* var246
/* : String */;
263 static val
* varonce247
;
264 val
* var248
/* : String */;
265 char* var249
/* : NativeString */;
266 long var250
/* : Int */;
267 val
* var251
/* : String */;
268 static val
* varonce252
;
269 val
* var253
/* : String */;
270 char* var254
/* : NativeString */;
271 long var255
/* : Int */;
272 val
* var256
/* : String */;
273 static val
* varonce257
;
274 val
* var258
/* : String */;
275 char* var259
/* : NativeString */;
276 long var260
/* : Int */;
277 val
* var261
/* : String */;
278 static val
* varonce262
;
279 val
* var263
/* : String */;
280 char* var264
/* : NativeString */;
281 long var265
/* : Int */;
282 val
* var266
/* : String */;
283 val
* var267
/* : String */;
284 static val
* varonce268
;
285 val
* var269
/* : String */;
286 char* var270
/* : NativeString */;
287 long var271
/* : Int */;
288 val
* var272
/* : String */;
289 val
* var273
/* : Array[Object] */;
290 long var274
/* : Int */;
291 val
* var275
/* : NativeArray[Object] */;
292 val
* var276
/* : String */;
295 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:GlobalCompilerVisitor>*/;
296 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:GlobalCompilerVisitor>*/;
298 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
299 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
305 var9
= string__NativeString__to_s_with_length(var7
, var8
);
309 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
312 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
313 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
319 var17
= string__NativeString__to_s_with_length(var15
, var16
);
323 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
329 var_tmp
= var_value1
;
330 var_value1
= var_value2
;
331 var_value2
= var_tmp
;
334 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
335 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
341 var25
= string__NativeString__to_s_with_length(var23
, var24
);
345 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
347 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
348 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
349 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
356 var34
= string__NativeString__to_s_with_length(var32
, var33
);
365 var39
= string__NativeString__to_s_with_length(var37
, var38
);
374 var44
= string__NativeString__to_s_with_length(var42
, var43
);
378 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
379 { /* var45 = array_instance Array[Object] */
381 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
382 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
383 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
384 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
385 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
386 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
387 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
388 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
389 CHECK_NEW_array__Array(var45
);
391 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
392 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:GlobalCompilerVisitor>*/;
394 var49
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
395 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
401 var55
= string__NativeString__to_s_with_length(var53
, var54
);
405 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var50
, var52
) /* != on <var50:String>*/;
410 var59
= " = 0; /* incompatible types ";
412 var61
= string__NativeString__to_s_with_length(var59
, var60
);
416 var62
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
422 var67
= string__NativeString__to_s_with_length(var65
, var66
);
426 var68
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
432 var73
= string__NativeString__to_s_with_length(var71
, var72
);
436 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
437 { /* var74 = array_instance Array[Object] */
439 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
440 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
441 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var58
;
442 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var62
;
443 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var64
;
444 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var68
;
445 ((struct instance_array__NativeArray
*)var76
)->values
[5] = (val
*) var70
;
446 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
447 CHECK_NEW_array__Array(var74
);
449 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
450 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:GlobalCompilerVisitor>*/;
452 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
453 /* <var78:MType> isa MClassType */
454 cltype
= type_model__MClassType
.color
;
455 idtype
= type_model__MClassType
.id
;
456 if(cltype
>= var78
->type
->table_size
) {
459 var79
= var78
->type
->type_table
[cltype
] == idtype
;
462 var_class_name
= var78
== NULL ?
"null" : var78
->type
->name
;
463 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
464 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 807);
473 var84
= string__NativeString__to_s_with_length(var82
, var83
);
480 var87
= " != NULL) && (";
482 var89
= string__NativeString__to_s_with_length(var87
, var88
);
489 var92
= "->classid == ";
491 var94
= string__NativeString__to_s_with_length(var92
, var93
);
495 var95
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
496 var96
= ((val
* (*)(val
*, val
*))(var95
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var95
, var_mtype1
) /* classid on <var95:AbstractCompiler(GlobalCompiler)>*/;
502 var101
= string__NativeString__to_s_with_length(var99
, var100
);
506 var102
= NEW_array__Array(&type_array__Arraykernel__Object
);
507 { /* var102 = array_instance Array[Object] */
509 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraykernel__Object
);
510 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var_res
;
511 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var81
;
512 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var_value2
;
513 ((struct instance_array__NativeArray
*)var104
)->values
[3] = (val
*) var86
;
514 ((struct instance_array__NativeArray
*)var104
)->values
[4] = (val
*) var_value2
;
515 ((struct instance_array__NativeArray
*)var104
)->values
[5] = (val
*) var91
;
516 ((struct instance_array__NativeArray
*)var104
)->values
[6] = (val
*) var96
;
517 ((struct instance_array__NativeArray
*)var104
)->values
[7] = (val
*) var98
;
518 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Object]>*/;
519 CHECK_NEW_array__Array(var102
);
521 var105
= ((val
* (*)(val
*))(var102
->class->vft
[COLOR_string__Object__to_s
]))(var102
) /* to_s on <var102:Array[Object]>*/;
522 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var105
) /* add on <self:GlobalCompilerVisitor>*/;
528 var110
= string__NativeString__to_s_with_length(var108
, var109
);
537 var115
= string__NativeString__to_s_with_length(var113
, var114
);
541 var116
= NEW_array__Array(&type_array__Arraykernel__Object
);
542 { /* var116 = array_instance Array[Object] */
544 var118
= NEW_array__NativeArray(var117
, &type_array__NativeArraykernel__Object
);
545 ((struct instance_array__NativeArray
*)var118
)->values
[0] = (val
*) var107
;
546 ((struct instance_array__NativeArray
*)var118
)->values
[1] = (val
*) var_res
;
547 ((struct instance_array__NativeArray
*)var118
)->values
[2] = (val
*) var112
;
548 ((void (*)(val
*, val
*, long))(var116
->class->vft
[COLOR_array__Array__with_native
]))(var116
, var118
, var117
) /* with_native on <var116:Array[Object]>*/;
549 CHECK_NEW_array__Array(var116
);
551 var119
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_string__Object__to_s
]))(var116
) /* to_s on <var116:Array[Object]>*/;
552 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var119
) /* add on <self:GlobalCompilerVisitor>*/;
558 var124
= string__NativeString__to_s_with_length(var122
, var123
);
562 var125
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
563 var126
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var125
) /* autobox on <self:GlobalCompilerVisitor>*/;
569 var131
= string__NativeString__to_s_with_length(var129
, var130
);
578 var136
= string__NativeString__to_s_with_length(var134
, var135
);
582 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
583 { /* var137 = array_instance Array[Object] */
585 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
586 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var_res
;
587 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var121
;
588 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var126
;
589 ((struct instance_array__NativeArray
*)var139
)->values
[3] = (val
*) var128
;
590 ((struct instance_array__NativeArray
*)var139
)->values
[4] = (val
*) var_value1
;
591 ((struct instance_array__NativeArray
*)var139
)->values
[5] = (val
*) var133
;
592 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
593 CHECK_NEW_array__Array(var137
);
595 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
596 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var140
) /* add on <self:GlobalCompilerVisitor>*/;
602 var145
= string__NativeString__to_s_with_length(var143
, var144
);
606 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var142
) /* add on <self:GlobalCompilerVisitor>*/;
610 var146
= NEW_array__Array(&type_array__Arraystring__String
);
611 ((void (*)(val
*))(var146
->class->vft
[COLOR_array__Array__init
]))(var146
) /* init on <var146:Array[String]>*/;
612 CHECK_NEW_array__Array(var146
);
614 var147
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
615 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_global_compiler__GlobalCompiler__live_primitive_types
]))(var147
) /* live_primitive_types on <var147:AbstractCompiler(GlobalCompiler)>*/;
616 var149
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var148
) /* iterator on <var148:Array[MClassType]>*/;
618 var150
= ((short int (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var149
) /* is_ok on <var149:Iterator[nullable Object]>*/;
620 var151
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var149
) /* item on <var149:Iterator[nullable Object]>*/;
622 var152
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
623 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var152
) /* mainmodule on <var152:AbstractCompiler(GlobalCompiler)>*/;
625 var155
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
626 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>*/;
632 var158
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
633 var159
= ((val
* (*)(val
*))(var158
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var158
) /* mainmodule on <var158:AbstractCompiler(GlobalCompiler)>*/;
635 var161
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
636 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>*/;
647 var168
= string__NativeString__to_s_with_length(var166
, var167
);
654 var171
= "->classid == ";
656 var173
= string__NativeString__to_s_with_length(var171
, var172
);
660 var174
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
661 var175
= ((val
* (*)(val
*, val
*))(var174
->class->vft
[COLOR_global_compiler__GlobalCompiler__classid
]))(var174
, var_t
) /* classid on <var174:AbstractCompiler(GlobalCompiler)>*/;
665 var178
= " && ((struct ";
667 var180
= string__NativeString__to_s_with_length(var178
, var179
);
671 var181
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
677 var186
= string__NativeString__to_s_with_length(var184
, var185
);
684 var189
= ")->value == ((struct ";
686 var191
= string__NativeString__to_s_with_length(var189
, var190
);
690 var192
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_t
) /* c_name on <var_t:MClassType>*/;
696 var197
= string__NativeString__to_s_with_length(var195
, var196
);
703 var200
= ")->value)";
705 var202
= string__NativeString__to_s_with_length(var200
, var201
);
709 var203
= NEW_array__Array(&type_array__Arraykernel__Object
);
710 { /* var203 = array_instance Array[Object] */
712 var205
= NEW_array__NativeArray(var204
, &type_array__NativeArraykernel__Object
);
713 ((struct instance_array__NativeArray
*)var205
)->values
[0] = (val
*) var165
;
714 ((struct instance_array__NativeArray
*)var205
)->values
[1] = (val
*) var_value1
;
715 ((struct instance_array__NativeArray
*)var205
)->values
[2] = (val
*) var170
;
716 ((struct instance_array__NativeArray
*)var205
)->values
[3] = (val
*) var175
;
717 ((struct instance_array__NativeArray
*)var205
)->values
[4] = (val
*) var177
;
718 ((struct instance_array__NativeArray
*)var205
)->values
[5] = (val
*) var181
;
719 ((struct instance_array__NativeArray
*)var205
)->values
[6] = (val
*) var183
;
720 ((struct instance_array__NativeArray
*)var205
)->values
[7] = (val
*) var_value1
;
721 ((struct instance_array__NativeArray
*)var205
)->values
[8] = (val
*) var188
;
722 ((struct instance_array__NativeArray
*)var205
)->values
[9] = (val
*) var192
;
723 ((struct instance_array__NativeArray
*)var205
)->values
[10] = (val
*) var194
;
724 ((struct instance_array__NativeArray
*)var205
)->values
[11] = (val
*) var_value2
;
725 ((struct instance_array__NativeArray
*)var205
)->values
[12] = (val
*) var199
;
726 ((void (*)(val
*, val
*, long))(var203
->class->vft
[COLOR_array__Array__with_native
]))(var203
, var205
, var204
) /* with_native on <var203:Array[Object]>*/;
727 CHECK_NEW_array__Array(var203
);
729 var206
= ((val
* (*)(val
*))(var203
->class->vft
[COLOR_string__Object__to_s
]))(var203
) /* to_s on <var203:Array[Object]>*/;
730 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var206
) /* add on <var_s:Array[String]>*/;
731 CONTINUE_label
: (void)0;
732 ((void (*)(val
*))(var149
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var149
) /* next on <var149:Iterator[nullable Object]>*/;
734 BREAK_label
: (void)0;
735 var207
= ((short int (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_s
) /* is_empty on <var_s:Array[String]>*/;
742 var212
= string__NativeString__to_s_with_length(var210
, var211
);
751 var217
= string__NativeString__to_s_with_length(var215
, var216
);
760 var222
= string__NativeString__to_s_with_length(var220
, var221
);
764 var223
= NEW_array__Array(&type_array__Arraykernel__Object
);
765 { /* var223 = array_instance Array[Object] */
767 var225
= NEW_array__NativeArray(var224
, &type_array__NativeArraykernel__Object
);
768 ((struct instance_array__NativeArray
*)var225
)->values
[0] = (val
*) var_res
;
769 ((struct instance_array__NativeArray
*)var225
)->values
[1] = (val
*) var209
;
770 ((struct instance_array__NativeArray
*)var225
)->values
[2] = (val
*) var_value1
;
771 ((struct instance_array__NativeArray
*)var225
)->values
[3] = (val
*) var214
;
772 ((struct instance_array__NativeArray
*)var225
)->values
[4] = (val
*) var_value2
;
773 ((struct instance_array__NativeArray
*)var225
)->values
[5] = (val
*) var219
;
774 ((void (*)(val
*, val
*, long))(var223
->class->vft
[COLOR_array__Array__with_native
]))(var223
, var225
, var224
) /* with_native on <var223:Array[Object]>*/;
775 CHECK_NEW_array__Array(var223
);
777 var226
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_string__Object__to_s
]))(var223
) /* to_s on <var223:Array[Object]>*/;
778 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var226
) /* add on <self:GlobalCompilerVisitor>*/;
785 var231
= string__NativeString__to_s_with_length(var229
, var230
);
794 var236
= string__NativeString__to_s_with_length(var234
, var235
);
803 var241
= string__NativeString__to_s_with_length(var239
, var240
);
810 var244
= " != NULL && ";
812 var246
= string__NativeString__to_s_with_length(var244
, var245
);
819 var249
= " != NULL && ";
821 var251
= string__NativeString__to_s_with_length(var249
, var250
);
828 var254
= "->classid == ";
830 var256
= string__NativeString__to_s_with_length(var254
, var255
);
837 var259
= "->classid && (";
839 var261
= string__NativeString__to_s_with_length(var259
, var260
);
848 var266
= string__NativeString__to_s_with_length(var264
, var265
);
852 var267
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var263
) /* join on <var_s:Array[String]>*/;
858 var272
= string__NativeString__to_s_with_length(var270
, var271
);
862 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
863 { /* var273 = array_instance Array[Object] */
865 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
866 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var_res
;
867 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var228
;
868 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var_value1
;
869 ((struct instance_array__NativeArray
*)var275
)->values
[3] = (val
*) var233
;
870 ((struct instance_array__NativeArray
*)var275
)->values
[4] = (val
*) var_value2
;
871 ((struct instance_array__NativeArray
*)var275
)->values
[5] = (val
*) var238
;
872 ((struct instance_array__NativeArray
*)var275
)->values
[6] = (val
*) var_value1
;
873 ((struct instance_array__NativeArray
*)var275
)->values
[7] = (val
*) var243
;
874 ((struct instance_array__NativeArray
*)var275
)->values
[8] = (val
*) var_value2
;
875 ((struct instance_array__NativeArray
*)var275
)->values
[9] = (val
*) var248
;
876 ((struct instance_array__NativeArray
*)var275
)->values
[10] = (val
*) var_value1
;
877 ((struct instance_array__NativeArray
*)var275
)->values
[11] = (val
*) var253
;
878 ((struct instance_array__NativeArray
*)var275
)->values
[12] = (val
*) var_value2
;
879 ((struct instance_array__NativeArray
*)var275
)->values
[13] = (val
*) var258
;
880 ((struct instance_array__NativeArray
*)var275
)->values
[14] = (val
*) var267
;
881 ((struct instance_array__NativeArray
*)var275
)->values
[15] = (val
*) var269
;
882 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
883 CHECK_NEW_array__Array(var273
);
885 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
886 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var276
) /* add on <self:GlobalCompilerVisitor>*/;
894 /* method global_compiler#GlobalCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
895 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
896 val
* var
/* : RuntimeVariable */;
897 val
* var1
/* : RuntimeVariable */;
898 var1
= global_compiler__GlobalCompilerVisitor__equal_test(self
, p0
, p1
);
903 /* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: GlobalCompilerVisitor, RuntimeVariable, MClassType) */
904 void global_compiler__GlobalCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
905 val
* var_recv
/* var recv: RuntimeVariable */;
906 val
* var_mtype
/* var mtype: MClassType */;
907 val
* var
/* : AbstractCompiler */;
908 val
* var1
/* : ModelBuilder */;
909 val
* var2
/* : ToolContext */;
910 val
* var3
/* : OptionBool */;
911 val
* var4
/* : nullable Object */;
912 short int var5
/* : Bool */;
913 val
* var6
/* : MType */;
914 short int var7
/* : Bool */;
917 const char* var_class_name
;
918 val
* var8
/* : AbstractCompiler */;
919 val
* var9
/* : RapidTypeAnalysis */;
920 val
* var10
/* : HashSet[MClassType] */;
921 short int var11
/* : Bool */;
922 short int var12
/* : Bool */;
924 val
* var13
/* : String */;
925 char* var14
/* : NativeString */;
926 long var15
/* : Int */;
927 val
* var16
/* : String */;
928 static val
* varonce17
;
929 val
* var18
/* : String */;
930 char* var19
/* : NativeString */;
931 long var20
/* : Int */;
932 val
* var21
/* : String */;
933 val
* var22
/* : Array[Object] */;
934 long var23
/* : Int */;
935 val
* var24
/* : NativeArray[Object] */;
936 val
* var25
/* : String */;
937 static val
* varonce26
;
938 val
* var27
/* : String */;
939 char* var28
/* : NativeString */;
940 long var29
/* : Int */;
941 val
* var30
/* : String */;
942 val
* var31
/* : String */;
943 static val
* varonce32
;
944 val
* var33
/* : String */;
945 char* var34
/* : NativeString */;
946 long var35
/* : Int */;
947 val
* var36
/* : String */;
948 static val
* varonce37
;
949 val
* var38
/* : String */;
950 char* var39
/* : NativeString */;
951 long var40
/* : Int */;
952 val
* var41
/* : String */;
953 val
* var42
/* : Array[Object] */;
954 long var43
/* : Int */;
955 val
* var44
/* : NativeArray[Object] */;
956 val
* var45
/* : String */;
959 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
960 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler(GlobalCompiler)>*/;
961 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
962 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var2
) /* opt_no_check_initialization on <var2:ToolContext>*/;
963 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
964 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
969 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:GlobalCompilerVisitor>*/;
970 /* <var6:MType> isa MClassType */
971 cltype
= type_model__MClassType
.color
;
972 idtype
= type_model__MClassType
.id
;
973 if(cltype
>= var6
->type
->table_size
) {
976 var7
= var6
->type
->type_table
[cltype
] == idtype
;
979 var_class_name
= var6
== NULL ?
"null" : var6
->type
->name
;
980 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
981 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 833);
985 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:GlobalCompilerVisitor>*/;
986 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis
]))(var8
) /* runtime_type_analysis on <var8:AbstractCompiler(GlobalCompiler)>*/;
987 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var9
) /* live_types on <var9:RapidTypeAnalysis>*/;
988 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var10
, var_mtype
) /* has on <var10:HashSet[MClassType]>*/;
996 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1003 var19
= " was detected dead";
1005 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1009 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1010 { /* var22 = array_instance Array[Object] */
1012 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1013 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
1014 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_mtype
;
1015 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
1016 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1017 CHECK_NEW_array__Array(var22
);
1019 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1020 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__debug
]))(self
, var25
) /* debug on <self:GlobalCompilerVisitor>*/;
1026 var28
= "CHECK_NEW_";
1028 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1032 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
1038 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1047 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1051 var42
= NEW_array__Array(&type_array__Arraykernel__Object
);
1052 { /* var42 = array_instance Array[Object] */
1054 var44
= NEW_array__NativeArray(var43
, &type_array__NativeArraykernel__Object
);
1055 ((struct instance_array__NativeArray
*)var44
)->values
[0] = (val
*) var27
;
1056 ((struct instance_array__NativeArray
*)var44
)->values
[1] = (val
*) var31
;
1057 ((struct instance_array__NativeArray
*)var44
)->values
[2] = (val
*) var33
;
1058 ((struct instance_array__NativeArray
*)var44
)->values
[3] = (val
*) var_recv
;
1059 ((struct instance_array__NativeArray
*)var44
)->values
[4] = (val
*) var38
;
1060 ((void (*)(val
*, val
*, long))(var42
->class->vft
[COLOR_array__Array__with_native
]))(var42
, var44
, var43
) /* with_native on <var42:Array[Object]>*/;
1061 CHECK_NEW_array__Array(var42
);
1063 var45
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_string__Object__to_s
]))(var42
) /* to_s on <var42:Array[Object]>*/;
1064 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var45
) /* add on <self:GlobalCompilerVisitor>*/;
1067 /* method global_compiler#GlobalCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
1068 void VIRTUAL_global_compiler__GlobalCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
1069 global_compiler__GlobalCompilerVisitor__check_init_instance(self
, p0
, p1
);
1072 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: GlobalCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
1073 val
* global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1074 val
* var
/* : RuntimeVariable */;
1075 val
* var_array
/* var array: Array[RuntimeVariable] */;
1076 val
* var_elttype
/* var elttype: MType */;
1077 val
* var1
/* : MType */;
1078 static val
* varonce
;
1079 val
* var2
/* : String */;
1080 char* var3
/* : NativeString */;
1081 long var4
/* : Int */;
1082 val
* var5
/* : String */;
1083 val
* var6
/* : MClass */;
1084 val
* var7
/* : Array[MType] */;
1085 long var8
/* : Int */;
1086 val
* var9
/* : NativeArray[MType] */;
1087 val
* var10
/* : MClassType */;
1088 val
* var_arraytype
/* var arraytype: MClassType */;
1089 val
* var11
/* : RuntimeVariable */;
1090 val
* var_res
/* var res: RuntimeVariable */;
1091 static val
* varonce12
;
1092 val
* var13
/* : String */;
1093 char* var14
/* : NativeString */;
1094 long var15
/* : Int */;
1095 val
* var16
/* : String */;
1096 static val
* varonce17
;
1097 val
* var18
/* : String */;
1098 char* var19
/* : NativeString */;
1099 long var20
/* : Int */;
1100 val
* var21
/* : String */;
1101 static val
* varonce22
;
1102 val
* var23
/* : String */;
1103 char* var24
/* : NativeString */;
1104 long var25
/* : Int */;
1105 val
* var26
/* : String */;
1106 val
* var27
/* : Array[Object] */;
1107 long var28
/* : Int */;
1108 val
* var29
/* : NativeArray[Object] */;
1109 val
* var30
/* : String */;
1110 static val
* varonce31
;
1111 val
* var32
/* : String */;
1112 char* var33
/* : NativeString */;
1113 long var34
/* : Int */;
1114 val
* var35
/* : String */;
1115 val
* var36
/* : MClass */;
1116 val
* var37
/* : Array[MType] */;
1117 long var38
/* : Int */;
1118 val
* var39
/* : NativeArray[MType] */;
1119 val
* var40
/* : MClassType */;
1120 val
* var41
/* : RuntimeVariable */;
1121 val
* var_nat
/* var nat: RuntimeVariable */;
1122 short int var42
/* : Bool */;
1123 static val
* varonce43
;
1124 val
* var44
/* : String */;
1125 char* var45
/* : NativeString */;
1126 long var46
/* : Int */;
1127 val
* var47
/* : String */;
1128 val
* var48
/* : MType */;
1129 val
* var49
/* : String */;
1130 static val
* varonce50
;
1131 val
* var51
/* : String */;
1132 char* var52
/* : NativeString */;
1133 long var53
/* : Int */;
1134 val
* var54
/* : String */;
1135 long var55
/* : Int */;
1136 static val
* varonce56
;
1137 val
* var57
/* : String */;
1138 char* var58
/* : NativeString */;
1139 long var59
/* : Int */;
1140 val
* var60
/* : String */;
1141 val
* var61
/* : Array[Object] */;
1142 long var62
/* : Int */;
1143 val
* var63
/* : NativeArray[Object] */;
1144 val
* var64
/* : Object */;
1145 val
* var65
/* : String */;
1146 val
* var66
/* : Range[Int] */;
1147 long var67
/* : Int */;
1148 long var68
/* : Int */;
1149 val
* var69
/* : Discrete */;
1150 val
* var70
/* : Discrete */;
1151 val
* var71
/* : Iterator[nullable Object] */;
1152 short int var72
/* : Bool */;
1153 val
* var73
/* : nullable Object */;
1154 long var_i
/* var i: Int */;
1155 long var74
/* : Int */;
1156 val
* var75
/* : nullable Object */;
1157 val
* var76
/* : RuntimeVariable */;
1158 val
* var_r
/* var r: RuntimeVariable */;
1159 static val
* varonce77
;
1160 val
* var78
/* : String */;
1161 char* var79
/* : NativeString */;
1162 long var80
/* : Int */;
1163 val
* var81
/* : String */;
1164 val
* var82
/* : MType */;
1165 val
* var83
/* : String */;
1166 static val
* varonce84
;
1167 val
* var85
/* : String */;
1168 char* var86
/* : NativeString */;
1169 long var87
/* : Int */;
1170 val
* var88
/* : String */;
1171 static val
* varonce89
;
1172 val
* var90
/* : String */;
1173 char* var91
/* : NativeString */;
1174 long var92
/* : Int */;
1175 val
* var93
/* : String */;
1176 static val
* varonce94
;
1177 val
* var95
/* : String */;
1178 char* var96
/* : NativeString */;
1179 long var97
/* : Int */;
1180 val
* var98
/* : String */;
1181 static val
* varonce99
;
1182 val
* var100
/* : String */;
1183 char* var101
/* : NativeString */;
1184 long var102
/* : Int */;
1185 val
* var103
/* : String */;
1186 val
* var104
/* : Array[Object] */;
1187 long var105
/* : Int */;
1188 val
* var106
/* : NativeArray[Object] */;
1189 val
* var107
/* : Object */;
1190 val
* var108
/* : String */;
1191 long var109
/* : Int */;
1192 val
* var110
/* : RuntimeVariable */;
1193 val
* var_length
/* var length: RuntimeVariable */;
1194 static val
* varonce111
;
1195 val
* var112
/* : String */;
1196 char* var113
/* : NativeString */;
1197 long var114
/* : Int */;
1198 val
* var115
/* : String */;
1199 val
* var116
/* : MMethod */;
1200 val
* var117
/* : Array[RuntimeVariable] */;
1201 long var118
/* : Int */;
1202 val
* var119
/* : NativeArray[RuntimeVariable] */;
1203 val
* var120
/* : nullable RuntimeVariable */;
1204 static val
* varonce121
;
1205 val
* var122
/* : String */;
1206 char* var123
/* : NativeString */;
1207 long var124
/* : Int */;
1208 val
* var125
/* : String */;
1211 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_elttype
) /* anchor on <self:GlobalCompilerVisitor>*/;
1218 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1222 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var2
) /* get_class on <self:GlobalCompilerVisitor>*/;
1223 var7
= NEW_array__Array(&type_array__Arraymodel__MType
);
1224 { /* var7 = array_instance Array[MType] */
1226 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraymodel__MType
);
1227 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var_elttype
;
1228 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[MType]>*/;
1229 CHECK_NEW_array__Array(var7
);
1231 var10
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_model__MClass__get_mtype
]))(var6
, var7
) /* get_mtype on <var6:MClass>*/;
1232 var_arraytype
= var10
;
1233 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:GlobalCompilerVisitor>*/;
1240 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1247 var19
= " = array_instance Array[";
1249 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1258 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1262 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
1263 { /* var27 = array_instance Array[Object] */
1265 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
1266 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var13
;
1267 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_res
;
1268 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var18
;
1269 ((struct instance_array__NativeArray
*)var29
)->values
[3] = (val
*) var_elttype
;
1270 ((struct instance_array__NativeArray
*)var29
)->values
[4] = (val
*) var23
;
1271 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
1272 CHECK_NEW_array__Array(var27
);
1274 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
1275 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var30
) /* add on <self:GlobalCompilerVisitor>*/;
1279 var33
= "NativeArray";
1281 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1285 var36
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var32
) /* get_class on <self:GlobalCompilerVisitor>*/;
1286 var37
= NEW_array__Array(&type_array__Arraymodel__MType
);
1287 { /* var37 = array_instance Array[MType] */
1289 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraymodel__MType
);
1290 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var_elttype
;
1291 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[MType]>*/;
1292 CHECK_NEW_array__Array(var37
);
1294 var40
= ((val
* (*)(val
*, val
*))(var36
->class->vft
[COLOR_model__MClass__get_mtype
]))(var36
, var37
) /* get_mtype on <var36:MClass>*/;
1295 var41
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var40
) /* new_var on <self:GlobalCompilerVisitor>*/;
1298 ((void (*)(val
*, short int))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_nat
, var42
) /* is_exact= on <var_nat:RuntimeVariable>*/;
1304 var47
= string__NativeString__to_s_with_length(var45
, var46
);
1308 var48
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1309 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var48
) /* c_name on <var48:MType>*/;
1315 var54
= string__NativeString__to_s_with_length(var52
, var53
);
1319 var55
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1325 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1329 var61
= NEW_array__Array(&type_array__Arraykernel__Object
);
1330 { /* var61 = array_instance Array[Object] */
1332 var63
= NEW_array__NativeArray(var62
, &type_array__NativeArraykernel__Object
);
1333 ((struct instance_array__NativeArray
*)var63
)->values
[0] = (val
*) var_nat
;
1334 ((struct instance_array__NativeArray
*)var63
)->values
[1] = (val
*) var44
;
1335 ((struct instance_array__NativeArray
*)var63
)->values
[2] = (val
*) var49
;
1336 ((struct instance_array__NativeArray
*)var63
)->values
[3] = (val
*) var51
;
1337 var64
= BOX_kernel__Int(var55
); /* autobox from Int to Object */
1338 ((struct instance_array__NativeArray
*)var63
)->values
[4] = (val
*) var64
;
1339 ((struct instance_array__NativeArray
*)var63
)->values
[5] = (val
*) var57
;
1340 ((void (*)(val
*, val
*, long))(var61
->class->vft
[COLOR_array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1341 CHECK_NEW_array__Array(var61
);
1343 var65
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1344 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var65
) /* add on <self:GlobalCompilerVisitor>*/;
1345 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
1347 var68
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1348 var69
= BOX_kernel__Int(var67
); /* autobox from Int to Discrete */
1349 var70
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
1350 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var69
, var70
) /* without_last on <var66:Range[Int]>*/;
1351 CHECK_NEW_range__Range(var66
);
1352 var71
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
1354 var72
= ((short int (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var71
) /* is_ok on <var71:Iterator[nullable Object]>*/;
1356 var73
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var71
) /* item on <var71:Iterator[nullable Object]>*/;
1357 var74
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
1359 var75
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
1360 var76
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var75
, var_elttype
) /* autobox on <self:GlobalCompilerVisitor>*/;
1365 var79
= "((struct ";
1367 var81
= string__NativeString__to_s_with_length(var79
, var80
);
1371 var82
= ((val
* (*)(val
*))(var_nat
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_nat
) /* mtype on <var_nat:RuntimeVariable>*/;
1372 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var82
) /* c_name on <var82:MType>*/;
1378 var88
= string__NativeString__to_s_with_length(var86
, var87
);
1385 var91
= ")->values[";
1387 var93
= string__NativeString__to_s_with_length(var91
, var92
);
1396 var98
= string__NativeString__to_s_with_length(var96
, var97
);
1405 var103
= string__NativeString__to_s_with_length(var101
, var102
);
1409 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
1410 { /* var104 = array_instance Array[Object] */
1412 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
1413 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var78
;
1414 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var83
;
1415 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var85
;
1416 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var_nat
;
1417 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var90
;
1418 var107
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
1419 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var107
;
1420 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var95
;
1421 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var_r
;
1422 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var100
;
1423 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
1424 CHECK_NEW_array__Array(var104
);
1426 var108
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
1427 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var108
) /* add on <self:GlobalCompilerVisitor>*/;
1428 CONTINUE_label
: (void)0;
1429 ((void (*)(val
*))(var71
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var71
) /* next on <var71:Iterator[nullable Object]>*/;
1431 BREAK_label
: (void)0;
1432 var109
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
1433 var110
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var109
) /* int_instance on <self:GlobalCompilerVisitor>*/;
1434 var_length
= var110
;
1436 var112
= varonce111
;
1438 var113
= "with_native";
1440 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1442 varonce111
= var112
;
1444 var116
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var112
, var_arraytype
) /* get_property on <self:GlobalCompilerVisitor>*/;
1445 var117
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1446 { /* var117 = array_instance Array[RuntimeVariable] */
1448 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
1449 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_res
;
1450 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var_nat
;
1451 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var_length
;
1452 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[RuntimeVariable]>*/;
1453 CHECK_NEW_array__Array(var117
);
1455 var120
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var116
, var117
) /* send on <self:GlobalCompilerVisitor>*/;
1457 ((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>*/;
1459 var122
= varonce121
;
1463 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1465 varonce121
= var122
;
1467 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var122
) /* add on <self:GlobalCompilerVisitor>*/;
1473 /* method global_compiler#GlobalCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
1474 val
* VIRTUAL_global_compiler__GlobalCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
1475 val
* var
/* : RuntimeVariable */;
1476 val
* var1
/* : RuntimeVariable */;
1477 var1
= global_compiler__GlobalCompilerVisitor__array_instance(self
, p0
, p1
);
1482 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: CustomizedRuntimeFunction): MClassType */
1483 val
* global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1484 val
* var
/* : MClassType */;
1485 val
* var1
/* : MClassType */;
1486 var1
= self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
; /* @recv on <self:CustomizedRuntimeFunction> */
1488 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @recv");
1489 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 869);
1496 /* method global_compiler#CustomizedRuntimeFunction#recv for (self: Object): MClassType */
1497 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv(val
* self
) {
1498 val
* var
/* : MClassType */;
1499 val
* var1
/* : MClassType */;
1500 var1
= global_compiler__CustomizedRuntimeFunction__recv(self
);
1505 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: CustomizedRuntimeFunction, MClassType) */
1506 void global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1507 self
->attrs
[COLOR_global_compiler__CustomizedRuntimeFunction___64drecv
].val
= p0
; /* @recv on <self:CustomizedRuntimeFunction> */
1510 /* method global_compiler#CustomizedRuntimeFunction#recv= for (self: Object, MClassType) */
1511 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__recv_61d(val
* self
, val
* p0
) {
1512 global_compiler__CustomizedRuntimeFunction__recv_61d(self
, p0
);
1515 /* method global_compiler#CustomizedRuntimeFunction#init for (self: CustomizedRuntimeFunction, MMethodDef, MClassType) */
1516 void global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1517 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1518 val
* var_recv
/* var recv: MClassType */;
1519 var_mmethoddef
= p0
;
1521 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(self
, var_mmethoddef
) /* init on <self:CustomizedRuntimeFunction>*/;
1522 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv_61d
]))(self
, var_recv
) /* recv= on <self:CustomizedRuntimeFunction>*/;
1525 /* method global_compiler#CustomizedRuntimeFunction#init for (self: Object, MMethodDef, MClassType) */
1526 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__init(val
* self
, val
* p0
, val
* p1
) {
1527 global_compiler__CustomizedRuntimeFunction__init(self
, p0
, p1
);
1530 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: CustomizedRuntimeFunction): String */
1531 val
* global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1532 val
* var
/* : String */;
1533 val
* var1
/* : nullable String */;
1534 val
* var_res
/* var res: nullable String */;
1535 val
* var2
/* : null */;
1536 short int var3
/* : Bool */;
1537 val
* var4
/* : MMethodDef */;
1538 val
* var5
/* : MClassDef */;
1539 val
* var6
/* : MClassType */;
1540 val
* var7
/* : MClassType */;
1541 short int var8
/* : Bool */;
1542 val
* var9
/* : MMethodDef */;
1543 val
* var10
/* : String */;
1544 val
* var11
/* : Array[Object] */;
1545 long var12
/* : Int */;
1546 val
* var_
/* var : Array[Object] */;
1547 static val
* varonce
;
1548 val
* var13
/* : String */;
1549 char* var14
/* : NativeString */;
1550 long var15
/* : Int */;
1551 val
* var16
/* : String */;
1552 val
* var17
/* : MMethodDef */;
1553 val
* var18
/* : String */;
1554 static val
* varonce19
;
1555 val
* var20
/* : String */;
1556 char* var21
/* : NativeString */;
1557 long var22
/* : Int */;
1558 val
* var23
/* : String */;
1559 val
* var24
/* : MClassType */;
1560 val
* var25
/* : String */;
1561 static val
* varonce26
;
1562 val
* var27
/* : String */;
1563 char* var28
/* : NativeString */;
1564 long var29
/* : Int */;
1565 val
* var30
/* : String */;
1566 val
* var31
/* : String */;
1567 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache
]))(self
) /* c_name_cache on <self:CustomizedRuntimeFunction>*/;
1570 if (var_res
== NULL
) {
1571 var3
= 0; /* is null */
1573 var3
= 1; /* arg is null and recv is not */
1580 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1581 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var4
) /* mclassdef on <var4:MMethodDef>*/;
1582 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
1583 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1584 var8
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var6
, var7
) /* == on <var6:MClassType>*/;
1586 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1587 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var9
) /* c_name on <var9:MMethodDef>*/;
1590 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
1592 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[Object]>*/;
1593 CHECK_NEW_array__Array(var11
);
1600 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1604 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
1605 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1606 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var17
) /* c_name on <var17:MMethodDef>*/;
1607 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var18
) /* add on <var_:Array[Object]>*/;
1613 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1617 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1618 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1619 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var24
) /* c_name on <var24:MClassType>*/;
1620 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var25
) /* add on <var_:Array[Object]>*/;
1626 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1630 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var27
) /* add on <var_:Array[Object]>*/;
1631 var31
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1634 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name_cache_61d
]))(self
, var_res
) /* c_name_cache= on <self:CustomizedRuntimeFunction>*/;
1640 /* method global_compiler#CustomizedRuntimeFunction#build_c_name for (self: Object): String */
1641 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__build_c_name(val
* self
) {
1642 val
* var
/* : String */;
1643 val
* var1
/* : String */;
1644 var1
= global_compiler__CustomizedRuntimeFunction__build_c_name(self
);
1649 /* method global_compiler#CustomizedRuntimeFunction#== for (self: CustomizedRuntimeFunction, nullable Object): Bool */
1650 short int global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1651 short int var
/* : Bool */;
1652 val
* var_o
/* var o: nullable Object */;
1653 short int var1
/* : Bool */;
1656 short int var2
/* : Bool */;
1657 short int var3
/* : Bool */;
1658 val
* var4
/* : MMethodDef */;
1659 val
* var5
/* : MMethodDef */;
1660 short int var6
/* : Bool */;
1661 short int var7
/* : Bool */;
1662 val
* var8
/* : MClassType */;
1663 val
* var9
/* : MClassType */;
1664 short int var10
/* : Bool */;
1665 short int var11
/* : Bool */;
1666 short int var12
/* : Bool */;
1668 /* <var_o:nullable Object> isa CustomizedRuntimeFunction */
1669 cltype
= type_global_compiler__CustomizedRuntimeFunction
.color
;
1670 idtype
= type_global_compiler__CustomizedRuntimeFunction
.id
;
1674 if(cltype
>= var_o
->type
->table_size
) {
1677 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
1687 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1688 var5
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(var_o
) /* mmethoddef on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1689 var6
= ((short int (*)(val
*, val
*))(var4
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var4
, var5
) /* != on <var4:MMethodDef>*/;
1696 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1697 var9
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(var_o
) /* recv on <var_o:nullable Object(CustomizedRuntimeFunction)>*/;
1698 var10
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var8
, var9
) /* != on <var8:MClassType>*/;
1711 /* method global_compiler#CustomizedRuntimeFunction#== for (self: Object, nullable Object): Bool */
1712 short int VIRTUAL_global_compiler__CustomizedRuntimeFunction___61d_61d(val
* self
, val
* p0
) {
1713 short int var
/* : Bool */;
1714 short int var1
/* : Bool */;
1715 var1
= global_compiler__CustomizedRuntimeFunction___61d_61d(self
, p0
);
1720 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: CustomizedRuntimeFunction): Int */
1721 long global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1722 long var
/* : Int */;
1723 val
* var1
/* : MMethodDef */;
1724 long var2
/* : Int */;
1725 val
* var3
/* : MClassType */;
1726 long var4
/* : Int */;
1727 long var5
/* : Int */;
1728 long var7
/* : Int */;
1729 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1730 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__hash
]))(var1
) /* hash on <var1:MMethodDef>*/;
1731 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1732 var4
= ((long (*)(val
*))(var3
->class->vft
[COLOR_kernel__Object__hash
]))(var3
) /* hash on <var3:MClassType>*/;
1733 { /* Inline kernel#Int#+ (var2,var4) */
1744 /* method global_compiler#CustomizedRuntimeFunction#hash for (self: Object): Int */
1745 long VIRTUAL_global_compiler__CustomizedRuntimeFunction__hash(val
* self
) {
1746 long var
/* : Int */;
1747 long var1
/* : Int */;
1748 var1
= global_compiler__CustomizedRuntimeFunction__hash(self
);
1753 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: CustomizedRuntimeFunction): String */
1754 val
* global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1755 val
* var
/* : String */;
1756 val
* var1
/* : MMethodDef */;
1757 val
* var2
/* : MClassDef */;
1758 val
* var3
/* : MClassType */;
1759 val
* var4
/* : MClassType */;
1760 short int var5
/* : Bool */;
1761 val
* var6
/* : MMethodDef */;
1762 val
* var7
/* : String */;
1763 val
* var8
/* : Array[Object] */;
1764 long var9
/* : Int */;
1765 val
* var_
/* var : Array[Object] */;
1766 static val
* varonce
;
1767 val
* var10
/* : String */;
1768 char* var11
/* : NativeString */;
1769 long var12
/* : Int */;
1770 val
* var13
/* : String */;
1771 val
* var14
/* : MMethodDef */;
1772 static val
* varonce15
;
1773 val
* var16
/* : String */;
1774 char* var17
/* : NativeString */;
1775 long var18
/* : Int */;
1776 val
* var19
/* : String */;
1777 val
* var20
/* : MClassType */;
1778 static val
* varonce21
;
1779 val
* var22
/* : String */;
1780 char* var23
/* : NativeString */;
1781 long var24
/* : Int */;
1782 val
* var25
/* : String */;
1783 val
* var26
/* : String */;
1784 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1785 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var1
) /* mclassdef on <var1:MMethodDef>*/;
1786 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var2
) /* bound_mtype on <var2:MClassDef>*/;
1787 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1788 var5
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var4
) /* == on <var3:MClassType>*/;
1790 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1791 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_string__Object__to_s
]))(var6
) /* to_s on <var6:MMethodDef>*/;
1795 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
1797 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
1798 CHECK_NEW_array__Array(var8
);
1805 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1809 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1810 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
1811 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
1817 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1821 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
1822 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
1823 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
1829 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1833 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1834 var26
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1841 /* method global_compiler#CustomizedRuntimeFunction#to_s for (self: Object): String */
1842 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__to_s(val
* self
) {
1843 val
* var
/* : String */;
1844 val
* var1
/* : String */;
1845 var1
= global_compiler__CustomizedRuntimeFunction__to_s(self
);
1850 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: CustomizedRuntimeFunction, GlobalCompiler) */
1851 void global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
1852 short int var
/* : Bool */;
1855 const struct type
* type_struct
;
1856 const char* var_class_name
;
1857 val
* var_compiler
/* var compiler: GlobalCompiler */;
1858 val
* var1
/* : MClassType */;
1859 val
* var_recv
/* var recv: MClassType */;
1860 val
* var2
/* : MMethodDef */;
1861 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1862 val
* var3
/* : MModule */;
1863 val
* var4
/* : null */;
1864 val
* var5
/* : MClassDef */;
1865 val
* var6
/* : MClassType */;
1866 short int var7
/* : Bool */;
1867 short int var8
/* : Bool */;
1868 static val
* varonce
;
1869 val
* var9
/* : String */;
1870 char* var10
/* : NativeString */;
1871 long var11
/* : Int */;
1872 val
* var12
/* : String */;
1873 static val
* varonce13
;
1874 val
* var14
/* : String */;
1875 char* var15
/* : NativeString */;
1876 long var16
/* : Int */;
1877 val
* var17
/* : String */;
1878 static val
* varonce18
;
1879 val
* var19
/* : String */;
1880 char* var20
/* : NativeString */;
1881 long var21
/* : Int */;
1882 val
* var22
/* : String */;
1883 val
* var23
/* : Array[Object] */;
1884 long var24
/* : Int */;
1885 val
* var25
/* : NativeArray[Object] */;
1886 val
* var26
/* : String */;
1887 val
* var27
/* : AbstractCompilerVisitor */;
1888 val
* var_v
/* var v: GlobalCompilerVisitor */;
1889 val
* var28
/* : RuntimeVariable */;
1890 static val
* varonce29
;
1891 val
* var30
/* : String */;
1892 char* var31
/* : NativeString */;
1893 long var32
/* : Int */;
1894 val
* var33
/* : String */;
1895 val
* var_selfvar
/* var selfvar: RuntimeVariable */;
1896 val
* var34
/* : RapidTypeAnalysis */;
1897 val
* var35
/* : HashSet[MClassType] */;
1898 short int var36
/* : Bool */;
1899 short int var37
/* : Bool */;
1900 val
* var38
/* : Array[RuntimeVariable] */;
1901 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1902 val
* var39
/* : Frame */;
1903 val
* var_frame
/* var frame: Frame */;
1904 val
* var40
/* : Buffer */;
1905 val
* var_sig
/* var sig: Buffer */;
1906 val
* var41
/* : Buffer */;
1907 val
* var_comment
/* var comment: Buffer */;
1908 val
* var42
/* : nullable MSignature */;
1909 val
* var43
/* : nullable MType */;
1910 val
* var_ret
/* var ret: nullable MType */;
1911 val
* var44
/* : null */;
1912 short int var45
/* : Bool */;
1913 val
* var46
/* : MType */;
1914 val
* var47
/* : String */;
1915 static val
* varonce48
;
1916 val
* var49
/* : String */;
1917 char* var50
/* : NativeString */;
1918 long var51
/* : Int */;
1919 val
* var52
/* : String */;
1920 val
* var53
/* : Array[Object] */;
1921 long var54
/* : Int */;
1922 val
* var55
/* : NativeArray[Object] */;
1923 val
* var56
/* : String */;
1924 val
* var57
/* : MProperty */;
1925 short int var58
/* : Bool */;
1926 val
* var59
/* : String */;
1927 static val
* varonce60
;
1928 val
* var61
/* : String */;
1929 char* var62
/* : NativeString */;
1930 long var63
/* : Int */;
1931 val
* var64
/* : String */;
1932 val
* var65
/* : Array[Object] */;
1933 long var66
/* : Int */;
1934 val
* var67
/* : NativeArray[Object] */;
1935 val
* var68
/* : String */;
1936 static val
* varonce69
;
1937 val
* var70
/* : String */;
1938 char* var71
/* : NativeString */;
1939 long var72
/* : Int */;
1940 val
* var73
/* : String */;
1941 val
* var74
/* : String */;
1942 static val
* varonce75
;
1943 val
* var76
/* : String */;
1944 char* var77
/* : NativeString */;
1945 long var78
/* : Int */;
1946 val
* var79
/* : String */;
1947 val
* var80
/* : String */;
1948 static val
* varonce81
;
1949 val
* var82
/* : String */;
1950 char* var83
/* : NativeString */;
1951 long var84
/* : Int */;
1952 val
* var85
/* : String */;
1953 val
* var86
/* : Array[Object] */;
1954 long var87
/* : Int */;
1955 val
* var88
/* : NativeArray[Object] */;
1956 val
* var89
/* : String */;
1957 static val
* varonce90
;
1958 val
* var91
/* : String */;
1959 char* var92
/* : NativeString */;
1960 long var93
/* : Int */;
1961 val
* var94
/* : String */;
1962 val
* var95
/* : Array[Object] */;
1963 long var96
/* : Int */;
1964 val
* var97
/* : NativeArray[Object] */;
1965 val
* var98
/* : String */;
1966 val
* var99
/* : Range[Int] */;
1967 long var100
/* : Int */;
1968 val
* var101
/* : nullable MSignature */;
1969 long var102
/* : Int */;
1970 val
* var103
/* : Discrete */;
1971 val
* var104
/* : Discrete */;
1972 val
* var105
/* : Iterator[nullable Object] */;
1973 short int var106
/* : Bool */;
1974 val
* var107
/* : nullable Object */;
1975 long var_i
/* var i: Int */;
1976 long var108
/* : Int */;
1977 val
* var109
/* : nullable MSignature */;
1978 val
* var110
/* : Array[MParameter] */;
1979 val
* var111
/* : nullable Object */;
1980 val
* var112
/* : MType */;
1981 val
* var_mtype
/* var mtype: MType */;
1982 val
* var113
/* : nullable MSignature */;
1983 long var114
/* : Int */;
1984 short int var115
/* : Bool */;
1985 short int var117
/* : Bool */;
1986 static val
* varonce118
;
1987 val
* var119
/* : String */;
1988 char* var120
/* : NativeString */;
1989 long var121
/* : Int */;
1990 val
* var122
/* : String */;
1991 val
* var123
/* : MClass */;
1992 val
* var124
/* : Array[MType] */;
1993 long var125
/* : Int */;
1994 val
* var126
/* : NativeArray[MType] */;
1995 val
* var127
/* : MClassType */;
1996 val
* var128
/* : MType */;
1997 static val
* varonce129
;
1998 val
* var130
/* : String */;
1999 char* var131
/* : NativeString */;
2000 long var132
/* : Int */;
2001 val
* var133
/* : String */;
2002 val
* var134
/* : Array[Object] */;
2003 long var135
/* : Int */;
2004 val
* var136
/* : NativeArray[Object] */;
2005 val
* var137
/* : String */;
2006 static val
* varonce138
;
2007 val
* var139
/* : String */;
2008 char* var140
/* : NativeString */;
2009 long var141
/* : Int */;
2010 val
* var142
/* : String */;
2011 val
* var143
/* : String */;
2012 static val
* varonce144
;
2013 val
* var145
/* : String */;
2014 char* var146
/* : NativeString */;
2015 long var147
/* : Int */;
2016 val
* var148
/* : String */;
2017 val
* var149
/* : Array[Object] */;
2018 long var150
/* : Int */;
2019 val
* var151
/* : NativeArray[Object] */;
2020 val
* var152
/* : Object */;
2021 val
* var153
/* : String */;
2022 val
* var154
/* : RuntimeVariable */;
2023 val
* var155
/* : Array[Object] */;
2024 long var156
/* : Int */;
2025 val
* var_
/* var : Array[Object] */;
2026 static val
* varonce157
;
2027 val
* var158
/* : String */;
2028 char* var159
/* : NativeString */;
2029 long var160
/* : Int */;
2030 val
* var161
/* : String */;
2031 val
* var162
/* : nullable Object */;
2032 static val
* varonce163
;
2033 val
* var164
/* : String */;
2034 char* var165
/* : NativeString */;
2035 long var166
/* : Int */;
2036 val
* var167
/* : String */;
2037 val
* var168
/* : String */;
2038 val
* var_argvar
/* var argvar: RuntimeVariable */;
2039 static val
* varonce169
;
2040 val
* var170
/* : String */;
2041 char* var171
/* : NativeString */;
2042 long var172
/* : Int */;
2043 val
* var173
/* : String */;
2044 static val
* varonce174
;
2045 val
* var175
/* : String */;
2046 char* var176
/* : NativeString */;
2047 long var177
/* : Int */;
2048 val
* var178
/* : String */;
2049 val
* var179
/* : null */;
2050 short int var180
/* : Bool */;
2051 static val
* varonce181
;
2052 val
* var182
/* : String */;
2053 char* var183
/* : NativeString */;
2054 long var184
/* : Int */;
2055 val
* var185
/* : String */;
2056 val
* var186
/* : Array[Object] */;
2057 long var187
/* : Int */;
2058 val
* var188
/* : NativeArray[Object] */;
2059 val
* var189
/* : String */;
2060 val
* var190
/* : CodeWriter */;
2061 static val
* varonce191
;
2062 val
* var192
/* : String */;
2063 char* var193
/* : NativeString */;
2064 long var194
/* : Int */;
2065 val
* var195
/* : String */;
2066 val
* var196
/* : Array[Object] */;
2067 long var197
/* : Int */;
2068 val
* var198
/* : NativeArray[Object] */;
2069 val
* var199
/* : String */;
2070 static val
* varonce200
;
2071 val
* var201
/* : String */;
2072 char* var202
/* : NativeString */;
2073 long var203
/* : Int */;
2074 val
* var204
/* : String */;
2075 static val
* varonce205
;
2076 val
* var206
/* : String */;
2077 char* var207
/* : NativeString */;
2078 long var208
/* : Int */;
2079 val
* var209
/* : String */;
2080 static val
* varonce210
;
2081 val
* var211
/* : String */;
2082 char* var212
/* : NativeString */;
2083 long var213
/* : Int */;
2084 val
* var214
/* : String */;
2085 val
* var215
/* : Array[Object] */;
2086 long var216
/* : Int */;
2087 val
* var217
/* : NativeArray[Object] */;
2088 val
* var218
/* : String */;
2089 static val
* varonce219
;
2090 val
* var220
/* : String */;
2091 char* var221
/* : NativeString */;
2092 long var222
/* : Int */;
2093 val
* var223
/* : String */;
2094 val
* var224
/* : Array[Object] */;
2095 long var225
/* : Int */;
2096 val
* var226
/* : NativeArray[Object] */;
2097 val
* var227
/* : String */;
2098 val
* var228
/* : null */;
2099 short int var229
/* : Bool */;
2100 val
* var230
/* : RuntimeVariable */;
2101 static val
* varonce231
;
2102 val
* var232
/* : String */;
2103 char* var233
/* : NativeString */;
2104 long var234
/* : Int */;
2105 val
* var235
/* : String */;
2106 val
* var236
/* : String */;
2107 val
* var237
/* : nullable RuntimeVariable */;
2108 val
* var238
/* : nullable String */;
2109 static val
* varonce239
;
2110 val
* var240
/* : String */;
2111 char* var241
/* : NativeString */;
2112 long var242
/* : Int */;
2113 val
* var243
/* : String */;
2114 val
* var244
/* : Array[Object] */;
2115 long var245
/* : Int */;
2116 val
* var246
/* : NativeArray[Object] */;
2117 val
* var247
/* : String */;
2118 val
* var248
/* : null */;
2119 short int var249
/* : Bool */;
2120 static val
* varonce250
;
2121 val
* var251
/* : String */;
2122 char* var252
/* : NativeString */;
2123 long var253
/* : Int */;
2124 val
* var254
/* : String */;
2125 val
* var255
/* : nullable RuntimeVariable */;
2126 static val
* varonce256
;
2127 val
* var257
/* : String */;
2128 char* var258
/* : NativeString */;
2129 long var259
/* : Int */;
2130 val
* var260
/* : String */;
2131 val
* var261
/* : Array[Object] */;
2132 long var262
/* : Int */;
2133 val
* var263
/* : NativeArray[Object] */;
2134 val
* var264
/* : String */;
2135 static val
* varonce265
;
2136 val
* var266
/* : String */;
2137 char* var267
/* : NativeString */;
2138 long var268
/* : Int */;
2139 val
* var269
/* : String */;
2140 /* Covariant cast for argument 0 (compiler) <p0:GlobalCompiler> isa COMPILER */
2141 /* <p0:GlobalCompiler> isa COMPILER */
2142 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTCOMPILER
];
2143 cltype
= type_struct
->color
;
2144 idtype
= type_struct
->id
;
2145 if(cltype
>= p0
->type
->table_size
) {
2148 var
= p0
->type
->type_table
[cltype
] == idtype
;
2151 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2152 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
2153 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 913);
2157 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2159 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2160 var_mmethoddef
= var2
;
2161 var3
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:GlobalCompiler>*/;
2163 var5
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
2164 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var5
) /* bound_mtype on <var5:MClassDef>*/;
2165 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>*/;
2171 var10
= "problem: why do we compile ";
2173 var12
= string__NativeString__to_s_with_length(var10
, var11
);
2182 var17
= string__NativeString__to_s_with_length(var15
, var16
);
2191 var22
= string__NativeString__to_s_with_length(var20
, var21
);
2195 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
2196 { /* var23 = array_instance Array[Object] */
2198 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
2199 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var9
;
2200 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) self
;
2201 ((struct instance_array__NativeArray
*)var25
)->values
[2] = (val
*) var14
;
2202 ((struct instance_array__NativeArray
*)var25
)->values
[3] = (val
*) var_recv
;
2203 ((struct instance_array__NativeArray
*)var25
)->values
[4] = (val
*) var19
;
2204 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
2205 CHECK_NEW_array__Array(var23
);
2207 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
2208 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var26
) /* print on <self:CustomizedRuntimeFunction>*/;
2209 fprintf(stderr
, "Runtime error: %s", "Aborted");
2210 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 920);
2214 var27
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
) /* new_visitor on <var_compiler:GlobalCompiler>*/;
2216 var28
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2222 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2226 ((void (*)(val
*, val
*, val
*, val
*))(var28
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var28
, var30
, var_recv
, var_recv
) /* init on <var28:RuntimeVariable>*/;
2227 CHECK_NEW_abstract_compiler__RuntimeVariable(var28
);
2228 var_selfvar
= var28
;
2229 var34
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_global_compiler__GlobalCompiler__runtime_type_analysis
]))(var_compiler
) /* runtime_type_analysis on <var_compiler:GlobalCompiler>*/;
2230 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_rapid_type_analysis__RapidTypeAnalysis__live_types
]))(var34
) /* live_types on <var34:RapidTypeAnalysis>*/;
2231 var36
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var35
, var_recv
) /* has on <var35:HashSet[MClassType]>*/;
2234 ((void (*)(val
*, short int))(var_selfvar
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__is_exact_61d
]))(var_selfvar
, var37
) /* is_exact= on <var_selfvar:RuntimeVariable>*/;
2237 var38
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2238 ((void (*)(val
*))(var38
->class->vft
[COLOR_array__Array__init
]))(var38
) /* init on <var38:Array[RuntimeVariable]>*/;
2239 CHECK_NEW_array__Array(var38
);
2240 var_arguments
= var38
;
2241 var39
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2242 ((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>*/;
2243 CHECK_NEW_abstract_compiler__Frame(var39
);
2245 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
2246 var40
= NEW_string__Buffer(&type_string__Buffer
);
2247 ((void (*)(val
*))(var40
->class->vft
[COLOR_string__Buffer__init
]))(var40
) /* init on <var40:Buffer>*/;
2248 CHECK_NEW_string__Buffer(var40
);
2250 var41
= NEW_string__Buffer(&type_string__Buffer
);
2251 ((void (*)(val
*))(var41
->class->vft
[COLOR_string__Buffer__init
]))(var41
) /* init on <var41:Buffer>*/;
2252 CHECK_NEW_string__Buffer(var41
);
2253 var_comment
= var41
;
2254 var42
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2255 if (var42
== NULL
) {
2256 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2257 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 934);
2260 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var42
) /* return_mtype on <var42:nullable MSignature>*/;
2264 if (var_ret
== NULL
) {
2265 var45
= 0; /* is null */
2267 var45
= 1; /* arg is null and recv is not */
2270 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>*/;
2272 var47
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
2278 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2282 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
2283 { /* var53 = array_instance Array[Object] */
2285 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
2286 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var47
;
2287 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var49
;
2288 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
2289 CHECK_NEW_array__Array(var53
);
2291 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
2292 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var56
) /* append on <var_sig:Buffer>*/;
2294 var57
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
2295 var58
= ((short int (*)(val
*))(var57
->class->vft
[COLOR_model__MMethod__is_new
]))(var57
) /* is_new on <var57:MProperty(MMethod)>*/;
2298 var59
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MClassType)>*/;
2304 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2308 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
2309 { /* var65 = array_instance Array[Object] */
2311 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
2312 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var59
;
2313 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var61
;
2314 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
2315 CHECK_NEW_array__Array(var65
);
2317 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
2318 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var68
) /* append on <var_sig:Buffer>*/;
2325 var73
= string__NativeString__to_s_with_length(var71
, var72
);
2329 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var70
) /* append on <var_sig:Buffer>*/;
2332 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
2333 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var74
) /* append on <var_sig:Buffer>*/;
2339 var79
= string__NativeString__to_s_with_length(var77
, var78
);
2343 var80
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_recv
) /* ctype on <var_recv:MClassType>*/;
2349 var85
= string__NativeString__to_s_with_length(var83
, var84
);
2353 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
2354 { /* var86 = array_instance Array[Object] */
2356 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
2357 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var76
;
2358 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var80
;
2359 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var82
;
2360 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var_selfvar
;
2361 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
2362 CHECK_NEW_array__Array(var86
);
2364 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
2365 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var89
) /* append on <var_sig:Buffer>*/;
2371 var94
= string__NativeString__to_s_with_length(var92
, var93
);
2375 var95
= NEW_array__Array(&type_array__Arraykernel__Object
);
2376 { /* var95 = array_instance Array[Object] */
2378 var97
= NEW_array__NativeArray(var96
, &type_array__NativeArraykernel__Object
);
2379 ((struct instance_array__NativeArray
*)var97
)->values
[0] = (val
*) var91
;
2380 ((struct instance_array__NativeArray
*)var97
)->values
[1] = (val
*) var_recv
;
2381 ((void (*)(val
*, val
*, long))(var95
->class->vft
[COLOR_array__Array__with_native
]))(var95
, var97
, var96
) /* with_native on <var95:Array[Object]>*/;
2382 CHECK_NEW_array__Array(var95
);
2384 var98
= ((val
* (*)(val
*))(var95
->class->vft
[COLOR_string__Object__to_s
]))(var95
) /* to_s on <var95:Array[Object]>*/;
2385 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var98
) /* append on <var_comment:Buffer>*/;
2386 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_selfvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2387 var99
= NEW_range__Range(&type_range__Rangekernel__Int
);
2389 var101
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2390 if (var101
== NULL
) {
2391 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2392 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 948);
2395 var102
= ((long (*)(val
*))(var101
->class->vft
[COLOR_model__MSignature__arity
]))(var101
) /* arity on <var101:nullable MSignature>*/;
2397 var103
= BOX_kernel__Int(var100
); /* autobox from Int to Discrete */
2398 var104
= BOX_kernel__Int(var102
); /* autobox from Int to Discrete */
2399 ((void (*)(val
*, val
*, val
*))(var99
->class->vft
[COLOR_range__Range__without_last
]))(var99
, var103
, var104
) /* without_last on <var99:Range[Int]>*/;
2400 CHECK_NEW_range__Range(var99
);
2401 var105
= ((val
* (*)(val
*))(var99
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var99
) /* iterator on <var99:Range[Int]>*/;
2403 var106
= ((short int (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var105
) /* is_ok on <var105:Iterator[nullable Object]>*/;
2405 var107
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var105
) /* item on <var105:Iterator[nullable Object]>*/;
2406 var108
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
2408 var109
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2409 if (var109
== NULL
) {
2410 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2411 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 949);
2414 var110
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_model__MSignature__mparameters
]))(var109
) /* mparameters on <var109:nullable MSignature>*/;
2416 var111
= ((val
* (*)(val
*, long))(var110
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var110
, var_i
) /* [] on <var110:Array[MParameter]>*/;
2417 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_model__MParameter__mtype
]))(var111
) /* mtype on <var111:nullable Object(MParameter)>*/;
2419 var113
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
2420 if (var113
== NULL
) {
2421 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2422 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 950);
2425 var114
= ((long (*)(val
*))(var113
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var113
) /* vararg_rank on <var113:nullable MSignature>*/;
2427 { /* Inline kernel#Int#== (var_i,var114) */
2428 var117
= var_i
== var114
;
2431 RET_LABEL116
:(void)0;
2435 var119
= varonce118
;
2439 var122
= string__NativeString__to_s_with_length(var120
, var121
);
2441 varonce118
= var119
;
2443 var123
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(var_v
, var119
) /* get_class on <var_v:GlobalCompilerVisitor>*/;
2444 var124
= NEW_array__Array(&type_array__Arraymodel__MType
);
2445 { /* var124 = array_instance Array[MType] */
2447 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraymodel__MType
);
2448 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_mtype
;
2449 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[MType]>*/;
2450 CHECK_NEW_array__Array(var124
);
2452 var127
= ((val
* (*)(val
*, val
*))(var123
->class->vft
[COLOR_model__MClass__get_mtype
]))(var123
, var124
) /* get_mtype on <var123:MClass>*/;
2456 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>*/;
2459 var130
= varonce129
;
2463 var133
= string__NativeString__to_s_with_length(var131
, var132
);
2465 varonce129
= var130
;
2467 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
2468 { /* var134 = array_instance Array[Object] */
2470 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
2471 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var130
;
2472 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var_mtype
;
2473 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
2474 CHECK_NEW_array__Array(var134
);
2476 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
2477 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var137
) /* append on <var_comment:Buffer>*/;
2479 var139
= varonce138
;
2483 var142
= string__NativeString__to_s_with_length(var140
, var141
);
2485 varonce138
= var139
;
2487 var143
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2489 var145
= varonce144
;
2493 var148
= string__NativeString__to_s_with_length(var146
, var147
);
2495 varonce144
= var145
;
2497 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
2498 { /* var149 = array_instance Array[Object] */
2500 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
2501 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var139
;
2502 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var143
;
2503 ((struct instance_array__NativeArray
*)var151
)->values
[2] = (val
*) var145
;
2504 var152
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
2505 ((struct instance_array__NativeArray
*)var151
)->values
[3] = (val
*) var152
;
2506 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
2507 CHECK_NEW_array__Array(var149
);
2509 var153
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
2510 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var153
) /* append on <var_sig:Buffer>*/;
2511 var154
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
2512 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
2514 ((void (*)(val
*, long))(var155
->class->vft
[COLOR_array__Array__with_capacity
]))(var155
, var156
) /* with_capacity on <var155:Array[Object]>*/;
2515 CHECK_NEW_array__Array(var155
);
2518 var158
= varonce157
;
2522 var161
= string__NativeString__to_s_with_length(var159
, var160
);
2524 varonce157
= var158
;
2526 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var158
) /* add on <var_:Array[Object]>*/;
2527 var162
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2528 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var162
) /* add on <var_:Array[Object]>*/;
2530 var164
= varonce163
;
2534 var167
= string__NativeString__to_s_with_length(var165
, var166
);
2536 varonce163
= var164
;
2538 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var164
) /* add on <var_:Array[Object]>*/;
2539 var168
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2540 ((void (*)(val
*, val
*, val
*, val
*))(var154
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var154
, var168
, var_mtype
, var_mtype
) /* init on <var154:RuntimeVariable>*/;
2541 CHECK_NEW_abstract_compiler__RuntimeVariable(var154
);
2542 var_argvar
= var154
;
2543 ((void (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_arguments
, var_argvar
) /* add on <var_arguments:Array[RuntimeVariable]>*/;
2544 CONTINUE_label
: (void)0;
2545 ((void (*)(val
*))(var105
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var105
) /* next on <var105:Iterator[nullable Object]>*/;
2547 BREAK_label
: (void)0;
2549 var170
= varonce169
;
2553 var173
= string__NativeString__to_s_with_length(var171
, var172
);
2555 varonce169
= var170
;
2557 ((void (*)(val
*, val
*))(var_sig
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_sig
, var170
) /* append on <var_sig:Buffer>*/;
2559 var175
= varonce174
;
2563 var178
= string__NativeString__to_s_with_length(var176
, var177
);
2565 varonce174
= var175
;
2567 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var175
) /* append on <var_comment:Buffer>*/;
2569 if (var_ret
== NULL
) {
2570 var180
= 0; /* is null */
2572 var180
= 1; /* arg is null and recv is not */
2576 var182
= varonce181
;
2580 var185
= string__NativeString__to_s_with_length(var183
, var184
);
2582 varonce181
= var182
;
2584 var186
= NEW_array__Array(&type_array__Arraykernel__Object
);
2585 { /* var186 = array_instance Array[Object] */
2587 var188
= NEW_array__NativeArray(var187
, &type_array__NativeArraykernel__Object
);
2588 ((struct instance_array__NativeArray
*)var188
)->values
[0] = (val
*) var182
;
2589 ((struct instance_array__NativeArray
*)var188
)->values
[1] = (val
*) var_ret
;
2590 ((void (*)(val
*, val
*, long))(var186
->class->vft
[COLOR_array__Array__with_native
]))(var186
, var188
, var187
) /* with_native on <var186:Array[Object]>*/;
2591 CHECK_NEW_array__Array(var186
);
2593 var189
= ((val
* (*)(val
*))(var186
->class->vft
[COLOR_string__Object__to_s
]))(var186
) /* to_s on <var186:Array[Object]>*/;
2594 ((void (*)(val
*, val
*))(var_comment
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_comment
, var189
) /* append on <var_comment:Buffer>*/;
2597 var190
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:GlobalCompiler>*/;
2599 var192
= varonce191
;
2603 var195
= string__NativeString__to_s_with_length(var193
, var194
);
2605 varonce191
= var192
;
2607 var196
= NEW_array__Array(&type_array__Arraykernel__Object
);
2608 { /* var196 = array_instance Array[Object] */
2610 var198
= NEW_array__NativeArray(var197
, &type_array__NativeArraykernel__Object
);
2611 ((struct instance_array__NativeArray
*)var198
)->values
[0] = (val
*) var_sig
;
2612 ((struct instance_array__NativeArray
*)var198
)->values
[1] = (val
*) var192
;
2613 ((void (*)(val
*, val
*, long))(var196
->class->vft
[COLOR_array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
2614 CHECK_NEW_array__Array(var196
);
2616 var199
= ((val
* (*)(val
*))(var196
->class->vft
[COLOR_string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
2617 ((void (*)(val
*, val
*))(var190
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var190
, var199
) /* add_decl on <var190:CodeWriter>*/;
2619 var201
= varonce200
;
2621 var202
= "/* method ";
2623 var204
= string__NativeString__to_s_with_length(var202
, var203
);
2625 varonce200
= var201
;
2628 var206
= varonce205
;
2632 var209
= string__NativeString__to_s_with_length(var207
, var208
);
2634 varonce205
= var206
;
2637 var211
= varonce210
;
2641 var214
= string__NativeString__to_s_with_length(var212
, var213
);
2643 varonce210
= var211
;
2645 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
2646 { /* var215 = array_instance Array[Object] */
2648 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
2649 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var201
;
2650 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) self
;
2651 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var206
;
2652 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var_comment
;
2653 ((struct instance_array__NativeArray
*)var217
)->values
[4] = (val
*) var211
;
2654 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
2655 CHECK_NEW_array__Array(var215
);
2657 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
2658 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var218
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2660 var220
= varonce219
;
2664 var223
= string__NativeString__to_s_with_length(var221
, var222
);
2666 varonce219
= var220
;
2668 var224
= NEW_array__Array(&type_array__Arraykernel__Object
);
2669 { /* var224 = array_instance Array[Object] */
2671 var226
= NEW_array__NativeArray(var225
, &type_array__NativeArraykernel__Object
);
2672 ((struct instance_array__NativeArray
*)var226
)->values
[0] = (val
*) var_sig
;
2673 ((struct instance_array__NativeArray
*)var226
)->values
[1] = (val
*) var220
;
2674 ((void (*)(val
*, val
*, long))(var224
->class->vft
[COLOR_array__Array__with_native
]))(var224
, var226
, var225
) /* with_native on <var224:Array[Object]>*/;
2675 CHECK_NEW_array__Array(var224
);
2677 var227
= ((val
* (*)(val
*))(var224
->class->vft
[COLOR_string__Object__to_s
]))(var224
) /* to_s on <var224:Array[Object]>*/;
2678 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var227
) /* add_decl on <var_v:GlobalCompilerVisitor>*/;
2680 if (var_ret
== NULL
) {
2681 var229
= 0; /* is null */
2683 var229
= 1; /* arg is null and recv is not */
2686 var230
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
2687 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var230
) /* returnvar= on <var_frame:Frame>*/;
2691 var232
= varonce231
;
2693 var233
= "RET_LABEL";
2695 var235
= string__NativeString__to_s_with_length(var233
, var234
);
2697 varonce231
= var232
;
2699 var236
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var232
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2700 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var236
) /* returnlabel= on <var_frame:Frame>*/;
2701 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>*/;
2703 var238
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
2704 if (var238
== NULL
) {
2705 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2706 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 976);
2710 var240
= varonce239
;
2714 var243
= string__NativeString__to_s_with_length(var241
, var242
);
2716 varonce239
= var240
;
2718 var244
= NEW_array__Array(&type_array__Arraykernel__Object
);
2719 { /* var244 = array_instance Array[Object] */
2721 var246
= NEW_array__NativeArray(var245
, &type_array__NativeArraykernel__Object
);
2722 ((struct instance_array__NativeArray
*)var246
)->values
[0] = (val
*) var238
;
2723 ((struct instance_array__NativeArray
*)var246
)->values
[1] = (val
*) var240
;
2724 ((void (*)(val
*, val
*, long))(var244
->class->vft
[COLOR_array__Array__with_native
]))(var244
, var246
, var245
) /* with_native on <var244:Array[Object]>*/;
2725 CHECK_NEW_array__Array(var244
);
2727 var247
= ((val
* (*)(val
*))(var244
->class->vft
[COLOR_string__Object__to_s
]))(var244
) /* to_s on <var244:Array[Object]>*/;
2728 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var247
) /* add on <var_v:GlobalCompilerVisitor>*/;
2730 if (var_ret
== NULL
) {
2731 var249
= 0; /* is null */
2733 var249
= 1; /* arg is null and recv is not */
2737 var251
= varonce250
;
2741 var254
= string__NativeString__to_s_with_length(var252
, var253
);
2743 varonce250
= var251
;
2745 var255
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
2746 if (var255
== NULL
) {
2747 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2748 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 978);
2752 var257
= varonce256
;
2756 var260
= string__NativeString__to_s_with_length(var258
, var259
);
2758 varonce256
= var257
;
2760 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
2761 { /* var261 = array_instance Array[Object] */
2763 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
2764 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var251
;
2765 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var255
;
2766 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var257
;
2767 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
2768 CHECK_NEW_array__Array(var261
);
2770 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
2771 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var264
) /* add on <var_v:GlobalCompilerVisitor>*/;
2775 var266
= varonce265
;
2779 var269
= string__NativeString__to_s_with_length(var267
, var268
);
2781 varonce265
= var266
;
2783 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var266
) /* add on <var_v:GlobalCompilerVisitor>*/;
2786 /* method global_compiler#CustomizedRuntimeFunction#compile_to_c for (self: Object, AbstractCompiler) */
2787 void VIRTUAL_global_compiler__CustomizedRuntimeFunction__compile_to_c(val
* self
, val
* p0
) {
2788 global_compiler__CustomizedRuntimeFunction__compile_to_c(self
, p0
);
2791 /* method global_compiler#CustomizedRuntimeFunction#call for (self: CustomizedRuntimeFunction, GlobalCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
2792 val
* global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
2793 val
* var
/* : nullable RuntimeVariable */;
2794 short int var1
/* : Bool */;
2797 const struct type
* type_struct
;
2798 const char* var_class_name
;
2799 val
* var_v
/* var v: GlobalCompilerVisitor */;
2800 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2801 val
* var2
/* : MMethodDef */;
2802 val
* var3
/* : nullable MSignature */;
2803 val
* var4
/* : nullable MType */;
2804 val
* var_ret
/* var ret: nullable MType */;
2805 val
* var5
/* : MMethodDef */;
2806 val
* var6
/* : MProperty */;
2807 short int var7
/* : Bool */;
2808 val
* var8
/* : MClassType */;
2809 val
* var9
/* : null */;
2810 short int var10
/* : Bool */;
2811 val
* var11
/* : nullable Object */;
2812 val
* var12
/* : MType */;
2813 val
* var13
/* : MMethodDef */;
2814 short int var14
/* : Bool */;
2815 val
* var15
/* : Frame */;
2816 val
* var16
/* : MMethodDef */;
2817 val
* var17
/* : MClassType */;
2818 val
* var_frame
/* var frame: Frame */;
2819 static val
* varonce
;
2820 val
* var18
/* : String */;
2821 char* var19
/* : NativeString */;
2822 long var20
/* : Int */;
2823 val
* var21
/* : String */;
2824 val
* var22
/* : String */;
2825 val
* var23
/* : null */;
2826 short int var24
/* : Bool */;
2827 val
* var25
/* : RuntimeVariable */;
2828 val
* var26
/* : nullable Frame */;
2829 val
* var_old_frame
/* var old_frame: nullable Frame */;
2830 static val
* varonce27
;
2831 val
* var28
/* : String */;
2832 char* var29
/* : NativeString */;
2833 long var30
/* : Int */;
2834 val
* var31
/* : String */;
2835 static val
* varonce32
;
2836 val
* var33
/* : String */;
2837 char* var34
/* : NativeString */;
2838 long var35
/* : Int */;
2839 val
* var36
/* : String */;
2840 static val
* varonce37
;
2841 val
* var38
/* : String */;
2842 char* var39
/* : NativeString */;
2843 long var40
/* : Int */;
2844 val
* var41
/* : String */;
2845 val
* var42
/* : String */;
2846 static val
* varonce43
;
2847 val
* var44
/* : String */;
2848 char* var45
/* : NativeString */;
2849 long var46
/* : Int */;
2850 val
* var47
/* : String */;
2851 val
* var48
/* : Array[Object] */;
2852 long var49
/* : Int */;
2853 val
* var50
/* : NativeArray[Object] */;
2854 val
* var51
/* : String */;
2855 val
* var52
/* : MMethodDef */;
2856 val
* var53
/* : nullable RuntimeVariable */;
2857 val
* var54
/* : nullable String */;
2858 static val
* varonce55
;
2859 val
* var56
/* : String */;
2860 char* var57
/* : NativeString */;
2861 long var58
/* : Int */;
2862 val
* var59
/* : String */;
2863 val
* var60
/* : Array[Object] */;
2864 long var61
/* : Int */;
2865 val
* var62
/* : NativeArray[Object] */;
2866 val
* var63
/* : String */;
2867 static val
* varonce64
;
2868 val
* var65
/* : String */;
2869 char* var66
/* : NativeString */;
2870 long var67
/* : Int */;
2871 val
* var68
/* : String */;
2872 val
* var69
/* : nullable RuntimeVariable */;
2873 val
* var70
/* : MMethodDef */;
2874 val
* var71
/* : AbstractCompiler */;
2875 val
* var72
/* : null */;
2876 short int var73
/* : Bool */;
2877 val
* var74
/* : String */;
2878 static val
* varonce75
;
2879 val
* var76
/* : String */;
2880 char* var77
/* : NativeString */;
2881 long var78
/* : Int */;
2882 val
* var79
/* : String */;
2883 static val
* varonce80
;
2884 val
* var81
/* : String */;
2885 char* var82
/* : NativeString */;
2886 long var83
/* : Int */;
2887 val
* var84
/* : String */;
2888 val
* var85
/* : String */;
2889 static val
* varonce86
;
2890 val
* var87
/* : String */;
2891 char* var88
/* : NativeString */;
2892 long var89
/* : Int */;
2893 val
* var90
/* : String */;
2894 val
* var91
/* : Array[Object] */;
2895 long var92
/* : Int */;
2896 val
* var93
/* : NativeArray[Object] */;
2897 val
* var94
/* : String */;
2898 val
* var95
/* : null */;
2899 val
* var96
/* : RuntimeVariable */;
2900 val
* var_res
/* var res: RuntimeVariable */;
2901 static val
* varonce97
;
2902 val
* var98
/* : String */;
2903 char* var99
/* : NativeString */;
2904 long var100
/* : Int */;
2905 val
* var101
/* : String */;
2906 val
* var102
/* : String */;
2907 static val
* varonce103
;
2908 val
* var104
/* : String */;
2909 char* var105
/* : NativeString */;
2910 long var106
/* : Int */;
2911 val
* var107
/* : String */;
2912 static val
* varonce108
;
2913 val
* var109
/* : String */;
2914 char* var110
/* : NativeString */;
2915 long var111
/* : Int */;
2916 val
* var112
/* : String */;
2917 val
* var113
/* : String */;
2918 static val
* varonce114
;
2919 val
* var115
/* : String */;
2920 char* var116
/* : NativeString */;
2921 long var117
/* : Int */;
2922 val
* var118
/* : String */;
2923 val
* var119
/* : Array[Object] */;
2924 long var120
/* : Int */;
2925 val
* var121
/* : NativeArray[Object] */;
2926 val
* var122
/* : String */;
2927 /* Covariant cast for argument 0 (v) <p0:GlobalCompilerVisitor> isa VISITOR */
2928 /* <p0:GlobalCompilerVisitor> isa VISITOR */
2929 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractRuntimeFunction_VTVISITOR
];
2930 cltype
= type_struct
->color
;
2931 idtype
= type_struct
->id
;
2932 if(cltype
>= p0
->type
->table_size
) {
2935 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2938 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2939 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
2940 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 983);
2945 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2946 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MMethodDef>*/;
2948 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
2949 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 985);
2952 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var3
) /* return_mtype on <var3:nullable MSignature>*/;
2955 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2956 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var5
) /* mproperty on <var5:MMethodDef>*/;
2957 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_model__MMethod__is_new
]))(var6
) /* is_new on <var6:MProperty(MMethod)>*/;
2959 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2964 if (var_ret
== NULL
) {
2965 var10
= 0; /* is null */
2967 var10
= 1; /* arg is null and recv is not */
2970 var11
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
2971 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>*/;
2975 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2976 var14
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_compiler__MMethodDef__can_inline
]))(var13
, var_v
) /* can_inline on <var13:MMethodDef>*/;
2978 var15
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
2979 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
2980 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_global_compiler__CustomizedRuntimeFunction__recv
]))(self
) /* recv on <self:CustomizedRuntimeFunction>*/;
2981 ((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>*/;
2982 CHECK_NEW_abstract_compiler__Frame(var15
);
2987 var19
= "RET_LABEL";
2989 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2993 var22
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(var_v
, var18
) /* get_name on <var_v:GlobalCompilerVisitor>*/;
2994 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var22
) /* returnlabel= on <var_frame:Frame>*/;
2996 if (var_ret
== NULL
) {
2997 var24
= 0; /* is null */
2999 var24
= 1; /* arg is null and recv is not */
3002 var25
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
3003 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var25
) /* returnvar= on <var_frame:Frame>*/;
3006 var26
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(var_v
) /* frame on <var_v:GlobalCompilerVisitor>*/;
3007 var_old_frame
= var26
;
3008 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
3012 var29
= "{ /* Inline ";
3014 var31
= string__NativeString__to_s_with_length(var29
, var30
);
3023 var36
= string__NativeString__to_s_with_length(var34
, var35
);
3032 var41
= string__NativeString__to_s_with_length(var39
, var40
);
3036 var42
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var38
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3042 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3046 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
3047 { /* var48 = array_instance Array[Object] */
3049 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
3050 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var28
;
3051 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) self
;
3052 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var33
;
3053 ((struct instance_array__NativeArray
*)var50
)->values
[3] = (val
*) var42
;
3054 ((struct instance_array__NativeArray
*)var50
)->values
[4] = (val
*) var44
;
3055 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
3056 CHECK_NEW_array__Array(var48
);
3058 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
3059 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var51
) /* add on <var_v:GlobalCompilerVisitor>*/;
3060 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3061 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>*/;
3063 var54
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
3064 if (var54
== NULL
) {
3065 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3066 fprintf(stderr
, " (%s:%d)\n", "src/global_compiler.nit", 1002);
3072 var57
= ":(void)0;";
3074 var59
= string__NativeString__to_s_with_length(var57
, var58
);
3078 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
3079 { /* var60 = array_instance Array[Object] */
3081 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
3082 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var54
;
3083 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var56
;
3084 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
3085 CHECK_NEW_array__Array(var60
);
3087 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
3088 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var63
) /* add on <var_v:GlobalCompilerVisitor>*/;
3094 var68
= string__NativeString__to_s_with_length(var66
, var67
);
3098 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var65
) /* add on <var_v:GlobalCompilerVisitor>*/;
3099 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(var_v
, var_old_frame
) /* frame= on <var_v:GlobalCompilerVisitor>*/;
3100 var69
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var_frame
) /* returnvar on <var_frame:Frame>*/;
3105 var70
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:CustomizedRuntimeFunction>*/;
3106 ((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>*/;
3107 var71
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:GlobalCompilerVisitor>*/;
3108 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_global_compiler__GlobalCompiler__todo
]))(var71
, self
) /* todo on <var71:AbstractCompiler(GlobalCompiler)>*/;
3110 if (var_ret
== NULL
) {
3111 var73
= 1; /* is null */
3113 var73
= 0; /* arg is null but recv is not */
3116 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3122 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3131 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3135 var85
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var81
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3141 var90
= string__NativeString__to_s_with_length(var88
, var89
);
3145 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
3146 { /* var91 = array_instance Array[Object] */
3148 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
3149 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var74
;
3150 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var76
;
3151 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var85
;
3152 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var87
;
3153 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
3154 CHECK_NEW_array__Array(var91
);
3156 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
3157 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var94
) /* add on <var_v:GlobalCompilerVisitor>*/;
3162 var96
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(var_v
, var_ret
) /* new_var on <var_v:GlobalCompilerVisitor>*/;
3169 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3173 var102
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__c_name
]))(self
) /* c_name on <self:CustomizedRuntimeFunction>*/;
3175 var104
= varonce103
;
3179 var107
= string__NativeString__to_s_with_length(var105
, var106
);
3181 varonce103
= var104
;
3184 var109
= varonce108
;
3188 var112
= string__NativeString__to_s_with_length(var110
, var111
);
3190 varonce108
= var109
;
3192 var113
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var109
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
3194 var115
= varonce114
;
3198 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3200 varonce114
= var115
;
3202 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
3203 { /* var119 = array_instance Array[Object] */
3205 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
3206 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var_res
;
3207 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var98
;
3208 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var102
;
3209 ((struct instance_array__NativeArray
*)var121
)->values
[3] = (val
*) var104
;
3210 ((struct instance_array__NativeArray
*)var121
)->values
[4] = (val
*) var113
;
3211 ((struct instance_array__NativeArray
*)var121
)->values
[5] = (val
*) var115
;
3212 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
3213 CHECK_NEW_array__Array(var119
);
3215 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
3216 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var122
) /* add on <var_v:GlobalCompilerVisitor>*/;
3223 /* method global_compiler#CustomizedRuntimeFunction#call for (self: Object, AbstractCompilerVisitor, Array[RuntimeVariable]): nullable RuntimeVariable */
3224 val
* VIRTUAL_global_compiler__CustomizedRuntimeFunction__call(val
* self
, val
* p0
, val
* p1
) {
3225 val
* var
/* : nullable RuntimeVariable */;
3226 val
* var1
/* : nullable RuntimeVariable */;
3227 var1
= global_compiler__CustomizedRuntimeFunction__call(self
, p0
, p1
);