1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
3 val
* separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
4 val
* var
/* : nullable RuntimeVariable */;
5 val
* var_mmethod
/* var mmethod: MMethod */;
6 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7 val
* var1
/* : MPropDef */;
8 val
* var2
/* : MPropDef */;
9 val
* var3
/* : nullable MSignature */;
10 val
* var4
/* : nullable Object */;
11 val
* var5
/* : MType */;
12 val
* var6
/* : String */;
14 val
* var7
/* : String */;
15 char* var8
/* : NativeString */;
16 long var9
/* : Int */;
17 val
* var10
/* : String */;
18 short int var11
/* : Bool */;
19 val
* var12
/* : AbstractCompiler */;
20 val
* var13
/* : MModule */;
21 val
* var_m
/* var m: MModule */;
22 val
* var14
/* : AbstractCompiler */;
23 val
* var15
/* : AbstractCompiler */;
24 val
* var16
/* : MModule */;
25 val
* var17
/* : nullable Object */;
26 val
* var18
/* : MType */;
27 val
* var19
/* : nullable RuntimeVariable */;
28 val
* var_res
/* var res: nullable RuntimeVariable */;
29 val
* var20
/* : AbstractCompiler */;
30 val
* var21
/* : String */;
31 val
* var22
/* : nullable RuntimeVariable */;
34 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
35 var2
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
36 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var2
) /* msignature on <var2:MPropDef(MMethodDef)>*/;
38 fprintf(stderr
, "Runtime error: %s", "Cast failed");
39 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 962);
42 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__varargize
]))(self
, var1
, var3
, var_arguments
) /* varargize on <self:SeparateCompilerVisitor>*/;
43 var4
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
44 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var4
) /* mcasttype on <var4:nullable Object(RuntimeVariable)>*/;
45 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var5
) /* ctype on <var5:MType>*/;
51 var10
= string__NativeString__to_s_with_length(var8
, var9
);
55 var11
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var6
, var7
) /* != on <var6:String>*/;
57 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
58 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var12
) /* mainmodule on <var12:AbstractCompiler(SeparateCompiler)>*/;
60 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
61 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
62 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule
]))(var15
) /* realmainmodule on <var15:AbstractCompiler(SeparateCompiler)>*/;
63 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var14
, var16
) /* mainmodule= on <var14:AbstractCompiler(SeparateCompiler)>*/;
64 var17
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
65 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var17
) /* mcasttype on <var17:nullable Object(RuntimeVariable)>*/;
66 var19
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__monomorphic_send
]))(self
, var_mmethod
, var18
, var_arguments
) /* monomorphic_send on <self:SeparateCompilerVisitor>*/;
68 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
69 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var20
, var_m
) /* mainmodule= on <var20:AbstractCompiler(SeparateCompiler)>*/;
74 var21
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_mmethod
) /* const_color on <var_mmethod:MMethod>*/;
75 var22
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var_mmethod
, var_arguments
, var21
) /* table_send on <self:SeparateCompilerVisitor>*/;
81 /* method separate_compiler#SeparateCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
82 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
83 val
* var
/* : nullable RuntimeVariable */;
84 val
* var1
/* : nullable RuntimeVariable */;
85 var1
= separate_compiler__SeparateCompilerVisitor__send(self
, p0
, p1
);
90 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: SeparateCompilerVisitor, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
91 val
* separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
92 val
* var
/* : nullable RuntimeVariable */;
93 val
* var_mmethod
/* var mmethod: MMethod */;
94 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
95 val
* var_const_color
/* var const_color: String */;
96 val
* var1
/* : MPropDef */;
97 val
* var2
/* : nullable MSignature */;
98 val
* var3
/* : MPropDef */;
99 val
* var4
/* : MClassDef */;
100 val
* var5
/* : MClassType */;
101 val
* var6
/* : MPropDef */;
102 val
* var7
/* : MClassDef */;
103 val
* var8
/* : MClassType */;
104 val
* var9
/* : MPropDef */;
105 val
* var10
/* : MClassDef */;
106 val
* var11
/* : MModule */;
107 short int var12
/* : Bool */;
108 val
* var13
/* : MType */;
109 val
* var_msignature
/* var msignature: MSignature */;
110 val
* var14
/* : nullable MType */;
111 val
* var_ret
/* var ret: nullable MType */;
112 short int var15
/* : Bool */;
113 val
* var16
/* : nullable Object */;
114 val
* var17
/* : MType */;
115 val
* var18
/* : RuntimeVariable */;
116 val
* var_res
/* var res: nullable RuntimeVariable */;
117 val
* var19
/* : null */;
118 short int var20
/* : Bool */;
119 val
* var21
/* : null */;
120 val
* var22
/* : RuntimeVariable */;
121 val
* var23
/* : Buffer */;
122 val
* var_s
/* var s: Buffer */;
123 val
* var24
/* : Buffer */;
124 val
* var_ss
/* var ss: Buffer */;
125 val
* var25
/* : nullable Object */;
126 val
* var_recv
/* var recv: RuntimeVariable */;
128 val
* var26
/* : String */;
129 char* var27
/* : NativeString */;
130 long var28
/* : Int */;
131 val
* var29
/* : String */;
132 val
* var30
/* : Array[Object] */;
133 long var31
/* : Int */;
134 val
* var32
/* : NativeArray[Object] */;
135 val
* var33
/* : String */;
136 val
* var34
/* : Range[Int] */;
137 long var35
/* : Int */;
138 long var36
/* : Int */;
139 val
* var37
/* : Discrete */;
140 val
* var38
/* : Discrete */;
141 val
* var39
/* : Iterator[nullable Object] */;
142 short int var40
/* : Bool */;
143 val
* var41
/* : nullable Object */;
144 long var_i
/* var i: Int */;
145 long var42
/* : Int */;
146 long var43
/* : Int */;
147 long var44
/* : Int */;
148 long var46
/* : Int */;
149 val
* var47
/* : nullable Object */;
150 val
* var_a
/* var a: RuntimeVariable */;
151 val
* var48
/* : Array[MParameter] */;
152 val
* var49
/* : nullable Object */;
153 val
* var50
/* : MType */;
154 val
* var_t
/* var t: MType */;
155 long var51
/* : Int */;
156 short int var52
/* : Bool */;
157 short int var54
/* : Bool */;
158 long var55
/* : Int */;
159 long var56
/* : Int */;
160 long var58
/* : Int */;
161 val
* var59
/* : nullable Object */;
162 val
* var60
/* : MType */;
163 static val
* varonce61
;
164 val
* var62
/* : String */;
165 char* var63
/* : NativeString */;
166 long var64
/* : Int */;
167 val
* var65
/* : String */;
168 val
* var66
/* : String */;
169 val
* var67
/* : Array[Object] */;
170 long var68
/* : Int */;
171 val
* var69
/* : NativeArray[Object] */;
172 val
* var70
/* : String */;
173 val
* var71
/* : RuntimeVariable */;
174 static val
* varonce72
;
175 val
* var73
/* : String */;
176 char* var74
/* : NativeString */;
177 long var75
/* : Int */;
178 val
* var76
/* : String */;
179 val
* var77
/* : Array[Object] */;
180 long var78
/* : Int */;
181 val
* var79
/* : NativeArray[Object] */;
182 val
* var80
/* : String */;
183 short int var81
/* : Bool */;
184 short int var82
/* : Bool */;
185 val
* var83
/* : AbstractCompiler */;
186 val
* var84
/* : ModelBuilder */;
187 val
* var85
/* : ToolContext */;
188 val
* var86
/* : OptionBool */;
189 val
* var87
/* : nullable Object */;
190 short int var88
/* : Bool */;
191 short int var89
/* : Bool */;
192 short int var_
/* var : Bool */;
193 val
* var90
/* : String */;
194 static val
* varonce91
;
195 val
* var92
/* : String */;
196 char* var93
/* : NativeString */;
197 long var94
/* : Int */;
198 val
* var95
/* : String */;
199 short int var96
/* : Bool */;
200 short int var_97
/* var : Bool */;
201 val
* var98
/* : String */;
202 static val
* varonce99
;
203 val
* var100
/* : String */;
204 char* var101
/* : NativeString */;
205 long var102
/* : Int */;
206 val
* var103
/* : String */;
207 short int var104
/* : Bool */;
208 short int var_consider_null
/* var consider_null: Bool */;
209 short int var105
/* : Bool */;
210 val
* var106
/* : MType */;
211 short int var107
/* : Bool */;
214 short int var_108
/* var : Bool */;
215 short int var_maybenull
/* var maybenull: Bool */;
216 static val
* varonce109
;
217 val
* var110
/* : String */;
218 char* var111
/* : NativeString */;
219 long var112
/* : Int */;
220 val
* var113
/* : String */;
221 static val
* varonce114
;
222 val
* var115
/* : String */;
223 char* var116
/* : NativeString */;
224 long var117
/* : Int */;
225 val
* var118
/* : String */;
226 val
* var119
/* : Array[Object] */;
227 long var120
/* : Int */;
228 val
* var121
/* : NativeArray[Object] */;
229 val
* var122
/* : String */;
230 val
* var123
/* : String */;
231 static val
* varonce124
;
232 val
* var125
/* : String */;
233 char* var126
/* : NativeString */;
234 long var127
/* : Int */;
235 val
* var128
/* : String */;
236 short int var129
/* : Bool */;
237 val
* var130
/* : null */;
238 short int var131
/* : Bool */;
239 long var132
/* : Int */;
240 val
* var133
/* : nullable Object */;
241 val
* var_arg
/* var arg: RuntimeVariable */;
242 val
* var134
/* : MType */;
243 short int var135
/* : Bool */;
246 static val
* varonce138
;
247 val
* var139
/* : String */;
248 char* var140
/* : NativeString */;
249 long var141
/* : Int */;
250 val
* var142
/* : String */;
251 static val
* varonce143
;
252 val
* var144
/* : String */;
253 char* var145
/* : NativeString */;
254 long var146
/* : Int */;
255 val
* var147
/* : String */;
256 val
* var148
/* : Array[Object] */;
257 long var149
/* : Int */;
258 val
* var150
/* : NativeArray[Object] */;
259 val
* var151
/* : String */;
260 val
* var152
/* : MType */;
261 short int var153
/* : Bool */;
264 static val
* varonce156
;
265 val
* var157
/* : String */;
266 char* var158
/* : NativeString */;
267 long var159
/* : Int */;
268 val
* var160
/* : String */;
269 val
* var161
/* : Array[Object] */;
270 long var162
/* : Int */;
271 val
* var163
/* : NativeArray[Object] */;
272 val
* var164
/* : String */;
273 static val
* varonce165
;
274 val
* var166
/* : String */;
275 char* var167
/* : NativeString */;
276 long var168
/* : Int */;
277 val
* var169
/* : String */;
278 val
* var170
/* : String */;
279 static val
* varonce171
;
280 val
* var172
/* : String */;
281 char* var173
/* : NativeString */;
282 long var174
/* : Int */;
283 val
* var175
/* : String */;
284 val
* var176
/* : Array[Object] */;
285 long var177
/* : Int */;
286 val
* var178
/* : NativeArray[Object] */;
287 val
* var179
/* : String */;
288 val
* var180
/* : String */;
289 static val
* varonce181
;
290 val
* var182
/* : String */;
291 char* var183
/* : NativeString */;
292 long var184
/* : Int */;
293 val
* var185
/* : String */;
294 short int var186
/* : Bool */;
295 val
* var187
/* : null */;
296 short int var188
/* : Bool */;
297 long var189
/* : Int */;
298 val
* var190
/* : nullable Object */;
299 val
* var_arg191
/* var arg: RuntimeVariable */;
300 val
* var192
/* : MType */;
301 short int var193
/* : Bool */;
304 static val
* varonce196
;
305 val
* var197
/* : String */;
306 char* var198
/* : NativeString */;
307 long var199
/* : Int */;
308 val
* var200
/* : String */;
309 static val
* varonce201
;
310 val
* var202
/* : String */;
311 char* var203
/* : NativeString */;
312 long var204
/* : Int */;
313 val
* var205
/* : String */;
314 val
* var206
/* : Array[Object] */;
315 long var207
/* : Int */;
316 val
* var208
/* : NativeArray[Object] */;
317 val
* var209
/* : String */;
318 val
* var210
/* : MType */;
319 short int var211
/* : Bool */;
322 static val
* varonce214
;
323 val
* var215
/* : String */;
324 char* var216
/* : NativeString */;
325 long var217
/* : Int */;
326 val
* var218
/* : String */;
327 val
* var219
/* : Array[Object] */;
328 long var220
/* : Int */;
329 val
* var221
/* : NativeArray[Object] */;
330 val
* var222
/* : String */;
331 static val
* varonce223
;
332 val
* var224
/* : String */;
333 char* var225
/* : NativeString */;
334 long var226
/* : Int */;
335 val
* var227
/* : String */;
336 val
* var228
/* : String */;
337 static val
* varonce229
;
338 val
* var230
/* : String */;
339 char* var231
/* : NativeString */;
340 long var232
/* : Int */;
341 val
* var233
/* : String */;
342 val
* var234
/* : Array[Object] */;
343 long var235
/* : Int */;
344 val
* var236
/* : NativeArray[Object] */;
345 val
* var237
/* : String */;
346 static val
* varonce238
;
347 val
* var239
/* : String */;
348 char* var240
/* : NativeString */;
349 long var241
/* : Int */;
350 val
* var242
/* : String */;
351 static val
* varonce243
;
352 val
* var244
/* : String */;
353 char* var245
/* : NativeString */;
354 long var246
/* : Int */;
355 val
* var247
/* : String */;
356 short int var248
/* : Bool */;
357 val
* var249
/* : AbstractCompiler */;
358 val
* var250
/* : ModelBuilder */;
359 val
* var251
/* : ToolContext */;
360 val
* var252
/* : OptionBool */;
361 val
* var253
/* : nullable Object */;
362 short int var254
/* : Bool */;
363 short int var255
/* : Bool */;
364 short int var_256
/* var : Bool */;
365 short int var257
/* : Bool */;
366 val
* var258
/* : String */;
367 static val
* varonce259
;
368 val
* var260
/* : String */;
369 char* var261
/* : NativeString */;
370 long var262
/* : Int */;
371 val
* var263
/* : String */;
372 short int var264
/* : Bool */;
373 short int var_265
/* var : Bool */;
374 val
* var266
/* : String */;
375 static val
* varonce267
;
376 val
* var268
/* : String */;
377 char* var269
/* : NativeString */;
378 long var270
/* : Int */;
379 val
* var271
/* : String */;
380 short int var272
/* : Bool */;
381 val
* var273
/* : null */;
382 short int var274
/* : Bool */;
383 long var275
/* : Int */;
384 val
* var276
/* : nullable Object */;
385 val
* var_arg277
/* var arg: RuntimeVariable */;
386 val
* var278
/* : MType */;
387 short int var279
/* : Bool */;
390 val
* var282
/* : String */;
391 static val
* varonce283
;
392 val
* var284
/* : String */;
393 char* var285
/* : NativeString */;
394 long var286
/* : Int */;
395 val
* var287
/* : String */;
396 short int var288
/* : Bool */;
397 static val
* varonce289
;
398 val
* var290
/* : String */;
399 char* var291
/* : NativeString */;
400 long var292
/* : Int */;
401 val
* var293
/* : String */;
402 val
* var294
/* : Array[Object] */;
403 long var295
/* : Int */;
404 val
* var296
/* : NativeArray[Object] */;
405 val
* var297
/* : String */;
406 static val
* varonce298
;
407 val
* var299
/* : String */;
408 char* var300
/* : NativeString */;
409 long var301
/* : Int */;
410 val
* var302
/* : String */;
411 val
* var303
/* : Array[Object] */;
412 long var304
/* : Int */;
413 val
* var305
/* : NativeArray[Object] */;
414 val
* var306
/* : String */;
415 static val
* varonce307
;
416 val
* var308
/* : String */;
417 char* var309
/* : NativeString */;
418 long var310
/* : Int */;
419 val
* var311
/* : String */;
420 val
* var312
/* : null */;
421 short int var313
/* : Bool */;
422 static val
* varonce314
;
423 val
* var315
/* : String */;
424 char* var316
/* : NativeString */;
425 long var317
/* : Int */;
426 val
* var318
/* : String */;
427 val
* var_r
/* var r: nullable Object */;
428 val
* var319
/* : String */;
429 val
* var320
/* : Array[Object] */;
430 long var321
/* : Int */;
431 val
* var_322
/* var : Array[Object] */;
432 static val
* varonce323
;
433 val
* var324
/* : String */;
434 char* var325
/* : NativeString */;
435 long var326
/* : Int */;
436 val
* var327
/* : String */;
437 static val
* varonce328
;
438 val
* var329
/* : String */;
439 char* var330
/* : NativeString */;
440 long var331
/* : Int */;
441 val
* var332
/* : String */;
442 static val
* varonce333
;
443 val
* var334
/* : String */;
444 char* var335
/* : NativeString */;
445 long var336
/* : Int */;
446 val
* var337
/* : String */;
447 val
* var338
/* : nullable Object */;
448 static val
* varonce339
;
449 val
* var340
/* : String */;
450 char* var341
/* : NativeString */;
451 long var342
/* : Int */;
452 val
* var343
/* : String */;
453 static val
* varonce344
;
454 val
* var345
/* : String */;
455 char* var346
/* : NativeString */;
456 long var347
/* : Int */;
457 val
* var348
/* : String */;
458 static val
* varonce349
;
459 val
* var350
/* : String */;
460 char* var351
/* : NativeString */;
461 long var352
/* : Int */;
462 val
* var353
/* : String */;
463 static val
* varonce354
;
464 val
* var355
/* : String */;
465 char* var356
/* : NativeString */;
466 long var357
/* : Int */;
467 val
* var358
/* : String */;
468 val
* var359
/* : nullable Object */;
469 val
* var360
/* : String */;
470 static val
* varonce361
;
471 val
* var362
/* : String */;
472 char* var363
/* : NativeString */;
473 long var364
/* : Int */;
474 val
* var365
/* : String */;
475 val
* var366
/* : String */;
476 val
* var_call
/* var call: String */;
477 val
* var367
/* : null */;
478 short int var368
/* : Bool */;
479 static val
* varonce369
;
480 val
* var370
/* : String */;
481 char* var371
/* : NativeString */;
482 long var372
/* : Int */;
483 val
* var373
/* : String */;
484 static val
* varonce374
;
485 val
* var375
/* : String */;
486 char* var376
/* : NativeString */;
487 long var377
/* : Int */;
488 val
* var378
/* : String */;
489 val
* var379
/* : Array[Object] */;
490 long var380
/* : Int */;
491 val
* var381
/* : NativeArray[Object] */;
492 val
* var382
/* : String */;
493 static val
* varonce383
;
494 val
* var384
/* : String */;
495 char* var385
/* : NativeString */;
496 long var386
/* : Int */;
497 val
* var387
/* : String */;
498 val
* var388
/* : Array[Object] */;
499 long var389
/* : Int */;
500 val
* var390
/* : NativeArray[Object] */;
501 val
* var391
/* : String */;
502 static val
* varonce392
;
503 val
* var393
/* : String */;
504 char* var394
/* : NativeString */;
505 long var395
/* : Int */;
506 val
* var396
/* : String */;
509 var_const_color
= p2
;
510 var1
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
511 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var1
) /* msignature on <var1:MPropDef(MMethodDef)>*/;
512 var3
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
513 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var3
) /* mclassdef on <var3:MPropDef(MMethodDef)>*/;
514 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var4
) /* bound_mtype on <var4:MClassDef>*/;
515 var6
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
516 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var6
) /* mclassdef on <var6:MPropDef(MMethodDef)>*/;
517 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var7
) /* bound_mtype on <var7:MClassDef>*/;
518 var9
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__intro
]))(var_mmethod
) /* intro on <var_mmethod:MMethod>*/;
519 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var9
) /* mclassdef on <var9:MPropDef(MMethodDef)>*/;
520 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var10
) /* mmodule on <var10:MClassDef>*/;
523 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
524 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 980);
527 var13
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var2
->class->vft
[COLOR_model__MType__resolve_for
]))(var2
, var5
, var8
, var11
, var12
) /* resolve_for on <var2:nullable MSignature>*/;
529 var_msignature
= var13
;
530 var14
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var_msignature
) /* return_mtype on <var_msignature:MSignature>*/;
532 var15
= ((short int (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MMethod__is_new
]))(var_mmethod
) /* is_new on <var_mmethod:MMethod>*/;
534 var16
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
535 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var16
) /* mtype on <var16:nullable Object(RuntimeVariable)>*/;
537 var18
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
541 if (var_ret
== NULL
) {
542 var20
= 1; /* is null */
544 var20
= 0; /* arg is null but recv is not */
550 var22
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
554 var23
= NEW_string__Buffer(&type_string__Buffer
);
555 ((void (*)(val
*))(var23
->class->vft
[COLOR_string__Buffer__init
]))(var23
) /* init on <var23:Buffer>*/;
557 var24
= NEW_string__Buffer(&type_string__Buffer
);
558 ((void (*)(val
*))(var24
->class->vft
[COLOR_string__Buffer__init
]))(var24
) /* init on <var24:Buffer>*/;
560 var25
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
567 var29
= string__NativeString__to_s_with_length(var27
, var28
);
571 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var26
) /* append on <var_s:Buffer>*/;
572 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
573 { /* var30 = array_instance Array[Object] */
575 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
576 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var_recv
;
577 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
579 var33
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
580 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var33
) /* append on <var_ss:Buffer>*/;
581 var34
= NEW_range__Range(&type_range__Rangekernel__Int
);
583 var36
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
584 var37
= BOX_kernel__Int(var35
); /* autobox from Int to Discrete */
585 var38
= BOX_kernel__Int(var36
); /* autobox from Int to Discrete */
586 ((void (*)(val
*, val
*, val
*))(var34
->class->vft
[COLOR_range__Range__without_last
]))(var34
, var37
, var38
) /* without_last on <var34:Range[Int]>*/;
587 var39
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var34
) /* iterator on <var34:Range[Int]>*/;
589 var40
= ((short int (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var39
) /* is_ok on <var39:Iterator[nullable Object]>*/;
591 var41
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var39
) /* item on <var39:Iterator[nullable Object]>*/;
592 var42
= ((struct instance_kernel__Int
*)var41
)->value
; /* autounbox from nullable Object to Int */;
595 { /* Inline kernel#Int#+ (var_i,var43) */
596 var46
= var_i
+ var43
;
601 var47
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var44
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
603 var48
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
604 var49
= ((val
* (*)(val
*, long))(var48
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var48
, var_i
) /* [] on <var48:Array[MParameter]>*/;
605 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_model__MParameter__mtype
]))(var49
) /* mtype on <var49:nullable Object(MParameter)>*/;
607 var51
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
608 { /* Inline kernel#Int#== (var_i,var51) */
609 var54
= var_i
== var51
;
616 { /* Inline kernel#Int#+ (var_i,var55) */
617 var58
= var_i
+ var55
;
622 var59
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var56
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
623 var60
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var59
) /* mcasttype on <var59:nullable Object(RuntimeVariable)>*/;
632 var65
= string__NativeString__to_s_with_length(var63
, var64
);
636 var66
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType>*/;
637 var67
= NEW_array__Array(&type_array__Arraykernel__Object
);
638 { /* var67 = array_instance Array[Object] */
640 var69
= NEW_array__NativeArray(var68
, &type_array__NativeArraykernel__Object
);
641 ((struct instance_array__NativeArray
*)var69
)->values
[0] = (val
*) var62
;
642 ((struct instance_array__NativeArray
*)var69
)->values
[1] = (val
*) var66
;
643 ((void (*)(val
*, val
*, long))(var67
->class->vft
[COLOR_array__Array__with_native
]))(var67
, var69
, var68
) /* with_native on <var67:Array[Object]>*/;
645 var70
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_string__Object__to_s
]))(var67
) /* to_s on <var67:Array[Object]>*/;
646 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var70
) /* append on <var_s:Buffer>*/;
647 var71
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_a
, var_t
) /* autobox on <self:SeparateCompilerVisitor>*/;
654 var76
= string__NativeString__to_s_with_length(var74
, var75
);
658 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
659 { /* var77 = array_instance Array[Object] */
661 var79
= NEW_array__NativeArray(var78
, &type_array__NativeArraykernel__Object
);
662 ((struct instance_array__NativeArray
*)var79
)->values
[0] = (val
*) var73
;
663 ((struct instance_array__NativeArray
*)var79
)->values
[1] = (val
*) var_a
;
664 ((void (*)(val
*, val
*, long))(var77
->class->vft
[COLOR_array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
666 var80
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
667 ((void (*)(val
*, val
*))(var_ss
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_ss
, var80
) /* append on <var_ss:Buffer>*/;
668 CONTINUE_label
: (void)0;
669 ((void (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var39
) /* next on <var39:Iterator[nullable Object]>*/;
671 BREAK_label
: (void)0;
672 var83
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
673 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var83
) /* modelbuilder on <var83:AbstractCompiler(SeparateCompiler)>*/;
674 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var84
) /* toolcontext on <var84:ModelBuilder>*/;
675 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var85
) /* opt_no_check_other on <var85:ToolContext>*/;
676 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_opts__Option__value
]))(var86
) /* value on <var86:OptionBool>*/;
677 var88
= ((struct instance_kernel__Bool
*)var87
)->value
; /* autounbox from nullable Object to Bool */;
683 var90
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
689 var95
= string__NativeString__to_s_with_length(var93
, var94
);
693 var96
= ((short int (*)(val
*, val
*))(var90
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var90
, var92
) /* == on <var90:String>*/;
700 var98
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
706 var103
= string__NativeString__to_s_with_length(var101
, var102
);
710 var104
= ((short int (*)(val
*, val
*))(var98
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var98
, var100
) /* == on <var98:String>*/;
713 var_consider_null
= var81
;
714 var106
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
715 /* <var106:MType> isa MNullableType */
716 cltype
= type_model__MNullableType
.color
;
717 idtype
= type_model__MNullableType
.id
;
718 if(cltype
>= var106
->type
->table_size
) {
721 var107
= var106
->type
->type_table
[cltype
] == idtype
;
725 var105
= var_consider_null
;
729 var_maybenull
= var105
;
736 var113
= string__NativeString__to_s_with_length(var111
, var112
);
743 var116
= " == NULL) {";
745 var118
= string__NativeString__to_s_with_length(var116
, var117
);
749 var119
= NEW_array__Array(&type_array__Arraykernel__Object
);
750 { /* var119 = array_instance Array[Object] */
752 var121
= NEW_array__NativeArray(var120
, &type_array__NativeArraykernel__Object
);
753 ((struct instance_array__NativeArray
*)var121
)->values
[0] = (val
*) var110
;
754 ((struct instance_array__NativeArray
*)var121
)->values
[1] = (val
*) var_recv
;
755 ((struct instance_array__NativeArray
*)var121
)->values
[2] = (val
*) var115
;
756 ((void (*)(val
*, val
*, long))(var119
->class->vft
[COLOR_array__Array__with_native
]))(var119
, var121
, var120
) /* with_native on <var119:Array[Object]>*/;
758 var122
= ((val
* (*)(val
*))(var119
->class->vft
[COLOR_string__Object__to_s
]))(var119
) /* to_s on <var119:Array[Object]>*/;
759 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var122
) /* add on <self:SeparateCompilerVisitor>*/;
760 var123
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
766 var128
= string__NativeString__to_s_with_length(var126
, var127
);
770 var129
= ((short int (*)(val
*, val
*))(var123
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var123
, var125
) /* == on <var123:String>*/;
773 if (var_res
== NULL
) {
774 var131
= 0; /* is null */
776 var131
= 1; /* arg is null and recv is not */
779 fprintf(stderr
, "Runtime error: %s", "Assert failed");
780 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1013);
784 var133
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var132
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
786 var134
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
787 /* <var134:MType> isa MNullableType */
788 cltype136
= type_model__MNullableType
.color
;
789 idtype137
= type_model__MNullableType
.id
;
790 if(cltype136
>= var134
->type
->table_size
) {
793 var135
= var134
->type
->type_table
[cltype136
] == idtype137
;
801 var142
= string__NativeString__to_s_with_length(var140
, var141
);
808 var145
= " == NULL);";
810 var147
= string__NativeString__to_s_with_length(var145
, var146
);
814 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
815 { /* var148 = array_instance Array[Object] */
817 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
818 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var_res
;
819 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var139
;
820 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var_arg
;
821 ((struct instance_array__NativeArray
*)var150
)->values
[3] = (val
*) var144
;
822 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
824 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
825 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var151
) /* add on <self:SeparateCompilerVisitor>*/;
827 var152
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg
) /* mcasttype on <var_arg:RuntimeVariable>*/;
828 /* <var152:MType> isa MNullType */
829 cltype154
= type_model__MNullType
.color
;
830 idtype155
= type_model__MNullType
.id
;
831 if(cltype154
>= var152
->type
->table_size
) {
834 var153
= var152
->type
->type_table
[cltype154
] == idtype155
;
840 var158
= " = 1; /* is null */";
842 var160
= string__NativeString__to_s_with_length(var158
, var159
);
846 var161
= NEW_array__Array(&type_array__Arraykernel__Object
);
847 { /* var161 = array_instance Array[Object] */
849 var163
= NEW_array__NativeArray(var162
, &type_array__NativeArraykernel__Object
);
850 ((struct instance_array__NativeArray
*)var163
)->values
[0] = (val
*) var_res
;
851 ((struct instance_array__NativeArray
*)var163
)->values
[1] = (val
*) var157
;
852 ((void (*)(val
*, val
*, long))(var161
->class->vft
[COLOR_array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
854 var164
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
855 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var164
) /* add on <self:SeparateCompilerVisitor>*/;
860 var167
= " = 0; /* ";
862 var169
= string__NativeString__to_s_with_length(var167
, var168
);
866 var170
= ((val
* (*)(val
*))(var_arg
->class->vft
[COLOR_string__Object__inspect
]))(var_arg
) /* inspect on <var_arg:RuntimeVariable>*/;
870 var173
= " cannot be null */";
872 var175
= string__NativeString__to_s_with_length(var173
, var174
);
876 var176
= NEW_array__Array(&type_array__Arraykernel__Object
);
877 { /* var176 = array_instance Array[Object] */
879 var178
= NEW_array__NativeArray(var177
, &type_array__NativeArraykernel__Object
);
880 ((struct instance_array__NativeArray
*)var178
)->values
[0] = (val
*) var_res
;
881 ((struct instance_array__NativeArray
*)var178
)->values
[1] = (val
*) var166
;
882 ((struct instance_array__NativeArray
*)var178
)->values
[2] = (val
*) var170
;
883 ((struct instance_array__NativeArray
*)var178
)->values
[3] = (val
*) var172
;
884 ((void (*)(val
*, val
*, long))(var176
->class->vft
[COLOR_array__Array__with_native
]))(var176
, var178
, var177
) /* with_native on <var176:Array[Object]>*/;
886 var179
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_string__Object__to_s
]))(var176
) /* to_s on <var176:Array[Object]>*/;
887 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var179
) /* add on <self:SeparateCompilerVisitor>*/;
891 var180
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
897 var185
= string__NativeString__to_s_with_length(var183
, var184
);
901 var186
= ((short int (*)(val
*, val
*))(var180
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var180
, var182
) /* == on <var180:String>*/;
904 if (var_res
== NULL
) {
905 var188
= 0; /* is null */
907 var188
= 1; /* arg is null and recv is not */
910 fprintf(stderr
, "Runtime error: %s", "Assert failed");
911 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1023);
915 var190
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var189
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
917 var192
= ((val
* (*)(val
*))(var_arg191
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg191
) /* mcasttype on <var_arg191:RuntimeVariable>*/;
918 /* <var192:MType> isa MNullableType */
919 cltype194
= type_model__MNullableType
.color
;
920 idtype195
= type_model__MNullableType
.id
;
921 if(cltype194
>= var192
->type
->table_size
) {
924 var193
= var192
->type
->type_table
[cltype194
] == idtype195
;
932 var200
= string__NativeString__to_s_with_length(var198
, var199
);
939 var203
= " != NULL);";
941 var205
= string__NativeString__to_s_with_length(var203
, var204
);
945 var206
= NEW_array__Array(&type_array__Arraykernel__Object
);
946 { /* var206 = array_instance Array[Object] */
948 var208
= NEW_array__NativeArray(var207
, &type_array__NativeArraykernel__Object
);
949 ((struct instance_array__NativeArray
*)var208
)->values
[0] = (val
*) var_res
;
950 ((struct instance_array__NativeArray
*)var208
)->values
[1] = (val
*) var197
;
951 ((struct instance_array__NativeArray
*)var208
)->values
[2] = (val
*) var_arg191
;
952 ((struct instance_array__NativeArray
*)var208
)->values
[3] = (val
*) var202
;
953 ((void (*)(val
*, val
*, long))(var206
->class->vft
[COLOR_array__Array__with_native
]))(var206
, var208
, var207
) /* with_native on <var206:Array[Object]>*/;
955 var209
= ((val
* (*)(val
*))(var206
->class->vft
[COLOR_string__Object__to_s
]))(var206
) /* to_s on <var206:Array[Object]>*/;
956 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var209
) /* add on <self:SeparateCompilerVisitor>*/;
958 var210
= ((val
* (*)(val
*))(var_arg191
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg191
) /* mcasttype on <var_arg191:RuntimeVariable>*/;
959 /* <var210:MType> isa MNullType */
960 cltype212
= type_model__MNullType
.color
;
961 idtype213
= type_model__MNullType
.id
;
962 if(cltype212
>= var210
->type
->table_size
) {
965 var211
= var210
->type
->type_table
[cltype212
] == idtype213
;
971 var216
= " = 0; /* is null */";
973 var218
= string__NativeString__to_s_with_length(var216
, var217
);
977 var219
= NEW_array__Array(&type_array__Arraykernel__Object
);
978 { /* var219 = array_instance Array[Object] */
980 var221
= NEW_array__NativeArray(var220
, &type_array__NativeArraykernel__Object
);
981 ((struct instance_array__NativeArray
*)var221
)->values
[0] = (val
*) var_res
;
982 ((struct instance_array__NativeArray
*)var221
)->values
[1] = (val
*) var215
;
983 ((void (*)(val
*, val
*, long))(var219
->class->vft
[COLOR_array__Array__with_native
]))(var219
, var221
, var220
) /* with_native on <var219:Array[Object]>*/;
985 var222
= ((val
* (*)(val
*))(var219
->class->vft
[COLOR_string__Object__to_s
]))(var219
) /* to_s on <var219:Array[Object]>*/;
986 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var222
) /* add on <self:SeparateCompilerVisitor>*/;
991 var225
= " = 1; /* ";
993 var227
= string__NativeString__to_s_with_length(var225
, var226
);
997 var228
= ((val
* (*)(val
*))(var_arg191
->class->vft
[COLOR_string__Object__inspect
]))(var_arg191
) /* inspect on <var_arg191:RuntimeVariable>*/;
1001 var231
= " cannot be null */";
1003 var233
= string__NativeString__to_s_with_length(var231
, var232
);
1005 varonce229
= var230
;
1007 var234
= NEW_array__Array(&type_array__Arraykernel__Object
);
1008 { /* var234 = array_instance Array[Object] */
1010 var236
= NEW_array__NativeArray(var235
, &type_array__NativeArraykernel__Object
);
1011 ((struct instance_array__NativeArray
*)var236
)->values
[0] = (val
*) var_res
;
1012 ((struct instance_array__NativeArray
*)var236
)->values
[1] = (val
*) var224
;
1013 ((struct instance_array__NativeArray
*)var236
)->values
[2] = (val
*) var228
;
1014 ((struct instance_array__NativeArray
*)var236
)->values
[3] = (val
*) var230
;
1015 ((void (*)(val
*, val
*, long))(var234
->class->vft
[COLOR_array__Array__with_native
]))(var234
, var236
, var235
) /* with_native on <var234:Array[Object]>*/;
1017 var237
= ((val
* (*)(val
*))(var234
->class->vft
[COLOR_string__Object__to_s
]))(var234
) /* to_s on <var234:Array[Object]>*/;
1018 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var237
) /* add on <self:SeparateCompilerVisitor>*/;
1023 var239
= varonce238
;
1025 var240
= "Reciever is null";
1027 var242
= string__NativeString__to_s_with_length(var240
, var241
);
1029 varonce238
= var239
;
1031 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var239
) /* add_abort on <self:SeparateCompilerVisitor>*/;
1035 var244
= varonce243
;
1037 var245
= "} else {";
1039 var247
= string__NativeString__to_s_with_length(var245
, var246
);
1041 varonce243
= var244
;
1043 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var244
) /* add on <self:SeparateCompilerVisitor>*/;
1046 var249
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1047 var250
= ((val
* (*)(val
*))(var249
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var249
) /* modelbuilder on <var249:AbstractCompiler(SeparateCompiler)>*/;
1048 var251
= ((val
* (*)(val
*))(var250
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var250
) /* toolcontext on <var250:ModelBuilder>*/;
1049 var252
= ((val
* (*)(val
*))(var251
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_shortcut_equate
]))(var251
) /* opt_no_shortcut_equate on <var251:ToolContext>*/;
1050 var253
= ((val
* (*)(val
*))(var252
->class->vft
[COLOR_opts__Option__value
]))(var252
) /* value on <var252:OptionBool>*/;
1051 var254
= ((struct instance_kernel__Bool
*)var253
)->value
; /* autounbox from nullable Object to Bool */;
1055 var258
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1057 var260
= varonce259
;
1061 var263
= string__NativeString__to_s_with_length(var261
, var262
);
1063 varonce259
= var260
;
1065 var264
= ((short int (*)(val
*, val
*))(var258
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var258
, var260
) /* == on <var258:String>*/;
1070 var266
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1072 var268
= varonce267
;
1076 var271
= string__NativeString__to_s_with_length(var269
, var270
);
1078 varonce267
= var268
;
1080 var272
= ((short int (*)(val
*, val
*))(var266
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var266
, var268
) /* == on <var266:String>*/;
1089 if (var_res
== NULL
) {
1090 var274
= 0; /* is null */
1092 var274
= 1; /* arg is null and recv is not */
1095 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1096 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1038);
1100 var276
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var275
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
1101 var_arg277
= var276
;
1102 var278
= ((val
* (*)(val
*))(var_arg277
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_arg277
) /* mcasttype on <var_arg277:RuntimeVariable>*/;
1103 /* <var278:MType> isa MNullType */
1104 cltype280
= type_model__MNullType
.color
;
1105 idtype281
= type_model__MNullType
.id
;
1106 if(cltype280
>= var278
->type
->table_size
) {
1109 var279
= var278
->type
->type_table
[cltype280
] == idtype281
;
1112 var282
= ((val
* (*)(val
*))(var_mmethod
->class->vft
[COLOR_model__MProperty__name
]))(var_mmethod
) /* name on <var_mmethod:MMethod>*/;
1114 var284
= varonce283
;
1118 var287
= string__NativeString__to_s_with_length(var285
, var286
);
1120 varonce283
= var284
;
1122 var288
= ((short int (*)(val
*, val
*))(var282
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var282
, var284
) /* == on <var282:String>*/;
1125 var290
= varonce289
;
1127 var291
= " = 0; /* arg is null but recv is not */";
1129 var293
= string__NativeString__to_s_with_length(var291
, var292
);
1131 varonce289
= var290
;
1133 var294
= NEW_array__Array(&type_array__Arraykernel__Object
);
1134 { /* var294 = array_instance Array[Object] */
1136 var296
= NEW_array__NativeArray(var295
, &type_array__NativeArraykernel__Object
);
1137 ((struct instance_array__NativeArray
*)var296
)->values
[0] = (val
*) var_res
;
1138 ((struct instance_array__NativeArray
*)var296
)->values
[1] = (val
*) var290
;
1139 ((void (*)(val
*, val
*, long))(var294
->class->vft
[COLOR_array__Array__with_native
]))(var294
, var296
, var295
) /* with_native on <var294:Array[Object]>*/;
1141 var297
= ((val
* (*)(val
*))(var294
->class->vft
[COLOR_string__Object__to_s
]))(var294
) /* to_s on <var294:Array[Object]>*/;
1142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var297
) /* add on <self:SeparateCompilerVisitor>*/;
1145 var299
= varonce298
;
1147 var300
= " = 1; /* arg is null and recv is not */";
1149 var302
= string__NativeString__to_s_with_length(var300
, var301
);
1151 varonce298
= var299
;
1153 var303
= NEW_array__Array(&type_array__Arraykernel__Object
);
1154 { /* var303 = array_instance Array[Object] */
1156 var305
= NEW_array__NativeArray(var304
, &type_array__NativeArraykernel__Object
);
1157 ((struct instance_array__NativeArray
*)var305
)->values
[0] = (val
*) var_res
;
1158 ((struct instance_array__NativeArray
*)var305
)->values
[1] = (val
*) var299
;
1159 ((void (*)(val
*, val
*, long))(var303
->class->vft
[COLOR_array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
1161 var306
= ((val
* (*)(val
*))(var303
->class->vft
[COLOR_string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
1162 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var306
) /* add on <self:SeparateCompilerVisitor>*/;
1166 var308
= varonce307
;
1170 var311
= string__NativeString__to_s_with_length(var309
, var310
);
1172 varonce307
= var308
;
1174 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var308
) /* add on <self:SeparateCompilerVisitor>*/;
1184 if (var_ret
== NULL
) {
1185 var313
= 1; /* is null */
1187 var313
= 0; /* arg is null but recv is not */
1191 var315
= varonce314
;
1195 var318
= string__NativeString__to_s_with_length(var316
, var317
);
1197 varonce314
= var315
;
1201 var319
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
1204 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_const_color
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
1205 var320
= NEW_array__Array(&type_array__Arraykernel__Object
);
1207 ((void (*)(val
*, long))(var320
->class->vft
[COLOR_array__Array__with_capacity
]))(var320
, var321
) /* with_capacity on <var320:Array[Object]>*/;
1210 var324
= varonce323
;
1214 var327
= string__NativeString__to_s_with_length(var325
, var326
);
1216 varonce323
= var324
;
1218 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var324
) /* add on <var_322:Array[Object]>*/;
1219 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var_r
) /* add on <var_322:Array[Object]>*/;
1221 var329
= varonce328
;
1225 var332
= string__NativeString__to_s_with_length(var330
, var331
);
1227 varonce328
= var329
;
1229 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var329
) /* add on <var_322:Array[Object]>*/;
1230 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var_s
) /* add on <var_322:Array[Object]>*/;
1232 var334
= varonce333
;
1236 var337
= string__NativeString__to_s_with_length(var335
, var336
);
1238 varonce333
= var334
;
1240 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var334
) /* add on <var_322:Array[Object]>*/;
1241 var338
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1242 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var338
) /* add on <var_322:Array[Object]>*/;
1244 var340
= varonce339
;
1246 var341
= "->class->vft[";
1248 var343
= string__NativeString__to_s_with_length(var341
, var342
);
1250 varonce339
= var340
;
1252 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var340
) /* add on <var_322:Array[Object]>*/;
1253 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var_const_color
) /* add on <var_322:Array[Object]>*/;
1255 var345
= varonce344
;
1259 var348
= string__NativeString__to_s_with_length(var346
, var347
);
1261 varonce344
= var345
;
1263 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var345
) /* add on <var_322:Array[Object]>*/;
1264 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var_ss
) /* add on <var_322:Array[Object]>*/;
1266 var350
= varonce349
;
1270 var353
= string__NativeString__to_s_with_length(var351
, var352
);
1272 varonce349
= var350
;
1274 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var350
) /* add on <var_322:Array[Object]>*/;
1275 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var_mmethod
) /* add on <var_322:Array[Object]>*/;
1277 var355
= varonce354
;
1281 var358
= string__NativeString__to_s_with_length(var356
, var357
);
1283 varonce354
= var355
;
1285 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var355
) /* add on <var_322:Array[Object]>*/;
1286 var359
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1287 var360
= ((val
* (*)(val
*))(var359
->class->vft
[COLOR_string__Object__inspect
]))(var359
) /* inspect on <var359:nullable Object(RuntimeVariable)>*/;
1288 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var360
) /* add on <var_322:Array[Object]>*/;
1290 var362
= varonce361
;
1294 var365
= string__NativeString__to_s_with_length(var363
, var364
);
1296 varonce361
= var362
;
1298 ((void (*)(val
*, val
*))(var_322
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_322
, var362
) /* add on <var_322:Array[Object]>*/;
1299 var366
= ((val
* (*)(val
*))(var_322
->class->vft
[COLOR_string__Object__to_s
]))(var_322
) /* to_s on <var_322:Array[Object]>*/;
1302 if (var_res
== NULL
) {
1303 var368
= 0; /* is null */
1305 var368
= 1; /* arg is null and recv is not */
1309 var370
= varonce369
;
1313 var373
= string__NativeString__to_s_with_length(var371
, var372
);
1315 varonce369
= var370
;
1318 var375
= varonce374
;
1322 var378
= string__NativeString__to_s_with_length(var376
, var377
);
1324 varonce374
= var375
;
1326 var379
= NEW_array__Array(&type_array__Arraykernel__Object
);
1327 { /* var379 = array_instance Array[Object] */
1329 var381
= NEW_array__NativeArray(var380
, &type_array__NativeArraykernel__Object
);
1330 ((struct instance_array__NativeArray
*)var381
)->values
[0] = (val
*) var_res
;
1331 ((struct instance_array__NativeArray
*)var381
)->values
[1] = (val
*) var370
;
1332 ((struct instance_array__NativeArray
*)var381
)->values
[2] = (val
*) var_call
;
1333 ((struct instance_array__NativeArray
*)var381
)->values
[3] = (val
*) var375
;
1334 ((void (*)(val
*, val
*, long))(var379
->class->vft
[COLOR_array__Array__with_native
]))(var379
, var381
, var380
) /* with_native on <var379:Array[Object]>*/;
1336 var382
= ((val
* (*)(val
*))(var379
->class->vft
[COLOR_string__Object__to_s
]))(var379
) /* to_s on <var379:Array[Object]>*/;
1337 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var382
) /* add on <self:SeparateCompilerVisitor>*/;
1340 var384
= varonce383
;
1344 var387
= string__NativeString__to_s_with_length(var385
, var386
);
1346 varonce383
= var384
;
1348 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
1349 { /* var388 = array_instance Array[Object] */
1351 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
1352 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var_call
;
1353 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var384
;
1354 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
1356 var391
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
1357 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var391
) /* add on <self:SeparateCompilerVisitor>*/;
1361 var393
= varonce392
;
1365 var396
= string__NativeString__to_s_with_length(var394
, var395
);
1367 varonce392
= var393
;
1369 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var393
) /* add on <self:SeparateCompilerVisitor>*/;
1377 /* method separate_compiler#SeparateCompilerVisitor#table_send for (self: Object, MMethod, Array[RuntimeVariable], String): nullable RuntimeVariable */
1378 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__table_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1379 val
* var
/* : nullable RuntimeVariable */;
1380 val
* var1
/* : nullable RuntimeVariable */;
1381 var1
= separate_compiler__SeparateCompilerVisitor__table_send(self
, p0
, p1
, p2
);
1386 /* method separate_compiler#SeparateCompilerVisitor#call for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1387 val
* separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1388 val
* var
/* : nullable RuntimeVariable */;
1389 val
* var_mmethoddef
/* var mmethoddef: MMethodDef */;
1390 val
* var_recvtype
/* var recvtype: MClassType */;
1391 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1392 val
* var1
/* : nullable MSignature */;
1393 val
* var2
/* : nullable MType */;
1394 val
* var_ret
/* var ret: nullable MType */;
1395 val
* var3
/* : MProperty */;
1396 short int var4
/* : Bool */;
1397 val
* var5
/* : nullable Object */;
1398 val
* var6
/* : MType */;
1399 val
* var7
/* : RuntimeVariable */;
1400 val
* var_res
/* var res: nullable RuntimeVariable */;
1401 val
* var8
/* : null */;
1402 short int var9
/* : Bool */;
1403 val
* var10
/* : null */;
1404 val
* var11
/* : MClassDef */;
1405 val
* var12
/* : MClassType */;
1406 val
* var13
/* : MClassDef */;
1407 val
* var14
/* : MClassType */;
1408 val
* var15
/* : MClassDef */;
1409 val
* var16
/* : MModule */;
1410 short int var17
/* : Bool */;
1411 val
* var18
/* : MType */;
1412 val
* var19
/* : RuntimeVariable */;
1413 short int var20
/* : Bool */;
1414 short int var21
/* : Bool */;
1415 val
* var22
/* : AbstractCompiler */;
1416 val
* var23
/* : ModelBuilder */;
1417 val
* var24
/* : HashMap[MPropDef, APropdef] */;
1418 short int var25
/* : Bool */;
1419 short int var_
/* var : Bool */;
1420 val
* var26
/* : AbstractCompiler */;
1421 val
* var27
/* : ModelBuilder */;
1422 val
* var28
/* : HashMap[MPropDef, APropdef] */;
1423 val
* var29
/* : nullable Object */;
1424 short int var30
/* : Bool */;
1427 short int var_31
/* var : Bool */;
1428 val
* var32
/* : AbstractCompiler */;
1429 val
* var33
/* : ModelBuilder */;
1430 val
* var34
/* : ToolContext */;
1431 val
* var35
/* : OptionBool */;
1432 val
* var36
/* : nullable Object */;
1433 short int var37
/* : Bool */;
1434 short int var38
/* : Bool */;
1435 val
* var39
/* : Frame */;
1436 val
* var_frame
/* var frame: Frame */;
1437 static val
* varonce
;
1438 val
* var40
/* : String */;
1439 char* var41
/* : NativeString */;
1440 long var42
/* : Int */;
1441 val
* var43
/* : String */;
1442 val
* var44
/* : String */;
1443 val
* var45
/* : nullable Frame */;
1444 val
* var_old_frame
/* var old_frame: nullable Frame */;
1445 static val
* varonce46
;
1446 val
* var47
/* : String */;
1447 char* var48
/* : NativeString */;
1448 long var49
/* : Int */;
1449 val
* var50
/* : String */;
1450 static val
* varonce51
;
1451 val
* var52
/* : String */;
1452 char* var53
/* : NativeString */;
1453 long var54
/* : Int */;
1454 val
* var55
/* : String */;
1455 static val
* varonce56
;
1456 val
* var57
/* : String */;
1457 char* var58
/* : NativeString */;
1458 long var59
/* : Int */;
1459 val
* var60
/* : String */;
1460 val
* var61
/* : String */;
1461 static val
* varonce62
;
1462 val
* var63
/* : String */;
1463 char* var64
/* : NativeString */;
1464 long var65
/* : Int */;
1465 val
* var66
/* : String */;
1466 val
* var67
/* : Array[Object] */;
1467 long var68
/* : Int */;
1468 val
* var69
/* : NativeArray[Object] */;
1469 val
* var70
/* : String */;
1470 val
* var71
/* : nullable RuntimeVariable */;
1471 val
* var72
/* : nullable String */;
1472 static val
* varonce73
;
1473 val
* var74
/* : String */;
1474 char* var75
/* : NativeString */;
1475 long var76
/* : Int */;
1476 val
* var77
/* : String */;
1477 val
* var78
/* : Array[Object] */;
1478 long var79
/* : Int */;
1479 val
* var80
/* : NativeArray[Object] */;
1480 val
* var81
/* : String */;
1481 static val
* varonce82
;
1482 val
* var83
/* : String */;
1483 char* var84
/* : NativeString */;
1484 long var85
/* : Int */;
1485 val
* var86
/* : String */;
1486 val
* var87
/* : String */;
1487 val
* var88
/* : null */;
1488 short int var89
/* : Bool */;
1489 val
* var90
/* : String */;
1490 static val
* varonce91
;
1491 val
* var92
/* : String */;
1492 char* var93
/* : NativeString */;
1493 long var94
/* : Int */;
1494 val
* var95
/* : String */;
1495 static val
* varonce96
;
1496 val
* var97
/* : String */;
1497 char* var98
/* : NativeString */;
1498 long var99
/* : Int */;
1499 val
* var100
/* : String */;
1500 val
* var101
/* : String */;
1501 static val
* varonce102
;
1502 val
* var103
/* : String */;
1503 char* var104
/* : NativeString */;
1504 long var105
/* : Int */;
1505 val
* var106
/* : String */;
1506 val
* var107
/* : Array[Object] */;
1507 long var108
/* : Int */;
1508 val
* var109
/* : NativeArray[Object] */;
1509 val
* var110
/* : String */;
1510 val
* var111
/* : null */;
1511 static val
* varonce112
;
1512 val
* var113
/* : String */;
1513 char* var114
/* : NativeString */;
1514 long var115
/* : Int */;
1515 val
* var116
/* : String */;
1516 val
* var117
/* : String */;
1517 static val
* varonce118
;
1518 val
* var119
/* : String */;
1519 char* var120
/* : NativeString */;
1520 long var121
/* : Int */;
1521 val
* var122
/* : String */;
1522 static val
* varonce123
;
1523 val
* var124
/* : String */;
1524 char* var125
/* : NativeString */;
1525 long var126
/* : Int */;
1526 val
* var127
/* : String */;
1527 val
* var128
/* : String */;
1528 static val
* varonce129
;
1529 val
* var130
/* : String */;
1530 char* var131
/* : NativeString */;
1531 long var132
/* : Int */;
1532 val
* var133
/* : String */;
1533 val
* var134
/* : Array[Object] */;
1534 long var135
/* : Int */;
1535 val
* var136
/* : NativeArray[Object] */;
1536 val
* var137
/* : String */;
1537 var_mmethoddef
= p0
;
1540 var1
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var_mmethoddef
) /* msignature on <var_mmethoddef:MMethodDef>*/;
1542 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
1543 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1075);
1546 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MSignature__return_mtype
]))(var1
) /* return_mtype on <var1:nullable MSignature>*/;
1549 var3
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_mmethoddef
) /* mproperty on <var_mmethoddef:MMethodDef>*/;
1550 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_model__MMethod__is_new
]))(var3
) /* is_new on <var3:MProperty(MMethod)>*/;
1552 var5
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1553 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var5
) /* mtype on <var5:nullable Object(RuntimeVariable)>*/;
1555 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1559 if (var_ret
== NULL
) {
1560 var9
= 1; /* is null */
1562 var9
= 0; /* arg is null but recv is not */
1568 var11
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1569 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var11
) /* bound_mtype on <var11:MClassDef>*/;
1570 var13
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1571 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var13
) /* bound_mtype on <var13:MClassDef>*/;
1572 var15
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mmethoddef
) /* mclassdef on <var_mmethoddef:MMethodDef>*/;
1573 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var15
) /* mmodule on <var15:MClassDef>*/;
1575 var18
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var12
, var14
, var16
, var17
) /* resolve_for on <var_ret:nullable MType(MType)>*/;
1577 var19
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
1581 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1582 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var22
) /* modelbuilder on <var22:AbstractCompiler(SeparateCompiler)>*/;
1583 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var23
) /* mpropdef2npropdef on <var23:ModelBuilder>*/;
1584 var25
= ((short int (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var24
, var_mmethoddef
) /* has_key on <var24:HashMap[MPropDef, APropdef]>*/;
1587 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1588 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var26
) /* modelbuilder on <var26:AbstractCompiler(SeparateCompiler)>*/;
1589 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_modelize_property__ModelBuilder__mpropdef2npropdef
]))(var27
) /* mpropdef2npropdef on <var27:ModelBuilder>*/;
1590 var29
= ((val
* (*)(val
*, val
*))(var28
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var28
, var_mmethoddef
) /* [] on <var28:HashMap[MPropDef, APropdef]>*/;
1591 /* <var29:nullable Object(APropdef)> isa AInternMethPropdef */
1592 cltype
= type_parser_nodes__AInternMethPropdef
.color
;
1593 idtype
= type_parser_nodes__AInternMethPropdef
.id
;
1594 if(cltype
>= var29
->type
->table_size
) {
1597 var30
= var29
->type
->type_table
[cltype
] == idtype
;
1605 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1606 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var32
) /* modelbuilder on <var32:AbstractCompiler(SeparateCompiler)>*/;
1607 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var33
) /* toolcontext on <var33:ModelBuilder>*/;
1608 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_inline_intern
]))(var34
) /* opt_no_inline_intern on <var34:ToolContext>*/;
1609 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_opts__Option__value
]))(var35
) /* value on <var35:OptionBool>*/;
1610 var37
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
1617 var39
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
1618 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var39
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var39
, self
, var_mmethoddef
, var_recvtype
, var_arguments
) /* init on <var39:Frame>*/;
1623 var41
= "RET_LABEL";
1625 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1629 var44
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var40
) /* get_name on <self:SeparateCompilerVisitor>*/;
1630 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel_61d
]))(var_frame
, var44
) /* returnlabel= on <var_frame:Frame>*/;
1631 ((void (*)(val
*, val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnvar_61d
]))(var_frame
, var_res
) /* returnvar= on <var_frame:Frame>*/;
1632 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
1633 var_old_frame
= var45
;
1634 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
1638 var48
= "{ /* Inline ";
1640 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1649 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1658 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1662 var61
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var57
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
1668 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1672 var67
= NEW_array__Array(&type_array__Arraykernel__Object
);
1673 { /* var67 = array_instance Array[Object] */
1675 var69
= NEW_array__NativeArray(var68
, &type_array__NativeArraykernel__Object
);
1676 ((struct instance_array__NativeArray
*)var69
)->values
[0] = (val
*) var47
;
1677 ((struct instance_array__NativeArray
*)var69
)->values
[1] = (val
*) var_mmethoddef
;
1678 ((struct instance_array__NativeArray
*)var69
)->values
[2] = (val
*) var52
;
1679 ((struct instance_array__NativeArray
*)var69
)->values
[3] = (val
*) var61
;
1680 ((struct instance_array__NativeArray
*)var69
)->values
[4] = (val
*) var63
;
1681 ((void (*)(val
*, val
*, long))(var67
->class->vft
[COLOR_array__Array__with_native
]))(var67
, var69
, var68
) /* with_native on <var67:Array[Object]>*/;
1683 var70
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_string__Object__to_s
]))(var67
) /* to_s on <var67:Array[Object]>*/;
1684 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var70
) /* add on <self:SeparateCompilerVisitor>*/;
1685 var71
= ((val
* (*)(val
*, val
*, val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MMethodDef__compile_inside_to_c
]))(var_mmethoddef
, self
, var_arguments
) /* compile_inside_to_c on <var_mmethoddef:MMethodDef>*/;
1687 var72
= ((val
* (*)(val
*))(var_frame
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var_frame
) /* returnlabel on <var_frame:Frame>*/;
1688 if (var72
== NULL
) {
1689 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1690 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1096);
1696 var75
= ":(void)0;";
1698 var77
= string__NativeString__to_s_with_length(var75
, var76
);
1702 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
1703 { /* var78 = array_instance Array[Object] */
1705 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
1706 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var72
;
1707 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var74
;
1708 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
1710 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
1711 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var81
) /* add on <self:SeparateCompilerVisitor>*/;
1717 var86
= string__NativeString__to_s_with_length(var84
, var85
);
1721 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var83
) /* add on <self:SeparateCompilerVisitor>*/;
1722 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
1727 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__adapt_signature
]))(self
, var_mmethoddef
, var_arguments
) /* adapt_signature on <self:SeparateCompilerVisitor>*/;
1728 var87
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
1729 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var87
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
1731 if (var_res
== NULL
) {
1732 var89
= 1; /* is null */
1734 var89
= 0; /* arg is null but recv is not */
1737 var90
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
1743 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1752 var100
= string__NativeString__to_s_with_length(var98
, var99
);
1756 var101
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var97
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
1758 var103
= varonce102
;
1762 var106
= string__NativeString__to_s_with_length(var104
, var105
);
1764 varonce102
= var103
;
1766 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
1767 { /* var107 = array_instance Array[Object] */
1769 var109
= NEW_array__NativeArray(var108
, &type_array__NativeArraykernel__Object
);
1770 ((struct instance_array__NativeArray
*)var109
)->values
[0] = (val
*) var90
;
1771 ((struct instance_array__NativeArray
*)var109
)->values
[1] = (val
*) var92
;
1772 ((struct instance_array__NativeArray
*)var109
)->values
[2] = (val
*) var101
;
1773 ((struct instance_array__NativeArray
*)var109
)->values
[3] = (val
*) var103
;
1774 ((void (*)(val
*, val
*, long))(var107
->class->vft
[COLOR_array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
1776 var110
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
1777 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var110
) /* add on <self:SeparateCompilerVisitor>*/;
1783 var113
= varonce112
;
1787 var116
= string__NativeString__to_s_with_length(var114
, var115
);
1789 varonce112
= var113
;
1791 var117
= ((val
* (*)(val
*))(var_mmethoddef
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var_mmethoddef
) /* c_name on <var_mmethoddef:MMethodDef>*/;
1793 var119
= varonce118
;
1797 var122
= string__NativeString__to_s_with_length(var120
, var121
);
1799 varonce118
= var119
;
1802 var124
= varonce123
;
1806 var127
= string__NativeString__to_s_with_length(var125
, var126
);
1808 varonce123
= var124
;
1810 var128
= ((val
* (*)(val
*, val
*))(var_arguments
->class->vft
[COLOR_string__Collection__join
]))(var_arguments
, var124
) /* join on <var_arguments:Array[RuntimeVariable]>*/;
1812 var130
= varonce129
;
1816 var133
= string__NativeString__to_s_with_length(var131
, var132
);
1818 varonce129
= var130
;
1820 var134
= NEW_array__Array(&type_array__Arraykernel__Object
);
1821 { /* var134 = array_instance Array[Object] */
1823 var136
= NEW_array__NativeArray(var135
, &type_array__NativeArraykernel__Object
);
1824 ((struct instance_array__NativeArray
*)var136
)->values
[0] = (val
*) var_res
;
1825 ((struct instance_array__NativeArray
*)var136
)->values
[1] = (val
*) var113
;
1826 ((struct instance_array__NativeArray
*)var136
)->values
[2] = (val
*) var117
;
1827 ((struct instance_array__NativeArray
*)var136
)->values
[3] = (val
*) var119
;
1828 ((struct instance_array__NativeArray
*)var136
)->values
[4] = (val
*) var128
;
1829 ((struct instance_array__NativeArray
*)var136
)->values
[5] = (val
*) var130
;
1830 ((void (*)(val
*, val
*, long))(var134
->class->vft
[COLOR_array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
1832 var137
= ((val
* (*)(val
*))(var134
->class->vft
[COLOR_string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
1833 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var137
) /* add on <self:SeparateCompilerVisitor>*/;
1840 /* method separate_compiler#SeparateCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1841 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1842 val
* var
/* : nullable RuntimeVariable */;
1843 val
* var1
/* : nullable RuntimeVariable */;
1844 var1
= separate_compiler__SeparateCompilerVisitor__call(self
, p0
, p1
, p2
);
1849 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: SeparateCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1850 val
* separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1851 val
* var
/* : nullable RuntimeVariable */;
1852 val
* var_m
/* var m: MMethodDef */;
1853 val
* var_recvtype
/* var recvtype: MClassType */;
1854 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1855 val
* var1
/* : nullable Object */;
1856 val
* var2
/* : MType */;
1857 val
* var3
/* : String */;
1858 static val
* varonce
;
1859 val
* var4
/* : String */;
1860 char* var5
/* : NativeString */;
1861 long var6
/* : Int */;
1862 val
* var7
/* : String */;
1863 short int var8
/* : Bool */;
1864 val
* var9
/* : AbstractCompiler */;
1865 val
* var10
/* : MModule */;
1866 val
* var_main
/* var main: MModule */;
1867 val
* var11
/* : AbstractCompiler */;
1868 val
* var12
/* : AbstractCompiler */;
1869 val
* var13
/* : MModule */;
1870 val
* var14
/* : nullable RuntimeVariable */;
1871 val
* var_res
/* var res: nullable RuntimeVariable */;
1872 val
* var15
/* : AbstractCompiler */;
1873 val
* var16
/* : MProperty */;
1874 val
* var17
/* : String */;
1875 val
* var18
/* : nullable RuntimeVariable */;
1879 var1
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
1880 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var1
) /* mcasttype on <var1:nullable Object(RuntimeVariable)>*/;
1881 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var2
) /* ctype on <var2:MType>*/;
1887 var7
= string__NativeString__to_s_with_length(var5
, var6
);
1891 var8
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var3
, var4
) /* != on <var3:String>*/;
1893 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1894 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var9
) /* mainmodule on <var9:AbstractCompiler(SeparateCompiler)>*/;
1896 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1897 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1898 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule
]))(var12
) /* realmainmodule on <var12:AbstractCompiler(SeparateCompiler)>*/;
1899 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var11
, var13
) /* mainmodule= on <var11:AbstractCompiler(SeparateCompiler)>*/;
1900 var14
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send
]))(self
, var_m
, var_recvtype
, var_arguments
) /* monomorphic_super_send on <self:SeparateCompilerVisitor>*/;
1902 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
1903 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(var15
, var_main
) /* mainmodule= on <var15:AbstractCompiler(SeparateCompiler)>*/;
1908 var16
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var_m
) /* mproperty on <var_m:MMethodDef>*/;
1909 var17
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_separate_compiler__MPropDef__const_color
]))(var_m
) /* const_color on <var_m:MMethodDef>*/;
1910 var18
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__table_send
]))(self
, var16
, var_arguments
, var17
) /* table_send on <self:SeparateCompilerVisitor>*/;
1916 /* method separate_compiler#SeparateCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
1917 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1918 val
* var
/* : nullable RuntimeVariable */;
1919 val
* var1
/* : nullable RuntimeVariable */;
1920 var1
= separate_compiler__SeparateCompilerVisitor__supercall(self
, p0
, p1
, p2
);
1925 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: SeparateCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
1926 val
* separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1927 val
* var
/* : RuntimeVariable */;
1928 val
* var_mpropdef
/* var mpropdef: MPropDef */;
1929 val
* var_recv
/* var recv: RuntimeVariable */;
1930 val
* var_varargs
/* var varargs: Array[RuntimeVariable] */;
1931 val
* var_elttype
/* var elttype: MType */;
1932 val
* var1
/* : nullable Frame */;
1933 val
* var_old_frame
/* var old_frame: nullable Frame */;
1934 val
* var2
/* : Frame */;
1935 val
* var3
/* : MClassDef */;
1936 val
* var4
/* : MClassType */;
1937 val
* var5
/* : Array[RuntimeVariable] */;
1938 long var6
/* : Int */;
1939 val
* var_
/* var : Array[RuntimeVariable] */;
1940 val
* var_frame
/* var frame: Frame */;
1941 val
* var7
/* : RuntimeVariable */;
1942 val
* var_res
/* var res: RuntimeVariable */;
1947 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
1948 var_old_frame
= var1
;
1949 var2
= NEW_abstract_compiler__Frame(&type_abstract_compiler__Frame
);
1950 var3
= ((val
* (*)(val
*))(var_mpropdef
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var_mpropdef
) /* mclassdef on <var_mpropdef:MPropDef>*/;
1951 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var3
) /* bound_mtype on <var3:MClassDef>*/;
1952 var5
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
1954 ((void (*)(val
*, long))(var5
->class->vft
[COLOR_array__Array__with_capacity
]))(var5
, var6
) /* with_capacity on <var5:Array[RuntimeVariable]>*/;
1956 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_
, var_recv
) /* push on <var_:Array[RuntimeVariable]>*/;
1957 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__Frame__init
]))(var2
, self
, var_mpropdef
, var4
, var_
) /* init on <var2:Frame>*/;
1959 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
1960 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__array_instance
]))(self
, var_varargs
, var_elttype
) /* array_instance on <self:SeparateCompilerVisitor>*/;
1962 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame_61d
]))(self
, var_old_frame
) /* frame= on <self:SeparateCompilerVisitor>*/;
1968 /* method separate_compiler#SeparateCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
1969 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1970 val
* var
/* : RuntimeVariable */;
1971 val
* var1
/* : RuntimeVariable */;
1972 var1
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
1977 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
1978 val
* separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
1979 val
* var
/* : RuntimeVariable */;
1980 val
* var_a
/* var a: MAttribute */;
1981 val
* var_recv
/* var recv: RuntimeVariable */;
1982 val
* var1
/* : MClassType */;
1983 val
* var2
/* : RuntimeVariable */;
1984 val
* var_res
/* var res: RuntimeVariable */;
1985 val
* var3
/* : MPropDef */;
1986 val
* var4
/* : nullable MType */;
1987 val
* var_mtype
/* var mtype: MType */;
1988 val
* var5
/* : MPropDef */;
1989 val
* var6
/* : MClassDef */;
1990 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
1991 val
* var7
/* : MClassType */;
1992 val
* var8
/* : MClassType */;
1993 val
* var9
/* : MModule */;
1994 short int var10
/* : Bool */;
1995 val
* var11
/* : MType */;
1996 short int var12
/* : Bool */;
1999 static val
* varonce
;
2000 val
* var13
/* : String */;
2001 char* var14
/* : NativeString */;
2002 long var15
/* : Int */;
2003 val
* var16
/* : String */;
2004 static val
* varonce17
;
2005 val
* var18
/* : String */;
2006 char* var19
/* : NativeString */;
2007 long var20
/* : Int */;
2008 val
* var21
/* : String */;
2009 val
* var22
/* : String */;
2010 static val
* varonce23
;
2011 val
* var24
/* : String */;
2012 char* var25
/* : NativeString */;
2013 long var26
/* : Int */;
2014 val
* var27
/* : String */;
2015 val
* var28
/* : Array[Object] */;
2016 long var29
/* : Int */;
2017 val
* var30
/* : NativeArray[Object] */;
2018 val
* var31
/* : String */;
2019 val
* var32
/* : String */;
2020 val
* var33
/* : AbstractCompiler */;
2021 val
* var34
/* : ModelBuilder */;
2022 val
* var35
/* : ToolContext */;
2023 val
* var36
/* : OptionBool */;
2024 val
* var37
/* : nullable Object */;
2025 short int var38
/* : Bool */;
2026 static val
* varonce39
;
2027 val
* var40
/* : String */;
2028 char* var41
/* : NativeString */;
2029 long var42
/* : Int */;
2030 val
* var43
/* : String */;
2031 static val
* varonce44
;
2032 val
* var45
/* : String */;
2033 char* var46
/* : NativeString */;
2034 long var47
/* : Int */;
2035 val
* var48
/* : String */;
2036 val
* var49
/* : String */;
2037 static val
* varonce50
;
2038 val
* var51
/* : String */;
2039 char* var52
/* : NativeString */;
2040 long var53
/* : Int */;
2041 val
* var54
/* : String */;
2042 static val
* varonce55
;
2043 val
* var56
/* : String */;
2044 char* var57
/* : NativeString */;
2045 long var58
/* : Int */;
2046 val
* var59
/* : String */;
2047 val
* var60
/* : String */;
2048 static val
* varonce61
;
2049 val
* var62
/* : String */;
2050 char* var63
/* : NativeString */;
2051 long var64
/* : Int */;
2052 val
* var65
/* : String */;
2053 val
* var66
/* : Array[Object] */;
2054 long var67
/* : Int */;
2055 val
* var68
/* : NativeArray[Object] */;
2056 val
* var69
/* : String */;
2057 val
* var70
/* : String */;
2058 static val
* varonce71
;
2059 val
* var72
/* : String */;
2060 char* var73
/* : NativeString */;
2061 long var74
/* : Int */;
2062 val
* var75
/* : String */;
2063 short int var76
/* : Bool */;
2064 static val
* varonce77
;
2065 val
* var78
/* : String */;
2066 char* var79
/* : NativeString */;
2067 long var80
/* : Int */;
2068 val
* var81
/* : String */;
2069 static val
* varonce82
;
2070 val
* var83
/* : String */;
2071 char* var84
/* : NativeString */;
2072 long var85
/* : Int */;
2073 val
* var86
/* : String */;
2074 val
* var87
/* : String */;
2075 static val
* varonce88
;
2076 val
* var89
/* : String */;
2077 char* var90
/* : NativeString */;
2078 long var91
/* : Int */;
2079 val
* var92
/* : String */;
2080 static val
* varonce93
;
2081 val
* var94
/* : String */;
2082 char* var95
/* : NativeString */;
2083 long var96
/* : Int */;
2084 val
* var97
/* : String */;
2085 val
* var98
/* : String */;
2086 static val
* varonce99
;
2087 val
* var100
/* : String */;
2088 char* var101
/* : NativeString */;
2089 long var102
/* : Int */;
2090 val
* var103
/* : String */;
2091 val
* var104
/* : Array[Object] */;
2092 long var105
/* : Int */;
2093 val
* var106
/* : NativeArray[Object] */;
2094 val
* var107
/* : String */;
2095 static val
* varonce108
;
2096 val
* var109
/* : String */;
2097 char* var110
/* : NativeString */;
2098 long var111
/* : Int */;
2099 val
* var112
/* : String */;
2100 static val
* varonce113
;
2101 val
* var114
/* : String */;
2102 char* var115
/* : NativeString */;
2103 long var116
/* : Int */;
2104 val
* var117
/* : String */;
2105 val
* var118
/* : String */;
2106 static val
* varonce119
;
2107 val
* var120
/* : String */;
2108 char* var121
/* : NativeString */;
2109 long var122
/* : Int */;
2110 val
* var123
/* : String */;
2111 val
* var124
/* : Array[Object] */;
2112 long var125
/* : Int */;
2113 val
* var126
/* : NativeArray[Object] */;
2114 val
* var127
/* : String */;
2117 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
2118 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
2119 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
2121 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2122 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var3
) /* static_mtype on <var3:MPropDef(MAttributeDef)>*/;
2124 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2125 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1155);
2129 var5
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2130 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var5
) /* mclassdef on <var5:MPropDef(MAttributeDef)>*/;
2131 var_intromclassdef
= var6
;
2132 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2133 var8
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2134 var9
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2136 var11
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var7
, var8
, var9
, var10
) /* resolve_for on <var_mtype:MType>*/;
2138 /* <var_mtype:MType> isa MNullableType */
2139 cltype
= type_model__MNullableType
.color
;
2140 idtype
= type_model__MNullableType
.id
;
2141 if(cltype
>= var_mtype
->type
->table_size
) {
2144 var12
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2150 var14
= " = 1; /* easy isset: ";
2152 var16
= string__NativeString__to_s_with_length(var14
, var15
);
2161 var21
= string__NativeString__to_s_with_length(var19
, var20
);
2165 var22
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2171 var27
= string__NativeString__to_s_with_length(var25
, var26
);
2175 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
2176 { /* var28 = array_instance Array[Object] */
2178 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
2179 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var_res
;
2180 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var13
;
2181 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var_a
;
2182 ((struct instance_array__NativeArray
*)var30
)->values
[3] = (val
*) var18
;
2183 ((struct instance_array__NativeArray
*)var30
)->values
[4] = (val
*) var22
;
2184 ((struct instance_array__NativeArray
*)var30
)->values
[5] = (val
*) var24
;
2185 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
2187 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
2188 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var31
) /* add on <self:SeparateCompilerVisitor>*/;
2193 var32
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2194 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var32
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2195 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2196 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var33
) /* modelbuilder on <var33:AbstractCompiler(SeparateCompiler)>*/;
2197 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var34
) /* toolcontext on <var34:ModelBuilder>*/;
2198 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var35
) /* opt_no_union_attribute on <var35:ToolContext>*/;
2199 var37
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_opts__Option__value
]))(var36
) /* value on <var36:OptionBool>*/;
2200 var38
= ((struct instance_kernel__Bool
*)var37
)->value
; /* autounbox from nullable Object to Bool */;
2207 var43
= string__NativeString__to_s_with_length(var41
, var42
);
2216 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2220 var49
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2224 var52
= "] != NULL; /* ";
2226 var54
= string__NativeString__to_s_with_length(var52
, var53
);
2235 var59
= string__NativeString__to_s_with_length(var57
, var58
);
2239 var60
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2245 var65
= string__NativeString__to_s_with_length(var63
, var64
);
2249 var66
= NEW_array__Array(&type_array__Arraykernel__Object
);
2250 { /* var66 = array_instance Array[Object] */
2252 var68
= NEW_array__NativeArray(var67
, &type_array__NativeArraykernel__Object
);
2253 ((struct instance_array__NativeArray
*)var68
)->values
[0] = (val
*) var_res
;
2254 ((struct instance_array__NativeArray
*)var68
)->values
[1] = (val
*) var40
;
2255 ((struct instance_array__NativeArray
*)var68
)->values
[2] = (val
*) var_recv
;
2256 ((struct instance_array__NativeArray
*)var68
)->values
[3] = (val
*) var45
;
2257 ((struct instance_array__NativeArray
*)var68
)->values
[4] = (val
*) var49
;
2258 ((struct instance_array__NativeArray
*)var68
)->values
[5] = (val
*) var51
;
2259 ((struct instance_array__NativeArray
*)var68
)->values
[6] = (val
*) var_a
;
2260 ((struct instance_array__NativeArray
*)var68
)->values
[7] = (val
*) var56
;
2261 ((struct instance_array__NativeArray
*)var68
)->values
[8] = (val
*) var60
;
2262 ((struct instance_array__NativeArray
*)var68
)->values
[9] = (val
*) var62
;
2263 ((void (*)(val
*, val
*, long))(var66
->class->vft
[COLOR_array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
2265 var69
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
2266 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var69
) /* add on <self:SeparateCompilerVisitor>*/;
2268 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
2274 var75
= string__NativeString__to_s_with_length(var73
, var74
);
2278 var76
= ((short int (*)(val
*, val
*))(var70
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var70
, var72
) /* == on <var70:String>*/;
2285 var81
= string__NativeString__to_s_with_length(var79
, var80
);
2294 var86
= string__NativeString__to_s_with_length(var84
, var85
);
2298 var87
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2302 var90
= "].val != NULL; /* ";
2304 var92
= string__NativeString__to_s_with_length(var90
, var91
);
2313 var97
= string__NativeString__to_s_with_length(var95
, var96
);
2317 var98
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2323 var103
= string__NativeString__to_s_with_length(var101
, var102
);
2327 var104
= NEW_array__Array(&type_array__Arraykernel__Object
);
2328 { /* var104 = array_instance Array[Object] */
2330 var106
= NEW_array__NativeArray(var105
, &type_array__NativeArraykernel__Object
);
2331 ((struct instance_array__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
2332 ((struct instance_array__NativeArray
*)var106
)->values
[1] = (val
*) var78
;
2333 ((struct instance_array__NativeArray
*)var106
)->values
[2] = (val
*) var_recv
;
2334 ((struct instance_array__NativeArray
*)var106
)->values
[3] = (val
*) var83
;
2335 ((struct instance_array__NativeArray
*)var106
)->values
[4] = (val
*) var87
;
2336 ((struct instance_array__NativeArray
*)var106
)->values
[5] = (val
*) var89
;
2337 ((struct instance_array__NativeArray
*)var106
)->values
[6] = (val
*) var_a
;
2338 ((struct instance_array__NativeArray
*)var106
)->values
[7] = (val
*) var94
;
2339 ((struct instance_array__NativeArray
*)var106
)->values
[8] = (val
*) var98
;
2340 ((struct instance_array__NativeArray
*)var106
)->values
[9] = (val
*) var100
;
2341 ((void (*)(val
*, val
*, long))(var104
->class->vft
[COLOR_array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
2343 var107
= ((val
* (*)(val
*))(var104
->class->vft
[COLOR_string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
2344 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var107
) /* add on <self:SeparateCompilerVisitor>*/;
2347 var109
= varonce108
;
2349 var110
= " = 1; /* NOT YET IMPLEMENTED: isset of primitives: ";
2351 var112
= string__NativeString__to_s_with_length(var110
, var111
);
2353 varonce108
= var109
;
2356 var114
= varonce113
;
2360 var117
= string__NativeString__to_s_with_length(var115
, var116
);
2362 varonce113
= var114
;
2364 var118
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2366 var120
= varonce119
;
2370 var123
= string__NativeString__to_s_with_length(var121
, var122
);
2372 varonce119
= var120
;
2374 var124
= NEW_array__Array(&type_array__Arraykernel__Object
);
2375 { /* var124 = array_instance Array[Object] */
2377 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraykernel__Object
);
2378 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var_res
;
2379 ((struct instance_array__NativeArray
*)var126
)->values
[1] = (val
*) var109
;
2380 ((struct instance_array__NativeArray
*)var126
)->values
[2] = (val
*) var_a
;
2381 ((struct instance_array__NativeArray
*)var126
)->values
[3] = (val
*) var114
;
2382 ((struct instance_array__NativeArray
*)var126
)->values
[4] = (val
*) var118
;
2383 ((struct instance_array__NativeArray
*)var126
)->values
[5] = (val
*) var120
;
2384 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[Object]>*/;
2386 var127
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_string__Object__to_s
]))(var124
) /* to_s on <var124:Array[Object]>*/;
2387 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
2395 /* method separate_compiler#SeparateCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
2396 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
2397 val
* var
/* : RuntimeVariable */;
2398 val
* var1
/* : RuntimeVariable */;
2399 var1
= separate_compiler__SeparateCompilerVisitor__isset_attribute(self
, p0
, p1
);
2404 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
2405 val
* separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
2406 val
* var
/* : RuntimeVariable */;
2407 val
* var_a
/* var a: MAttribute */;
2408 val
* var_recv
/* var recv: RuntimeVariable */;
2409 val
* var1
/* : MPropDef */;
2410 val
* var2
/* : nullable MType */;
2411 val
* var_ret
/* var ret: MType */;
2412 val
* var3
/* : MPropDef */;
2413 val
* var4
/* : MClassDef */;
2414 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2415 val
* var5
/* : MClassType */;
2416 val
* var6
/* : MClassType */;
2417 val
* var7
/* : MModule */;
2418 short int var8
/* : Bool */;
2419 val
* var9
/* : MType */;
2420 val
* var10
/* : String */;
2421 val
* var11
/* : AbstractCompiler */;
2422 val
* var12
/* : ModelBuilder */;
2423 val
* var13
/* : ToolContext */;
2424 val
* var14
/* : OptionBool */;
2425 val
* var15
/* : nullable Object */;
2426 short int var16
/* : Bool */;
2427 val
* var17
/* : MClassType */;
2428 val
* var18
/* : MType */;
2429 val
* var_cret
/* var cret: MType */;
2430 val
* var19
/* : RuntimeVariable */;
2431 val
* var_res
/* var res: RuntimeVariable */;
2432 static val
* varonce
;
2433 val
* var20
/* : String */;
2434 char* var21
/* : NativeString */;
2435 long var22
/* : Int */;
2436 val
* var23
/* : String */;
2437 static val
* varonce24
;
2438 val
* var25
/* : String */;
2439 char* var26
/* : NativeString */;
2440 long var27
/* : Int */;
2441 val
* var28
/* : String */;
2442 val
* var29
/* : String */;
2443 static val
* varonce30
;
2444 val
* var31
/* : String */;
2445 char* var32
/* : NativeString */;
2446 long var33
/* : Int */;
2447 val
* var34
/* : String */;
2448 static val
* varonce35
;
2449 val
* var36
/* : String */;
2450 char* var37
/* : NativeString */;
2451 long var38
/* : Int */;
2452 val
* var39
/* : String */;
2453 val
* var40
/* : String */;
2454 static val
* varonce41
;
2455 val
* var42
/* : String */;
2456 char* var43
/* : NativeString */;
2457 long var44
/* : Int */;
2458 val
* var45
/* : String */;
2459 val
* var46
/* : Array[Object] */;
2460 long var47
/* : Int */;
2461 val
* var48
/* : NativeArray[Object] */;
2462 val
* var49
/* : String */;
2463 short int var50
/* : Bool */;
2464 short int var51
/* : Bool */;
2467 short int var52
/* : Bool */;
2468 short int var_
/* var : Bool */;
2469 val
* var53
/* : AbstractCompiler */;
2470 val
* var54
/* : ModelBuilder */;
2471 val
* var55
/* : ToolContext */;
2472 val
* var56
/* : OptionBool */;
2473 val
* var57
/* : nullable Object */;
2474 short int var58
/* : Bool */;
2475 short int var59
/* : Bool */;
2476 static val
* varonce60
;
2477 val
* var61
/* : String */;
2478 char* var62
/* : NativeString */;
2479 long var63
/* : Int */;
2480 val
* var64
/* : String */;
2481 static val
* varonce65
;
2482 val
* var66
/* : String */;
2483 char* var67
/* : NativeString */;
2484 long var68
/* : Int */;
2485 val
* var69
/* : String */;
2486 val
* var70
/* : Array[Object] */;
2487 long var71
/* : Int */;
2488 val
* var72
/* : NativeArray[Object] */;
2489 val
* var73
/* : String */;
2490 static val
* varonce74
;
2491 val
* var75
/* : String */;
2492 char* var76
/* : NativeString */;
2493 long var77
/* : Int */;
2494 val
* var78
/* : String */;
2495 val
* var79
/* : String */;
2496 val
* var80
/* : Array[Object] */;
2497 long var81
/* : Int */;
2498 val
* var82
/* : NativeArray[Object] */;
2499 val
* var83
/* : String */;
2500 static val
* varonce84
;
2501 val
* var85
/* : String */;
2502 char* var86
/* : NativeString */;
2503 long var87
/* : Int */;
2504 val
* var88
/* : String */;
2505 val
* var89
/* : RuntimeVariable */;
2506 val
* var90
/* : RuntimeVariable */;
2507 val
* var_res91
/* var res: RuntimeVariable */;
2508 static val
* varonce92
;
2509 val
* var93
/* : String */;
2510 char* var94
/* : NativeString */;
2511 long var95
/* : Int */;
2512 val
* var96
/* : String */;
2513 static val
* varonce97
;
2514 val
* var98
/* : String */;
2515 char* var99
/* : NativeString */;
2516 long var100
/* : Int */;
2517 val
* var101
/* : String */;
2518 val
* var102
/* : String */;
2519 static val
* varonce103
;
2520 val
* var104
/* : String */;
2521 char* var105
/* : NativeString */;
2522 long var106
/* : Int */;
2523 val
* var107
/* : String */;
2524 val
* var108
/* : String */;
2525 static val
* varonce109
;
2526 val
* var110
/* : String */;
2527 char* var111
/* : NativeString */;
2528 long var112
/* : Int */;
2529 val
* var113
/* : String */;
2530 static val
* varonce114
;
2531 val
* var115
/* : String */;
2532 char* var116
/* : NativeString */;
2533 long var117
/* : Int */;
2534 val
* var118
/* : String */;
2535 val
* var119
/* : String */;
2536 static val
* varonce120
;
2537 val
* var121
/* : String */;
2538 char* var122
/* : NativeString */;
2539 long var123
/* : Int */;
2540 val
* var124
/* : String */;
2541 val
* var125
/* : Array[Object] */;
2542 long var126
/* : Int */;
2543 val
* var127
/* : NativeArray[Object] */;
2544 val
* var128
/* : String */;
2545 short int var129
/* : Bool */;
2546 short int var130
/* : Bool */;
2547 val
* var131
/* : String */;
2548 static val
* varonce132
;
2549 val
* var133
/* : String */;
2550 char* var134
/* : NativeString */;
2551 long var135
/* : Int */;
2552 val
* var136
/* : String */;
2553 short int var137
/* : Bool */;
2554 short int var_138
/* var : Bool */;
2555 short int var139
/* : Bool */;
2558 short int var142
/* : Bool */;
2559 short int var_143
/* var : Bool */;
2560 val
* var144
/* : AbstractCompiler */;
2561 val
* var145
/* : ModelBuilder */;
2562 val
* var146
/* : ToolContext */;
2563 val
* var147
/* : OptionBool */;
2564 val
* var148
/* : nullable Object */;
2565 short int var149
/* : Bool */;
2566 short int var150
/* : Bool */;
2567 static val
* varonce151
;
2568 val
* var152
/* : String */;
2569 char* var153
/* : NativeString */;
2570 long var154
/* : Int */;
2571 val
* var155
/* : String */;
2572 static val
* varonce156
;
2573 val
* var157
/* : String */;
2574 char* var158
/* : NativeString */;
2575 long var159
/* : Int */;
2576 val
* var160
/* : String */;
2577 val
* var161
/* : Array[Object] */;
2578 long var162
/* : Int */;
2579 val
* var163
/* : NativeArray[Object] */;
2580 val
* var164
/* : String */;
2581 static val
* varonce165
;
2582 val
* var166
/* : String */;
2583 char* var167
/* : NativeString */;
2584 long var168
/* : Int */;
2585 val
* var169
/* : String */;
2586 val
* var170
/* : String */;
2587 val
* var171
/* : Array[Object] */;
2588 long var172
/* : Int */;
2589 val
* var173
/* : NativeArray[Object] */;
2590 val
* var174
/* : String */;
2591 static val
* varonce175
;
2592 val
* var176
/* : String */;
2593 char* var177
/* : NativeString */;
2594 long var178
/* : Int */;
2595 val
* var179
/* : String */;
2598 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
2599 var1
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2600 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var1
) /* static_mtype on <var1:MPropDef(MAttributeDef)>*/;
2602 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2603 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1183);
2607 var3
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
2608 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var3
) /* mclassdef on <var3:MPropDef(MAttributeDef)>*/;
2609 var_intromclassdef
= var4
;
2610 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2611 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
2612 var7
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
2614 var9
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_ret
->class->vft
[COLOR_model__MType__resolve_for
]))(var_ret
, var5
, var6
, var7
, var8
) /* resolve_for on <var_ret:MType>*/;
2616 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2617 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
2618 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2619 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
2620 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
2621 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
2622 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
2623 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
2625 var17
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
2626 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_model__MType__as_nullable
]))(var17
) /* as_nullable on <var17:MClassType>*/;
2628 var19
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_cret
) /* new_var on <self:SeparateCompilerVisitor>*/;
2630 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var_res
, var_ret
) /* mcasttype= on <var_res:RuntimeVariable>*/;
2636 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2645 var28
= string__NativeString__to_s_with_length(var26
, var27
);
2649 var29
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2655 var34
= string__NativeString__to_s_with_length(var32
, var33
);
2664 var39
= string__NativeString__to_s_with_length(var37
, var38
);
2668 var40
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2674 var45
= string__NativeString__to_s_with_length(var43
, var44
);
2678 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
2679 { /* var46 = array_instance Array[Object] */
2681 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
2682 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_res
;
2683 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var20
;
2684 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var_recv
;
2685 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var25
;
2686 ((struct instance_array__NativeArray
*)var48
)->values
[4] = (val
*) var29
;
2687 ((struct instance_array__NativeArray
*)var48
)->values
[5] = (val
*) var31
;
2688 ((struct instance_array__NativeArray
*)var48
)->values
[6] = (val
*) var_a
;
2689 ((struct instance_array__NativeArray
*)var48
)->values
[7] = (val
*) var36
;
2690 ((struct instance_array__NativeArray
*)var48
)->values
[8] = (val
*) var40
;
2691 ((struct instance_array__NativeArray
*)var48
)->values
[9] = (val
*) var42
;
2692 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
2694 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
2695 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var49
) /* add on <self:SeparateCompilerVisitor>*/;
2696 /* <var_ret:MType> isa MNullableType */
2697 cltype
= type_model__MNullableType
.color
;
2698 idtype
= type_model__MNullableType
.id
;
2699 if(cltype
>= var_ret
->type
->table_size
) {
2702 var51
= var_ret
->type
->type_table
[cltype
] == idtype
;
2707 var53
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2708 var54
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var53
) /* modelbuilder on <var53:AbstractCompiler(SeparateCompiler)>*/;
2709 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var54
) /* toolcontext on <var54:ModelBuilder>*/;
2710 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var55
) /* opt_no_check_initialization on <var55:ToolContext>*/;
2711 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_opts__Option__value
]))(var56
) /* value on <var56:OptionBool>*/;
2712 var58
= ((struct instance_kernel__Bool
*)var57
)->value
; /* autounbox from nullable Object to Bool */;
2724 var64
= string__NativeString__to_s_with_length(var62
, var63
);
2731 var67
= " == NULL) {";
2733 var69
= string__NativeString__to_s_with_length(var67
, var68
);
2737 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
2738 { /* var70 = array_instance Array[Object] */
2740 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
2741 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var61
;
2742 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var_res
;
2743 ((struct instance_array__NativeArray
*)var72
)->values
[2] = (val
*) var66
;
2744 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
2746 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
2747 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var73
) /* add on <self:SeparateCompilerVisitor>*/;
2751 var76
= "Uninitialized attribute ";
2753 var78
= string__NativeString__to_s_with_length(var76
, var77
);
2757 var79
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
2758 var80
= NEW_array__Array(&type_array__Arraykernel__Object
);
2759 { /* var80 = array_instance Array[Object] */
2761 var82
= NEW_array__NativeArray(var81
, &type_array__NativeArraykernel__Object
);
2762 ((struct instance_array__NativeArray
*)var82
)->values
[0] = (val
*) var75
;
2763 ((struct instance_array__NativeArray
*)var82
)->values
[1] = (val
*) var79
;
2764 ((void (*)(val
*, val
*, long))(var80
->class->vft
[COLOR_array__Array__with_native
]))(var80
, var82
, var81
) /* with_native on <var80:Array[Object]>*/;
2766 var83
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_string__Object__to_s
]))(var80
) /* to_s on <var80:Array[Object]>*/;
2767 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var83
) /* add_abort on <self:SeparateCompilerVisitor>*/;
2773 var88
= string__NativeString__to_s_with_length(var86
, var87
);
2777 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var85
) /* add on <self:SeparateCompilerVisitor>*/;
2780 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_res
, var_ret
) /* autobox on <self:SeparateCompilerVisitor>*/;
2784 var90
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_ret
) /* new_var on <self:SeparateCompilerVisitor>*/;
2791 var96
= string__NativeString__to_s_with_length(var94
, var95
);
2800 var101
= string__NativeString__to_s_with_length(var99
, var100
);
2804 var102
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
2806 var104
= varonce103
;
2810 var107
= string__NativeString__to_s_with_length(var105
, var106
);
2812 varonce103
= var104
;
2814 var108
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_ret
) /* ctypename on <var_ret:MType>*/;
2816 var110
= varonce109
;
2820 var113
= string__NativeString__to_s_with_length(var111
, var112
);
2822 varonce109
= var110
;
2825 var115
= varonce114
;
2829 var118
= string__NativeString__to_s_with_length(var116
, var117
);
2831 varonce114
= var115
;
2833 var119
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
2835 var121
= varonce120
;
2839 var124
= string__NativeString__to_s_with_length(var122
, var123
);
2841 varonce120
= var121
;
2843 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
2844 { /* var125 = array_instance Array[Object] */
2846 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
2847 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var_res91
;
2848 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var93
;
2849 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var_recv
;
2850 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var98
;
2851 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var102
;
2852 ((struct instance_array__NativeArray
*)var127
)->values
[5] = (val
*) var104
;
2853 ((struct instance_array__NativeArray
*)var127
)->values
[6] = (val
*) var108
;
2854 ((struct instance_array__NativeArray
*)var127
)->values
[7] = (val
*) var110
;
2855 ((struct instance_array__NativeArray
*)var127
)->values
[8] = (val
*) var_a
;
2856 ((struct instance_array__NativeArray
*)var127
)->values
[9] = (val
*) var115
;
2857 ((struct instance_array__NativeArray
*)var127
)->values
[10] = (val
*) var119
;
2858 ((struct instance_array__NativeArray
*)var127
)->values
[11] = (val
*) var121
;
2859 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
2861 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
2862 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
2863 var131
= ((val
* (*)(val
*))(var_ret
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:MType>*/;
2865 var133
= varonce132
;
2869 var136
= string__NativeString__to_s_with_length(var134
, var135
);
2871 varonce132
= var133
;
2873 var137
= ((short int (*)(val
*, val
*))(var131
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var131
, var133
) /* == on <var131:String>*/;
2876 /* <var_ret:MType> isa MNullableType */
2877 cltype140
= type_model__MNullableType
.color
;
2878 idtype141
= type_model__MNullableType
.id
;
2879 if(cltype140
>= var_ret
->type
->table_size
) {
2882 var139
= var_ret
->type
->type_table
[cltype140
] == idtype141
;
2891 var144
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
2892 var145
= ((val
* (*)(val
*))(var144
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var144
) /* modelbuilder on <var144:AbstractCompiler(SeparateCompiler)>*/;
2893 var146
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var145
) /* toolcontext on <var145:ModelBuilder>*/;
2894 var147
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(var146
) /* opt_no_check_initialization on <var146:ToolContext>*/;
2895 var148
= ((val
* (*)(val
*))(var147
->class->vft
[COLOR_opts__Option__value
]))(var147
) /* value on <var147:OptionBool>*/;
2896 var149
= ((struct instance_kernel__Bool
*)var148
)->value
; /* autounbox from nullable Object to Bool */;
2904 var152
= varonce151
;
2908 var155
= string__NativeString__to_s_with_length(var153
, var154
);
2910 varonce151
= var152
;
2913 var157
= varonce156
;
2915 var158
= " == NULL) {";
2917 var160
= string__NativeString__to_s_with_length(var158
, var159
);
2919 varonce156
= var157
;
2921 var161
= NEW_array__Array(&type_array__Arraykernel__Object
);
2922 { /* var161 = array_instance Array[Object] */
2924 var163
= NEW_array__NativeArray(var162
, &type_array__NativeArraykernel__Object
);
2925 ((struct instance_array__NativeArray
*)var163
)->values
[0] = (val
*) var152
;
2926 ((struct instance_array__NativeArray
*)var163
)->values
[1] = (val
*) var_res91
;
2927 ((struct instance_array__NativeArray
*)var163
)->values
[2] = (val
*) var157
;
2928 ((void (*)(val
*, val
*, long))(var161
->class->vft
[COLOR_array__Array__with_native
]))(var161
, var163
, var162
) /* with_native on <var161:Array[Object]>*/;
2930 var164
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_string__Object__to_s
]))(var161
) /* to_s on <var161:Array[Object]>*/;
2931 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var164
) /* add on <self:SeparateCompilerVisitor>*/;
2933 var166
= varonce165
;
2935 var167
= "Uninitialized attribute ";
2937 var169
= string__NativeString__to_s_with_length(var167
, var168
);
2939 varonce165
= var166
;
2941 var170
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__name
]))(var_a
) /* name on <var_a:MAttribute>*/;
2942 var171
= NEW_array__Array(&type_array__Arraykernel__Object
);
2943 { /* var171 = array_instance Array[Object] */
2945 var173
= NEW_array__NativeArray(var172
, &type_array__NativeArraykernel__Object
);
2946 ((struct instance_array__NativeArray
*)var173
)->values
[0] = (val
*) var166
;
2947 ((struct instance_array__NativeArray
*)var173
)->values
[1] = (val
*) var170
;
2948 ((void (*)(val
*, val
*, long))(var171
->class->vft
[COLOR_array__Array__with_native
]))(var171
, var173
, var172
) /* with_native on <var171:Array[Object]>*/;
2950 var174
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_string__Object__to_s
]))(var171
) /* to_s on <var171:Array[Object]>*/;
2951 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var174
) /* add_abort on <self:SeparateCompilerVisitor>*/;
2953 var176
= varonce175
;
2957 var179
= string__NativeString__to_s_with_length(var177
, var178
);
2959 varonce175
= var176
;
2961 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var176
) /* add on <self:SeparateCompilerVisitor>*/;
2970 /* method separate_compiler#SeparateCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
2971 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
2972 val
* var
/* : RuntimeVariable */;
2973 val
* var1
/* : RuntimeVariable */;
2974 var1
= separate_compiler__SeparateCompilerVisitor__read_attribute(self
, p0
, p1
);
2979 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: SeparateCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
2980 void separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2981 val
* var_a
/* var a: MAttribute */;
2982 val
* var_recv
/* var recv: RuntimeVariable */;
2983 val
* var_value
/* var value: RuntimeVariable */;
2984 val
* var
/* : MPropDef */;
2985 val
* var1
/* : nullable MType */;
2986 val
* var_mtype
/* var mtype: MType */;
2987 val
* var2
/* : MPropDef */;
2988 val
* var3
/* : MClassDef */;
2989 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
2990 val
* var4
/* : MClassType */;
2991 val
* var5
/* : MClassType */;
2992 val
* var6
/* : MModule */;
2993 short int var7
/* : Bool */;
2994 val
* var8
/* : MType */;
2995 val
* var9
/* : RuntimeVariable */;
2996 val
* var10
/* : String */;
2997 val
* var11
/* : AbstractCompiler */;
2998 val
* var12
/* : ModelBuilder */;
2999 val
* var13
/* : ToolContext */;
3000 val
* var14
/* : OptionBool */;
3001 val
* var15
/* : nullable Object */;
3002 short int var16
/* : Bool */;
3003 val
* var17
/* : Array[Object] */;
3004 long var18
/* : Int */;
3005 val
* var_
/* var : Array[Object] */;
3006 static val
* varonce
;
3007 val
* var19
/* : String */;
3008 char* var20
/* : NativeString */;
3009 long var21
/* : Int */;
3010 val
* var22
/* : String */;
3011 static val
* varonce23
;
3012 val
* var24
/* : String */;
3013 char* var25
/* : NativeString */;
3014 long var26
/* : Int */;
3015 val
* var27
/* : String */;
3016 val
* var28
/* : String */;
3017 static val
* varonce29
;
3018 val
* var30
/* : String */;
3019 char* var31
/* : NativeString */;
3020 long var32
/* : Int */;
3021 val
* var33
/* : String */;
3022 val
* var34
/* : String */;
3023 val
* var_attr
/* var attr: String */;
3024 val
* var35
/* : String */;
3025 static val
* varonce36
;
3026 val
* var37
/* : String */;
3027 char* var38
/* : NativeString */;
3028 long var39
/* : Int */;
3029 val
* var40
/* : String */;
3030 short int var41
/* : Bool */;
3031 short int var42
/* : Bool */;
3034 static val
* varonce43
;
3035 val
* var44
/* : String */;
3036 char* var45
/* : NativeString */;
3037 long var46
/* : Int */;
3038 val
* var47
/* : String */;
3039 static val
* varonce48
;
3040 val
* var49
/* : String */;
3041 char* var50
/* : NativeString */;
3042 long var51
/* : Int */;
3043 val
* var52
/* : String */;
3044 val
* var53
/* : Array[Object] */;
3045 long var54
/* : Int */;
3046 val
* var55
/* : NativeArray[Object] */;
3047 val
* var56
/* : String */;
3048 static val
* varonce57
;
3049 val
* var58
/* : String */;
3050 char* var59
/* : NativeString */;
3051 long var60
/* : Int */;
3052 val
* var61
/* : String */;
3053 val
* var62
/* : String */;
3054 static val
* varonce63
;
3055 val
* var64
/* : String */;
3056 char* var65
/* : NativeString */;
3057 long var66
/* : Int */;
3058 val
* var67
/* : String */;
3059 static val
* varonce68
;
3060 val
* var69
/* : String */;
3061 char* var70
/* : NativeString */;
3062 long var71
/* : Int */;
3063 val
* var72
/* : String */;
3064 static val
* varonce73
;
3065 val
* var74
/* : String */;
3066 char* var75
/* : NativeString */;
3067 long var76
/* : Int */;
3068 val
* var77
/* : String */;
3069 static val
* varonce78
;
3070 val
* var79
/* : String */;
3071 char* var80
/* : NativeString */;
3072 long var81
/* : Int */;
3073 val
* var82
/* : String */;
3074 val
* var83
/* : String */;
3075 static val
* varonce84
;
3076 val
* var85
/* : String */;
3077 char* var86
/* : NativeString */;
3078 long var87
/* : Int */;
3079 val
* var88
/* : String */;
3080 val
* var89
/* : Array[Object] */;
3081 long var90
/* : Int */;
3082 val
* var91
/* : NativeArray[Object] */;
3083 val
* var92
/* : String */;
3084 static val
* varonce93
;
3085 val
* var94
/* : String */;
3086 char* var95
/* : NativeString */;
3087 long var96
/* : Int */;
3088 val
* var97
/* : String */;
3089 val
* var98
/* : MClassType */;
3090 val
* var99
/* : MType */;
3091 val
* var100
/* : RuntimeVariable */;
3092 static val
* varonce101
;
3093 val
* var102
/* : String */;
3094 char* var103
/* : NativeString */;
3095 long var104
/* : Int */;
3096 val
* var105
/* : String */;
3097 static val
* varonce106
;
3098 val
* var107
/* : String */;
3099 char* var108
/* : NativeString */;
3100 long var109
/* : Int */;
3101 val
* var110
/* : String */;
3102 static val
* varonce111
;
3103 val
* var112
/* : String */;
3104 char* var113
/* : NativeString */;
3105 long var114
/* : Int */;
3106 val
* var115
/* : String */;
3107 val
* var116
/* : String */;
3108 static val
* varonce117
;
3109 val
* var118
/* : String */;
3110 char* var119
/* : NativeString */;
3111 long var120
/* : Int */;
3112 val
* var121
/* : String */;
3113 val
* var122
/* : Array[Object] */;
3114 long var123
/* : Int */;
3115 val
* var124
/* : NativeArray[Object] */;
3116 val
* var125
/* : String */;
3117 static val
* varonce126
;
3118 val
* var127
/* : String */;
3119 char* var128
/* : NativeString */;
3120 long var129
/* : Int */;
3121 val
* var130
/* : String */;
3122 static val
* varonce131
;
3123 val
* var132
/* : String */;
3124 char* var133
/* : NativeString */;
3125 long var134
/* : Int */;
3126 val
* var135
/* : String */;
3127 static val
* varonce136
;
3128 val
* var137
/* : String */;
3129 char* var138
/* : NativeString */;
3130 long var139
/* : Int */;
3131 val
* var140
/* : String */;
3132 static val
* varonce141
;
3133 val
* var142
/* : String */;
3134 char* var143
/* : NativeString */;
3135 long var144
/* : Int */;
3136 val
* var145
/* : String */;
3137 val
* var146
/* : String */;
3138 static val
* varonce147
;
3139 val
* var148
/* : String */;
3140 char* var149
/* : NativeString */;
3141 long var150
/* : Int */;
3142 val
* var151
/* : String */;
3143 val
* var152
/* : Array[Object] */;
3144 long var153
/* : Int */;
3145 val
* var154
/* : NativeArray[Object] */;
3146 val
* var155
/* : String */;
3147 static val
* varonce156
;
3148 val
* var157
/* : String */;
3149 char* var158
/* : NativeString */;
3150 long var159
/* : Int */;
3151 val
* var160
/* : String */;
3152 val
* var161
/* : String */;
3153 static val
* varonce162
;
3154 val
* var163
/* : String */;
3155 char* var164
/* : NativeString */;
3156 long var165
/* : Int */;
3157 val
* var166
/* : String */;
3158 val
* var167
/* : String */;
3159 static val
* varonce168
;
3160 val
* var169
/* : String */;
3161 char* var170
/* : NativeString */;
3162 long var171
/* : Int */;
3163 val
* var172
/* : String */;
3164 static val
* varonce173
;
3165 val
* var174
/* : String */;
3166 char* var175
/* : NativeString */;
3167 long var176
/* : Int */;
3168 val
* var177
/* : String */;
3169 static val
* varonce178
;
3170 val
* var179
/* : String */;
3171 char* var180
/* : NativeString */;
3172 long var181
/* : Int */;
3173 val
* var182
/* : String */;
3174 val
* var183
/* : String */;
3175 static val
* varonce184
;
3176 val
* var185
/* : String */;
3177 char* var186
/* : NativeString */;
3178 long var187
/* : Int */;
3179 val
* var188
/* : String */;
3180 val
* var189
/* : Array[Object] */;
3181 long var190
/* : Int */;
3182 val
* var191
/* : NativeArray[Object] */;
3183 val
* var192
/* : String */;
3187 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull
]))(self
, var_recv
) /* check_recv_notnull on <self:SeparateCompilerVisitor>*/;
3188 var
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3189 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_model__MAttributeDef__static_mtype
]))(var
) /* static_mtype on <var:MPropDef(MAttributeDef)>*/;
3191 fprintf(stderr
, "Runtime error: %s", "Cast failed");
3192 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1226);
3196 var2
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_model__MProperty__intro
]))(var_a
) /* intro on <var_a:MAttribute>*/;
3197 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var2
) /* mclassdef on <var2:MPropDef(MAttributeDef)>*/;
3198 var_intromclassdef
= var3
;
3199 var4
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3200 var5
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var_intromclassdef
) /* bound_mtype on <var_intromclassdef:MClassDef>*/;
3201 var6
= ((val
* (*)(val
*))(var_intromclassdef
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var_intromclassdef
) /* mmodule on <var_intromclassdef:MClassDef>*/;
3203 var8
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var4
, var5
, var6
, var7
) /* resolve_for on <var_mtype:MType>*/;
3205 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var_mtype
) /* autobox on <self:SeparateCompilerVisitor>*/;
3207 var10
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3208 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3209 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3210 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var11
) /* modelbuilder on <var11:AbstractCompiler(SeparateCompiler)>*/;
3211 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var12
) /* toolcontext on <var12:ModelBuilder>*/;
3212 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_separate_compiler__ToolContext__opt_no_union_attribute
]))(var13
) /* opt_no_union_attribute on <var13:ToolContext>*/;
3213 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_opts__Option__value
]))(var14
) /* value on <var14:OptionBool>*/;
3214 var16
= ((struct instance_kernel__Bool
*)var15
)->value
; /* autounbox from nullable Object to Bool */;
3216 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
3218 ((void (*)(val
*, long))(var17
->class->vft
[COLOR_array__Array__with_capacity
]))(var17
, var18
) /* with_capacity on <var17:Array[Object]>*/;
3225 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3229 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var19
) /* add on <var_:Array[Object]>*/;
3230 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_recv
) /* add on <var_:Array[Object]>*/;
3236 var27
= string__NativeString__to_s_with_length(var25
, var26
);
3240 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
3241 var28
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3242 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var28
) /* add on <var_:Array[Object]>*/;
3248 var33
= string__NativeString__to_s_with_length(var31
, var32
);
3252 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var30
) /* add on <var_:Array[Object]>*/;
3253 var34
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3255 var35
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
3261 var40
= string__NativeString__to_s_with_length(var38
, var39
);
3265 var41
= ((short int (*)(val
*, val
*))(var35
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var35
, var37
) /* != on <var35:String>*/;
3267 /* <var_mtype:MType> isa MClassType */
3268 cltype
= type_model__MClassType
.color
;
3269 idtype
= type_model__MClassType
.id
;
3270 if(cltype
>= var_mtype
->type
->table_size
) {
3273 var42
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3276 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3277 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1237);
3285 var47
= string__NativeString__to_s_with_length(var45
, var46
);
3292 var50
= " != NULL) {";
3294 var52
= string__NativeString__to_s_with_length(var50
, var51
);
3298 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
3299 { /* var53 = array_instance Array[Object] */
3301 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
3302 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var44
;
3303 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var_attr
;
3304 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var49
;
3305 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
3307 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
3308 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var56
) /* add on <self:SeparateCompilerVisitor>*/;
3312 var59
= "((struct instance_";
3314 var61
= string__NativeString__to_s_with_length(var59
, var60
);
3318 var62
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType(MClassType)>*/;
3324 var67
= string__NativeString__to_s_with_length(var65
, var66
);
3331 var70
= ")->value = ";
3333 var72
= string__NativeString__to_s_with_length(var70
, var71
);
3342 var77
= string__NativeString__to_s_with_length(var75
, var76
);
3351 var82
= string__NativeString__to_s_with_length(var80
, var81
);
3355 var83
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3361 var88
= string__NativeString__to_s_with_length(var86
, var87
);
3365 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
3366 { /* var89 = array_instance Array[Object] */
3368 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
3369 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var58
;
3370 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var62
;
3371 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var64
;
3372 ((struct instance_array__NativeArray
*)var91
)->values
[3] = (val
*) var_attr
;
3373 ((struct instance_array__NativeArray
*)var91
)->values
[4] = (val
*) var69
;
3374 ((struct instance_array__NativeArray
*)var91
)->values
[5] = (val
*) var_value
;
3375 ((struct instance_array__NativeArray
*)var91
)->values
[6] = (val
*) var74
;
3376 ((struct instance_array__NativeArray
*)var91
)->values
[7] = (val
*) var_a
;
3377 ((struct instance_array__NativeArray
*)var91
)->values
[8] = (val
*) var79
;
3378 ((struct instance_array__NativeArray
*)var91
)->values
[9] = (val
*) var83
;
3379 ((struct instance_array__NativeArray
*)var91
)->values
[10] = (val
*) var85
;
3380 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
3382 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
3383 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var92
) /* add on <self:SeparateCompilerVisitor>*/;
3389 var97
= string__NativeString__to_s_with_length(var95
, var96
);
3393 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var94
) /* add on <self:SeparateCompilerVisitor>*/;
3394 var98
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
3395 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_model__MType__as_nullable
]))(var98
) /* as_nullable on <var98:MClassType>*/;
3396 var100
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value
, var99
) /* autobox on <self:SeparateCompilerVisitor>*/;
3399 var102
= varonce101
;
3403 var105
= string__NativeString__to_s_with_length(var103
, var104
);
3405 varonce101
= var102
;
3408 var107
= varonce106
;
3412 var110
= string__NativeString__to_s_with_length(var108
, var109
);
3414 varonce106
= var107
;
3417 var112
= varonce111
;
3421 var115
= string__NativeString__to_s_with_length(var113
, var114
);
3423 varonce111
= var112
;
3425 var116
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3427 var118
= varonce117
;
3431 var121
= string__NativeString__to_s_with_length(var119
, var120
);
3433 varonce117
= var118
;
3435 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
3436 { /* var122 = array_instance Array[Object] */
3438 var124
= NEW_array__NativeArray(var123
, &type_array__NativeArraykernel__Object
);
3439 ((struct instance_array__NativeArray
*)var124
)->values
[0] = (val
*) var_attr
;
3440 ((struct instance_array__NativeArray
*)var124
)->values
[1] = (val
*) var102
;
3441 ((struct instance_array__NativeArray
*)var124
)->values
[2] = (val
*) var_value
;
3442 ((struct instance_array__NativeArray
*)var124
)->values
[3] = (val
*) var107
;
3443 ((struct instance_array__NativeArray
*)var124
)->values
[4] = (val
*) var_a
;
3444 ((struct instance_array__NativeArray
*)var124
)->values
[5] = (val
*) var112
;
3445 ((struct instance_array__NativeArray
*)var124
)->values
[6] = (val
*) var116
;
3446 ((struct instance_array__NativeArray
*)var124
)->values
[7] = (val
*) var118
;
3447 ((void (*)(val
*, val
*, long))(var122
->class->vft
[COLOR_array__Array__with_native
]))(var122
, var124
, var123
) /* with_native on <var122:Array[Object]>*/;
3449 var125
= ((val
* (*)(val
*))(var122
->class->vft
[COLOR_string__Object__to_s
]))(var122
) /* to_s on <var122:Array[Object]>*/;
3450 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var125
) /* add on <self:SeparateCompilerVisitor>*/;
3452 var127
= varonce126
;
3456 var130
= string__NativeString__to_s_with_length(var128
, var129
);
3458 varonce126
= var127
;
3460 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var127
) /* add on <self:SeparateCompilerVisitor>*/;
3463 var132
= varonce131
;
3467 var135
= string__NativeString__to_s_with_length(var133
, var134
);
3469 varonce131
= var132
;
3472 var137
= varonce136
;
3476 var140
= string__NativeString__to_s_with_length(var138
, var139
);
3478 varonce136
= var137
;
3481 var142
= varonce141
;
3485 var145
= string__NativeString__to_s_with_length(var143
, var144
);
3487 varonce141
= var142
;
3489 var146
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3491 var148
= varonce147
;
3495 var151
= string__NativeString__to_s_with_length(var149
, var150
);
3497 varonce147
= var148
;
3499 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
3500 { /* var152 = array_instance Array[Object] */
3502 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
3503 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_attr
;
3504 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var132
;
3505 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value
;
3506 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var137
;
3507 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_a
;
3508 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var142
;
3509 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var146
;
3510 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var148
;
3511 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
3513 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
3514 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
3518 var157
= varonce156
;
3520 var158
= "->attrs[";
3522 var160
= string__NativeString__to_s_with_length(var158
, var159
);
3524 varonce156
= var157
;
3526 var161
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_separate_compiler__MProperty__const_color
]))(var_a
) /* const_color on <var_a:MAttribute>*/;
3528 var163
= varonce162
;
3532 var166
= string__NativeString__to_s_with_length(var164
, var165
);
3534 varonce162
= var163
;
3536 var167
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctypename
]))(var_mtype
) /* ctypename on <var_mtype:MType>*/;
3538 var169
= varonce168
;
3542 var172
= string__NativeString__to_s_with_length(var170
, var171
);
3544 varonce168
= var169
;
3547 var174
= varonce173
;
3551 var177
= string__NativeString__to_s_with_length(var175
, var176
);
3553 varonce173
= var174
;
3556 var179
= varonce178
;
3560 var182
= string__NativeString__to_s_with_length(var180
, var181
);
3562 varonce178
= var179
;
3564 var183
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_string__Object__inspect
]))(var_recv
) /* inspect on <var_recv:RuntimeVariable>*/;
3566 var185
= varonce184
;
3570 var188
= string__NativeString__to_s_with_length(var186
, var187
);
3572 varonce184
= var185
;
3574 var189
= NEW_array__Array(&type_array__Arraykernel__Object
);
3575 { /* var189 = array_instance Array[Object] */
3577 var191
= NEW_array__NativeArray(var190
, &type_array__NativeArraykernel__Object
);
3578 ((struct instance_array__NativeArray
*)var191
)->values
[0] = (val
*) var_recv
;
3579 ((struct instance_array__NativeArray
*)var191
)->values
[1] = (val
*) var157
;
3580 ((struct instance_array__NativeArray
*)var191
)->values
[2] = (val
*) var161
;
3581 ((struct instance_array__NativeArray
*)var191
)->values
[3] = (val
*) var163
;
3582 ((struct instance_array__NativeArray
*)var191
)->values
[4] = (val
*) var167
;
3583 ((struct instance_array__NativeArray
*)var191
)->values
[5] = (val
*) var169
;
3584 ((struct instance_array__NativeArray
*)var191
)->values
[6] = (val
*) var_value
;
3585 ((struct instance_array__NativeArray
*)var191
)->values
[7] = (val
*) var174
;
3586 ((struct instance_array__NativeArray
*)var191
)->values
[8] = (val
*) var_a
;
3587 ((struct instance_array__NativeArray
*)var191
)->values
[9] = (val
*) var179
;
3588 ((struct instance_array__NativeArray
*)var191
)->values
[10] = (val
*) var183
;
3589 ((struct instance_array__NativeArray
*)var191
)->values
[11] = (val
*) var185
;
3590 ((void (*)(val
*, val
*, long))(var189
->class->vft
[COLOR_array__Array__with_native
]))(var189
, var191
, var190
) /* with_native on <var189:Array[Object]>*/;
3592 var192
= ((val
* (*)(val
*))(var189
->class->vft
[COLOR_string__Object__to_s
]))(var189
) /* to_s on <var189:Array[Object]>*/;
3593 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var192
) /* add on <self:SeparateCompilerVisitor>*/;
3597 /* method separate_compiler#SeparateCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
3598 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3599 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
3602 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: SeparateCompilerVisitor, MClassType): RuntimeVariable */
3603 val
* separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
3604 val
* var
/* : RuntimeVariable */;
3605 val
* var_mtype
/* var mtype: MClassType */;
3606 static val
* varonce
;
3607 val
* var1
/* : String */;
3608 char* var2
/* : NativeString */;
3609 long var3
/* : Int */;
3610 val
* var4
/* : String */;
3611 val
* var5
/* : MClass */;
3612 val
* var6
/* : String */;
3613 val
* var7
/* : Array[Object] */;
3614 long var8
/* : Int */;
3615 val
* var9
/* : NativeArray[Object] */;
3616 val
* var10
/* : String */;
3617 val
* var11
/* : AbstractCompiler */;
3618 val
* var_compiler
/* var compiler: SeparateCompiler */;
3619 short int var12
/* : Bool */;
3620 short int var13
/* : Bool */;
3623 short int var_
/* var : Bool */;
3624 short int var14
/* : Bool */;
3625 val
* var15
/* : nullable Frame */;
3626 val
* var16
/* : MPropDef */;
3627 val
* var17
/* : MClassDef */;
3628 val
* var18
/* : nullable Frame */;
3629 val
* var19
/* : Array[RuntimeVariable] */;
3630 val
* var20
/* : nullable Object */;
3631 val
* var_recv
/* var recv: RuntimeVariable */;
3632 val
* var21
/* : String */;
3633 val
* var_recv_type_info
/* var recv_type_info: String */;
3634 val
* var22
/* : String */;
3635 short int var23
/* : Bool */;
3636 val
* var24
/* : ModelBuilder */;
3637 val
* var25
/* : ToolContext */;
3638 val
* var26
/* : OptionBool */;
3639 val
* var27
/* : nullable Object */;
3640 short int var28
/* : Bool */;
3641 short int var_29
/* var : Bool */;
3642 val
* var30
/* : ModelBuilder */;
3643 val
* var31
/* : ToolContext */;
3644 val
* var32
/* : OptionBool */;
3645 val
* var33
/* : nullable Object */;
3646 short int var34
/* : Bool */;
3647 static val
* varonce35
;
3648 val
* var36
/* : String */;
3649 char* var37
/* : NativeString */;
3650 long var38
/* : Int */;
3651 val
* var39
/* : String */;
3652 val
* var40
/* : MClass */;
3653 val
* var41
/* : String */;
3654 static val
* varonce42
;
3655 val
* var43
/* : String */;
3656 char* var44
/* : NativeString */;
3657 long var45
/* : Int */;
3658 val
* var46
/* : String */;
3659 static val
* varonce47
;
3660 val
* var48
/* : String */;
3661 char* var49
/* : NativeString */;
3662 long var50
/* : Int */;
3663 val
* var51
/* : String */;
3664 static val
* varonce52
;
3665 val
* var53
/* : String */;
3666 char* var54
/* : NativeString */;
3667 long var55
/* : Int */;
3668 val
* var56
/* : String */;
3669 val
* var57
/* : String */;
3670 static val
* varonce58
;
3671 val
* var59
/* : String */;
3672 char* var60
/* : NativeString */;
3673 long var61
/* : Int */;
3674 val
* var62
/* : String */;
3675 val
* var63
/* : Array[Object] */;
3676 long var64
/* : Int */;
3677 val
* var65
/* : NativeArray[Object] */;
3678 val
* var66
/* : String */;
3679 val
* var67
/* : RuntimeVariable */;
3680 static val
* varonce68
;
3681 val
* var69
/* : String */;
3682 char* var70
/* : NativeString */;
3683 long var71
/* : Int */;
3684 val
* var72
/* : String */;
3685 val
* var73
/* : MClass */;
3686 val
* var74
/* : String */;
3687 static val
* varonce75
;
3688 val
* var76
/* : String */;
3689 char* var77
/* : NativeString */;
3690 long var78
/* : Int */;
3691 val
* var79
/* : String */;
3692 static val
* varonce80
;
3693 val
* var81
/* : String */;
3694 char* var82
/* : NativeString */;
3695 long var83
/* : Int */;
3696 val
* var84
/* : String */;
3697 val
* var85
/* : String */;
3698 static val
* varonce86
;
3699 val
* var87
/* : String */;
3700 char* var88
/* : NativeString */;
3701 long var89
/* : Int */;
3702 val
* var90
/* : String */;
3703 val
* var91
/* : Array[Object] */;
3704 long var92
/* : Int */;
3705 val
* var93
/* : NativeArray[Object] */;
3706 val
* var94
/* : String */;
3707 val
* var95
/* : RuntimeVariable */;
3708 val
* var96
/* : Set[MType] */;
3709 static val
* varonce97
;
3710 val
* var98
/* : String */;
3711 char* var99
/* : NativeString */;
3712 long var100
/* : Int */;
3713 val
* var101
/* : String */;
3714 val
* var102
/* : String */;
3715 val
* var103
/* : Array[Object] */;
3716 long var104
/* : Int */;
3717 val
* var105
/* : NativeArray[Object] */;
3718 val
* var106
/* : String */;
3719 static val
* varonce107
;
3720 val
* var108
/* : String */;
3721 char* var109
/* : NativeString */;
3722 long var110
/* : Int */;
3723 val
* var111
/* : String */;
3724 val
* var112
/* : MClass */;
3725 val
* var113
/* : String */;
3726 static val
* varonce114
;
3727 val
* var115
/* : String */;
3728 char* var116
/* : NativeString */;
3729 long var117
/* : Int */;
3730 val
* var118
/* : String */;
3731 val
* var119
/* : String */;
3732 static val
* varonce120
;
3733 val
* var121
/* : String */;
3734 char* var122
/* : NativeString */;
3735 long var123
/* : Int */;
3736 val
* var124
/* : String */;
3737 val
* var125
/* : Array[Object] */;
3738 long var126
/* : Int */;
3739 val
* var127
/* : NativeArray[Object] */;
3740 val
* var128
/* : String */;
3741 val
* var129
/* : RuntimeVariable */;
3748 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3752 var5
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
3753 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var5
) /* c_name on <var5:MClass>*/;
3754 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3755 { /* var7 = array_instance Array[Object] */
3757 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArraykernel__Object
);
3758 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
3759 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var6
;
3760 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Object]>*/;
3762 var10
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_string__Object__to_s
]))(var7
) /* to_s on <var7:Array[Object]>*/;
3763 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var10
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3764 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
3765 var_compiler
= var11
;
3766 /* <var_mtype:MClassType> isa MGenericType */
3767 cltype
= type_model__MGenericType
.color
;
3768 idtype
= type_model__MGenericType
.id
;
3769 if(cltype
>= var_mtype
->type
->table_size
) {
3772 var13
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3776 var14
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
3782 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
3783 if (var15
== NULL
) {
3784 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3785 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1260);
3788 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var15
) /* mpropdef on <var15:nullable Frame>*/;
3790 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var16
) /* mclassdef on <var16:MPropDef>*/;
3791 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var17
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
3792 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
3793 if (var18
== NULL
) {
3794 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
3795 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1261);
3798 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var18
) /* arguments on <var18:nullable Frame>*/;
3800 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:Array[RuntimeVariable]>*/;
3802 var21
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
3803 var_recv_type_info
= var21
;
3804 var22
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
3805 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var22
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3806 var24
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
3807 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var24
) /* toolcontext on <var24:ModelBuilder>*/;
3808 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var25
) /* opt_phmod_typing on <var25:ToolContext>*/;
3809 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_opts__Option__value
]))(var26
) /* value on <var26:OptionBool>*/;
3810 var28
= ((struct instance_kernel__Bool
*)var27
)->value
; /* autounbox from nullable Object to Bool */;
3815 var30
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
3816 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var30
) /* toolcontext on <var30:ModelBuilder>*/;
3817 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var31
) /* opt_phand_typing on <var31:ToolContext>*/;
3818 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_opts__Option__value
]))(var32
) /* value on <var32:OptionBool>*/;
3819 var34
= ((struct instance_kernel__Bool
*)var33
)->value
; /* autounbox from nullable Object to Bool */;
3828 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3832 var40
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
3833 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var40
) /* c_name on <var40:MClass>*/;
3839 var46
= string__NativeString__to_s_with_length(var44
, var45
);
3846 var49
= "->resolution_table->types[HASH(";
3848 var51
= string__NativeString__to_s_with_length(var49
, var50
);
3855 var54
= "->resolution_table->mask, ";
3857 var56
= string__NativeString__to_s_with_length(var54
, var55
);
3861 var57
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
3867 var62
= string__NativeString__to_s_with_length(var60
, var61
);
3871 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
3872 { /* var63 = array_instance Array[Object] */
3874 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
3875 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var36
;
3876 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var41
;
3877 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var43
;
3878 ((struct instance_array__NativeArray
*)var65
)->values
[3] = (val
*) var_recv_type_info
;
3879 ((struct instance_array__NativeArray
*)var65
)->values
[4] = (val
*) var48
;
3880 ((struct instance_array__NativeArray
*)var65
)->values
[5] = (val
*) var_recv_type_info
;
3881 ((struct instance_array__NativeArray
*)var65
)->values
[6] = (val
*) var53
;
3882 ((struct instance_array__NativeArray
*)var65
)->values
[7] = (val
*) var57
;
3883 ((struct instance_array__NativeArray
*)var65
)->values
[8] = (val
*) var59
;
3884 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
3886 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
3887 var67
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var66
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
3896 var72
= string__NativeString__to_s_with_length(var70
, var71
);
3900 var73
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
3901 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var73
) /* c_name on <var73:MClass>*/;
3907 var79
= string__NativeString__to_s_with_length(var77
, var78
);
3914 var82
= "->resolution_table->types[";
3916 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3920 var85
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
3926 var90
= string__NativeString__to_s_with_length(var88
, var89
);
3930 var91
= NEW_array__Array(&type_array__Arraykernel__Object
);
3931 { /* var91 = array_instance Array[Object] */
3933 var93
= NEW_array__NativeArray(var92
, &type_array__NativeArraykernel__Object
);
3934 ((struct instance_array__NativeArray
*)var93
)->values
[0] = (val
*) var69
;
3935 ((struct instance_array__NativeArray
*)var93
)->values
[1] = (val
*) var74
;
3936 ((struct instance_array__NativeArray
*)var93
)->values
[2] = (val
*) var76
;
3937 ((struct instance_array__NativeArray
*)var93
)->values
[3] = (val
*) var_recv_type_info
;
3938 ((struct instance_array__NativeArray
*)var93
)->values
[4] = (val
*) var81
;
3939 ((struct instance_array__NativeArray
*)var93
)->values
[5] = (val
*) var85
;
3940 ((struct instance_array__NativeArray
*)var93
)->values
[6] = (val
*) var87
;
3941 ((void (*)(val
*, val
*, long))(var91
->class->vft
[COLOR_array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
3943 var94
= ((val
* (*)(val
*))(var91
->class->vft
[COLOR_string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
3944 var95
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var94
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
3950 var96
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
3951 ((void (*)(val
*, val
*))(var96
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var96
, var_mtype
) /* add on <var96:Set[MType]>*/;
3957 var101
= string__NativeString__to_s_with_length(var99
, var100
);
3961 var102
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
3962 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
3963 { /* var103 = array_instance Array[Object] */
3965 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArraykernel__Object
);
3966 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var98
;
3967 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var102
;
3968 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[Object]>*/;
3970 var106
= ((val
* (*)(val
*))(var103
->class->vft
[COLOR_string__Object__to_s
]))(var103
) /* to_s on <var103:Array[Object]>*/;
3971 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var106
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
3973 var108
= varonce107
;
3977 var111
= string__NativeString__to_s_with_length(var109
, var110
);
3979 varonce107
= var108
;
3981 var112
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
3982 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var112
) /* c_name on <var112:MClass>*/;
3984 var115
= varonce114
;
3988 var118
= string__NativeString__to_s_with_length(var116
, var117
);
3990 varonce114
= var115
;
3992 var119
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
3994 var121
= varonce120
;
3998 var124
= string__NativeString__to_s_with_length(var122
, var123
);
4000 varonce120
= var121
;
4002 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
4003 { /* var125 = array_instance Array[Object] */
4005 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
4006 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var108
;
4007 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var113
;
4008 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var115
;
4009 ((struct instance_array__NativeArray
*)var127
)->values
[3] = (val
*) var119
;
4010 ((struct instance_array__NativeArray
*)var127
)->values
[4] = (val
*) var121
;
4011 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
4013 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
4014 var129
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var128
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
4020 /* method separate_compiler#SeparateCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
4021 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__init_instance(val
* self
, val
* p0
) {
4022 val
* var
/* : RuntimeVariable */;
4023 val
* var1
/* : RuntimeVariable */;
4024 var1
= separate_compiler__SeparateCompilerVisitor__init_instance(self
, p0
);
4029 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
4030 val
* separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4031 val
* var
/* : RuntimeVariable */;
4032 val
* var_value
/* var value: RuntimeVariable */;
4033 val
* var_mtype
/* var mtype: MType */;
4034 val
* var_tag
/* var tag: String */;
4035 static val
* varonce
;
4036 val
* var1
/* : String */;
4037 char* var2
/* : NativeString */;
4038 long var3
/* : Int */;
4039 val
* var4
/* : String */;
4040 val
* var5
/* : String */;
4041 static val
* varonce6
;
4042 val
* var7
/* : String */;
4043 char* var8
/* : NativeString */;
4044 long var9
/* : Int */;
4045 val
* var10
/* : String */;
4046 static val
* varonce11
;
4047 val
* var12
/* : String */;
4048 char* var13
/* : NativeString */;
4049 long var14
/* : Int */;
4050 val
* var15
/* : String */;
4051 val
* var16
/* : Array[Object] */;
4052 long var17
/* : Int */;
4053 val
* var18
/* : NativeArray[Object] */;
4054 val
* var19
/* : String */;
4055 val
* var20
/* : AbstractCompiler */;
4056 val
* var_compiler
/* var compiler: SeparateCompiler */;
4057 val
* var21
/* : nullable Frame */;
4058 val
* var22
/* : Array[RuntimeVariable] */;
4059 val
* var23
/* : nullable Object */;
4060 val
* var_recv
/* var recv: RuntimeVariable */;
4061 val
* var24
/* : String */;
4062 val
* var_recv_type_info
/* var recv_type_info: String */;
4063 val
* var25
/* : MClassType */;
4064 val
* var26
/* : RuntimeVariable */;
4065 val
* var_res
/* var res: RuntimeVariable */;
4066 static val
* varonce27
;
4067 val
* var28
/* : String */;
4068 char* var29
/* : NativeString */;
4069 long var30
/* : Int */;
4070 val
* var31
/* : String */;
4071 val
* var32
/* : String */;
4072 val
* var_cltype
/* var cltype: String */;
4073 static val
* varonce33
;
4074 val
* var34
/* : String */;
4075 char* var35
/* : NativeString */;
4076 long var36
/* : Int */;
4077 val
* var37
/* : String */;
4078 static val
* varonce38
;
4079 val
* var39
/* : String */;
4080 char* var40
/* : NativeString */;
4081 long var41
/* : Int */;
4082 val
* var42
/* : String */;
4083 val
* var43
/* : Array[Object] */;
4084 long var44
/* : Int */;
4085 val
* var45
/* : NativeArray[Object] */;
4086 val
* var46
/* : String */;
4087 static val
* varonce47
;
4088 val
* var48
/* : String */;
4089 char* var49
/* : NativeString */;
4090 long var50
/* : Int */;
4091 val
* var51
/* : String */;
4092 val
* var52
/* : String */;
4093 val
* var_idtype
/* var idtype: String */;
4094 static val
* varonce53
;
4095 val
* var54
/* : String */;
4096 char* var55
/* : NativeString */;
4097 long var56
/* : Int */;
4098 val
* var57
/* : String */;
4099 static val
* varonce58
;
4100 val
* var59
/* : String */;
4101 char* var60
/* : NativeString */;
4102 long var61
/* : Int */;
4103 val
* var62
/* : String */;
4104 val
* var63
/* : Array[Object] */;
4105 long var64
/* : Int */;
4106 val
* var65
/* : NativeArray[Object] */;
4107 val
* var66
/* : String */;
4108 short int var67
/* : Bool */;
4109 short int var_maybe_null
/* var maybe_null: Bool */;
4110 static val
* varonce68
;
4111 val
* var69
/* : String */;
4112 char* var70
/* : NativeString */;
4113 long var71
/* : Int */;
4114 val
* var72
/* : String */;
4115 val
* var_accept_null
/* var accept_null: String */;
4116 val
* var_ntype
/* var ntype: MType */;
4117 short int var73
/* : Bool */;
4120 val
* var74
/* : MType */;
4121 static val
* varonce75
;
4122 val
* var76
/* : String */;
4123 char* var77
/* : NativeString */;
4124 long var78
/* : Int */;
4125 val
* var79
/* : String */;
4126 val
* var80
/* : MType */;
4127 val
* var81
/* : nullable Frame */;
4128 val
* var82
/* : MPropDef */;
4129 val
* var83
/* : MClassDef */;
4130 val
* var84
/* : MModule */;
4131 val
* var85
/* : nullable Frame */;
4132 val
* var86
/* : MPropDef */;
4133 val
* var87
/* : MClassDef */;
4134 val
* var88
/* : MClassType */;
4135 short int var89
/* : Bool */;
4136 static val
* varonce90
;
4137 val
* var91
/* : String */;
4138 char* var92
/* : NativeString */;
4139 long var93
/* : Int */;
4140 val
* var94
/* : String */;
4141 val
* var95
/* : String */;
4142 static val
* varonce96
;
4143 val
* var97
/* : String */;
4144 char* var98
/* : NativeString */;
4145 long var99
/* : Int */;
4146 val
* var100
/* : String */;
4147 static val
* varonce101
;
4148 val
* var102
/* : String */;
4149 char* var103
/* : NativeString */;
4150 long var104
/* : Int */;
4151 val
* var105
/* : String */;
4152 val
* var106
/* : Array[Object] */;
4153 long var107
/* : Int */;
4154 val
* var108
/* : NativeArray[Object] */;
4155 val
* var109
/* : String */;
4156 val
* var110
/* : ModelBuilder */;
4157 val
* var111
/* : ToolContext */;
4158 val
* var112
/* : OptionBool */;
4159 val
* var113
/* : nullable Object */;
4160 short int var114
/* : Bool */;
4161 val
* var115
/* : AbstractCompiler */;
4162 val
* var116
/* : HashMap[String, Int] */;
4163 val
* var_
/* var : HashMap[String, Int] */;
4164 val
* var_117
/* var : String */;
4165 val
* var118
/* : nullable Object */;
4166 long var119
/* : Int */;
4167 long var120
/* : Int */;
4168 long var122
/* : Int */;
4169 long var123
/* : Int */;
4170 val
* var124
/* : nullable Object */;
4171 static val
* varonce125
;
4172 val
* var126
/* : String */;
4173 char* var127
/* : NativeString */;
4174 long var128
/* : Int */;
4175 val
* var129
/* : String */;
4176 static val
* varonce130
;
4177 val
* var131
/* : String */;
4178 char* var132
/* : NativeString */;
4179 long var133
/* : Int */;
4180 val
* var134
/* : String */;
4181 val
* var135
/* : Array[Object] */;
4182 long var136
/* : Int */;
4183 val
* var137
/* : NativeArray[Object] */;
4184 val
* var138
/* : String */;
4185 short int var139
/* : Bool */;
4186 static val
* varonce140
;
4187 val
* var141
/* : String */;
4188 char* var142
/* : NativeString */;
4189 long var143
/* : Int */;
4190 val
* var144
/* : String */;
4191 val
* var145
/* : String */;
4192 val
* var_type_struct
/* var type_struct: String */;
4193 static val
* varonce146
;
4194 val
* var147
/* : String */;
4195 char* var148
/* : NativeString */;
4196 long var149
/* : Int */;
4197 val
* var150
/* : String */;
4198 static val
* varonce151
;
4199 val
* var152
/* : String */;
4200 char* var153
/* : NativeString */;
4201 long var154
/* : Int */;
4202 val
* var155
/* : String */;
4203 val
* var156
/* : Array[Object] */;
4204 long var157
/* : Int */;
4205 val
* var158
/* : NativeArray[Object] */;
4206 val
* var159
/* : String */;
4207 val
* var160
/* : nullable Frame */;
4208 val
* var161
/* : MPropDef */;
4209 val
* var162
/* : MClassDef */;
4210 val
* var163
/* : String */;
4211 short int var164
/* : Bool */;
4212 val
* var165
/* : ModelBuilder */;
4213 val
* var166
/* : ToolContext */;
4214 val
* var167
/* : OptionBool */;
4215 val
* var168
/* : nullable Object */;
4216 short int var169
/* : Bool */;
4217 short int var_170
/* var : Bool */;
4218 val
* var171
/* : ModelBuilder */;
4219 val
* var172
/* : ToolContext */;
4220 val
* var173
/* : OptionBool */;
4221 val
* var174
/* : nullable Object */;
4222 short int var175
/* : Bool */;
4223 static val
* varonce176
;
4224 val
* var177
/* : String */;
4225 char* var178
/* : NativeString */;
4226 long var179
/* : Int */;
4227 val
* var180
/* : String */;
4228 static val
* varonce181
;
4229 val
* var182
/* : String */;
4230 char* var183
/* : NativeString */;
4231 long var184
/* : Int */;
4232 val
* var185
/* : String */;
4233 static val
* varonce186
;
4234 val
* var187
/* : String */;
4235 char* var188
/* : NativeString */;
4236 long var189
/* : Int */;
4237 val
* var190
/* : String */;
4238 val
* var191
/* : String */;
4239 static val
* varonce192
;
4240 val
* var193
/* : String */;
4241 char* var194
/* : NativeString */;
4242 long var195
/* : Int */;
4243 val
* var196
/* : String */;
4244 val
* var197
/* : Array[Object] */;
4245 long var198
/* : Int */;
4246 val
* var199
/* : NativeArray[Object] */;
4247 val
* var200
/* : String */;
4248 static val
* varonce201
;
4249 val
* var202
/* : String */;
4250 char* var203
/* : NativeString */;
4251 long var204
/* : Int */;
4252 val
* var205
/* : String */;
4253 static val
* varonce206
;
4254 val
* var207
/* : String */;
4255 char* var208
/* : NativeString */;
4256 long var209
/* : Int */;
4257 val
* var210
/* : String */;
4258 val
* var211
/* : String */;
4259 static val
* varonce212
;
4260 val
* var213
/* : String */;
4261 char* var214
/* : NativeString */;
4262 long var215
/* : Int */;
4263 val
* var216
/* : String */;
4264 val
* var217
/* : Array[Object] */;
4265 long var218
/* : Int */;
4266 val
* var219
/* : NativeArray[Object] */;
4267 val
* var220
/* : String */;
4268 val
* var221
/* : ModelBuilder */;
4269 val
* var222
/* : ToolContext */;
4270 val
* var223
/* : OptionBool */;
4271 val
* var224
/* : nullable Object */;
4272 short int var225
/* : Bool */;
4273 val
* var226
/* : AbstractCompiler */;
4274 val
* var227
/* : HashMap[String, Int] */;
4275 val
* var_228
/* var : HashMap[String, Int] */;
4276 val
* var_229
/* var : String */;
4277 val
* var230
/* : nullable Object */;
4278 long var231
/* : Int */;
4279 long var232
/* : Int */;
4280 long var234
/* : Int */;
4281 long var235
/* : Int */;
4282 val
* var236
/* : nullable Object */;
4283 static val
* varonce237
;
4284 val
* var238
/* : String */;
4285 char* var239
/* : NativeString */;
4286 long var240
/* : Int */;
4287 val
* var241
/* : String */;
4288 static val
* varonce242
;
4289 val
* var243
/* : String */;
4290 char* var244
/* : NativeString */;
4291 long var245
/* : Int */;
4292 val
* var246
/* : String */;
4293 val
* var247
/* : Array[Object] */;
4294 long var248
/* : Int */;
4295 val
* var249
/* : NativeArray[Object] */;
4296 val
* var250
/* : String */;
4297 static val
* varonce251
;
4298 val
* var252
/* : String */;
4299 char* var253
/* : NativeString */;
4300 long var254
/* : Int */;
4301 val
* var255
/* : String */;
4302 static val
* varonce256
;
4303 val
* var257
/* : String */;
4304 char* var258
/* : NativeString */;
4305 long var259
/* : Int */;
4306 val
* var260
/* : String */;
4307 val
* var261
/* : Array[Object] */;
4308 long var262
/* : Int */;
4309 val
* var263
/* : NativeArray[Object] */;
4310 val
* var264
/* : String */;
4311 static val
* varonce265
;
4312 val
* var266
/* : String */;
4313 char* var267
/* : NativeString */;
4314 long var268
/* : Int */;
4315 val
* var269
/* : String */;
4316 static val
* varonce270
;
4317 val
* var271
/* : String */;
4318 char* var272
/* : NativeString */;
4319 long var273
/* : Int */;
4320 val
* var274
/* : String */;
4321 val
* var275
/* : Array[Object] */;
4322 long var276
/* : Int */;
4323 val
* var277
/* : NativeArray[Object] */;
4324 val
* var278
/* : String */;
4325 short int var279
/* : Bool */;
4326 short int var_280
/* var : Bool */;
4327 static val
* varonce281
;
4328 val
* var282
/* : String */;
4329 char* var283
/* : NativeString */;
4330 long var284
/* : Int */;
4331 val
* var285
/* : String */;
4332 short int var286
/* : Bool */;
4333 static val
* varonce287
;
4334 val
* var288
/* : String */;
4335 char* var289
/* : NativeString */;
4336 long var290
/* : Int */;
4337 val
* var291
/* : String */;
4338 val
* var292
/* : String */;
4339 val
* var_is_nullable
/* var is_nullable: String */;
4340 static val
* varonce293
;
4341 val
* var294
/* : String */;
4342 char* var295
/* : NativeString */;
4343 long var296
/* : Int */;
4344 val
* var297
/* : String */;
4345 static val
* varonce298
;
4346 val
* var299
/* : String */;
4347 char* var300
/* : NativeString */;
4348 long var301
/* : Int */;
4349 val
* var302
/* : String */;
4350 val
* var303
/* : Array[Object] */;
4351 long var304
/* : Int */;
4352 val
* var305
/* : NativeArray[Object] */;
4353 val
* var306
/* : String */;
4354 static val
* varonce307
;
4355 val
* var308
/* : String */;
4356 char* var309
/* : NativeString */;
4357 long var310
/* : Int */;
4358 val
* var311
/* : String */;
4359 static val
* varonce312
;
4360 val
* var313
/* : String */;
4361 char* var314
/* : NativeString */;
4362 long var315
/* : Int */;
4363 val
* var316
/* : String */;
4364 val
* var317
/* : Array[Object] */;
4365 long var318
/* : Int */;
4366 val
* var319
/* : NativeArray[Object] */;
4367 val
* var320
/* : String */;
4368 val
* var321
/* : String */;
4369 short int var322
/* : Bool */;
4372 val
* var325
/* : Set[MType] */;
4373 static val
* varonce326
;
4374 val
* var327
/* : String */;
4375 char* var328
/* : NativeString */;
4376 long var329
/* : Int */;
4377 val
* var330
/* : String */;
4378 val
* var331
/* : String */;
4379 val
* var332
/* : Array[Object] */;
4380 long var333
/* : Int */;
4381 val
* var334
/* : NativeArray[Object] */;
4382 val
* var335
/* : String */;
4383 static val
* varonce336
;
4384 val
* var337
/* : String */;
4385 char* var338
/* : NativeString */;
4386 long var339
/* : Int */;
4387 val
* var340
/* : String */;
4388 val
* var341
/* : String */;
4389 static val
* varonce342
;
4390 val
* var343
/* : String */;
4391 char* var344
/* : NativeString */;
4392 long var345
/* : Int */;
4393 val
* var346
/* : String */;
4394 val
* var347
/* : Array[Object] */;
4395 long var348
/* : Int */;
4396 val
* var349
/* : NativeArray[Object] */;
4397 val
* var350
/* : String */;
4398 static val
* varonce351
;
4399 val
* var352
/* : String */;
4400 char* var353
/* : NativeString */;
4401 long var354
/* : Int */;
4402 val
* var355
/* : String */;
4403 val
* var356
/* : String */;
4404 static val
* varonce357
;
4405 val
* var358
/* : String */;
4406 char* var359
/* : NativeString */;
4407 long var360
/* : Int */;
4408 val
* var361
/* : String */;
4409 val
* var362
/* : Array[Object] */;
4410 long var363
/* : Int */;
4411 val
* var364
/* : NativeArray[Object] */;
4412 val
* var365
/* : String */;
4413 val
* var366
/* : ModelBuilder */;
4414 val
* var367
/* : ToolContext */;
4415 val
* var368
/* : OptionBool */;
4416 val
* var369
/* : nullable Object */;
4417 short int var370
/* : Bool */;
4418 val
* var371
/* : AbstractCompiler */;
4419 val
* var372
/* : HashMap[String, Int] */;
4420 val
* var_373
/* var : HashMap[String, Int] */;
4421 val
* var_374
/* var : String */;
4422 val
* var375
/* : nullable Object */;
4423 long var376
/* : Int */;
4424 long var377
/* : Int */;
4425 long var379
/* : Int */;
4426 long var380
/* : Int */;
4427 val
* var381
/* : nullable Object */;
4428 static val
* varonce382
;
4429 val
* var383
/* : String */;
4430 char* var384
/* : NativeString */;
4431 long var385
/* : Int */;
4432 val
* var386
/* : String */;
4433 static val
* varonce387
;
4434 val
* var388
/* : String */;
4435 char* var389
/* : NativeString */;
4436 long var390
/* : Int */;
4437 val
* var391
/* : String */;
4438 val
* var392
/* : Array[Object] */;
4439 long var393
/* : Int */;
4440 val
* var394
/* : NativeArray[Object] */;
4441 val
* var395
/* : String */;
4442 static val
* varonce396
;
4443 val
* var397
/* : String */;
4444 char* var398
/* : NativeString */;
4445 long var399
/* : Int */;
4446 val
* var400
/* : String */;
4447 static val
* varonce401
;
4448 val
* var402
/* : String */;
4449 char* var403
/* : NativeString */;
4450 long var404
/* : Int */;
4451 val
* var405
/* : String */;
4452 val
* var406
/* : String */;
4453 static val
* varonce407
;
4454 val
* var408
/* : String */;
4455 char* var409
/* : NativeString */;
4456 long var410
/* : Int */;
4457 val
* var411
/* : String */;
4458 val
* var412
/* : Array[Object] */;
4459 long var413
/* : Int */;
4460 val
* var414
/* : NativeArray[Object] */;
4461 val
* var415
/* : String */;
4462 static val
* varonce416
;
4463 val
* var417
/* : String */;
4464 char* var418
/* : NativeString */;
4465 long var419
/* : Int */;
4466 val
* var420
/* : String */;
4467 static val
* varonce421
;
4468 val
* var422
/* : String */;
4469 char* var423
/* : NativeString */;
4470 long var424
/* : Int */;
4471 val
* var425
/* : String */;
4472 val
* var426
/* : Array[Object] */;
4473 long var427
/* : Int */;
4474 val
* var428
/* : NativeArray[Object] */;
4475 val
* var429
/* : String */;
4476 static val
* varonce430
;
4477 val
* var431
/* : String */;
4478 char* var432
/* : NativeString */;
4479 long var433
/* : Int */;
4480 val
* var434
/* : String */;
4481 static val
* varonce435
;
4482 val
* var436
/* : String */;
4483 char* var437
/* : NativeString */;
4484 long var438
/* : Int */;
4485 val
* var439
/* : String */;
4486 val
* var440
/* : Array[Object] */;
4487 long var441
/* : Int */;
4488 val
* var442
/* : NativeArray[Object] */;
4489 val
* var443
/* : String */;
4490 static val
* varonce444
;
4491 val
* var445
/* : String */;
4492 char* var446
/* : NativeString */;
4493 long var447
/* : Int */;
4494 val
* var448
/* : String */;
4495 val
* var449
/* : String */;
4496 val
* var_value_type_info
/* var value_type_info: String */;
4497 short int var450
/* : Bool */;
4498 val
* var451
/* : ModelBuilder */;
4499 val
* var452
/* : ToolContext */;
4500 val
* var453
/* : OptionBool */;
4501 val
* var454
/* : nullable Object */;
4502 short int var455
/* : Bool */;
4503 short int var_456
/* var : Bool */;
4504 val
* var457
/* : ModelBuilder */;
4505 val
* var458
/* : ToolContext */;
4506 val
* var459
/* : OptionBool */;
4507 val
* var460
/* : nullable Object */;
4508 short int var461
/* : Bool */;
4509 static val
* varonce462
;
4510 val
* var463
/* : String */;
4511 char* var464
/* : NativeString */;
4512 long var465
/* : Int */;
4513 val
* var466
/* : String */;
4514 static val
* varonce467
;
4515 val
* var468
/* : String */;
4516 char* var469
/* : NativeString */;
4517 long var470
/* : Int */;
4518 val
* var471
/* : String */;
4519 static val
* varonce472
;
4520 val
* var473
/* : String */;
4521 char* var474
/* : NativeString */;
4522 long var475
/* : Int */;
4523 val
* var476
/* : String */;
4524 val
* var477
/* : Array[Object] */;
4525 long var478
/* : Int */;
4526 val
* var479
/* : NativeArray[Object] */;
4527 val
* var480
/* : String */;
4528 static val
* varonce481
;
4529 val
* var482
/* : String */;
4530 char* var483
/* : NativeString */;
4531 long var484
/* : Int */;
4532 val
* var485
/* : String */;
4533 static val
* varonce486
;
4534 val
* var487
/* : String */;
4535 char* var488
/* : NativeString */;
4536 long var489
/* : Int */;
4537 val
* var490
/* : String */;
4538 static val
* varonce491
;
4539 val
* var492
/* : String */;
4540 char* var493
/* : NativeString */;
4541 long var494
/* : Int */;
4542 val
* var495
/* : String */;
4543 val
* var496
/* : Array[Object] */;
4544 long var497
/* : Int */;
4545 val
* var498
/* : NativeArray[Object] */;
4546 val
* var499
/* : String */;
4547 static val
* varonce500
;
4548 val
* var501
/* : String */;
4549 char* var502
/* : NativeString */;
4550 long var503
/* : Int */;
4551 val
* var504
/* : String */;
4552 val
* var505
/* : Array[Object] */;
4553 long var506
/* : Int */;
4554 val
* var507
/* : NativeArray[Object] */;
4555 val
* var508
/* : String */;
4556 static val
* varonce509
;
4557 val
* var510
/* : String */;
4558 char* var511
/* : NativeString */;
4559 long var512
/* : Int */;
4560 val
* var513
/* : String */;
4561 static val
* varonce514
;
4562 val
* var515
/* : String */;
4563 char* var516
/* : NativeString */;
4564 long var517
/* : Int */;
4565 val
* var518
/* : String */;
4566 static val
* varonce519
;
4567 val
* var520
/* : String */;
4568 char* var521
/* : NativeString */;
4569 long var522
/* : Int */;
4570 val
* var523
/* : String */;
4571 static val
* varonce524
;
4572 val
* var525
/* : String */;
4573 char* var526
/* : NativeString */;
4574 long var527
/* : Int */;
4575 val
* var528
/* : String */;
4576 static val
* varonce529
;
4577 val
* var530
/* : String */;
4578 char* var531
/* : NativeString */;
4579 long var532
/* : Int */;
4580 val
* var533
/* : String */;
4581 val
* var534
/* : Array[Object] */;
4582 long var535
/* : Int */;
4583 val
* var536
/* : NativeArray[Object] */;
4584 val
* var537
/* : String */;
4585 static val
* varonce538
;
4586 val
* var539
/* : String */;
4587 char* var540
/* : NativeString */;
4588 long var541
/* : Int */;
4589 val
* var542
/* : String */;
4590 static val
* varonce543
;
4591 val
* var544
/* : String */;
4592 char* var545
/* : NativeString */;
4593 long var546
/* : Int */;
4594 val
* var547
/* : String */;
4603 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4607 var5
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
4613 var10
= string__NativeString__to_s_with_length(var8
, var9
);
4622 var15
= string__NativeString__to_s_with_length(var13
, var14
);
4626 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
4627 { /* var16 = array_instance Array[Object] */
4629 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
4630 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
4631 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var5
;
4632 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var7
;
4633 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var_mtype
;
4634 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var12
;
4635 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
4637 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
4638 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var19
) /* add on <self:SeparateCompilerVisitor>*/;
4639 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4640 var_compiler
= var20
;
4641 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4642 if (var21
== NULL
) {
4643 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4644 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1280);
4647 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var21
) /* arguments on <var21:nullable Frame>*/;
4649 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var22
) /* first on <var22:Array[RuntimeVariable]>*/;
4651 var24
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
4652 var_recv_type_info
= var24
;
4653 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
4654 var26
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var25
) /* new_var on <self:SeparateCompilerVisitor>*/;
4661 var31
= string__NativeString__to_s_with_length(var29
, var30
);
4665 var32
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var28
) /* get_name on <self:SeparateCompilerVisitor>*/;
4672 var37
= string__NativeString__to_s_with_length(var35
, var36
);
4681 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4685 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
4686 { /* var43 = array_instance Array[Object] */
4688 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
4689 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var34
;
4690 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var_cltype
;
4691 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var39
;
4692 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
4694 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
4695 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var46
) /* add_decl on <self:SeparateCompilerVisitor>*/;
4701 var51
= string__NativeString__to_s_with_length(var49
, var50
);
4705 var52
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var48
) /* get_name on <self:SeparateCompilerVisitor>*/;
4712 var57
= string__NativeString__to_s_with_length(var55
, var56
);
4721 var62
= string__NativeString__to_s_with_length(var60
, var61
);
4725 var63
= NEW_array__Array(&type_array__Arraykernel__Object
);
4726 { /* var63 = array_instance Array[Object] */
4728 var65
= NEW_array__NativeArray(var64
, &type_array__NativeArraykernel__Object
);
4729 ((struct instance_array__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
4730 ((struct instance_array__NativeArray
*)var65
)->values
[1] = (val
*) var_idtype
;
4731 ((struct instance_array__NativeArray
*)var65
)->values
[2] = (val
*) var59
;
4732 ((void (*)(val
*, val
*, long))(var63
->class->vft
[COLOR_array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Object]>*/;
4734 var66
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_string__Object__to_s
]))(var63
) /* to_s on <var63:Array[Object]>*/;
4735 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var66
) /* add_decl on <self:SeparateCompilerVisitor>*/;
4736 var67
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__maybe_null
]))(self
, var_value
) /* maybe_null on <self:SeparateCompilerVisitor>*/;
4737 var_maybe_null
= var67
;
4743 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4747 var_accept_null
= var69
;
4748 var_ntype
= var_mtype
;
4749 /* <var_ntype:MType> isa MNullableType */
4750 cltype
= type_model__MNullableType
.color
;
4751 idtype
= type_model__MNullableType
.id
;
4752 if(cltype
>= var_ntype
->type
->table_size
) {
4755 var73
= var_ntype
->type
->type_table
[cltype
] == idtype
;
4758 var74
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_ntype
) /* mtype on <var_ntype:MType(MNullableType)>*/;
4765 var79
= string__NativeString__to_s_with_length(var77
, var78
);
4769 var_accept_null
= var76
;
4772 var80
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
4773 var81
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4774 if (var81
== NULL
) {
4775 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4776 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1298);
4779 var82
= ((val
* (*)(val
*))(var81
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var81
) /* mpropdef on <var81:nullable Frame>*/;
4781 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var82
) /* mclassdef on <var82:MPropDef>*/;
4782 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_model__MClassDef__mmodule
]))(var83
) /* mmodule on <var83:MClassDef>*/;
4783 var85
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4784 if (var85
== NULL
) {
4785 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4786 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1298);
4789 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var85
) /* mpropdef on <var85:nullable Frame>*/;
4791 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var86
) /* mclassdef on <var86:MPropDef>*/;
4792 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
4793 var89
= ((short int (*)(val
*, val
*, val
*, val
*))(var80
->class->vft
[COLOR_model__MType__is_subtype
]))(var80
, var84
, var88
, var_mtype
) /* is_subtype on <var80:MType>*/;
4798 var92
= " = 1; /* easy ";
4800 var94
= string__NativeString__to_s_with_length(var92
, var93
);
4804 var95
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
4810 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4815 var102
= varonce101
;
4819 var105
= string__NativeString__to_s_with_length(var103
, var104
);
4821 varonce101
= var102
;
4823 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
4824 { /* var106 = array_instance Array[Object] */
4826 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
4827 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var_res
;
4828 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var91
;
4829 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var95
;
4830 ((struct instance_array__NativeArray
*)var108
)->values
[3] = (val
*) var97
;
4831 ((struct instance_array__NativeArray
*)var108
)->values
[4] = (val
*) var_mtype
;
4832 ((struct instance_array__NativeArray
*)var108
)->values
[5] = (val
*) var102
;
4833 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
4835 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
4836 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var109
) /* add on <self:SeparateCompilerVisitor>*/;
4837 var110
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4838 var111
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var110
) /* toolcontext on <var110:ModelBuilder>*/;
4839 var112
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var111
) /* opt_typing_test_metrics on <var111:ToolContext>*/;
4840 var113
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_opts__Option__value
]))(var112
) /* value on <var112:OptionBool>*/;
4841 var114
= ((struct instance_kernel__Bool
*)var113
)->value
; /* autounbox from nullable Object to Bool */;
4843 var115
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
4844 var116
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(var115
) /* count_type_test_skipped on <var115:AbstractCompiler(SeparateCompiler)>*/;
4847 var118
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_117
) /* [] on <var_:HashMap[String, Int]>*/;
4849 { /* Inline kernel#Int#+ (var118,var119) */
4850 var122
= ((struct instance_kernel__Int
*)var118
)->value
; /* autounbox from nullable Object to Int */;
4851 var123
= var122
+ var119
;
4854 RET_LABEL121
:(void)0;
4856 var124
= BOX_kernel__Int(var120
); /* autobox from Int to nullable Object */
4857 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_117
, var124
) /* []= on <var_:HashMap[String, Int]>*/;
4859 var126
= varonce125
;
4861 var127
= "count_type_test_skipped_";
4863 var129
= string__NativeString__to_s_with_length(var127
, var128
);
4865 varonce125
= var126
;
4868 var131
= varonce130
;
4872 var134
= string__NativeString__to_s_with_length(var132
, var133
);
4874 varonce130
= var131
;
4876 var135
= NEW_array__Array(&type_array__Arraykernel__Object
);
4877 { /* var135 = array_instance Array[Object] */
4879 var137
= NEW_array__NativeArray(var136
, &type_array__NativeArraykernel__Object
);
4880 ((struct instance_array__NativeArray
*)var137
)->values
[0] = (val
*) var126
;
4881 ((struct instance_array__NativeArray
*)var137
)->values
[1] = (val
*) var_tag
;
4882 ((struct instance_array__NativeArray
*)var137
)->values
[2] = (val
*) var131
;
4883 ((void (*)(val
*, val
*, long))(var135
->class->vft
[COLOR_array__Array__with_native
]))(var135
, var137
, var136
) /* with_native on <var135:Array[Object]>*/;
4885 var138
= ((val
* (*)(val
*))(var135
->class->vft
[COLOR_string__Object__to_s
]))(var135
) /* to_s on <var135:Array[Object]>*/;
4886 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var138
) /* add on <self:SeparateCompilerVisitor>*/;
4893 var139
= ((short int (*)(val
*))(var_ntype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_ntype
) /* need_anchor on <var_ntype:MType>*/;
4896 var141
= varonce140
;
4898 var142
= "type_struct";
4900 var144
= string__NativeString__to_s_with_length(var142
, var143
);
4902 varonce140
= var141
;
4904 var145
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var141
) /* get_name on <self:SeparateCompilerVisitor>*/;
4905 var_type_struct
= var145
;
4907 var147
= varonce146
;
4909 var148
= "const struct type* ";
4911 var150
= string__NativeString__to_s_with_length(var148
, var149
);
4913 varonce146
= var147
;
4916 var152
= varonce151
;
4920 var155
= string__NativeString__to_s_with_length(var153
, var154
);
4922 varonce151
= var152
;
4924 var156
= NEW_array__Array(&type_array__Arraykernel__Object
);
4925 { /* var156 = array_instance Array[Object] */
4927 var158
= NEW_array__NativeArray(var157
, &type_array__NativeArraykernel__Object
);
4928 ((struct instance_array__NativeArray
*)var158
)->values
[0] = (val
*) var147
;
4929 ((struct instance_array__NativeArray
*)var158
)->values
[1] = (val
*) var_type_struct
;
4930 ((struct instance_array__NativeArray
*)var158
)->values
[2] = (val
*) var152
;
4931 ((void (*)(val
*, val
*, long))(var156
->class->vft
[COLOR_array__Array__with_native
]))(var156
, var158
, var157
) /* with_native on <var156:Array[Object]>*/;
4933 var159
= ((val
* (*)(val
*))(var156
->class->vft
[COLOR_string__Object__to_s
]))(var156
) /* to_s on <var156:Array[Object]>*/;
4934 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var159
) /* add_decl on <self:SeparateCompilerVisitor>*/;
4935 var160
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
4936 if (var160
== NULL
) {
4937 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
4938 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1312);
4941 var161
= ((val
* (*)(val
*))(var160
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var160
) /* mpropdef on <var160:nullable Frame>*/;
4943 var162
= ((val
* (*)(val
*))(var161
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var161
) /* mclassdef on <var161:MPropDef>*/;
4944 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var162
, var_ntype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
4945 var163
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
4946 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var163
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
4947 var165
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4948 var166
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var165
) /* toolcontext on <var165:ModelBuilder>*/;
4949 var167
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var166
) /* opt_phmod_typing on <var166:ToolContext>*/;
4950 var168
= ((val
* (*)(val
*))(var167
->class->vft
[COLOR_opts__Option__value
]))(var167
) /* value on <var167:OptionBool>*/;
4951 var169
= ((struct instance_kernel__Bool
*)var168
)->value
; /* autounbox from nullable Object to Bool */;
4956 var171
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
4957 var172
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var171
) /* toolcontext on <var171:ModelBuilder>*/;
4958 var173
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var172
) /* opt_phand_typing on <var172:ToolContext>*/;
4959 var174
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_opts__Option__value
]))(var173
) /* value on <var173:OptionBool>*/;
4960 var175
= ((struct instance_kernel__Bool
*)var174
)->value
; /* autounbox from nullable Object to Bool */;
4965 var177
= varonce176
;
4969 var180
= string__NativeString__to_s_with_length(var178
, var179
);
4971 varonce176
= var177
;
4974 var182
= varonce181
;
4976 var183
= "->resolution_table->types[HASH(";
4978 var185
= string__NativeString__to_s_with_length(var183
, var184
);
4980 varonce181
= var182
;
4983 var187
= varonce186
;
4985 var188
= "->resolution_table->mask, ";
4987 var190
= string__NativeString__to_s_with_length(var188
, var189
);
4989 varonce186
= var187
;
4991 var191
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
4993 var193
= varonce192
;
4997 var196
= string__NativeString__to_s_with_length(var194
, var195
);
4999 varonce192
= var193
;
5001 var197
= NEW_array__Array(&type_array__Arraykernel__Object
);
5002 { /* var197 = array_instance Array[Object] */
5004 var199
= NEW_array__NativeArray(var198
, &type_array__NativeArraykernel__Object
);
5005 ((struct instance_array__NativeArray
*)var199
)->values
[0] = (val
*) var_type_struct
;
5006 ((struct instance_array__NativeArray
*)var199
)->values
[1] = (val
*) var177
;
5007 ((struct instance_array__NativeArray
*)var199
)->values
[2] = (val
*) var_recv_type_info
;
5008 ((struct instance_array__NativeArray
*)var199
)->values
[3] = (val
*) var182
;
5009 ((struct instance_array__NativeArray
*)var199
)->values
[4] = (val
*) var_recv_type_info
;
5010 ((struct instance_array__NativeArray
*)var199
)->values
[5] = (val
*) var187
;
5011 ((struct instance_array__NativeArray
*)var199
)->values
[6] = (val
*) var191
;
5012 ((struct instance_array__NativeArray
*)var199
)->values
[7] = (val
*) var193
;
5013 ((void (*)(val
*, val
*, long))(var197
->class->vft
[COLOR_array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
5015 var200
= ((val
* (*)(val
*))(var197
->class->vft
[COLOR_string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
5016 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var200
) /* add on <self:SeparateCompilerVisitor>*/;
5019 var202
= varonce201
;
5023 var205
= string__NativeString__to_s_with_length(var203
, var204
);
5025 varonce201
= var202
;
5028 var207
= varonce206
;
5030 var208
= "->resolution_table->types[";
5032 var210
= string__NativeString__to_s_with_length(var208
, var209
);
5034 varonce206
= var207
;
5036 var211
= ((val
* (*)(val
*))(var_ntype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_ntype
) /* const_color on <var_ntype:MType>*/;
5038 var213
= varonce212
;
5042 var216
= string__NativeString__to_s_with_length(var214
, var215
);
5044 varonce212
= var213
;
5046 var217
= NEW_array__Array(&type_array__Arraykernel__Object
);
5047 { /* var217 = array_instance Array[Object] */
5049 var219
= NEW_array__NativeArray(var218
, &type_array__NativeArraykernel__Object
);
5050 ((struct instance_array__NativeArray
*)var219
)->values
[0] = (val
*) var_type_struct
;
5051 ((struct instance_array__NativeArray
*)var219
)->values
[1] = (val
*) var202
;
5052 ((struct instance_array__NativeArray
*)var219
)->values
[2] = (val
*) var_recv_type_info
;
5053 ((struct instance_array__NativeArray
*)var219
)->values
[3] = (val
*) var207
;
5054 ((struct instance_array__NativeArray
*)var219
)->values
[4] = (val
*) var211
;
5055 ((struct instance_array__NativeArray
*)var219
)->values
[5] = (val
*) var213
;
5056 ((void (*)(val
*, val
*, long))(var217
->class->vft
[COLOR_array__Array__with_native
]))(var217
, var219
, var218
) /* with_native on <var217:Array[Object]>*/;
5058 var220
= ((val
* (*)(val
*))(var217
->class->vft
[COLOR_string__Object__to_s
]))(var217
) /* to_s on <var217:Array[Object]>*/;
5059 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var220
) /* add on <self:SeparateCompilerVisitor>*/;
5061 var221
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5062 var222
= ((val
* (*)(val
*))(var221
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var221
) /* toolcontext on <var221:ModelBuilder>*/;
5063 var223
= ((val
* (*)(val
*))(var222
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var222
) /* opt_typing_test_metrics on <var222:ToolContext>*/;
5064 var224
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_opts__Option__value
]))(var223
) /* value on <var223:OptionBool>*/;
5065 var225
= ((struct instance_kernel__Bool
*)var224
)->value
; /* autounbox from nullable Object to Bool */;
5067 var226
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5068 var227
= ((val
* (*)(val
*))(var226
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(var226
) /* count_type_test_unresolved on <var226:AbstractCompiler(SeparateCompiler)>*/;
5071 var230
= ((val
* (*)(val
*, val
*))(var_228
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_228
, var_229
) /* [] on <var_228:HashMap[String, Int]>*/;
5073 { /* Inline kernel#Int#+ (var230,var231) */
5074 var234
= ((struct instance_kernel__Int
*)var230
)->value
; /* autounbox from nullable Object to Int */;
5075 var235
= var234
+ var231
;
5078 RET_LABEL233
:(void)0;
5080 var236
= BOX_kernel__Int(var232
); /* autobox from Int to nullable Object */
5081 ((void (*)(val
*, val
*, val
*))(var_228
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_228
, var_229
, var236
) /* []= on <var_228:HashMap[String, Int]>*/;
5083 var238
= varonce237
;
5085 var239
= "count_type_test_unresolved_";
5087 var241
= string__NativeString__to_s_with_length(var239
, var240
);
5089 varonce237
= var238
;
5092 var243
= varonce242
;
5096 var246
= string__NativeString__to_s_with_length(var244
, var245
);
5098 varonce242
= var243
;
5100 var247
= NEW_array__Array(&type_array__Arraykernel__Object
);
5101 { /* var247 = array_instance Array[Object] */
5103 var249
= NEW_array__NativeArray(var248
, &type_array__NativeArraykernel__Object
);
5104 ((struct instance_array__NativeArray
*)var249
)->values
[0] = (val
*) var238
;
5105 ((struct instance_array__NativeArray
*)var249
)->values
[1] = (val
*) var_tag
;
5106 ((struct instance_array__NativeArray
*)var249
)->values
[2] = (val
*) var243
;
5107 ((void (*)(val
*, val
*, long))(var247
->class->vft
[COLOR_array__Array__with_native
]))(var247
, var249
, var248
) /* with_native on <var247:Array[Object]>*/;
5109 var250
= ((val
* (*)(val
*))(var247
->class->vft
[COLOR_string__Object__to_s
]))(var247
) /* to_s on <var247:Array[Object]>*/;
5110 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var250
) /* add on <self:SeparateCompilerVisitor>*/;
5114 var252
= varonce251
;
5118 var255
= string__NativeString__to_s_with_length(var253
, var254
);
5120 varonce251
= var252
;
5123 var257
= varonce256
;
5125 var258
= "->color;";
5127 var260
= string__NativeString__to_s_with_length(var258
, var259
);
5129 varonce256
= var257
;
5131 var261
= NEW_array__Array(&type_array__Arraykernel__Object
);
5132 { /* var261 = array_instance Array[Object] */
5134 var263
= NEW_array__NativeArray(var262
, &type_array__NativeArraykernel__Object
);
5135 ((struct instance_array__NativeArray
*)var263
)->values
[0] = (val
*) var_cltype
;
5136 ((struct instance_array__NativeArray
*)var263
)->values
[1] = (val
*) var252
;
5137 ((struct instance_array__NativeArray
*)var263
)->values
[2] = (val
*) var_type_struct
;
5138 ((struct instance_array__NativeArray
*)var263
)->values
[3] = (val
*) var257
;
5139 ((void (*)(val
*, val
*, long))(var261
->class->vft
[COLOR_array__Array__with_native
]))(var261
, var263
, var262
) /* with_native on <var261:Array[Object]>*/;
5141 var264
= ((val
* (*)(val
*))(var261
->class->vft
[COLOR_string__Object__to_s
]))(var261
) /* to_s on <var261:Array[Object]>*/;
5142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var264
) /* add on <self:SeparateCompilerVisitor>*/;
5144 var266
= varonce265
;
5148 var269
= string__NativeString__to_s_with_length(var267
, var268
);
5150 varonce265
= var266
;
5153 var271
= varonce270
;
5157 var274
= string__NativeString__to_s_with_length(var272
, var273
);
5159 varonce270
= var271
;
5161 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
5162 { /* var275 = array_instance Array[Object] */
5164 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
5165 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var_idtype
;
5166 ((struct instance_array__NativeArray
*)var277
)->values
[1] = (val
*) var266
;
5167 ((struct instance_array__NativeArray
*)var277
)->values
[2] = (val
*) var_type_struct
;
5168 ((struct instance_array__NativeArray
*)var277
)->values
[3] = (val
*) var271
;
5169 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
5171 var278
= ((val
* (*)(val
*))(var275
->class->vft
[COLOR_string__Object__to_s
]))(var275
) /* to_s on <var275:Array[Object]>*/;
5172 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var278
) /* add on <self:SeparateCompilerVisitor>*/;
5173 var_280
= var_maybe_null
;
5174 if (var_maybe_null
){
5176 var282
= varonce281
;
5180 var285
= string__NativeString__to_s_with_length(var283
, var284
);
5182 varonce281
= var282
;
5184 var286
= ((short int (*)(val
*, val
*))(var_accept_null
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_accept_null
, var282
) /* == on <var_accept_null:String>*/;
5191 var288
= varonce287
;
5193 var289
= "is_nullable";
5195 var291
= string__NativeString__to_s_with_length(var289
, var290
);
5197 varonce287
= var288
;
5199 var292
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var288
) /* get_name on <self:SeparateCompilerVisitor>*/;
5200 var_is_nullable
= var292
;
5202 var294
= varonce293
;
5204 var295
= "short int ";
5206 var297
= string__NativeString__to_s_with_length(var295
, var296
);
5208 varonce293
= var294
;
5211 var299
= varonce298
;
5215 var302
= string__NativeString__to_s_with_length(var300
, var301
);
5217 varonce298
= var299
;
5219 var303
= NEW_array__Array(&type_array__Arraykernel__Object
);
5220 { /* var303 = array_instance Array[Object] */
5222 var305
= NEW_array__NativeArray(var304
, &type_array__NativeArraykernel__Object
);
5223 ((struct instance_array__NativeArray
*)var305
)->values
[0] = (val
*) var294
;
5224 ((struct instance_array__NativeArray
*)var305
)->values
[1] = (val
*) var_is_nullable
;
5225 ((struct instance_array__NativeArray
*)var305
)->values
[2] = (val
*) var299
;
5226 ((void (*)(val
*, val
*, long))(var303
->class->vft
[COLOR_array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
5228 var306
= ((val
* (*)(val
*))(var303
->class->vft
[COLOR_string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
5229 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var306
) /* add_decl on <self:SeparateCompilerVisitor>*/;
5231 var308
= varonce307
;
5235 var311
= string__NativeString__to_s_with_length(var309
, var310
);
5237 varonce307
= var308
;
5240 var313
= varonce312
;
5242 var314
= "->is_nullable;";
5244 var316
= string__NativeString__to_s_with_length(var314
, var315
);
5246 varonce312
= var313
;
5248 var317
= NEW_array__Array(&type_array__Arraykernel__Object
);
5249 { /* var317 = array_instance Array[Object] */
5251 var319
= NEW_array__NativeArray(var318
, &type_array__NativeArraykernel__Object
);
5252 ((struct instance_array__NativeArray
*)var319
)->values
[0] = (val
*) var_is_nullable
;
5253 ((struct instance_array__NativeArray
*)var319
)->values
[1] = (val
*) var308
;
5254 ((struct instance_array__NativeArray
*)var319
)->values
[2] = (val
*) var_type_struct
;
5255 ((struct instance_array__NativeArray
*)var319
)->values
[3] = (val
*) var313
;
5256 ((void (*)(val
*, val
*, long))(var317
->class->vft
[COLOR_array__Array__with_native
]))(var317
, var319
, var318
) /* with_native on <var317:Array[Object]>*/;
5258 var320
= ((val
* (*)(val
*))(var317
->class->vft
[COLOR_string__Object__to_s
]))(var317
) /* to_s on <var317:Array[Object]>*/;
5259 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var320
) /* add on <self:SeparateCompilerVisitor>*/;
5260 var321
= ((val
* (*)(val
*))(var_is_nullable
->class->vft
[COLOR_string__Object__to_s
]))(var_is_nullable
) /* to_s on <var_is_nullable:String>*/;
5261 var_accept_null
= var321
;
5265 /* <var_ntype:MType> isa MClassType */
5266 cltype323
= type_model__MClassType
.color
;
5267 idtype324
= type_model__MClassType
.id
;
5268 if(cltype323
>= var_ntype
->type
->table_size
) {
5271 var322
= var_ntype
->type
->type_table
[cltype323
] == idtype324
;
5274 var325
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
5275 ((void (*)(val
*, val
*))(var325
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var325
, var_mtype
) /* add on <var325:Set[MType]>*/;
5277 var327
= varonce326
;
5281 var330
= string__NativeString__to_s_with_length(var328
, var329
);
5283 varonce326
= var327
;
5285 var331
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
5286 var332
= NEW_array__Array(&type_array__Arraykernel__Object
);
5287 { /* var332 = array_instance Array[Object] */
5289 var334
= NEW_array__NativeArray(var333
, &type_array__NativeArraykernel__Object
);
5290 ((struct instance_array__NativeArray
*)var334
)->values
[0] = (val
*) var327
;
5291 ((struct instance_array__NativeArray
*)var334
)->values
[1] = (val
*) var331
;
5292 ((void (*)(val
*, val
*, long))(var332
->class->vft
[COLOR_array__Array__with_native
]))(var332
, var334
, var333
) /* with_native on <var332:Array[Object]>*/;
5294 var335
= ((val
* (*)(val
*))(var332
->class->vft
[COLOR_string__Object__to_s
]))(var332
) /* to_s on <var332:Array[Object]>*/;
5295 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var335
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
5297 var337
= varonce336
;
5299 var338
= " = type_";
5301 var340
= string__NativeString__to_s_with_length(var338
, var339
);
5303 varonce336
= var337
;
5305 var341
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
5307 var343
= varonce342
;
5311 var346
= string__NativeString__to_s_with_length(var344
, var345
);
5313 varonce342
= var343
;
5315 var347
= NEW_array__Array(&type_array__Arraykernel__Object
);
5316 { /* var347 = array_instance Array[Object] */
5318 var349
= NEW_array__NativeArray(var348
, &type_array__NativeArraykernel__Object
);
5319 ((struct instance_array__NativeArray
*)var349
)->values
[0] = (val
*) var_cltype
;
5320 ((struct instance_array__NativeArray
*)var349
)->values
[1] = (val
*) var337
;
5321 ((struct instance_array__NativeArray
*)var349
)->values
[2] = (val
*) var341
;
5322 ((struct instance_array__NativeArray
*)var349
)->values
[3] = (val
*) var343
;
5323 ((void (*)(val
*, val
*, long))(var347
->class->vft
[COLOR_array__Array__with_native
]))(var347
, var349
, var348
) /* with_native on <var347:Array[Object]>*/;
5325 var350
= ((val
* (*)(val
*))(var347
->class->vft
[COLOR_string__Object__to_s
]))(var347
) /* to_s on <var347:Array[Object]>*/;
5326 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var350
) /* add on <self:SeparateCompilerVisitor>*/;
5328 var352
= varonce351
;
5330 var353
= " = type_";
5332 var355
= string__NativeString__to_s_with_length(var353
, var354
);
5334 varonce351
= var352
;
5336 var356
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
5338 var358
= varonce357
;
5342 var361
= string__NativeString__to_s_with_length(var359
, var360
);
5344 varonce357
= var358
;
5346 var362
= NEW_array__Array(&type_array__Arraykernel__Object
);
5347 { /* var362 = array_instance Array[Object] */
5349 var364
= NEW_array__NativeArray(var363
, &type_array__NativeArraykernel__Object
);
5350 ((struct instance_array__NativeArray
*)var364
)->values
[0] = (val
*) var_idtype
;
5351 ((struct instance_array__NativeArray
*)var364
)->values
[1] = (val
*) var352
;
5352 ((struct instance_array__NativeArray
*)var364
)->values
[2] = (val
*) var356
;
5353 ((struct instance_array__NativeArray
*)var364
)->values
[3] = (val
*) var358
;
5354 ((void (*)(val
*, val
*, long))(var362
->class->vft
[COLOR_array__Array__with_native
]))(var362
, var364
, var363
) /* with_native on <var362:Array[Object]>*/;
5356 var365
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_string__Object__to_s
]))(var362
) /* to_s on <var362:Array[Object]>*/;
5357 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var365
) /* add on <self:SeparateCompilerVisitor>*/;
5358 var366
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5359 var367
= ((val
* (*)(val
*))(var366
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var366
) /* toolcontext on <var366:ModelBuilder>*/;
5360 var368
= ((val
* (*)(val
*))(var367
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var367
) /* opt_typing_test_metrics on <var367:ToolContext>*/;
5361 var369
= ((val
* (*)(val
*))(var368
->class->vft
[COLOR_opts__Option__value
]))(var368
) /* value on <var368:OptionBool>*/;
5362 var370
= ((struct instance_kernel__Bool
*)var369
)->value
; /* autounbox from nullable Object to Bool */;
5364 var371
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
5365 var372
= ((val
* (*)(val
*))(var371
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(var371
) /* count_type_test_resolved on <var371:AbstractCompiler(SeparateCompiler)>*/;
5368 var375
= ((val
* (*)(val
*, val
*))(var_373
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_373
, var_374
) /* [] on <var_373:HashMap[String, Int]>*/;
5370 { /* Inline kernel#Int#+ (var375,var376) */
5371 var379
= ((struct instance_kernel__Int
*)var375
)->value
; /* autounbox from nullable Object to Int */;
5372 var380
= var379
+ var376
;
5375 RET_LABEL378
:(void)0;
5377 var381
= BOX_kernel__Int(var377
); /* autobox from Int to nullable Object */
5378 ((void (*)(val
*, val
*, val
*))(var_373
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_373
, var_374
, var381
) /* []= on <var_373:HashMap[String, Int]>*/;
5380 var383
= varonce382
;
5382 var384
= "count_type_test_resolved_";
5384 var386
= string__NativeString__to_s_with_length(var384
, var385
);
5386 varonce382
= var383
;
5389 var388
= varonce387
;
5393 var391
= string__NativeString__to_s_with_length(var389
, var390
);
5395 varonce387
= var388
;
5397 var392
= NEW_array__Array(&type_array__Arraykernel__Object
);
5398 { /* var392 = array_instance Array[Object] */
5400 var394
= NEW_array__NativeArray(var393
, &type_array__NativeArraykernel__Object
);
5401 ((struct instance_array__NativeArray
*)var394
)->values
[0] = (val
*) var383
;
5402 ((struct instance_array__NativeArray
*)var394
)->values
[1] = (val
*) var_tag
;
5403 ((struct instance_array__NativeArray
*)var394
)->values
[2] = (val
*) var388
;
5404 ((void (*)(val
*, val
*, long))(var392
->class->vft
[COLOR_array__Array__with_native
]))(var392
, var394
, var393
) /* with_native on <var392:Array[Object]>*/;
5406 var395
= ((val
* (*)(val
*))(var392
->class->vft
[COLOR_string__Object__to_s
]))(var392
) /* to_s on <var392:Array[Object]>*/;
5407 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var395
) /* add on <self:SeparateCompilerVisitor>*/;
5412 var397
= varonce396
;
5414 var398
= "printf(\"NOT YET IMPLEMENTED: type_test(%s, ";
5416 var400
= string__NativeString__to_s_with_length(var398
, var399
);
5418 varonce396
= var397
;
5421 var402
= varonce401
;
5423 var403
= ").\\n\", \"";
5425 var405
= string__NativeString__to_s_with_length(var403
, var404
);
5427 varonce401
= var402
;
5429 var406
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_string__Object__inspect
]))(var_value
) /* inspect on <var_value:RuntimeVariable>*/;
5431 var408
= varonce407
;
5433 var409
= "\"); show_backtrace(1);";
5435 var411
= string__NativeString__to_s_with_length(var409
, var410
);
5437 varonce407
= var408
;
5439 var412
= NEW_array__Array(&type_array__Arraykernel__Object
);
5440 { /* var412 = array_instance Array[Object] */
5442 var414
= NEW_array__NativeArray(var413
, &type_array__NativeArraykernel__Object
);
5443 ((struct instance_array__NativeArray
*)var414
)->values
[0] = (val
*) var397
;
5444 ((struct instance_array__NativeArray
*)var414
)->values
[1] = (val
*) var_mtype
;
5445 ((struct instance_array__NativeArray
*)var414
)->values
[2] = (val
*) var402
;
5446 ((struct instance_array__NativeArray
*)var414
)->values
[3] = (val
*) var406
;
5447 ((struct instance_array__NativeArray
*)var414
)->values
[4] = (val
*) var408
;
5448 ((void (*)(val
*, val
*, long))(var412
->class->vft
[COLOR_array__Array__with_native
]))(var412
, var414
, var413
) /* with_native on <var412:Array[Object]>*/;
5450 var415
= ((val
* (*)(val
*))(var412
->class->vft
[COLOR_string__Object__to_s
]))(var412
) /* to_s on <var412:Array[Object]>*/;
5451 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var415
) /* add on <self:SeparateCompilerVisitor>*/;
5454 if (var_maybe_null
){
5456 var417
= varonce416
;
5460 var420
= string__NativeString__to_s_with_length(var418
, var419
);
5462 varonce416
= var417
;
5465 var422
= varonce421
;
5467 var423
= " == NULL) {";
5469 var425
= string__NativeString__to_s_with_length(var423
, var424
);
5471 varonce421
= var422
;
5473 var426
= NEW_array__Array(&type_array__Arraykernel__Object
);
5474 { /* var426 = array_instance Array[Object] */
5476 var428
= NEW_array__NativeArray(var427
, &type_array__NativeArraykernel__Object
);
5477 ((struct instance_array__NativeArray
*)var428
)->values
[0] = (val
*) var417
;
5478 ((struct instance_array__NativeArray
*)var428
)->values
[1] = (val
*) var_value
;
5479 ((struct instance_array__NativeArray
*)var428
)->values
[2] = (val
*) var422
;
5480 ((void (*)(val
*, val
*, long))(var426
->class->vft
[COLOR_array__Array__with_native
]))(var426
, var428
, var427
) /* with_native on <var426:Array[Object]>*/;
5482 var429
= ((val
* (*)(val
*))(var426
->class->vft
[COLOR_string__Object__to_s
]))(var426
) /* to_s on <var426:Array[Object]>*/;
5483 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var429
) /* add on <self:SeparateCompilerVisitor>*/;
5485 var431
= varonce430
;
5489 var434
= string__NativeString__to_s_with_length(var432
, var433
);
5491 varonce430
= var431
;
5494 var436
= varonce435
;
5498 var439
= string__NativeString__to_s_with_length(var437
, var438
);
5500 varonce435
= var436
;
5502 var440
= NEW_array__Array(&type_array__Arraykernel__Object
);
5503 { /* var440 = array_instance Array[Object] */
5505 var442
= NEW_array__NativeArray(var441
, &type_array__NativeArraykernel__Object
);
5506 ((struct instance_array__NativeArray
*)var442
)->values
[0] = (val
*) var_res
;
5507 ((struct instance_array__NativeArray
*)var442
)->values
[1] = (val
*) var431
;
5508 ((struct instance_array__NativeArray
*)var442
)->values
[2] = (val
*) var_accept_null
;
5509 ((struct instance_array__NativeArray
*)var442
)->values
[3] = (val
*) var436
;
5510 ((void (*)(val
*, val
*, long))(var440
->class->vft
[COLOR_array__Array__with_native
]))(var440
, var442
, var441
) /* with_native on <var440:Array[Object]>*/;
5512 var443
= ((val
* (*)(val
*))(var440
->class->vft
[COLOR_string__Object__to_s
]))(var440
) /* to_s on <var440:Array[Object]>*/;
5513 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var443
) /* add on <self:SeparateCompilerVisitor>*/;
5515 var445
= varonce444
;
5517 var446
= "} else {";
5519 var448
= string__NativeString__to_s_with_length(var446
, var447
);
5521 varonce444
= var445
;
5523 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var445
) /* add on <self:SeparateCompilerVisitor>*/;
5526 var449
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_value
) /* type_info on <self:SeparateCompilerVisitor>*/;
5527 var_value_type_info
= var449
;
5528 var451
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5529 var452
= ((val
* (*)(val
*))(var451
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var451
) /* toolcontext on <var451:ModelBuilder>*/;
5530 var453
= ((val
* (*)(val
*))(var452
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var452
) /* opt_phmod_typing on <var452:ToolContext>*/;
5531 var454
= ((val
* (*)(val
*))(var453
->class->vft
[COLOR_opts__Option__value
]))(var453
) /* value on <var453:OptionBool>*/;
5532 var455
= ((struct instance_kernel__Bool
*)var454
)->value
; /* autounbox from nullable Object to Bool */;
5537 var457
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
5538 var458
= ((val
* (*)(val
*))(var457
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var457
) /* toolcontext on <var457:ModelBuilder>*/;
5539 var459
= ((val
* (*)(val
*))(var458
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var458
) /* opt_phand_typing on <var458:ToolContext>*/;
5540 var460
= ((val
* (*)(val
*))(var459
->class->vft
[COLOR_opts__Option__value
]))(var459
) /* value on <var459:OptionBool>*/;
5541 var461
= ((struct instance_kernel__Bool
*)var460
)->value
; /* autounbox from nullable Object to Bool */;
5546 var463
= varonce462
;
5548 var464
= " = HASH(";
5550 var466
= string__NativeString__to_s_with_length(var464
, var465
);
5552 varonce462
= var463
;
5555 var468
= varonce467
;
5557 var469
= "->color, ";
5559 var471
= string__NativeString__to_s_with_length(var469
, var470
);
5561 varonce467
= var468
;
5564 var473
= varonce472
;
5568 var476
= string__NativeString__to_s_with_length(var474
, var475
);
5570 varonce472
= var473
;
5572 var477
= NEW_array__Array(&type_array__Arraykernel__Object
);
5573 { /* var477 = array_instance Array[Object] */
5575 var479
= NEW_array__NativeArray(var478
, &type_array__NativeArraykernel__Object
);
5576 ((struct instance_array__NativeArray
*)var479
)->values
[0] = (val
*) var_cltype
;
5577 ((struct instance_array__NativeArray
*)var479
)->values
[1] = (val
*) var463
;
5578 ((struct instance_array__NativeArray
*)var479
)->values
[2] = (val
*) var_value_type_info
;
5579 ((struct instance_array__NativeArray
*)var479
)->values
[3] = (val
*) var468
;
5580 ((struct instance_array__NativeArray
*)var479
)->values
[4] = (val
*) var_idtype
;
5581 ((struct instance_array__NativeArray
*)var479
)->values
[5] = (val
*) var473
;
5582 ((void (*)(val
*, val
*, long))(var477
->class->vft
[COLOR_array__Array__with_native
]))(var477
, var479
, var478
) /* with_native on <var477:Array[Object]>*/;
5584 var480
= ((val
* (*)(val
*))(var477
->class->vft
[COLOR_string__Object__to_s
]))(var477
) /* to_s on <var477:Array[Object]>*/;
5585 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var480
) /* add on <self:SeparateCompilerVisitor>*/;
5589 var482
= varonce481
;
5593 var485
= string__NativeString__to_s_with_length(var483
, var484
);
5595 varonce481
= var482
;
5598 var487
= varonce486
;
5602 var490
= string__NativeString__to_s_with_length(var488
, var489
);
5604 varonce486
= var487
;
5607 var492
= varonce491
;
5609 var493
= "->table_size) {";
5611 var495
= string__NativeString__to_s_with_length(var493
, var494
);
5613 varonce491
= var492
;
5615 var496
= NEW_array__Array(&type_array__Arraykernel__Object
);
5616 { /* var496 = array_instance Array[Object] */
5618 var498
= NEW_array__NativeArray(var497
, &type_array__NativeArraykernel__Object
);
5619 ((struct instance_array__NativeArray
*)var498
)->values
[0] = (val
*) var482
;
5620 ((struct instance_array__NativeArray
*)var498
)->values
[1] = (val
*) var_cltype
;
5621 ((struct instance_array__NativeArray
*)var498
)->values
[2] = (val
*) var487
;
5622 ((struct instance_array__NativeArray
*)var498
)->values
[3] = (val
*) var_value_type_info
;
5623 ((struct instance_array__NativeArray
*)var498
)->values
[4] = (val
*) var492
;
5624 ((void (*)(val
*, val
*, long))(var496
->class->vft
[COLOR_array__Array__with_native
]))(var496
, var498
, var497
) /* with_native on <var496:Array[Object]>*/;
5626 var499
= ((val
* (*)(val
*))(var496
->class->vft
[COLOR_string__Object__to_s
]))(var496
) /* to_s on <var496:Array[Object]>*/;
5627 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var499
) /* add on <self:SeparateCompilerVisitor>*/;
5629 var501
= varonce500
;
5633 var504
= string__NativeString__to_s_with_length(var502
, var503
);
5635 varonce500
= var501
;
5637 var505
= NEW_array__Array(&type_array__Arraykernel__Object
);
5638 { /* var505 = array_instance Array[Object] */
5640 var507
= NEW_array__NativeArray(var506
, &type_array__NativeArraykernel__Object
);
5641 ((struct instance_array__NativeArray
*)var507
)->values
[0] = (val
*) var_res
;
5642 ((struct instance_array__NativeArray
*)var507
)->values
[1] = (val
*) var501
;
5643 ((void (*)(val
*, val
*, long))(var505
->class->vft
[COLOR_array__Array__with_native
]))(var505
, var507
, var506
) /* with_native on <var505:Array[Object]>*/;
5645 var508
= ((val
* (*)(val
*))(var505
->class->vft
[COLOR_string__Object__to_s
]))(var505
) /* to_s on <var505:Array[Object]>*/;
5646 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var508
) /* add on <self:SeparateCompilerVisitor>*/;
5648 var510
= varonce509
;
5650 var511
= "} else {";
5652 var513
= string__NativeString__to_s_with_length(var511
, var512
);
5654 varonce509
= var510
;
5656 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var510
) /* add on <self:SeparateCompilerVisitor>*/;
5658 var515
= varonce514
;
5662 var518
= string__NativeString__to_s_with_length(var516
, var517
);
5664 varonce514
= var515
;
5667 var520
= varonce519
;
5669 var521
= "->type_table[";
5671 var523
= string__NativeString__to_s_with_length(var521
, var522
);
5673 varonce519
= var520
;
5676 var525
= varonce524
;
5680 var528
= string__NativeString__to_s_with_length(var526
, var527
);
5682 varonce524
= var525
;
5685 var530
= varonce529
;
5689 var533
= string__NativeString__to_s_with_length(var531
, var532
);
5691 varonce529
= var530
;
5693 var534
= NEW_array__Array(&type_array__Arraykernel__Object
);
5694 { /* var534 = array_instance Array[Object] */
5696 var536
= NEW_array__NativeArray(var535
, &type_array__NativeArraykernel__Object
);
5697 ((struct instance_array__NativeArray
*)var536
)->values
[0] = (val
*) var_res
;
5698 ((struct instance_array__NativeArray
*)var536
)->values
[1] = (val
*) var515
;
5699 ((struct instance_array__NativeArray
*)var536
)->values
[2] = (val
*) var_value_type_info
;
5700 ((struct instance_array__NativeArray
*)var536
)->values
[3] = (val
*) var520
;
5701 ((struct instance_array__NativeArray
*)var536
)->values
[4] = (val
*) var_cltype
;
5702 ((struct instance_array__NativeArray
*)var536
)->values
[5] = (val
*) var525
;
5703 ((struct instance_array__NativeArray
*)var536
)->values
[6] = (val
*) var_idtype
;
5704 ((struct instance_array__NativeArray
*)var536
)->values
[7] = (val
*) var530
;
5705 ((void (*)(val
*, val
*, long))(var534
->class->vft
[COLOR_array__Array__with_native
]))(var534
, var536
, var535
) /* with_native on <var534:Array[Object]>*/;
5707 var537
= ((val
* (*)(val
*))(var534
->class->vft
[COLOR_string__Object__to_s
]))(var534
) /* to_s on <var534:Array[Object]>*/;
5708 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var537
) /* add on <self:SeparateCompilerVisitor>*/;
5710 var539
= varonce538
;
5714 var542
= string__NativeString__to_s_with_length(var540
, var541
);
5716 varonce538
= var539
;
5718 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var539
) /* add on <self:SeparateCompilerVisitor>*/;
5719 if (var_maybe_null
){
5721 var544
= varonce543
;
5725 var547
= string__NativeString__to_s_with_length(var545
, var546
);
5727 varonce543
= var544
;
5729 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var544
) /* add on <self:SeparateCompilerVisitor>*/;
5737 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
5738 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5739 val
* var
/* : RuntimeVariable */;
5740 val
* var1
/* : RuntimeVariable */;
5741 var1
= separate_compiler__SeparateCompilerVisitor__type_test(self
, p0
, p1
, p2
);
5746 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
5747 val
* separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
5748 val
* var
/* : RuntimeVariable */;
5749 val
* var_value1
/* var value1: RuntimeVariable */;
5750 val
* var_value2
/* var value2: RuntimeVariable */;
5751 val
* var1
/* : MClassType */;
5752 val
* var2
/* : RuntimeVariable */;
5753 val
* var_res
/* var res: RuntimeVariable */;
5754 short int var3
/* : Bool */;
5755 val
* var4
/* : MType */;
5756 val
* var5
/* : String */;
5757 static val
* varonce
;
5758 val
* var6
/* : String */;
5759 char* var7
/* : NativeString */;
5760 long var8
/* : Int */;
5761 val
* var9
/* : String */;
5762 short int var10
/* : Bool */;
5763 short int var_
/* var : Bool */;
5764 val
* var11
/* : MType */;
5765 val
* var12
/* : String */;
5766 static val
* varonce13
;
5767 val
* var14
/* : String */;
5768 char* var15
/* : NativeString */;
5769 long var16
/* : Int */;
5770 val
* var17
/* : String */;
5771 short int var18
/* : Bool */;
5772 val
* var_tmp
/* var tmp: RuntimeVariable */;
5773 val
* var19
/* : MType */;
5774 val
* var20
/* : String */;
5775 static val
* varonce21
;
5776 val
* var22
/* : String */;
5777 char* var23
/* : NativeString */;
5778 long var24
/* : Int */;
5779 val
* var25
/* : String */;
5780 short int var26
/* : Bool */;
5781 val
* var27
/* : MType */;
5782 val
* var28
/* : MType */;
5783 short int var29
/* : Bool */;
5784 static val
* varonce30
;
5785 val
* var31
/* : String */;
5786 char* var32
/* : NativeString */;
5787 long var33
/* : Int */;
5788 val
* var34
/* : String */;
5789 val
* var35
/* : MType */;
5790 static val
* varonce36
;
5791 val
* var37
/* : String */;
5792 char* var38
/* : NativeString */;
5793 long var39
/* : Int */;
5794 val
* var40
/* : String */;
5795 val
* var41
/* : MType */;
5796 static val
* varonce42
;
5797 val
* var43
/* : String */;
5798 char* var44
/* : NativeString */;
5799 long var45
/* : Int */;
5800 val
* var46
/* : String */;
5801 val
* var47
/* : Array[Object] */;
5802 long var48
/* : Int */;
5803 val
* var49
/* : NativeArray[Object] */;
5804 val
* var50
/* : String */;
5805 val
* var51
/* : MType */;
5806 val
* var52
/* : String */;
5807 static val
* varonce53
;
5808 val
* var54
/* : String */;
5809 char* var55
/* : NativeString */;
5810 long var56
/* : Int */;
5811 val
* var57
/* : String */;
5812 short int var58
/* : Bool */;
5813 static val
* varonce59
;
5814 val
* var60
/* : String */;
5815 char* var61
/* : NativeString */;
5816 long var62
/* : Int */;
5817 val
* var63
/* : String */;
5818 val
* var64
/* : MType */;
5819 static val
* varonce65
;
5820 val
* var66
/* : String */;
5821 char* var67
/* : NativeString */;
5822 long var68
/* : Int */;
5823 val
* var69
/* : String */;
5824 val
* var70
/* : MType */;
5825 static val
* varonce71
;
5826 val
* var72
/* : String */;
5827 char* var73
/* : NativeString */;
5828 long var74
/* : Int */;
5829 val
* var75
/* : String */;
5830 val
* var76
/* : Array[Object] */;
5831 long var77
/* : Int */;
5832 val
* var78
/* : NativeArray[Object] */;
5833 val
* var79
/* : String */;
5834 val
* var80
/* : MType */;
5835 short int var81
/* : Bool */;
5838 const char* var_class_name
;
5839 val
* var_mtype1
/* var mtype1: MClassType */;
5840 static val
* varonce82
;
5841 val
* var83
/* : String */;
5842 char* var84
/* : NativeString */;
5843 long var85
/* : Int */;
5844 val
* var86
/* : String */;
5845 val
* var87
/* : String */;
5846 val
* var88
/* : Array[Object] */;
5847 long var89
/* : Int */;
5848 val
* var90
/* : NativeArray[Object] */;
5849 val
* var91
/* : String */;
5850 static val
* varonce92
;
5851 val
* var93
/* : String */;
5852 char* var94
/* : NativeString */;
5853 long var95
/* : Int */;
5854 val
* var96
/* : String */;
5855 static val
* varonce97
;
5856 val
* var98
/* : String */;
5857 char* var99
/* : NativeString */;
5858 long var100
/* : Int */;
5859 val
* var101
/* : String */;
5860 static val
* varonce102
;
5861 val
* var103
/* : String */;
5862 char* var104
/* : NativeString */;
5863 long var105
/* : Int */;
5864 val
* var106
/* : String */;
5865 val
* var107
/* : String */;
5866 static val
* varonce108
;
5867 val
* var109
/* : String */;
5868 char* var110
/* : NativeString */;
5869 long var111
/* : Int */;
5870 val
* var112
/* : String */;
5871 val
* var113
/* : Array[Object] */;
5872 long var114
/* : Int */;
5873 val
* var115
/* : NativeArray[Object] */;
5874 val
* var116
/* : String */;
5875 static val
* varonce117
;
5876 val
* var118
/* : String */;
5877 char* var119
/* : NativeString */;
5878 long var120
/* : Int */;
5879 val
* var121
/* : String */;
5880 static val
* varonce122
;
5881 val
* var123
/* : String */;
5882 char* var124
/* : NativeString */;
5883 long var125
/* : Int */;
5884 val
* var126
/* : String */;
5885 static val
* varonce127
;
5886 val
* var128
/* : String */;
5887 char* var129
/* : NativeString */;
5888 long var130
/* : Int */;
5889 val
* var131
/* : String */;
5890 static val
* varonce132
;
5891 val
* var133
/* : String */;
5892 char* var134
/* : NativeString */;
5893 long var135
/* : Int */;
5894 val
* var136
/* : String */;
5895 static val
* varonce137
;
5896 val
* var138
/* : String */;
5897 char* var139
/* : NativeString */;
5898 long var140
/* : Int */;
5899 val
* var141
/* : String */;
5900 static val
* varonce142
;
5901 val
* var143
/* : String */;
5902 char* var144
/* : NativeString */;
5903 long var145
/* : Int */;
5904 val
* var146
/* : String */;
5905 static val
* varonce147
;
5906 val
* var148
/* : String */;
5907 char* var149
/* : NativeString */;
5908 long var150
/* : Int */;
5909 val
* var151
/* : String */;
5910 val
* var152
/* : Array[Object] */;
5911 long var153
/* : Int */;
5912 val
* var154
/* : NativeArray[Object] */;
5913 val
* var155
/* : String */;
5916 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
5917 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
5919 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
5920 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
5926 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5930 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
5933 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
5934 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
5940 var17
= string__NativeString__to_s_with_length(var15
, var16
);
5944 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
5950 var_tmp
= var_value1
;
5951 var_value1
= var_value2
;
5952 var_value2
= var_tmp
;
5955 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
5956 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
5962 var25
= string__NativeString__to_s_with_length(var23
, var24
);
5966 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
5968 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
5969 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
5970 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
5975 var32
= " = 1; /* is_same_type_test: compatible types ";
5977 var34
= string__NativeString__to_s_with_length(var32
, var33
);
5981 var35
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
5987 var40
= string__NativeString__to_s_with_length(var38
, var39
);
5991 var41
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
5997 var46
= string__NativeString__to_s_with_length(var44
, var45
);
6001 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
6002 { /* var47 = array_instance Array[Object] */
6004 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
6005 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var_res
;
6006 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var31
;
6007 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var35
;
6008 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var37
;
6009 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var41
;
6010 ((struct instance_array__NativeArray
*)var49
)->values
[5] = (val
*) var43
;
6011 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
6013 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
6014 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var50
) /* add on <self:SeparateCompilerVisitor>*/;
6016 var51
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6017 var52
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var51
) /* ctype on <var51:MType>*/;
6023 var57
= string__NativeString__to_s_with_length(var55
, var56
);
6027 var58
= ((short int (*)(val
*, val
*))(var52
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var52
, var54
) /* != on <var52:String>*/;
6032 var61
= " = 0; /* is_same_type_test: incompatible types ";
6034 var63
= string__NativeString__to_s_with_length(var61
, var62
);
6038 var64
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6044 var69
= string__NativeString__to_s_with_length(var67
, var68
);
6048 var70
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
6054 var75
= string__NativeString__to_s_with_length(var73
, var74
);
6058 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
6059 { /* var76 = array_instance Array[Object] */
6061 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
6062 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var_res
;
6063 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var60
;
6064 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var64
;
6065 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var66
;
6066 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var70
;
6067 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var72
;
6068 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
6070 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
6071 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var79
) /* add on <self:SeparateCompilerVisitor>*/;
6073 var80
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
6074 /* <var80:MType> isa MClassType */
6075 cltype
= type_model__MClassType
.color
;
6076 idtype
= type_model__MClassType
.id
;
6077 if(cltype
>= var80
->type
->table_size
) {
6080 var81
= var80
->type
->type_table
[cltype
] == idtype
;
6083 var_class_name
= var80
== NULL ?
"null" : var80
->type
->name
;
6084 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6085 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1381);
6094 var86
= string__NativeString__to_s_with_length(var84
, var85
);
6098 var87
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
6099 var88
= NEW_array__Array(&type_array__Arraykernel__Object
);
6100 { /* var88 = array_instance Array[Object] */
6102 var90
= NEW_array__NativeArray(var89
, &type_array__NativeArraykernel__Object
);
6103 ((struct instance_array__NativeArray
*)var90
)->values
[0] = (val
*) var83
;
6104 ((struct instance_array__NativeArray
*)var90
)->values
[1] = (val
*) var87
;
6105 ((void (*)(val
*, val
*, long))(var88
->class->vft
[COLOR_array__Array__with_native
]))(var88
, var90
, var89
) /* with_native on <var88:Array[Object]>*/;
6107 var91
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_string__Object__to_s
]))(var88
) /* to_s on <var88:Array[Object]>*/;
6108 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var91
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
6114 var96
= string__NativeString__to_s_with_length(var94
, var95
);
6121 var99
= " != NULL) && (";
6123 var101
= string__NativeString__to_s_with_length(var99
, var100
);
6128 var103
= varonce102
;
6130 var104
= "->class == &class_";
6132 var106
= string__NativeString__to_s_with_length(var104
, var105
);
6134 varonce102
= var103
;
6136 var107
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
6138 var109
= varonce108
;
6140 var110
= "); /* is_same_type_test */";
6142 var112
= string__NativeString__to_s_with_length(var110
, var111
);
6144 varonce108
= var109
;
6146 var113
= NEW_array__Array(&type_array__Arraykernel__Object
);
6147 { /* var113 = array_instance Array[Object] */
6149 var115
= NEW_array__NativeArray(var114
, &type_array__NativeArraykernel__Object
);
6150 ((struct instance_array__NativeArray
*)var115
)->values
[0] = (val
*) var_res
;
6151 ((struct instance_array__NativeArray
*)var115
)->values
[1] = (val
*) var93
;
6152 ((struct instance_array__NativeArray
*)var115
)->values
[2] = (val
*) var_value2
;
6153 ((struct instance_array__NativeArray
*)var115
)->values
[3] = (val
*) var98
;
6154 ((struct instance_array__NativeArray
*)var115
)->values
[4] = (val
*) var_value2
;
6155 ((struct instance_array__NativeArray
*)var115
)->values
[5] = (val
*) var103
;
6156 ((struct instance_array__NativeArray
*)var115
)->values
[6] = (val
*) var107
;
6157 ((struct instance_array__NativeArray
*)var115
)->values
[7] = (val
*) var109
;
6158 ((void (*)(val
*, val
*, long))(var113
->class->vft
[COLOR_array__Array__with_native
]))(var113
, var115
, var114
) /* with_native on <var113:Array[Object]>*/;
6160 var116
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_string__Object__to_s
]))(var113
) /* to_s on <var113:Array[Object]>*/;
6161 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var116
) /* add on <self:SeparateCompilerVisitor>*/;
6166 var118
= varonce117
;
6170 var121
= string__NativeString__to_s_with_length(var119
, var120
);
6172 varonce117
= var118
;
6175 var123
= varonce122
;
6179 var126
= string__NativeString__to_s_with_length(var124
, var125
);
6181 varonce122
= var123
;
6184 var128
= varonce127
;
6188 var131
= string__NativeString__to_s_with_length(var129
, var130
);
6190 varonce127
= var128
;
6193 var133
= varonce132
;
6195 var134
= " != NULL && ";
6197 var136
= string__NativeString__to_s_with_length(var134
, var135
);
6199 varonce132
= var133
;
6202 var138
= varonce137
;
6204 var139
= " != NULL && ";
6206 var141
= string__NativeString__to_s_with_length(var139
, var140
);
6208 varonce137
= var138
;
6211 var143
= varonce142
;
6213 var144
= "->class == ";
6215 var146
= string__NativeString__to_s_with_length(var144
, var145
);
6217 varonce142
= var143
;
6220 var148
= varonce147
;
6222 var149
= "->class); /* is_same_type_test */";
6224 var151
= string__NativeString__to_s_with_length(var149
, var150
);
6226 varonce147
= var148
;
6228 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
6229 { /* var152 = array_instance Array[Object] */
6231 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
6232 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var_res
;
6233 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var118
;
6234 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var_value1
;
6235 ((struct instance_array__NativeArray
*)var154
)->values
[3] = (val
*) var123
;
6236 ((struct instance_array__NativeArray
*)var154
)->values
[4] = (val
*) var_value2
;
6237 ((struct instance_array__NativeArray
*)var154
)->values
[5] = (val
*) var128
;
6238 ((struct instance_array__NativeArray
*)var154
)->values
[6] = (val
*) var_value1
;
6239 ((struct instance_array__NativeArray
*)var154
)->values
[7] = (val
*) var133
;
6240 ((struct instance_array__NativeArray
*)var154
)->values
[8] = (val
*) var_value2
;
6241 ((struct instance_array__NativeArray
*)var154
)->values
[9] = (val
*) var138
;
6242 ((struct instance_array__NativeArray
*)var154
)->values
[10] = (val
*) var_value1
;
6243 ((struct instance_array__NativeArray
*)var154
)->values
[11] = (val
*) var143
;
6244 ((struct instance_array__NativeArray
*)var154
)->values
[12] = (val
*) var_value2
;
6245 ((struct instance_array__NativeArray
*)var154
)->values
[13] = (val
*) var148
;
6246 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
6248 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
6249 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var155
) /* add on <self:SeparateCompilerVisitor>*/;
6256 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
6257 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
6258 val
* var
/* : RuntimeVariable */;
6259 val
* var1
/* : RuntimeVariable */;
6260 var1
= separate_compiler__SeparateCompilerVisitor__is_same_type_test(self
, p0
, p1
);
6265 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
6266 val
* separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
6267 val
* var
/* : String */;
6268 val
* var_value
/* var value: RuntimeVariable */;
6269 static val
* varonce
;
6270 val
* var1
/* : String */;
6271 char* var2
/* : NativeString */;
6272 long var3
/* : Int */;
6273 val
* var4
/* : String */;
6274 val
* var5
/* : String */;
6275 val
* var_res
/* var res: String */;
6276 static val
* varonce6
;
6277 val
* var7
/* : String */;
6278 char* var8
/* : NativeString */;
6279 long var9
/* : Int */;
6280 val
* var10
/* : String */;
6281 static val
* varonce11
;
6282 val
* var12
/* : String */;
6283 char* var13
/* : NativeString */;
6284 long var14
/* : Int */;
6285 val
* var15
/* : String */;
6286 val
* var16
/* : Array[Object] */;
6287 long var17
/* : Int */;
6288 val
* var18
/* : NativeArray[Object] */;
6289 val
* var19
/* : String */;
6290 val
* var20
/* : MType */;
6291 val
* var21
/* : String */;
6292 static val
* varonce22
;
6293 val
* var23
/* : String */;
6294 char* var24
/* : NativeString */;
6295 long var25
/* : Int */;
6296 val
* var26
/* : String */;
6297 short int var27
/* : Bool */;
6298 static val
* varonce28
;
6299 val
* var29
/* : String */;
6300 char* var30
/* : NativeString */;
6301 long var31
/* : Int */;
6302 val
* var32
/* : String */;
6303 static val
* varonce33
;
6304 val
* var34
/* : String */;
6305 char* var35
/* : NativeString */;
6306 long var36
/* : Int */;
6307 val
* var37
/* : String */;
6308 static val
* varonce38
;
6309 val
* var39
/* : String */;
6310 char* var40
/* : NativeString */;
6311 long var41
/* : Int */;
6312 val
* var42
/* : String */;
6313 val
* var43
/* : Array[Object] */;
6314 long var44
/* : Int */;
6315 val
* var45
/* : NativeArray[Object] */;
6316 val
* var46
/* : String */;
6317 short int var47
/* : Bool */;
6318 val
* var48
/* : MType */;
6319 short int var49
/* : Bool */;
6322 short int var_
/* var : Bool */;
6323 val
* var50
/* : MType */;
6324 short int var51
/* : Bool */;
6327 const char* var_class_name
;
6328 val
* var54
/* : MClass */;
6329 val
* var55
/* : MClassKind */;
6330 val
* var56
/* : MClassKind */;
6331 short int var57
/* : Bool */;
6332 static val
* varonce58
;
6333 val
* var59
/* : String */;
6334 char* var60
/* : NativeString */;
6335 long var61
/* : Int */;
6336 val
* var62
/* : String */;
6337 val
* var63
/* : MType */;
6338 short int var64
/* : Bool */;
6341 const char* var_class_name67
;
6342 val
* var68
/* : MClass */;
6343 static val
* varonce69
;
6344 val
* var70
/* : String */;
6345 char* var71
/* : NativeString */;
6346 long var72
/* : Int */;
6347 val
* var73
/* : String */;
6348 val
* var74
/* : Array[Object] */;
6349 long var75
/* : Int */;
6350 val
* var76
/* : NativeArray[Object] */;
6351 val
* var77
/* : String */;
6352 static val
* varonce78
;
6353 val
* var79
/* : String */;
6354 char* var80
/* : NativeString */;
6355 long var81
/* : Int */;
6356 val
* var82
/* : String */;
6357 val
* var83
/* : MType */;
6358 val
* var84
/* : String */;
6359 val
* var85
/* : Array[Object] */;
6360 long var86
/* : Int */;
6361 val
* var87
/* : NativeArray[Object] */;
6362 val
* var88
/* : String */;
6363 static val
* varonce89
;
6364 val
* var90
/* : String */;
6365 char* var91
/* : NativeString */;
6366 long var92
/* : Int */;
6367 val
* var93
/* : String */;
6368 val
* var94
/* : MType */;
6369 val
* var95
/* : String */;
6370 static val
* varonce96
;
6371 val
* var97
/* : String */;
6372 char* var98
/* : NativeString */;
6373 long var99
/* : Int */;
6374 val
* var100
/* : String */;
6375 val
* var101
/* : Array[Object] */;
6376 long var102
/* : Int */;
6377 val
* var103
/* : NativeArray[Object] */;
6378 val
* var104
/* : String */;
6383 var2
= "var_class_name";
6385 var4
= string__NativeString__to_s_with_length(var2
, var3
);
6389 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var1
) /* get_name on <self:SeparateCompilerVisitor>*/;
6394 var8
= "const char* ";
6396 var10
= string__NativeString__to_s_with_length(var8
, var9
);
6405 var15
= string__NativeString__to_s_with_length(var13
, var14
);
6409 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
6410 { /* var16 = array_instance Array[Object] */
6412 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
6413 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
6414 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_res
;
6415 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
6416 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
6418 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
6419 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var19
) /* add_decl on <self:SeparateCompilerVisitor>*/;
6420 var20
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6421 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var20
) /* ctype on <var20:MType>*/;
6427 var26
= string__NativeString__to_s_with_length(var24
, var25
);
6431 var27
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var23
) /* == on <var21:String>*/;
6438 var32
= string__NativeString__to_s_with_length(var30
, var31
);
6445 var35
= " == NULL ? \"null\" : ";
6447 var37
= string__NativeString__to_s_with_length(var35
, var36
);
6454 var40
= "->type->name;";
6456 var42
= string__NativeString__to_s_with_length(var40
, var41
);
6460 var43
= NEW_array__Array(&type_array__Arraykernel__Object
);
6461 { /* var43 = array_instance Array[Object] */
6463 var45
= NEW_array__NativeArray(var44
, &type_array__NativeArraykernel__Object
);
6464 ((struct instance_array__NativeArray
*)var45
)->values
[0] = (val
*) var_res
;
6465 ((struct instance_array__NativeArray
*)var45
)->values
[1] = (val
*) var29
;
6466 ((struct instance_array__NativeArray
*)var45
)->values
[2] = (val
*) var_value
;
6467 ((struct instance_array__NativeArray
*)var45
)->values
[3] = (val
*) var34
;
6468 ((struct instance_array__NativeArray
*)var45
)->values
[4] = (val
*) var_value
;
6469 ((struct instance_array__NativeArray
*)var45
)->values
[5] = (val
*) var39
;
6470 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_array__Array__with_native
]))(var43
, var45
, var44
) /* with_native on <var43:Array[Object]>*/;
6472 var46
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_string__Object__to_s
]))(var43
) /* to_s on <var43:Array[Object]>*/;
6473 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var46
) /* add on <self:SeparateCompilerVisitor>*/;
6475 var48
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6476 /* <var48:MType> isa MClassType */
6477 cltype
= type_model__MClassType
.color
;
6478 idtype
= type_model__MClassType
.id
;
6479 if(cltype
>= var48
->type
->table_size
) {
6482 var49
= var48
->type
->type_table
[cltype
] == idtype
;
6486 var50
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6487 /* <var50:MType> isa MClassType */
6488 cltype52
= type_model__MClassType
.color
;
6489 idtype53
= type_model__MClassType
.id
;
6490 if(cltype52
>= var50
->type
->table_size
) {
6493 var51
= var50
->type
->type_table
[cltype52
] == idtype53
;
6496 var_class_name
= var50
== NULL ?
"null" : var50
->type
->name
;
6497 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
6498 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1397);
6501 var54
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_model__MClassType__mclass
]))(var50
) /* mclass on <var50:MType(MClassType)>*/;
6502 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_model__MClass__kind
]))(var54
) /* kind on <var54:MClass>*/;
6503 var56
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__extern_kind
]))(self
) /* extern_kind on <self:SeparateCompilerVisitor>*/;
6504 var57
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var55
, var56
) /* == on <var55:MClassKind>*/;
6515 var62
= string__NativeString__to_s_with_length(var60
, var61
);
6519 var63
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6520 /* <var63:MType> isa MClassType */
6521 cltype65
= type_model__MClassType
.color
;
6522 idtype66
= type_model__MClassType
.id
;
6523 if(cltype65
>= var63
->type
->table_size
) {
6526 var64
= var63
->type
->type_table
[cltype65
] == idtype66
;
6529 var_class_name67
= var63
== NULL ?
"null" : var63
->type
->name
;
6530 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name67
);
6531 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1398);
6534 var68
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_model__MClassType__mclass
]))(var63
) /* mclass on <var63:MType(MClassType)>*/;
6540 var73
= string__NativeString__to_s_with_length(var71
, var72
);
6544 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
6545 { /* var74 = array_instance Array[Object] */
6547 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
6548 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
6549 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var59
;
6550 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var68
;
6551 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var70
;
6552 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
6554 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
6555 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:SeparateCompilerVisitor>*/;
6562 var82
= string__NativeString__to_s_with_length(var80
, var81
);
6566 var83
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6567 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var83
) /* c_name on <var83:MType>*/;
6568 var85
= NEW_array__Array(&type_array__Arraykernel__Object
);
6569 { /* var85 = array_instance Array[Object] */
6571 var87
= NEW_array__NativeArray(var86
, &type_array__NativeArraykernel__Object
);
6572 ((struct instance_array__NativeArray
*)var87
)->values
[0] = (val
*) var79
;
6573 ((struct instance_array__NativeArray
*)var87
)->values
[1] = (val
*) var84
;
6574 ((void (*)(val
*, val
*, long))(var85
->class->vft
[COLOR_array__Array__with_native
]))(var85
, var87
, var86
) /* with_native on <var85:Array[Object]>*/;
6576 var88
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_string__Object__to_s
]))(var85
) /* to_s on <var85:Array[Object]>*/;
6577 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var88
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
6583 var93
= string__NativeString__to_s_with_length(var91
, var92
);
6587 var94
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value
) /* mtype on <var_value:RuntimeVariable>*/;
6588 var95
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var94
) /* c_name on <var94:MType>*/;
6594 var100
= string__NativeString__to_s_with_length(var98
, var99
);
6598 var101
= NEW_array__Array(&type_array__Arraykernel__Object
);
6599 { /* var101 = array_instance Array[Object] */
6601 var103
= NEW_array__NativeArray(var102
, &type_array__NativeArraykernel__Object
);
6602 ((struct instance_array__NativeArray
*)var103
)->values
[0] = (val
*) var_res
;
6603 ((struct instance_array__NativeArray
*)var103
)->values
[1] = (val
*) var90
;
6604 ((struct instance_array__NativeArray
*)var103
)->values
[2] = (val
*) var95
;
6605 ((struct instance_array__NativeArray
*)var103
)->values
[3] = (val
*) var97
;
6606 ((void (*)(val
*, val
*, long))(var101
->class->vft
[COLOR_array__Array__with_native
]))(var101
, var103
, var102
) /* with_native on <var101:Array[Object]>*/;
6608 var104
= ((val
* (*)(val
*))(var101
->class->vft
[COLOR_string__Object__to_s
]))(var101
) /* to_s on <var101:Array[Object]>*/;
6609 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var104
) /* add on <self:SeparateCompilerVisitor>*/;
6617 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
6618 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
6619 val
* var
/* : String */;
6620 val
* var1
/* : String */;
6621 var1
= separate_compiler__SeparateCompilerVisitor__class_name_string(self
, p0
);
6626 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
6627 val
* separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
6628 val
* var
/* : RuntimeVariable */;
6629 val
* var_value1
/* var value1: RuntimeVariable */;
6630 val
* var_value2
/* var value2: RuntimeVariable */;
6631 val
* var1
/* : MClassType */;
6632 val
* var2
/* : RuntimeVariable */;
6633 val
* var_res
/* var res: RuntimeVariable */;
6634 short int var3
/* : Bool */;
6635 val
* var4
/* : MType */;
6636 val
* var5
/* : String */;
6637 static val
* varonce
;
6638 val
* var6
/* : String */;
6639 char* var7
/* : NativeString */;
6640 long var8
/* : Int */;
6641 val
* var9
/* : String */;
6642 short int var10
/* : Bool */;
6643 short int var_
/* var : Bool */;
6644 val
* var11
/* : MType */;
6645 val
* var12
/* : String */;
6646 static val
* varonce13
;
6647 val
* var14
/* : String */;
6648 char* var15
/* : NativeString */;
6649 long var16
/* : Int */;
6650 val
* var17
/* : String */;
6651 short int var18
/* : Bool */;
6652 val
* var_tmp
/* var tmp: RuntimeVariable */;
6653 val
* var19
/* : MType */;
6654 val
* var20
/* : String */;
6655 static val
* varonce21
;
6656 val
* var22
/* : String */;
6657 char* var23
/* : NativeString */;
6658 long var24
/* : Int */;
6659 val
* var25
/* : String */;
6660 short int var26
/* : Bool */;
6661 val
* var27
/* : MType */;
6662 val
* var28
/* : MType */;
6663 short int var29
/* : Bool */;
6664 static val
* varonce30
;
6665 val
* var31
/* : String */;
6666 char* var32
/* : NativeString */;
6667 long var33
/* : Int */;
6668 val
* var34
/* : String */;
6669 static val
* varonce35
;
6670 val
* var36
/* : String */;
6671 char* var37
/* : NativeString */;
6672 long var38
/* : Int */;
6673 val
* var39
/* : String */;
6674 static val
* varonce40
;
6675 val
* var41
/* : String */;
6676 char* var42
/* : NativeString */;
6677 long var43
/* : Int */;
6678 val
* var44
/* : String */;
6679 val
* var45
/* : Array[Object] */;
6680 long var46
/* : Int */;
6681 val
* var47
/* : NativeArray[Object] */;
6682 val
* var48
/* : String */;
6683 val
* var49
/* : MType */;
6684 val
* var50
/* : String */;
6685 static val
* varonce51
;
6686 val
* var52
/* : String */;
6687 char* var53
/* : NativeString */;
6688 long var54
/* : Int */;
6689 val
* var55
/* : String */;
6690 short int var56
/* : Bool */;
6691 static val
* varonce57
;
6692 val
* var58
/* : String */;
6693 char* var59
/* : NativeString */;
6694 long var60
/* : Int */;
6695 val
* var61
/* : String */;
6696 val
* var62
/* : MType */;
6697 static val
* varonce63
;
6698 val
* var64
/* : String */;
6699 char* var65
/* : NativeString */;
6700 long var66
/* : Int */;
6701 val
* var67
/* : String */;
6702 val
* var68
/* : MType */;
6703 static val
* varonce69
;
6704 val
* var70
/* : String */;
6705 char* var71
/* : NativeString */;
6706 long var72
/* : Int */;
6707 val
* var73
/* : String */;
6708 val
* var74
/* : Array[Object] */;
6709 long var75
/* : Int */;
6710 val
* var76
/* : NativeArray[Object] */;
6711 val
* var77
/* : String */;
6712 val
* var78
/* : MType */;
6713 short int var79
/* : Bool */;
6716 const char* var_class_name
;
6717 val
* var_mtype1
/* var mtype1: MClassType */;
6718 static val
* varonce80
;
6719 val
* var81
/* : String */;
6720 char* var82
/* : NativeString */;
6721 long var83
/* : Int */;
6722 val
* var84
/* : String */;
6723 val
* var85
/* : String */;
6724 val
* var86
/* : Array[Object] */;
6725 long var87
/* : Int */;
6726 val
* var88
/* : NativeArray[Object] */;
6727 val
* var89
/* : String */;
6728 static val
* varonce90
;
6729 val
* var91
/* : String */;
6730 char* var92
/* : NativeString */;
6731 long var93
/* : Int */;
6732 val
* var94
/* : String */;
6733 static val
* varonce95
;
6734 val
* var96
/* : String */;
6735 char* var97
/* : NativeString */;
6736 long var98
/* : Int */;
6737 val
* var99
/* : String */;
6738 static val
* varonce100
;
6739 val
* var101
/* : String */;
6740 char* var102
/* : NativeString */;
6741 long var103
/* : Int */;
6742 val
* var104
/* : String */;
6743 val
* var105
/* : String */;
6744 static val
* varonce106
;
6745 val
* var107
/* : String */;
6746 char* var108
/* : NativeString */;
6747 long var109
/* : Int */;
6748 val
* var110
/* : String */;
6749 val
* var111
/* : Array[Object] */;
6750 long var112
/* : Int */;
6751 val
* var113
/* : NativeArray[Object] */;
6752 val
* var114
/* : String */;
6753 static val
* varonce115
;
6754 val
* var116
/* : String */;
6755 char* var117
/* : NativeString */;
6756 long var118
/* : Int */;
6757 val
* var119
/* : String */;
6758 static val
* varonce120
;
6759 val
* var121
/* : String */;
6760 char* var122
/* : NativeString */;
6761 long var123
/* : Int */;
6762 val
* var124
/* : String */;
6763 val
* var125
/* : Array[Object] */;
6764 long var126
/* : Int */;
6765 val
* var127
/* : NativeArray[Object] */;
6766 val
* var128
/* : String */;
6767 static val
* varonce129
;
6768 val
* var130
/* : String */;
6769 char* var131
/* : NativeString */;
6770 long var132
/* : Int */;
6771 val
* var133
/* : String */;
6772 val
* var134
/* : MType */;
6773 val
* var135
/* : RuntimeVariable */;
6774 static val
* varonce136
;
6775 val
* var137
/* : String */;
6776 char* var138
/* : NativeString */;
6777 long var139
/* : Int */;
6778 val
* var140
/* : String */;
6779 static val
* varonce141
;
6780 val
* var142
/* : String */;
6781 char* var143
/* : NativeString */;
6782 long var144
/* : Int */;
6783 val
* var145
/* : String */;
6784 val
* var146
/* : Array[Object] */;
6785 long var147
/* : Int */;
6786 val
* var148
/* : NativeArray[Object] */;
6787 val
* var149
/* : String */;
6788 static val
* varonce150
;
6789 val
* var151
/* : String */;
6790 char* var152
/* : NativeString */;
6791 long var153
/* : Int */;
6792 val
* var154
/* : String */;
6793 short int var155
/* : Bool */;
6794 short int var_maybe_null
/* var maybe_null: Bool */;
6795 val
* var156
/* : Array[String] */;
6796 val
* var_test
/* var test: Array[String] */;
6797 val
* var157
/* : MType */;
6798 val
* var_t1
/* var t1: MType */;
6799 short int var158
/* : Bool */;
6802 static val
* varonce161
;
6803 val
* var162
/* : String */;
6804 char* var163
/* : NativeString */;
6805 long var164
/* : Int */;
6806 val
* var165
/* : String */;
6807 val
* var166
/* : Array[Object] */;
6808 long var167
/* : Int */;
6809 val
* var168
/* : NativeArray[Object] */;
6810 val
* var169
/* : String */;
6811 val
* var170
/* : MType */;
6812 short int var171
/* : Bool */;
6813 val
* var172
/* : MType */;
6814 val
* var_t2
/* var t2: MType */;
6815 short int var173
/* : Bool */;
6818 static val
* varonce176
;
6819 val
* var177
/* : String */;
6820 char* var178
/* : NativeString */;
6821 long var179
/* : Int */;
6822 val
* var180
/* : String */;
6823 val
* var181
/* : Array[Object] */;
6824 long var182
/* : Int */;
6825 val
* var183
/* : NativeArray[Object] */;
6826 val
* var184
/* : String */;
6827 val
* var185
/* : MType */;
6828 short int var186
/* : Bool */;
6829 short int var187
/* : Bool */;
6830 short int var_incompatible
/* var incompatible: Bool */;
6831 val
* var188
/* : String */;
6832 static val
* varonce189
;
6833 val
* var190
/* : String */;
6834 char* var191
/* : NativeString */;
6835 long var192
/* : Int */;
6836 val
* var193
/* : String */;
6837 short int var194
/* : Bool */;
6838 val
* var_primitive
/* var primitive: nullable Object */;
6839 short int var195
/* : Bool */;
6840 val
* var196
/* : String */;
6841 static val
* varonce197
;
6842 val
* var198
/* : String */;
6843 char* var199
/* : NativeString */;
6844 long var200
/* : Int */;
6845 val
* var201
/* : String */;
6846 short int var202
/* : Bool */;
6847 short int var203
/* : Bool */;
6848 short int var204
/* : Bool */;
6849 static val
* varonce205
;
6850 val
* var206
/* : String */;
6851 char* var207
/* : NativeString */;
6852 long var208
/* : Int */;
6853 val
* var209
/* : String */;
6854 static val
* varonce210
;
6855 val
* var211
/* : String */;
6856 char* var212
/* : NativeString */;
6857 long var213
/* : Int */;
6858 val
* var214
/* : String */;
6859 val
* var215
/* : Array[Object] */;
6860 long var216
/* : Int */;
6861 val
* var217
/* : NativeArray[Object] */;
6862 val
* var218
/* : String */;
6863 short int var219
/* : Bool */;
6864 val
* var220
/* : String */;
6865 static val
* varonce221
;
6866 val
* var222
/* : String */;
6867 char* var223
/* : NativeString */;
6868 long var224
/* : Int */;
6869 val
* var225
/* : String */;
6870 short int var226
/* : Bool */;
6871 short int var227
/* : Bool */;
6872 static val
* varonce228
;
6873 val
* var229
/* : String */;
6874 char* var230
/* : NativeString */;
6875 long var231
/* : Int */;
6876 val
* var232
/* : String */;
6877 static val
* varonce233
;
6878 val
* var234
/* : String */;
6879 char* var235
/* : NativeString */;
6880 long var236
/* : Int */;
6881 val
* var237
/* : String */;
6882 val
* var238
/* : Array[Object] */;
6883 long var239
/* : Int */;
6884 val
* var240
/* : NativeArray[Object] */;
6885 val
* var241
/* : String */;
6886 short int var242
/* : Bool */;
6887 val
* var243
/* : null */;
6888 static val
* varonce244
;
6889 val
* var245
/* : String */;
6890 char* var246
/* : NativeString */;
6891 long var247
/* : Int */;
6892 val
* var248
/* : String */;
6893 static val
* varonce249
;
6894 val
* var250
/* : String */;
6895 char* var251
/* : NativeString */;
6896 long var252
/* : Int */;
6897 val
* var253
/* : String */;
6898 static val
* varonce254
;
6899 val
* var255
/* : String */;
6900 char* var256
/* : NativeString */;
6901 long var257
/* : Int */;
6902 val
* var258
/* : String */;
6903 static val
* varonce259
;
6904 val
* var260
/* : String */;
6905 char* var261
/* : NativeString */;
6906 long var262
/* : Int */;
6907 val
* var263
/* : String */;
6908 static val
* varonce264
;
6909 val
* var265
/* : String */;
6910 char* var266
/* : NativeString */;
6911 long var267
/* : Int */;
6912 val
* var268
/* : String */;
6913 val
* var269
/* : Array[Object] */;
6914 long var270
/* : Int */;
6915 val
* var271
/* : NativeArray[Object] */;
6916 val
* var272
/* : String */;
6917 static val
* varonce273
;
6918 val
* var274
/* : String */;
6919 char* var275
/* : NativeString */;
6920 long var276
/* : Int */;
6921 val
* var277
/* : String */;
6922 static val
* varonce278
;
6923 val
* var279
/* : String */;
6924 char* var280
/* : NativeString */;
6925 long var281
/* : Int */;
6926 val
* var282
/* : String */;
6927 static val
* varonce283
;
6928 val
* var284
/* : String */;
6929 char* var285
/* : NativeString */;
6930 long var286
/* : Int */;
6931 val
* var287
/* : String */;
6932 val
* var288
/* : Array[Object] */;
6933 long var289
/* : Int */;
6934 val
* var290
/* : NativeArray[Object] */;
6935 val
* var291
/* : String */;
6936 val
* var292
/* : null */;
6937 short int var293
/* : Bool */;
6938 static val
* varonce294
;
6939 val
* var295
/* : String */;
6940 char* var296
/* : NativeString */;
6941 long var297
/* : Int */;
6942 val
* var298
/* : String */;
6943 val
* var299
/* : String */;
6944 static val
* varonce300
;
6945 val
* var301
/* : String */;
6946 char* var302
/* : NativeString */;
6947 long var303
/* : Int */;
6948 val
* var304
/* : String */;
6949 static val
* varonce305
;
6950 val
* var306
/* : String */;
6951 char* var307
/* : NativeString */;
6952 long var308
/* : Int */;
6953 val
* var309
/* : String */;
6954 val
* var310
/* : String */;
6955 static val
* varonce311
;
6956 val
* var312
/* : String */;
6957 char* var313
/* : NativeString */;
6958 long var314
/* : Int */;
6959 val
* var315
/* : String */;
6960 static val
* varonce316
;
6961 val
* var317
/* : String */;
6962 char* var318
/* : NativeString */;
6963 long var319
/* : Int */;
6964 val
* var320
/* : String */;
6965 val
* var321
/* : Array[Object] */;
6966 long var322
/* : Int */;
6967 val
* var323
/* : NativeArray[Object] */;
6968 val
* var324
/* : String */;
6969 short int var325
/* : Bool */;
6970 short int var326
/* : Bool */;
6971 short int var_327
/* var : Bool */;
6972 short int var328
/* : Bool */;
6973 static val
* varonce329
;
6974 val
* var330
/* : String */;
6975 char* var331
/* : NativeString */;
6976 long var332
/* : Int */;
6977 val
* var333
/* : String */;
6978 static val
* varonce334
;
6979 val
* var335
/* : String */;
6980 char* var336
/* : NativeString */;
6981 long var337
/* : Int */;
6982 val
* var338
/* : String */;
6983 val
* var339
/* : Array[Object] */;
6984 long var340
/* : Int */;
6985 val
* var341
/* : NativeArray[Object] */;
6986 val
* var342
/* : String */;
6987 val
* var343
/* : Array[String] */;
6988 val
* var_s
/* var s: Array[String] */;
6989 val
* var344
/* : AbstractCompiler */;
6990 val
* var345
/* : HashMap[MClass, Int] */;
6991 val
* var346
/* : MapIterator[Object, nullable Object] */;
6992 short int var347
/* : Bool */;
6993 val
* var348
/* : Object */;
6994 val
* var_t
/* var t: MClass */;
6995 val
* var349
/* : nullable Object */;
6996 long var_v
/* var v: Int */;
6997 long var350
/* : Int */;
6998 static val
* varonce351
;
6999 val
* var352
/* : String */;
7000 char* var353
/* : NativeString */;
7001 long var354
/* : Int */;
7002 val
* var355
/* : String */;
7003 static val
* varonce356
;
7004 val
* var357
/* : String */;
7005 char* var358
/* : NativeString */;
7006 long var359
/* : Int */;
7007 val
* var360
/* : String */;
7008 static val
* varonce361
;
7009 val
* var362
/* : String */;
7010 char* var363
/* : NativeString */;
7011 long var364
/* : Int */;
7012 val
* var365
/* : String */;
7013 val
* var366
/* : String */;
7014 static val
* varonce367
;
7015 val
* var368
/* : String */;
7016 char* var369
/* : NativeString */;
7017 long var370
/* : Int */;
7018 val
* var371
/* : String */;
7019 static val
* varonce372
;
7020 val
* var373
/* : String */;
7021 char* var374
/* : NativeString */;
7022 long var375
/* : Int */;
7023 val
* var376
/* : String */;
7024 val
* var377
/* : String */;
7025 static val
* varonce378
;
7026 val
* var379
/* : String */;
7027 char* var380
/* : NativeString */;
7028 long var381
/* : Int */;
7029 val
* var382
/* : String */;
7030 static val
* varonce383
;
7031 val
* var384
/* : String */;
7032 char* var385
/* : NativeString */;
7033 long var386
/* : Int */;
7034 val
* var387
/* : String */;
7035 val
* var388
/* : Array[Object] */;
7036 long var389
/* : Int */;
7037 val
* var390
/* : NativeArray[Object] */;
7038 val
* var391
/* : Object */;
7039 val
* var392
/* : String */;
7040 static val
* varonce393
;
7041 val
* var394
/* : String */;
7042 char* var395
/* : NativeString */;
7043 long var396
/* : Int */;
7044 val
* var397
/* : String */;
7045 static val
* varonce398
;
7046 val
* var399
/* : String */;
7047 char* var400
/* : NativeString */;
7048 long var401
/* : Int */;
7049 val
* var402
/* : String */;
7050 val
* var403
/* : String */;
7051 static val
* varonce404
;
7052 val
* var405
/* : String */;
7053 char* var406
/* : NativeString */;
7054 long var407
/* : Int */;
7055 val
* var408
/* : String */;
7056 val
* var409
/* : Array[Object] */;
7057 long var410
/* : Int */;
7058 val
* var411
/* : NativeArray[Object] */;
7059 val
* var412
/* : String */;
7060 static val
* varonce413
;
7061 val
* var414
/* : String */;
7062 char* var415
/* : NativeString */;
7063 long var416
/* : Int */;
7064 val
* var417
/* : String */;
7065 static val
* varonce418
;
7066 val
* var419
/* : String */;
7067 char* var420
/* : NativeString */;
7068 long var421
/* : Int */;
7069 val
* var422
/* : String */;
7070 static val
* varonce423
;
7071 val
* var424
/* : String */;
7072 char* var425
/* : NativeString */;
7073 long var426
/* : Int */;
7074 val
* var427
/* : String */;
7075 val
* var428
/* : Array[Object] */;
7076 long var429
/* : Int */;
7077 val
* var430
/* : NativeArray[Object] */;
7078 val
* var431
/* : String */;
7079 static val
* varonce432
;
7080 val
* var433
/* : String */;
7081 char* var434
/* : NativeString */;
7082 long var435
/* : Int */;
7083 val
* var436
/* : String */;
7084 static val
* varonce437
;
7085 val
* var438
/* : String */;
7086 char* var439
/* : NativeString */;
7087 long var440
/* : Int */;
7088 val
* var441
/* : String */;
7089 static val
* varonce442
;
7090 val
* var443
/* : String */;
7091 char* var444
/* : NativeString */;
7092 long var445
/* : Int */;
7093 val
* var446
/* : String */;
7094 static val
* varonce447
;
7095 val
* var448
/* : String */;
7096 char* var449
/* : NativeString */;
7097 long var450
/* : Int */;
7098 val
* var451
/* : String */;
7099 val
* var452
/* : String */;
7100 static val
* varonce453
;
7101 val
* var454
/* : String */;
7102 char* var455
/* : NativeString */;
7103 long var456
/* : Int */;
7104 val
* var457
/* : String */;
7105 val
* var458
/* : Array[Object] */;
7106 long var459
/* : Int */;
7107 val
* var460
/* : NativeArray[Object] */;
7108 val
* var461
/* : String */;
7111 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:SeparateCompilerVisitor>*/;
7112 var2
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var1
) /* new_var on <self:SeparateCompilerVisitor>*/;
7114 var4
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7115 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
7121 var9
= string__NativeString__to_s_with_length(var7
, var8
);
7125 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var5
, var6
) /* != on <var5:String>*/;
7128 var11
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7129 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
7135 var17
= string__NativeString__to_s_with_length(var15
, var16
);
7139 var18
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var14
) /* == on <var12:String>*/;
7145 var_tmp
= var_value1
;
7146 var_value1
= var_value2
;
7147 var_value2
= var_tmp
;
7150 var19
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7151 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var19
) /* ctype on <var19:MType>*/;
7157 var25
= string__NativeString__to_s_with_length(var23
, var24
);
7161 var26
= ((short int (*)(val
*, val
*))(var20
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var20
, var22
) /* != on <var20:String>*/;
7163 var27
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7164 var28
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7165 var29
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var28
) /* == on <var27:MType>*/;
7172 var34
= string__NativeString__to_s_with_length(var32
, var33
);
7181 var39
= string__NativeString__to_s_with_length(var37
, var38
);
7190 var44
= string__NativeString__to_s_with_length(var42
, var43
);
7194 var45
= NEW_array__Array(&type_array__Arraykernel__Object
);
7195 { /* var45 = array_instance Array[Object] */
7197 var47
= NEW_array__NativeArray(var46
, &type_array__NativeArraykernel__Object
);
7198 ((struct instance_array__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
7199 ((struct instance_array__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
7200 ((struct instance_array__NativeArray
*)var47
)->values
[2] = (val
*) var_value1
;
7201 ((struct instance_array__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
7202 ((struct instance_array__NativeArray
*)var47
)->values
[4] = (val
*) var_value2
;
7203 ((struct instance_array__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
7204 ((void (*)(val
*, val
*, long))(var45
->class->vft
[COLOR_array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
7206 var48
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
7207 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var48
) /* add on <self:SeparateCompilerVisitor>*/;
7209 var49
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7210 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
7216 var55
= string__NativeString__to_s_with_length(var53
, var54
);
7220 var56
= ((short int (*)(val
*, val
*))(var50
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var50
, var52
) /* != on <var50:String>*/;
7225 var59
= " = 0; /* incompatible types ";
7227 var61
= string__NativeString__to_s_with_length(var59
, var60
);
7231 var62
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7237 var67
= string__NativeString__to_s_with_length(var65
, var66
);
7241 var68
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value2
) /* mtype on <var_value2:RuntimeVariable>*/;
7247 var73
= string__NativeString__to_s_with_length(var71
, var72
);
7251 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
7252 { /* var74 = array_instance Array[Object] */
7254 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
7255 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_res
;
7256 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var58
;
7257 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var62
;
7258 ((struct instance_array__NativeArray
*)var76
)->values
[3] = (val
*) var64
;
7259 ((struct instance_array__NativeArray
*)var76
)->values
[4] = (val
*) var68
;
7260 ((struct instance_array__NativeArray
*)var76
)->values
[5] = (val
*) var70
;
7261 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
7263 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
7264 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var77
) /* add on <self:SeparateCompilerVisitor>*/;
7266 var78
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7267 /* <var78:MType> isa MClassType */
7268 cltype
= type_model__MClassType
.color
;
7269 idtype
= type_model__MClassType
.id
;
7270 if(cltype
>= var78
->type
->table_size
) {
7273 var79
= var78
->type
->type_table
[cltype
] == idtype
;
7276 var_class_name
= var78
== NULL ?
"null" : var78
->type
->name
;
7277 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
7278 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1420);
7287 var84
= string__NativeString__to_s_with_length(var82
, var83
);
7291 var85
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
7292 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
7293 { /* var86 = array_instance Array[Object] */
7295 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
7296 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var81
;
7297 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var85
;
7298 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
7300 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
7301 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var89
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
7307 var94
= string__NativeString__to_s_with_length(var92
, var93
);
7314 var97
= " != NULL) && (";
7316 var99
= string__NativeString__to_s_with_length(var97
, var98
);
7321 var101
= varonce100
;
7323 var102
= "->class == &class_";
7325 var104
= string__NativeString__to_s_with_length(var102
, var103
);
7327 varonce100
= var101
;
7329 var105
= ((val
* (*)(val
*))(var_mtype1
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
7331 var107
= varonce106
;
7335 var110
= string__NativeString__to_s_with_length(var108
, var109
);
7337 varonce106
= var107
;
7339 var111
= NEW_array__Array(&type_array__Arraykernel__Object
);
7340 { /* var111 = array_instance Array[Object] */
7342 var113
= NEW_array__NativeArray(var112
, &type_array__NativeArraykernel__Object
);
7343 ((struct instance_array__NativeArray
*)var113
)->values
[0] = (val
*) var_res
;
7344 ((struct instance_array__NativeArray
*)var113
)->values
[1] = (val
*) var91
;
7345 ((struct instance_array__NativeArray
*)var113
)->values
[2] = (val
*) var_value2
;
7346 ((struct instance_array__NativeArray
*)var113
)->values
[3] = (val
*) var96
;
7347 ((struct instance_array__NativeArray
*)var113
)->values
[4] = (val
*) var_value2
;
7348 ((struct instance_array__NativeArray
*)var113
)->values
[5] = (val
*) var101
;
7349 ((struct instance_array__NativeArray
*)var113
)->values
[6] = (val
*) var105
;
7350 ((struct instance_array__NativeArray
*)var113
)->values
[7] = (val
*) var107
;
7351 ((void (*)(val
*, val
*, long))(var111
->class->vft
[COLOR_array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
7353 var114
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
7354 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var114
) /* add on <self:SeparateCompilerVisitor>*/;
7356 var116
= varonce115
;
7360 var119
= string__NativeString__to_s_with_length(var117
, var118
);
7362 varonce115
= var116
;
7365 var121
= varonce120
;
7369 var124
= string__NativeString__to_s_with_length(var122
, var123
);
7371 varonce120
= var121
;
7373 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
7374 { /* var125 = array_instance Array[Object] */
7376 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
7377 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
7378 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var_res
;
7379 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
7380 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
7382 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
7383 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var128
) /* add on <self:SeparateCompilerVisitor>*/;
7385 var130
= varonce129
;
7389 var133
= string__NativeString__to_s_with_length(var131
, var132
);
7391 varonce129
= var130
;
7393 var134
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_value1
) /* mtype on <var_value1:RuntimeVariable>*/;
7394 var135
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_value2
, var134
) /* autobox on <self:SeparateCompilerVisitor>*/;
7396 var137
= varonce136
;
7400 var140
= string__NativeString__to_s_with_length(var138
, var139
);
7402 varonce136
= var137
;
7405 var142
= varonce141
;
7409 var145
= string__NativeString__to_s_with_length(var143
, var144
);
7411 varonce141
= var142
;
7413 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
7414 { /* var146 = array_instance Array[Object] */
7416 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
7417 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var_res
;
7418 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var130
;
7419 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var135
;
7420 ((struct instance_array__NativeArray
*)var148
)->values
[3] = (val
*) var137
;
7421 ((struct instance_array__NativeArray
*)var148
)->values
[4] = (val
*) var_value1
;
7422 ((struct instance_array__NativeArray
*)var148
)->values
[5] = (val
*) var142
;
7423 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
7425 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
7426 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var149
) /* add on <self:SeparateCompilerVisitor>*/;
7428 var151
= varonce150
;
7432 var154
= string__NativeString__to_s_with_length(var152
, var153
);
7434 varonce150
= var151
;
7436 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var151
) /* add on <self:SeparateCompilerVisitor>*/;
7444 var_maybe_null
= var155
;
7445 var156
= NEW_array__Array(&type_array__Arraystring__String
);
7446 ((void (*)(val
*))(var156
->class->vft
[COLOR_array__Array__init
]))(var156
) /* init on <var156:Array[String]>*/;
7448 var157
= ((val
* (*)(val
*))(var_value1
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value1
) /* mcasttype on <var_value1:RuntimeVariable>*/;
7450 /* <var_t1:MType> isa MNullableType */
7451 cltype159
= type_model__MNullableType
.color
;
7452 idtype160
= type_model__MNullableType
.id
;
7453 if(cltype159
>= var_t1
->type
->table_size
) {
7456 var158
= var_t1
->type
->type_table
[cltype159
] == idtype160
;
7460 var162
= varonce161
;
7462 var163
= " != NULL";
7464 var165
= string__NativeString__to_s_with_length(var163
, var164
);
7466 varonce161
= var162
;
7468 var166
= NEW_array__Array(&type_array__Arraykernel__Object
);
7469 { /* var166 = array_instance Array[Object] */
7471 var168
= NEW_array__NativeArray(var167
, &type_array__NativeArraykernel__Object
);
7472 ((struct instance_array__NativeArray
*)var168
)->values
[0] = (val
*) var_value1
;
7473 ((struct instance_array__NativeArray
*)var168
)->values
[1] = (val
*) var162
;
7474 ((void (*)(val
*, val
*, long))(var166
->class->vft
[COLOR_array__Array__with_native
]))(var166
, var168
, var167
) /* with_native on <var166:Array[Object]>*/;
7476 var169
= ((val
* (*)(val
*))(var166
->class->vft
[COLOR_string__Object__to_s
]))(var166
) /* to_s on <var166:Array[Object]>*/;
7477 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var169
) /* add on <var_test:Array[String]>*/;
7478 var170
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t1
) /* mtype on <var_t1:MType(MNullableType)>*/;
7482 var_maybe_null
= var171
;
7484 var172
= ((val
* (*)(val
*))(var_value2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value2
) /* mcasttype on <var_value2:RuntimeVariable>*/;
7486 /* <var_t2:MType> isa MNullableType */
7487 cltype174
= type_model__MNullableType
.color
;
7488 idtype175
= type_model__MNullableType
.id
;
7489 if(cltype174
>= var_t2
->type
->table_size
) {
7492 var173
= var_t2
->type
->type_table
[cltype174
] == idtype175
;
7496 var177
= varonce176
;
7498 var178
= " != NULL";
7500 var180
= string__NativeString__to_s_with_length(var178
, var179
);
7502 varonce176
= var177
;
7504 var181
= NEW_array__Array(&type_array__Arraykernel__Object
);
7505 { /* var181 = array_instance Array[Object] */
7507 var183
= NEW_array__NativeArray(var182
, &type_array__NativeArraykernel__Object
);
7508 ((struct instance_array__NativeArray
*)var183
)->values
[0] = (val
*) var_value2
;
7509 ((struct instance_array__NativeArray
*)var183
)->values
[1] = (val
*) var177
;
7510 ((void (*)(val
*, val
*, long))(var181
->class->vft
[COLOR_array__Array__with_native
]))(var181
, var183
, var182
) /* with_native on <var181:Array[Object]>*/;
7512 var184
= ((val
* (*)(val
*))(var181
->class->vft
[COLOR_string__Object__to_s
]))(var181
) /* to_s on <var181:Array[Object]>*/;
7513 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var184
) /* add on <var_test:Array[String]>*/;
7514 var185
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t2
) /* mtype on <var_t2:MType(MNullableType)>*/;
7518 var_maybe_null
= var186
;
7521 var_incompatible
= var187
;
7522 var188
= ((val
* (*)(val
*))(var_t1
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t1
) /* ctype on <var_t1:MType>*/;
7524 var190
= varonce189
;
7528 var193
= string__NativeString__to_s_with_length(var191
, var192
);
7530 varonce189
= var190
;
7532 var194
= ((short int (*)(val
*, val
*))(var188
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var188
, var190
) /* != on <var188:String>*/;
7534 var_primitive
= var_t1
;
7535 var195
= ((short int (*)(val
*, val
*))(var_t1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_t1
, var_t2
) /* == on <var_t1:MType>*/;
7538 var196
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
7540 var198
= varonce197
;
7544 var201
= string__NativeString__to_s_with_length(var199
, var200
);
7546 varonce197
= var198
;
7548 var202
= ((short int (*)(val
*, val
*))(var196
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var196
, var198
) /* != on <var196:String>*/;
7551 var_incompatible
= var203
;
7553 var204
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
7556 var206
= varonce205
;
7558 var207
= "->class == ";
7560 var209
= string__NativeString__to_s_with_length(var207
, var208
);
7562 varonce205
= var206
;
7565 var211
= varonce210
;
7569 var214
= string__NativeString__to_s_with_length(var212
, var213
);
7571 varonce210
= var211
;
7573 var215
= NEW_array__Array(&type_array__Arraykernel__Object
);
7574 { /* var215 = array_instance Array[Object] */
7576 var217
= NEW_array__NativeArray(var216
, &type_array__NativeArraykernel__Object
);
7577 ((struct instance_array__NativeArray
*)var217
)->values
[0] = (val
*) var_value1
;
7578 ((struct instance_array__NativeArray
*)var217
)->values
[1] = (val
*) var206
;
7579 ((struct instance_array__NativeArray
*)var217
)->values
[2] = (val
*) var_value2
;
7580 ((struct instance_array__NativeArray
*)var217
)->values
[3] = (val
*) var211
;
7581 ((void (*)(val
*, val
*, long))(var215
->class->vft
[COLOR_array__Array__with_native
]))(var215
, var217
, var216
) /* with_native on <var215:Array[Object]>*/;
7583 var218
= ((val
* (*)(val
*))(var215
->class->vft
[COLOR_string__Object__to_s
]))(var215
) /* to_s on <var215:Array[Object]>*/;
7584 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var218
) /* add on <var_test:Array[String]>*/;
7587 var_incompatible
= var219
;
7592 var220
= ((val
* (*)(val
*))(var_t2
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
7594 var222
= varonce221
;
7598 var225
= string__NativeString__to_s_with_length(var223
, var224
);
7600 varonce221
= var222
;
7602 var226
= ((short int (*)(val
*, val
*))(var220
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var220
, var222
) /* != on <var220:String>*/;
7604 var_primitive
= var_t2
;
7605 var227
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
7608 var229
= varonce228
;
7610 var230
= "->class == ";
7612 var232
= string__NativeString__to_s_with_length(var230
, var231
);
7614 varonce228
= var229
;
7617 var234
= varonce233
;
7621 var237
= string__NativeString__to_s_with_length(var235
, var236
);
7623 varonce233
= var234
;
7625 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
7626 { /* var238 = array_instance Array[Object] */
7628 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
7629 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var_value1
;
7630 ((struct instance_array__NativeArray
*)var240
)->values
[1] = (val
*) var229
;
7631 ((struct instance_array__NativeArray
*)var240
)->values
[2] = (val
*) var_value2
;
7632 ((struct instance_array__NativeArray
*)var240
)->values
[3] = (val
*) var234
;
7633 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
7635 var241
= ((val
* (*)(val
*))(var238
->class->vft
[COLOR_string__Object__to_s
]))(var238
) /* to_s on <var238:Array[Object]>*/;
7636 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var241
) /* add on <var_test:Array[String]>*/;
7639 var_incompatible
= var242
;
7643 var_primitive
= var243
;
7646 if (var_incompatible
){
7647 if (var_maybe_null
){
7649 var245
= varonce244
;
7653 var248
= string__NativeString__to_s_with_length(var246
, var247
);
7655 varonce244
= var245
;
7658 var250
= varonce249
;
7662 var253
= string__NativeString__to_s_with_length(var251
, var252
);
7664 varonce249
= var250
;
7667 var255
= varonce254
;
7669 var256
= "; /* incompatible types ";
7671 var258
= string__NativeString__to_s_with_length(var256
, var257
);
7673 varonce254
= var255
;
7676 var260
= varonce259
;
7680 var263
= string__NativeString__to_s_with_length(var261
, var262
);
7682 varonce259
= var260
;
7685 var265
= varonce264
;
7687 var266
= "; but may be NULL*/";
7689 var268
= string__NativeString__to_s_with_length(var266
, var267
);
7691 varonce264
= var265
;
7693 var269
= NEW_array__Array(&type_array__Arraykernel__Object
);
7694 { /* var269 = array_instance Array[Object] */
7696 var271
= NEW_array__NativeArray(var270
, &type_array__NativeArraykernel__Object
);
7697 ((struct instance_array__NativeArray
*)var271
)->values
[0] = (val
*) var_res
;
7698 ((struct instance_array__NativeArray
*)var271
)->values
[1] = (val
*) var245
;
7699 ((struct instance_array__NativeArray
*)var271
)->values
[2] = (val
*) var_value1
;
7700 ((struct instance_array__NativeArray
*)var271
)->values
[3] = (val
*) var250
;
7701 ((struct instance_array__NativeArray
*)var271
)->values
[4] = (val
*) var_value2
;
7702 ((struct instance_array__NativeArray
*)var271
)->values
[5] = (val
*) var255
;
7703 ((struct instance_array__NativeArray
*)var271
)->values
[6] = (val
*) var_t1
;
7704 ((struct instance_array__NativeArray
*)var271
)->values
[7] = (val
*) var260
;
7705 ((struct instance_array__NativeArray
*)var271
)->values
[8] = (val
*) var_t2
;
7706 ((struct instance_array__NativeArray
*)var271
)->values
[9] = (val
*) var265
;
7707 ((void (*)(val
*, val
*, long))(var269
->class->vft
[COLOR_array__Array__with_native
]))(var269
, var271
, var270
) /* with_native on <var269:Array[Object]>*/;
7709 var272
= ((val
* (*)(val
*))(var269
->class->vft
[COLOR_string__Object__to_s
]))(var269
) /* to_s on <var269:Array[Object]>*/;
7710 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var272
) /* add on <self:SeparateCompilerVisitor>*/;
7715 var274
= varonce273
;
7717 var275
= " = 0; /* incompatible types ";
7719 var277
= string__NativeString__to_s_with_length(var275
, var276
);
7721 varonce273
= var274
;
7724 var279
= varonce278
;
7728 var282
= string__NativeString__to_s_with_length(var280
, var281
);
7730 varonce278
= var279
;
7733 var284
= varonce283
;
7735 var285
= "; cannot be NULL */";
7737 var287
= string__NativeString__to_s_with_length(var285
, var286
);
7739 varonce283
= var284
;
7741 var288
= NEW_array__Array(&type_array__Arraykernel__Object
);
7742 { /* var288 = array_instance Array[Object] */
7744 var290
= NEW_array__NativeArray(var289
, &type_array__NativeArraykernel__Object
);
7745 ((struct instance_array__NativeArray
*)var290
)->values
[0] = (val
*) var_res
;
7746 ((struct instance_array__NativeArray
*)var290
)->values
[1] = (val
*) var274
;
7747 ((struct instance_array__NativeArray
*)var290
)->values
[2] = (val
*) var_t1
;
7748 ((struct instance_array__NativeArray
*)var290
)->values
[3] = (val
*) var279
;
7749 ((struct instance_array__NativeArray
*)var290
)->values
[4] = (val
*) var_t2
;
7750 ((struct instance_array__NativeArray
*)var290
)->values
[5] = (val
*) var284
;
7751 ((void (*)(val
*, val
*, long))(var288
->class->vft
[COLOR_array__Array__with_native
]))(var288
, var290
, var289
) /* with_native on <var288:Array[Object]>*/;
7753 var291
= ((val
* (*)(val
*))(var288
->class->vft
[COLOR_string__Object__to_s
]))(var288
) /* to_s on <var288:Array[Object]>*/;
7754 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var291
) /* add on <self:SeparateCompilerVisitor>*/;
7761 if (var_primitive
== NULL
) {
7762 var293
= 0; /* is null */
7764 var293
= 1; /* arg is null and recv is not */
7768 var295
= varonce294
;
7770 var296
= "((struct instance_";
7772 var298
= string__NativeString__to_s_with_length(var296
, var297
);
7774 varonce294
= var295
;
7776 var299
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
7778 var301
= varonce300
;
7782 var304
= string__NativeString__to_s_with_length(var302
, var303
);
7784 varonce300
= var301
;
7787 var306
= varonce305
;
7789 var307
= ")->value == ((struct instance_";
7791 var309
= string__NativeString__to_s_with_length(var307
, var308
);
7793 varonce305
= var306
;
7795 var310
= ((val
* (*)(val
*))(var_primitive
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
7797 var312
= varonce311
;
7801 var315
= string__NativeString__to_s_with_length(var313
, var314
);
7803 varonce311
= var312
;
7806 var317
= varonce316
;
7808 var318
= ")->value";
7810 var320
= string__NativeString__to_s_with_length(var318
, var319
);
7812 varonce316
= var317
;
7814 var321
= NEW_array__Array(&type_array__Arraykernel__Object
);
7815 { /* var321 = array_instance Array[Object] */
7817 var323
= NEW_array__NativeArray(var322
, &type_array__NativeArraykernel__Object
);
7818 ((struct instance_array__NativeArray
*)var323
)->values
[0] = (val
*) var295
;
7819 ((struct instance_array__NativeArray
*)var323
)->values
[1] = (val
*) var299
;
7820 ((struct instance_array__NativeArray
*)var323
)->values
[2] = (val
*) var301
;
7821 ((struct instance_array__NativeArray
*)var323
)->values
[3] = (val
*) var_value1
;
7822 ((struct instance_array__NativeArray
*)var323
)->values
[4] = (val
*) var306
;
7823 ((struct instance_array__NativeArray
*)var323
)->values
[5] = (val
*) var310
;
7824 ((struct instance_array__NativeArray
*)var323
)->values
[6] = (val
*) var312
;
7825 ((struct instance_array__NativeArray
*)var323
)->values
[7] = (val
*) var_value2
;
7826 ((struct instance_array__NativeArray
*)var323
)->values
[8] = (val
*) var317
;
7827 ((void (*)(val
*, val
*, long))(var321
->class->vft
[COLOR_array__Array__with_native
]))(var321
, var323
, var322
) /* with_native on <var321:Array[Object]>*/;
7829 var324
= ((val
* (*)(val
*))(var321
->class->vft
[COLOR_string__Object__to_s
]))(var321
) /* to_s on <var321:Array[Object]>*/;
7830 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var324
) /* add on <var_test:Array[String]>*/;
7832 var326
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value1
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
7835 var328
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__can_be_primitive
]))(self
, var_value2
) /* can_be_primitive on <self:SeparateCompilerVisitor>*/;
7842 var330
= varonce329
;
7844 var331
= "->class == ";
7846 var333
= string__NativeString__to_s_with_length(var331
, var332
);
7848 varonce329
= var330
;
7851 var335
= varonce334
;
7855 var338
= string__NativeString__to_s_with_length(var336
, var337
);
7857 varonce334
= var335
;
7859 var339
= NEW_array__Array(&type_array__Arraykernel__Object
);
7860 { /* var339 = array_instance Array[Object] */
7862 var341
= NEW_array__NativeArray(var340
, &type_array__NativeArraykernel__Object
);
7863 ((struct instance_array__NativeArray
*)var341
)->values
[0] = (val
*) var_value1
;
7864 ((struct instance_array__NativeArray
*)var341
)->values
[1] = (val
*) var330
;
7865 ((struct instance_array__NativeArray
*)var341
)->values
[2] = (val
*) var_value2
;
7866 ((struct instance_array__NativeArray
*)var341
)->values
[3] = (val
*) var335
;
7867 ((void (*)(val
*, val
*, long))(var339
->class->vft
[COLOR_array__Array__with_native
]))(var339
, var341
, var340
) /* with_native on <var339:Array[Object]>*/;
7869 var342
= ((val
* (*)(val
*))(var339
->class->vft
[COLOR_string__Object__to_s
]))(var339
) /* to_s on <var339:Array[Object]>*/;
7870 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var342
) /* add on <var_test:Array[String]>*/;
7871 var343
= NEW_array__Array(&type_array__Arraystring__String
);
7872 ((void (*)(val
*))(var343
->class->vft
[COLOR_array__Array__init
]))(var343
) /* init on <var343:Array[String]>*/;
7874 var344
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
7875 var345
= ((val
* (*)(val
*))(var344
->class->vft
[COLOR_separate_compiler__SeparateCompiler__box_kinds
]))(var344
) /* box_kinds on <var344:AbstractCompiler(SeparateCompiler)>*/;
7876 var346
= ((val
* (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var345
) /* iterator on <var345:HashMap[MClass, Int]>*/;
7878 var347
= ((short int (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var346
) /* is_ok on <var346:MapIterator[Object, nullable Object]>*/;
7880 var348
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var346
) /* key on <var346:MapIterator[Object, nullable Object]>*/;
7882 var349
= ((val
* (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var346
) /* item on <var346:MapIterator[Object, nullable Object]>*/;
7883 var350
= ((struct instance_kernel__Int
*)var349
)->value
; /* autounbox from nullable Object to Int */;
7886 var352
= varonce351
;
7890 var355
= string__NativeString__to_s_with_length(var353
, var354
);
7892 varonce351
= var352
;
7895 var357
= varonce356
;
7897 var358
= "->class->box_kind == ";
7899 var360
= string__NativeString__to_s_with_length(var358
, var359
);
7901 varonce356
= var357
;
7904 var362
= varonce361
;
7906 var363
= " && ((struct instance_";
7908 var365
= string__NativeString__to_s_with_length(var363
, var364
);
7910 varonce361
= var362
;
7912 var366
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_t
) /* c_name on <var_t:MClass>*/;
7914 var368
= varonce367
;
7918 var371
= string__NativeString__to_s_with_length(var369
, var370
);
7920 varonce367
= var368
;
7923 var373
= varonce372
;
7925 var374
= ")->value == ((struct instance_";
7927 var376
= string__NativeString__to_s_with_length(var374
, var375
);
7929 varonce372
= var373
;
7931 var377
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_t
) /* c_name on <var_t:MClass>*/;
7933 var379
= varonce378
;
7937 var382
= string__NativeString__to_s_with_length(var380
, var381
);
7939 varonce378
= var379
;
7942 var384
= varonce383
;
7944 var385
= ")->value)";
7946 var387
= string__NativeString__to_s_with_length(var385
, var386
);
7948 varonce383
= var384
;
7950 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
7951 { /* var388 = array_instance Array[Object] */
7953 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
7954 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var352
;
7955 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var_value1
;
7956 ((struct instance_array__NativeArray
*)var390
)->values
[2] = (val
*) var357
;
7957 var391
= BOX_kernel__Int(var_v
); /* autobox from Int to Object */
7958 ((struct instance_array__NativeArray
*)var390
)->values
[3] = (val
*) var391
;
7959 ((struct instance_array__NativeArray
*)var390
)->values
[4] = (val
*) var362
;
7960 ((struct instance_array__NativeArray
*)var390
)->values
[5] = (val
*) var366
;
7961 ((struct instance_array__NativeArray
*)var390
)->values
[6] = (val
*) var368
;
7962 ((struct instance_array__NativeArray
*)var390
)->values
[7] = (val
*) var_value1
;
7963 ((struct instance_array__NativeArray
*)var390
)->values
[8] = (val
*) var373
;
7964 ((struct instance_array__NativeArray
*)var390
)->values
[9] = (val
*) var377
;
7965 ((struct instance_array__NativeArray
*)var390
)->values
[10] = (val
*) var379
;
7966 ((struct instance_array__NativeArray
*)var390
)->values
[11] = (val
*) var_value2
;
7967 ((struct instance_array__NativeArray
*)var390
)->values
[12] = (val
*) var384
;
7968 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
7970 var392
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
7971 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var392
) /* add on <var_s:Array[String]>*/;
7972 CONTINUE_label
: (void)0;
7973 ((void (*)(val
*))(var346
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var346
) /* next on <var346:MapIterator[Object, nullable Object]>*/;
7975 BREAK_label
: (void)0;
7977 var394
= varonce393
;
7981 var397
= string__NativeString__to_s_with_length(var395
, var396
);
7983 varonce393
= var394
;
7986 var399
= varonce398
;
7990 var402
= string__NativeString__to_s_with_length(var400
, var401
);
7992 varonce398
= var399
;
7994 var403
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__Collection__join
]))(var_s
, var399
) /* join on <var_s:Array[String]>*/;
7996 var405
= varonce404
;
8000 var408
= string__NativeString__to_s_with_length(var406
, var407
);
8002 varonce404
= var405
;
8004 var409
= NEW_array__Array(&type_array__Arraykernel__Object
);
8005 { /* var409 = array_instance Array[Object] */
8007 var411
= NEW_array__NativeArray(var410
, &type_array__NativeArraykernel__Object
);
8008 ((struct instance_array__NativeArray
*)var411
)->values
[0] = (val
*) var394
;
8009 ((struct instance_array__NativeArray
*)var411
)->values
[1] = (val
*) var403
;
8010 ((struct instance_array__NativeArray
*)var411
)->values
[2] = (val
*) var405
;
8011 ((void (*)(val
*, val
*, long))(var409
->class->vft
[COLOR_array__Array__with_native
]))(var409
, var411
, var410
) /* with_native on <var409:Array[Object]>*/;
8013 var412
= ((val
* (*)(val
*))(var409
->class->vft
[COLOR_string__Object__to_s
]))(var409
) /* to_s on <var409:Array[Object]>*/;
8014 ((void (*)(val
*, val
*))(var_test
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_test
, var412
) /* add on <var_test:Array[String]>*/;
8017 var414
= varonce413
;
8021 var417
= string__NativeString__to_s_with_length(var415
, var416
);
8023 varonce413
= var414
;
8026 var419
= varonce418
;
8030 var422
= string__NativeString__to_s_with_length(var420
, var421
);
8032 varonce418
= var419
;
8035 var424
= varonce423
;
8039 var427
= string__NativeString__to_s_with_length(var425
, var426
);
8041 varonce423
= var424
;
8043 var428
= NEW_array__Array(&type_array__Arraykernel__Object
);
8044 { /* var428 = array_instance Array[Object] */
8046 var430
= NEW_array__NativeArray(var429
, &type_array__NativeArraykernel__Object
);
8047 ((struct instance_array__NativeArray
*)var430
)->values
[0] = (val
*) var_res
;
8048 ((struct instance_array__NativeArray
*)var430
)->values
[1] = (val
*) var414
;
8049 ((struct instance_array__NativeArray
*)var430
)->values
[2] = (val
*) var_value1
;
8050 ((struct instance_array__NativeArray
*)var430
)->values
[3] = (val
*) var419
;
8051 ((struct instance_array__NativeArray
*)var430
)->values
[4] = (val
*) var_value2
;
8052 ((struct instance_array__NativeArray
*)var430
)->values
[5] = (val
*) var424
;
8053 ((void (*)(val
*, val
*, long))(var428
->class->vft
[COLOR_array__Array__with_native
]))(var428
, var430
, var429
) /* with_native on <var428:Array[Object]>*/;
8055 var431
= ((val
* (*)(val
*))(var428
->class->vft
[COLOR_string__Object__to_s
]))(var428
) /* to_s on <var428:Array[Object]>*/;
8056 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var431
) /* add on <self:SeparateCompilerVisitor>*/;
8062 var433
= varonce432
;
8066 var436
= string__NativeString__to_s_with_length(var434
, var435
);
8068 varonce432
= var433
;
8071 var438
= varonce437
;
8075 var441
= string__NativeString__to_s_with_length(var439
, var440
);
8077 varonce437
= var438
;
8080 var443
= varonce442
;
8084 var446
= string__NativeString__to_s_with_length(var444
, var445
);
8086 varonce442
= var443
;
8089 var448
= varonce447
;
8093 var451
= string__NativeString__to_s_with_length(var449
, var450
);
8095 varonce447
= var448
;
8097 var452
= ((val
* (*)(val
*, val
*))(var_test
->class->vft
[COLOR_string__Collection__join
]))(var_test
, var448
) /* join on <var_test:Array[String]>*/;
8099 var454
= varonce453
;
8103 var457
= string__NativeString__to_s_with_length(var455
, var456
);
8105 varonce453
= var454
;
8107 var458
= NEW_array__Array(&type_array__Arraykernel__Object
);
8108 { /* var458 = array_instance Array[Object] */
8110 var460
= NEW_array__NativeArray(var459
, &type_array__NativeArraykernel__Object
);
8111 ((struct instance_array__NativeArray
*)var460
)->values
[0] = (val
*) var_res
;
8112 ((struct instance_array__NativeArray
*)var460
)->values
[1] = (val
*) var433
;
8113 ((struct instance_array__NativeArray
*)var460
)->values
[2] = (val
*) var_value1
;
8114 ((struct instance_array__NativeArray
*)var460
)->values
[3] = (val
*) var438
;
8115 ((struct instance_array__NativeArray
*)var460
)->values
[4] = (val
*) var_value2
;
8116 ((struct instance_array__NativeArray
*)var460
)->values
[5] = (val
*) var443
;
8117 ((struct instance_array__NativeArray
*)var460
)->values
[6] = (val
*) var452
;
8118 ((struct instance_array__NativeArray
*)var460
)->values
[7] = (val
*) var454
;
8119 ((void (*)(val
*, val
*, long))(var458
->class->vft
[COLOR_array__Array__with_native
]))(var458
, var460
, var459
) /* with_native on <var458:Array[Object]>*/;
8121 var461
= ((val
* (*)(val
*))(var458
->class->vft
[COLOR_string__Object__to_s
]))(var458
) /* to_s on <var458:Array[Object]>*/;
8122 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var461
) /* add on <self:SeparateCompilerVisitor>*/;
8128 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8129 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
8130 val
* var
/* : RuntimeVariable */;
8131 val
* var1
/* : RuntimeVariable */;
8132 var1
= separate_compiler__SeparateCompilerVisitor__equal_test(self
, p0
, p1
);
8137 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
8138 short int separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
8139 short int var
/* : Bool */;
8140 val
* var_value
/* var value: RuntimeVariable */;
8141 val
* var1
/* : MType */;
8142 val
* var_t
/* var t: MType */;
8143 short int var2
/* : Bool */;
8146 val
* var3
/* : MType */;
8147 short int var4
/* : Bool */;
8150 short int var7
/* : Bool */;
8151 short int var8
/* : Bool */;
8152 val
* var9
/* : MClass */;
8153 val
* var10
/* : MClassKind */;
8154 val
* var_k
/* var k: MClassKind */;
8155 short int var11
/* : Bool */;
8156 val
* var12
/* : MClassKind */;
8157 short int var13
/* : Bool */;
8158 short int var_
/* var : Bool */;
8159 val
* var14
/* : String */;
8160 static val
* varonce
;
8161 val
* var15
/* : String */;
8162 char* var16
/* : NativeString */;
8163 long var17
/* : Int */;
8164 val
* var18
/* : String */;
8165 short int var19
/* : Bool */;
8167 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
8169 /* <var_t:MType> isa MNullableType */
8170 cltype
= type_model__MNullableType
.color
;
8171 idtype
= type_model__MNullableType
.id
;
8172 if(cltype
>= var_t
->type
->table_size
) {
8175 var2
= var_t
->type
->type_table
[cltype
] == idtype
;
8178 var3
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_t
) /* mtype on <var_t:MType(MNullableType)>*/;
8182 /* <var_t:MType> isa MClassType */
8183 cltype5
= type_model__MClassType
.color
;
8184 idtype6
= type_model__MClassType
.id
;
8185 if(cltype5
>= var_t
->type
->table_size
) {
8188 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
8197 var9
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_model__MClassType__mclass
]))(var_t
) /* mclass on <var_t:MType(MClassType)>*/;
8198 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MClass__kind
]))(var9
) /* kind on <var9:MClass>*/;
8200 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_model__Object__interface_kind
]))(self
) /* interface_kind on <self:SeparateCompilerVisitor>*/;
8201 var13
= ((short int (*)(val
*, val
*))(var_k
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_k
, var12
) /* == on <var_k:MClassKind>*/;
8206 var14
= ((val
* (*)(val
*))(var_t
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_t
) /* ctype on <var_t:MType(MClassType)>*/;
8212 var18
= string__NativeString__to_s_with_length(var16
, var17
);
8216 var19
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var14
, var15
) /* != on <var14:String>*/;
8224 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: Object, RuntimeVariable): Bool */
8225 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__can_be_primitive(val
* self
, val
* p0
) {
8226 short int var
/* : Bool */;
8227 short int var1
/* : Bool */;
8228 var1
= separate_compiler__SeparateCompilerVisitor__can_be_primitive(self
, p0
);
8233 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
8234 short int separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
8235 short int var
/* : Bool */;
8236 val
* var_value
/* var value: RuntimeVariable */;
8237 val
* var1
/* : MType */;
8238 val
* var_t
/* var t: MType */;
8239 short int var2
/* : Bool */;
8240 short int var3
/* : Bool */;
8243 short int var_
/* var : Bool */;
8244 short int var4
/* : Bool */;
8248 var1
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
8250 /* <var_t:MType> isa MNullableType */
8251 cltype
= type_model__MNullableType
.color
;
8252 idtype
= type_model__MNullableType
.id
;
8253 if(cltype
>= var_t
->type
->table_size
) {
8256 var3
= var_t
->type
->type_table
[cltype
] == idtype
;
8262 /* <var_t:MType> isa MNullType */
8263 cltype5
= type_model__MNullType
.color
;
8264 idtype6
= type_model__MNullType
.id
;
8265 if(cltype5
>= var_t
->type
->table_size
) {
8268 var4
= var_t
->type
->type_table
[cltype5
] == idtype6
;
8277 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: Object, RuntimeVariable): Bool */
8278 short int VIRTUAL_separate_compiler__SeparateCompilerVisitor__maybe_null(val
* self
, val
* p0
) {
8279 short int var
/* : Bool */;
8280 short int var1
/* : Bool */;
8281 var1
= separate_compiler__SeparateCompilerVisitor__maybe_null(self
, p0
);
8286 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: SeparateCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
8287 val
* separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
8288 val
* var
/* : RuntimeVariable */;
8289 val
* var_array
/* var array: Array[RuntimeVariable] */;
8290 val
* var_elttype
/* var elttype: MType */;
8291 static val
* varonce
;
8292 val
* var1
/* : String */;
8293 char* var2
/* : NativeString */;
8294 long var3
/* : Int */;
8295 val
* var4
/* : String */;
8296 val
* var5
/* : MClass */;
8297 val
* var_nclass
/* var nclass: MClass */;
8298 static val
* varonce6
;
8299 val
* var7
/* : String */;
8300 char* var8
/* : NativeString */;
8301 long var9
/* : Int */;
8302 val
* var10
/* : String */;
8303 val
* var11
/* : MClass */;
8304 val
* var_arrayclass
/* var arrayclass: MClass */;
8305 val
* var12
/* : Array[MType] */;
8306 long var13
/* : Int */;
8307 val
* var14
/* : NativeArray[MType] */;
8308 val
* var15
/* : MClassType */;
8309 val
* var_arraytype
/* var arraytype: MClassType */;
8310 val
* var16
/* : RuntimeVariable */;
8311 val
* var_res
/* var res: RuntimeVariable */;
8312 static val
* varonce17
;
8313 val
* var18
/* : String */;
8314 char* var19
/* : NativeString */;
8315 long var20
/* : Int */;
8316 val
* var21
/* : String */;
8317 static val
* varonce22
;
8318 val
* var23
/* : String */;
8319 char* var24
/* : NativeString */;
8320 long var25
/* : Int */;
8321 val
* var26
/* : String */;
8322 static val
* varonce27
;
8323 val
* var28
/* : String */;
8324 char* var29
/* : NativeString */;
8325 long var30
/* : Int */;
8326 val
* var31
/* : String */;
8327 val
* var32
/* : Array[Object] */;
8328 long var33
/* : Int */;
8329 val
* var34
/* : NativeArray[Object] */;
8330 val
* var35
/* : String */;
8331 long var36
/* : Int */;
8332 val
* var37
/* : RuntimeVariable */;
8333 val
* var_length
/* var length: RuntimeVariable */;
8334 val
* var38
/* : RuntimeVariable */;
8335 val
* var_nat
/* var nat: RuntimeVariable */;
8336 val
* var39
/* : Range[Int] */;
8337 long var40
/* : Int */;
8338 long var41
/* : Int */;
8339 val
* var42
/* : Discrete */;
8340 val
* var43
/* : Discrete */;
8341 val
* var44
/* : Iterator[nullable Object] */;
8342 short int var45
/* : Bool */;
8343 val
* var46
/* : nullable Object */;
8344 long var_i
/* var i: Int */;
8345 long var47
/* : Int */;
8346 val
* var48
/* : nullable Object */;
8347 val
* var49
/* : MClassType */;
8348 val
* var50
/* : RuntimeVariable */;
8349 val
* var_r
/* var r: RuntimeVariable */;
8350 static val
* varonce51
;
8351 val
* var52
/* : String */;
8352 char* var53
/* : NativeString */;
8353 long var54
/* : Int */;
8354 val
* var55
/* : String */;
8355 val
* var56
/* : String */;
8356 static val
* varonce57
;
8357 val
* var58
/* : String */;
8358 char* var59
/* : NativeString */;
8359 long var60
/* : Int */;
8360 val
* var61
/* : String */;
8361 static val
* varonce62
;
8362 val
* var63
/* : String */;
8363 char* var64
/* : NativeString */;
8364 long var65
/* : Int */;
8365 val
* var66
/* : String */;
8366 static val
* varonce67
;
8367 val
* var68
/* : String */;
8368 char* var69
/* : NativeString */;
8369 long var70
/* : Int */;
8370 val
* var71
/* : String */;
8371 static val
* varonce72
;
8372 val
* var73
/* : String */;
8373 char* var74
/* : NativeString */;
8374 long var75
/* : Int */;
8375 val
* var76
/* : String */;
8376 val
* var77
/* : Array[Object] */;
8377 long var78
/* : Int */;
8378 val
* var79
/* : NativeArray[Object] */;
8379 val
* var80
/* : Object */;
8380 val
* var81
/* : String */;
8381 static val
* varonce82
;
8382 val
* var83
/* : String */;
8383 char* var84
/* : NativeString */;
8384 long var85
/* : Int */;
8385 val
* var86
/* : String */;
8386 val
* var87
/* : MClassDef */;
8387 val
* var88
/* : MClassType */;
8388 val
* var89
/* : MMethod */;
8389 val
* var90
/* : Array[RuntimeVariable] */;
8390 long var91
/* : Int */;
8391 val
* var92
/* : NativeArray[RuntimeVariable] */;
8392 val
* var93
/* : nullable RuntimeVariable */;
8393 static val
* varonce94
;
8394 val
* var95
/* : String */;
8395 char* var96
/* : NativeString */;
8396 long var97
/* : Int */;
8397 val
* var98
/* : String */;
8403 var2
= "NativeArray";
8405 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8409 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
8416 var10
= string__NativeString__to_s_with_length(var8
, var9
);
8420 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var7
) /* get_class on <self:SeparateCompilerVisitor>*/;
8421 var_arrayclass
= var11
;
8422 var12
= NEW_array__Array(&type_array__Arraymodel__MType
);
8423 { /* var12 = array_instance Array[MType] */
8425 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraymodel__MType
);
8426 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var_elttype
;
8427 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[MType]>*/;
8429 var15
= ((val
* (*)(val
*, val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__get_mtype
]))(var_arrayclass
, var12
) /* get_mtype on <var_arrayclass:MClass>*/;
8430 var_arraytype
= var15
;
8431 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:SeparateCompilerVisitor>*/;
8438 var21
= string__NativeString__to_s_with_length(var19
, var20
);
8445 var24
= " = array_instance Array[";
8447 var26
= string__NativeString__to_s_with_length(var24
, var25
);
8456 var31
= string__NativeString__to_s_with_length(var29
, var30
);
8460 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
8461 { /* var32 = array_instance Array[Object] */
8463 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
8464 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var18
;
8465 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var_res
;
8466 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
8467 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_elttype
;
8468 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
8469 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
8471 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
8472 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:SeparateCompilerVisitor>*/;
8473 var36
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
8474 var37
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var36
) /* int_instance on <self:SeparateCompilerVisitor>*/;
8476 var38
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__native_array_instance
]))(self
, var_elttype
, var_length
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
8478 var39
= NEW_range__Range(&type_range__Rangekernel__Int
);
8480 var41
= ((long (*)(val
*))(var_array
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_array
) /* length on <var_array:Array[RuntimeVariable]>*/;
8481 var42
= BOX_kernel__Int(var40
); /* autobox from Int to Discrete */
8482 var43
= BOX_kernel__Int(var41
); /* autobox from Int to Discrete */
8483 ((void (*)(val
*, val
*, val
*))(var39
->class->vft
[COLOR_range__Range__without_last
]))(var39
, var42
, var43
) /* without_last on <var39:Range[Int]>*/;
8484 var44
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:Range[Int]>*/;
8486 var45
= ((short int (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var44
) /* is_ok on <var44:Iterator[nullable Object]>*/;
8488 var46
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var44
) /* item on <var44:Iterator[nullable Object]>*/;
8489 var47
= ((struct instance_kernel__Int
*)var46
)->value
; /* autounbox from nullable Object to Int */;
8491 var48
= ((val
* (*)(val
*, long))(var_array
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_array
, var_i
) /* [] on <var_array:Array[RuntimeVariable]>*/;
8492 var49
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__object_type
]))(self
) /* object_type on <self:SeparateCompilerVisitor>*/;
8493 var50
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var48
, var49
) /* autobox on <self:SeparateCompilerVisitor>*/;
8498 var53
= "((struct instance_";
8500 var55
= string__NativeString__to_s_with_length(var53
, var54
);
8504 var56
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
8510 var61
= string__NativeString__to_s_with_length(var59
, var60
);
8517 var64
= ")->values[";
8519 var66
= string__NativeString__to_s_with_length(var64
, var65
);
8526 var69
= "] = (val*) ";
8528 var71
= string__NativeString__to_s_with_length(var69
, var70
);
8537 var76
= string__NativeString__to_s_with_length(var74
, var75
);
8541 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
8542 { /* var77 = array_instance Array[Object] */
8544 var79
= NEW_array__NativeArray(var78
, &type_array__NativeArraykernel__Object
);
8545 ((struct instance_array__NativeArray
*)var79
)->values
[0] = (val
*) var52
;
8546 ((struct instance_array__NativeArray
*)var79
)->values
[1] = (val
*) var56
;
8547 ((struct instance_array__NativeArray
*)var79
)->values
[2] = (val
*) var58
;
8548 ((struct instance_array__NativeArray
*)var79
)->values
[3] = (val
*) var_nat
;
8549 ((struct instance_array__NativeArray
*)var79
)->values
[4] = (val
*) var63
;
8550 var80
= BOX_kernel__Int(var_i
); /* autobox from Int to Object */
8551 ((struct instance_array__NativeArray
*)var79
)->values
[5] = (val
*) var80
;
8552 ((struct instance_array__NativeArray
*)var79
)->values
[6] = (val
*) var68
;
8553 ((struct instance_array__NativeArray
*)var79
)->values
[7] = (val
*) var_r
;
8554 ((struct instance_array__NativeArray
*)var79
)->values
[8] = (val
*) var73
;
8555 ((void (*)(val
*, val
*, long))(var77
->class->vft
[COLOR_array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
8557 var81
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
8558 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var81
) /* add on <self:SeparateCompilerVisitor>*/;
8559 CONTINUE_label
: (void)0;
8560 ((void (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var44
) /* next on <var44:Iterator[nullable Object]>*/;
8562 BREAK_label
: (void)0;
8566 var84
= "with_native";
8568 var86
= string__NativeString__to_s_with_length(var84
, var85
);
8572 var87
= ((val
* (*)(val
*))(var_arrayclass
->class->vft
[COLOR_model__MClass__intro
]))(var_arrayclass
) /* intro on <var_arrayclass:MClass>*/;
8573 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_model__MClassDef__bound_mtype
]))(var87
) /* bound_mtype on <var87:MClassDef>*/;
8574 var89
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var83
, var88
) /* get_property on <self:SeparateCompilerVisitor>*/;
8575 var90
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
8576 { /* var90 = array_instance Array[RuntimeVariable] */
8578 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
8579 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_res
;
8580 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var_nat
;
8581 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var_length
;
8582 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[RuntimeVariable]>*/;
8584 var93
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var89
, var90
) /* send on <self:SeparateCompilerVisitor>*/;
8591 var98
= string__NativeString__to_s_with_length(var96
, var97
);
8595 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var95
) /* add on <self:SeparateCompilerVisitor>*/;
8601 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
8602 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
8603 val
* var
/* : RuntimeVariable */;
8604 val
* var1
/* : RuntimeVariable */;
8605 var1
= separate_compiler__SeparateCompilerVisitor__array_instance(self
, p0
, p1
);
8610 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: SeparateCompilerVisitor, MType, RuntimeVariable): RuntimeVariable */
8611 val
* separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
8612 val
* var
/* : RuntimeVariable */;
8613 val
* var_elttype
/* var elttype: MType */;
8614 val
* var_length
/* var length: RuntimeVariable */;
8615 static val
* varonce
;
8616 val
* var1
/* : String */;
8617 char* var2
/* : NativeString */;
8618 long var3
/* : Int */;
8619 val
* var4
/* : String */;
8620 val
* var5
/* : MClass */;
8621 val
* var6
/* : Array[MType] */;
8622 long var7
/* : Int */;
8623 val
* var8
/* : NativeArray[MType] */;
8624 val
* var9
/* : MClassType */;
8625 val
* var_mtype
/* var mtype: MClassType */;
8626 static val
* varonce10
;
8627 val
* var11
/* : String */;
8628 char* var12
/* : NativeString */;
8629 long var13
/* : Int */;
8630 val
* var14
/* : String */;
8631 val
* var15
/* : MClass */;
8632 val
* var16
/* : String */;
8633 val
* var17
/* : Array[Object] */;
8634 long var18
/* : Int */;
8635 val
* var19
/* : NativeArray[Object] */;
8636 val
* var20
/* : String */;
8637 short int var21
/* : Bool */;
8640 val
* var22
/* : AbstractCompiler */;
8641 val
* var_compiler
/* var compiler: SeparateCompiler */;
8642 short int var23
/* : Bool */;
8643 val
* var24
/* : nullable Frame */;
8644 val
* var25
/* : MPropDef */;
8645 val
* var26
/* : MClassDef */;
8646 val
* var27
/* : nullable Frame */;
8647 val
* var28
/* : Array[RuntimeVariable] */;
8648 val
* var29
/* : nullable Object */;
8649 val
* var_recv
/* var recv: RuntimeVariable */;
8650 val
* var30
/* : String */;
8651 val
* var_recv_type_info
/* var recv_type_info: String */;
8652 val
* var31
/* : String */;
8653 short int var32
/* : Bool */;
8654 val
* var33
/* : ModelBuilder */;
8655 val
* var34
/* : ToolContext */;
8656 val
* var35
/* : OptionBool */;
8657 val
* var36
/* : nullable Object */;
8658 short int var37
/* : Bool */;
8659 short int var_
/* var : Bool */;
8660 val
* var38
/* : ModelBuilder */;
8661 val
* var39
/* : ToolContext */;
8662 val
* var40
/* : OptionBool */;
8663 val
* var41
/* : nullable Object */;
8664 short int var42
/* : Bool */;
8665 static val
* varonce43
;
8666 val
* var44
/* : String */;
8667 char* var45
/* : NativeString */;
8668 long var46
/* : Int */;
8669 val
* var47
/* : String */;
8670 val
* var48
/* : MClass */;
8671 val
* var49
/* : String */;
8672 static val
* varonce50
;
8673 val
* var51
/* : String */;
8674 char* var52
/* : NativeString */;
8675 long var53
/* : Int */;
8676 val
* var54
/* : String */;
8677 static val
* varonce55
;
8678 val
* var56
/* : String */;
8679 char* var57
/* : NativeString */;
8680 long var58
/* : Int */;
8681 val
* var59
/* : String */;
8682 static val
* varonce60
;
8683 val
* var61
/* : String */;
8684 char* var62
/* : NativeString */;
8685 long var63
/* : Int */;
8686 val
* var64
/* : String */;
8687 static val
* varonce65
;
8688 val
* var66
/* : String */;
8689 char* var67
/* : NativeString */;
8690 long var68
/* : Int */;
8691 val
* var69
/* : String */;
8692 val
* var70
/* : String */;
8693 static val
* varonce71
;
8694 val
* var72
/* : String */;
8695 char* var73
/* : NativeString */;
8696 long var74
/* : Int */;
8697 val
* var75
/* : String */;
8698 val
* var76
/* : Array[Object] */;
8699 long var77
/* : Int */;
8700 val
* var78
/* : NativeArray[Object] */;
8701 val
* var79
/* : String */;
8702 val
* var80
/* : RuntimeVariable */;
8703 static val
* varonce81
;
8704 val
* var82
/* : String */;
8705 char* var83
/* : NativeString */;
8706 long var84
/* : Int */;
8707 val
* var85
/* : String */;
8708 val
* var86
/* : MClass */;
8709 val
* var87
/* : String */;
8710 static val
* varonce88
;
8711 val
* var89
/* : String */;
8712 char* var90
/* : NativeString */;
8713 long var91
/* : Int */;
8714 val
* var92
/* : String */;
8715 static val
* varonce93
;
8716 val
* var94
/* : String */;
8717 char* var95
/* : NativeString */;
8718 long var96
/* : Int */;
8719 val
* var97
/* : String */;
8720 static val
* varonce98
;
8721 val
* var99
/* : String */;
8722 char* var100
/* : NativeString */;
8723 long var101
/* : Int */;
8724 val
* var102
/* : String */;
8725 val
* var103
/* : String */;
8726 static val
* varonce104
;
8727 val
* var105
/* : String */;
8728 char* var106
/* : NativeString */;
8729 long var107
/* : Int */;
8730 val
* var108
/* : String */;
8731 val
* var109
/* : Array[Object] */;
8732 long var110
/* : Int */;
8733 val
* var111
/* : NativeArray[Object] */;
8734 val
* var112
/* : String */;
8735 val
* var113
/* : RuntimeVariable */;
8736 val
* var114
/* : Set[MType] */;
8737 static val
* varonce115
;
8738 val
* var116
/* : String */;
8739 char* var117
/* : NativeString */;
8740 long var118
/* : Int */;
8741 val
* var119
/* : String */;
8742 val
* var120
/* : String */;
8743 val
* var121
/* : Array[Object] */;
8744 long var122
/* : Int */;
8745 val
* var123
/* : NativeArray[Object] */;
8746 val
* var124
/* : String */;
8747 static val
* varonce125
;
8748 val
* var126
/* : String */;
8749 char* var127
/* : NativeString */;
8750 long var128
/* : Int */;
8751 val
* var129
/* : String */;
8752 val
* var130
/* : MClass */;
8753 val
* var131
/* : String */;
8754 static val
* varonce132
;
8755 val
* var133
/* : String */;
8756 char* var134
/* : NativeString */;
8757 long var135
/* : Int */;
8758 val
* var136
/* : String */;
8759 static val
* varonce137
;
8760 val
* var138
/* : String */;
8761 char* var139
/* : NativeString */;
8762 long var140
/* : Int */;
8763 val
* var141
/* : String */;
8764 val
* var142
/* : String */;
8765 static val
* varonce143
;
8766 val
* var144
/* : String */;
8767 char* var145
/* : NativeString */;
8768 long var146
/* : Int */;
8769 val
* var147
/* : String */;
8770 val
* var148
/* : Array[Object] */;
8771 long var149
/* : Int */;
8772 val
* var150
/* : NativeArray[Object] */;
8773 val
* var151
/* : String */;
8774 val
* var152
/* : RuntimeVariable */;
8780 var2
= "NativeArray";
8782 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8786 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:SeparateCompilerVisitor>*/;
8787 var6
= NEW_array__Array(&type_array__Arraymodel__MType
);
8788 { /* var6 = array_instance Array[MType] */
8790 var8
= NEW_array__NativeArray(var7
, &type_array__NativeArraymodel__MType
);
8791 ((struct instance_array__NativeArray
*)var8
)->values
[0] = (val
*) var_elttype
;
8792 ((void (*)(val
*, val
*, long))(var6
->class->vft
[COLOR_array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[MType]>*/;
8794 var9
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_model__MClass__get_mtype
]))(var5
, var6
) /* get_mtype on <var5:MClass>*/;
8801 var14
= string__NativeString__to_s_with_length(var12
, var13
);
8805 var15
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType>*/;
8806 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var15
) /* c_name on <var15:MClass>*/;
8807 var17
= NEW_array__Array(&type_array__Arraykernel__Object
);
8808 { /* var17 = array_instance Array[Object] */
8810 var19
= NEW_array__NativeArray(var18
, &type_array__NativeArraykernel__Object
);
8811 ((struct instance_array__NativeArray
*)var19
)->values
[0] = (val
*) var11
;
8812 ((struct instance_array__NativeArray
*)var19
)->values
[1] = (val
*) var16
;
8813 ((void (*)(val
*, val
*, long))(var17
->class->vft
[COLOR_array__Array__with_native
]))(var17
, var19
, var18
) /* with_native on <var17:Array[Object]>*/;
8815 var20
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_string__Object__to_s
]))(var17
) /* to_s on <var17:Array[Object]>*/;
8816 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var20
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
8817 /* <var_mtype:MClassType> isa MGenericType */
8818 cltype
= type_model__MGenericType
.color
;
8819 idtype
= type_model__MGenericType
.id
;
8820 if(cltype
>= var_mtype
->type
->table_size
) {
8823 var21
= var_mtype
->type
->type_table
[cltype
] == idtype
;
8826 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8827 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1533);
8830 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
8831 var_compiler
= var22
;
8832 var23
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MClassType(MGenericType)>*/;
8834 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
8835 if (var24
== NULL
) {
8836 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
8837 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1536);
8840 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var24
) /* mpropdef on <var24:nullable Frame>*/;
8842 var26
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var25
) /* mclassdef on <var25:MPropDef>*/;
8843 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__link_unresolved_type
]))(self
, var26
, var_mtype
) /* link_unresolved_type on <self:SeparateCompilerVisitor>*/;
8844 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
8845 if (var27
== NULL
) {
8846 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
8847 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1537);
8850 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_compiler__Frame__arguments
]))(var27
) /* arguments on <var27:nullable Frame>*/;
8852 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var28
) /* first on <var28:Array[RuntimeVariable]>*/;
8854 var30
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__type_info
]))(self
, var_recv
) /* type_info on <self:SeparateCompilerVisitor>*/;
8855 var_recv_type_info
= var30
;
8856 var31
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
8857 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var31
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
8858 var33
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
8859 var34
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var33
) /* toolcontext on <var33:ModelBuilder>*/;
8860 var35
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phmod_typing
]))(var34
) /* opt_phmod_typing on <var34:ToolContext>*/;
8861 var36
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_opts__Option__value
]))(var35
) /* value on <var35:OptionBool>*/;
8862 var37
= ((struct instance_kernel__Bool
*)var36
)->value
; /* autounbox from nullable Object to Bool */;
8867 var38
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var_compiler
) /* modelbuilder on <var_compiler:SeparateCompiler>*/;
8868 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var38
) /* toolcontext on <var38:ModelBuilder>*/;
8869 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_separate_compiler__ToolContext__opt_phand_typing
]))(var39
) /* opt_phand_typing on <var39:ToolContext>*/;
8870 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_opts__Option__value
]))(var40
) /* value on <var40:OptionBool>*/;
8871 var42
= ((struct instance_kernel__Bool
*)var41
)->value
; /* autounbox from nullable Object to Bool */;
8880 var47
= string__NativeString__to_s_with_length(var45
, var46
);
8884 var48
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
8885 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var48
) /* c_name on <var48:MClass>*/;
8891 var54
= string__NativeString__to_s_with_length(var52
, var53
);
8900 var59
= string__NativeString__to_s_with_length(var57
, var58
);
8907 var62
= "->resolution_table->types[HASH(";
8909 var64
= string__NativeString__to_s_with_length(var62
, var63
);
8916 var67
= "->resolution_table->mask, ";
8918 var69
= string__NativeString__to_s_with_length(var67
, var68
);
8922 var70
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
8928 var75
= string__NativeString__to_s_with_length(var73
, var74
);
8932 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
8933 { /* var76 = array_instance Array[Object] */
8935 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
8936 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var44
;
8937 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var49
;
8938 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var51
;
8939 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var_length
;
8940 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var56
;
8941 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var_recv_type_info
;
8942 ((struct instance_array__NativeArray
*)var78
)->values
[6] = (val
*) var61
;
8943 ((struct instance_array__NativeArray
*)var78
)->values
[7] = (val
*) var_recv_type_info
;
8944 ((struct instance_array__NativeArray
*)var78
)->values
[8] = (val
*) var66
;
8945 ((struct instance_array__NativeArray
*)var78
)->values
[9] = (val
*) var70
;
8946 ((struct instance_array__NativeArray
*)var78
)->values
[10] = (val
*) var72
;
8947 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
8949 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
8950 var80
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var79
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
8959 var85
= string__NativeString__to_s_with_length(var83
, var84
);
8963 var86
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
8964 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var86
) /* c_name on <var86:MClass>*/;
8970 var92
= string__NativeString__to_s_with_length(var90
, var91
);
8979 var97
= string__NativeString__to_s_with_length(var95
, var96
);
8986 var100
= "->resolution_table->types[";
8988 var102
= string__NativeString__to_s_with_length(var100
, var101
);
8992 var103
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_separate_compiler__MType__const_color
]))(var_mtype
) /* const_color on <var_mtype:MClassType(MGenericType)>*/;
8994 var105
= varonce104
;
8998 var108
= string__NativeString__to_s_with_length(var106
, var107
);
9000 varonce104
= var105
;
9002 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
9003 { /* var109 = array_instance Array[Object] */
9005 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
9006 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var82
;
9007 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var87
;
9008 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var89
;
9009 ((struct instance_array__NativeArray
*)var111
)->values
[3] = (val
*) var_length
;
9010 ((struct instance_array__NativeArray
*)var111
)->values
[4] = (val
*) var94
;
9011 ((struct instance_array__NativeArray
*)var111
)->values
[5] = (val
*) var_recv_type_info
;
9012 ((struct instance_array__NativeArray
*)var111
)->values
[6] = (val
*) var99
;
9013 ((struct instance_array__NativeArray
*)var111
)->values
[7] = (val
*) var103
;
9014 ((struct instance_array__NativeArray
*)var111
)->values
[8] = (val
*) var105
;
9015 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
9017 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
9018 var113
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var112
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9024 var114
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__undead_types
]))(var_compiler
) /* undead_types on <var_compiler:SeparateCompiler>*/;
9025 ((void (*)(val
*, val
*))(var114
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var114
, var_mtype
) /* add on <var114:Set[MType]>*/;
9027 var116
= varonce115
;
9031 var119
= string__NativeString__to_s_with_length(var117
, var118
);
9033 varonce115
= var116
;
9035 var120
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9036 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
9037 { /* var121 = array_instance Array[Object] */
9039 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
9040 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var116
;
9041 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var120
;
9042 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
9044 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
9045 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var124
) /* require_declaration on <self:SeparateCompilerVisitor>*/;
9047 var126
= varonce125
;
9051 var129
= string__NativeString__to_s_with_length(var127
, var128
);
9053 varonce125
= var126
;
9055 var130
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MClassType(MGenericType)>*/;
9056 var131
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var130
) /* c_name on <var130:MClass>*/;
9058 var133
= varonce132
;
9062 var136
= string__NativeString__to_s_with_length(var134
, var135
);
9064 varonce132
= var133
;
9067 var138
= varonce137
;
9069 var139
= ", &type_";
9071 var141
= string__NativeString__to_s_with_length(var139
, var140
);
9073 varonce137
= var138
;
9075 var142
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType(MGenericType)>*/;
9077 var144
= varonce143
;
9081 var147
= string__NativeString__to_s_with_length(var145
, var146
);
9083 varonce143
= var144
;
9085 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
9086 { /* var148 = array_instance Array[Object] */
9088 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
9089 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var126
;
9090 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var131
;
9091 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var133
;
9092 ((struct instance_array__NativeArray
*)var150
)->values
[3] = (val
*) var_length
;
9093 ((struct instance_array__NativeArray
*)var150
)->values
[4] = (val
*) var138
;
9094 ((struct instance_array__NativeArray
*)var150
)->values
[5] = (val
*) var142
;
9095 ((struct instance_array__NativeArray
*)var150
)->values
[6] = (val
*) var144
;
9096 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
9098 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
9099 var152
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var151
, var_mtype
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9105 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: Object, MType, RuntimeVariable): RuntimeVariable */
9106 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
9107 val
* var
/* : RuntimeVariable */;
9108 val
* var1
/* : RuntimeVariable */;
9109 var1
= separate_compiler__SeparateCompilerVisitor__native_array_instance(self
, p0
, p1
);
9114 /* method separate_compiler#SeparateCompilerVisitor#native_array_def for (self: SeparateCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
9115 void separate_compiler__SeparateCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9116 val
* var_pname
/* var pname: String */;
9117 val
* var_ret_type
/* var ret_type: nullable MType */;
9118 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
9119 val
* var
/* : nullable Object */;
9120 val
* var1
/* : MType */;
9121 val
* var_elttype
/* var elttype: MType */;
9122 static val
* varonce
;
9123 val
* var2
/* : String */;
9124 char* var3
/* : NativeString */;
9125 long var4
/* : Int */;
9126 val
* var5
/* : String */;
9127 val
* var6
/* : MClass */;
9128 val
* var_nclass
/* var nclass: MClass */;
9129 val
* var7
/* : Array[Object] */;
9130 long var8
/* : Int */;
9131 val
* var_
/* var : Array[Object] */;
9132 static val
* varonce9
;
9133 val
* var10
/* : String */;
9134 char* var11
/* : NativeString */;
9135 long var12
/* : Int */;
9136 val
* var13
/* : String */;
9137 val
* var14
/* : String */;
9138 static val
* varonce15
;
9139 val
* var16
/* : String */;
9140 char* var17
/* : NativeString */;
9141 long var18
/* : Int */;
9142 val
* var19
/* : String */;
9143 long var20
/* : Int */;
9144 val
* var21
/* : nullable Object */;
9145 static val
* varonce22
;
9146 val
* var23
/* : String */;
9147 char* var24
/* : NativeString */;
9148 long var25
/* : Int */;
9149 val
* var26
/* : String */;
9150 val
* var27
/* : String */;
9151 val
* var_recv
/* var recv: String */;
9152 static val
* varonce28
;
9153 val
* var29
/* : String */;
9154 char* var30
/* : NativeString */;
9155 long var31
/* : Int */;
9156 val
* var32
/* : String */;
9157 short int var33
/* : Bool */;
9158 static val
* varonce34
;
9159 val
* var35
/* : String */;
9160 char* var36
/* : NativeString */;
9161 long var37
/* : Int */;
9162 val
* var38
/* : String */;
9163 long var39
/* : Int */;
9164 val
* var40
/* : nullable Object */;
9165 static val
* varonce41
;
9166 val
* var42
/* : String */;
9167 char* var43
/* : NativeString */;
9168 long var44
/* : Int */;
9169 val
* var45
/* : String */;
9170 val
* var46
/* : Array[Object] */;
9171 long var47
/* : Int */;
9172 val
* var48
/* : NativeArray[Object] */;
9173 val
* var49
/* : String */;
9174 val
* var50
/* : RuntimeVariable */;
9175 static val
* varonce51
;
9176 val
* var52
/* : String */;
9177 char* var53
/* : NativeString */;
9178 long var54
/* : Int */;
9179 val
* var55
/* : String */;
9180 short int var56
/* : Bool */;
9181 static val
* varonce57
;
9182 val
* var58
/* : String */;
9183 char* var59
/* : NativeString */;
9184 long var60
/* : Int */;
9185 val
* var61
/* : String */;
9186 long var62
/* : Int */;
9187 val
* var63
/* : nullable Object */;
9188 static val
* varonce64
;
9189 val
* var65
/* : String */;
9190 char* var66
/* : NativeString */;
9191 long var67
/* : Int */;
9192 val
* var68
/* : String */;
9193 long var69
/* : Int */;
9194 val
* var70
/* : nullable Object */;
9195 static val
* varonce71
;
9196 val
* var72
/* : String */;
9197 char* var73
/* : NativeString */;
9198 long var74
/* : Int */;
9199 val
* var75
/* : String */;
9200 val
* var76
/* : Array[Object] */;
9201 long var77
/* : Int */;
9202 val
* var78
/* : NativeArray[Object] */;
9203 val
* var79
/* : String */;
9204 static val
* varonce80
;
9205 val
* var81
/* : String */;
9206 char* var82
/* : NativeString */;
9207 long var83
/* : Int */;
9208 val
* var84
/* : String */;
9209 short int var85
/* : Bool */;
9210 val
* var86
/* : Array[Object] */;
9211 long var87
/* : Int */;
9212 val
* var_88
/* var : Array[Object] */;
9213 static val
* varonce89
;
9214 val
* var90
/* : String */;
9215 char* var91
/* : NativeString */;
9216 long var92
/* : Int */;
9217 val
* var93
/* : String */;
9218 val
* var94
/* : String */;
9219 static val
* varonce95
;
9220 val
* var96
/* : String */;
9221 char* var97
/* : NativeString */;
9222 long var98
/* : Int */;
9223 val
* var99
/* : String */;
9224 long var100
/* : Int */;
9225 val
* var101
/* : nullable Object */;
9226 static val
* varonce102
;
9227 val
* var103
/* : String */;
9228 char* var104
/* : NativeString */;
9229 long var105
/* : Int */;
9230 val
* var106
/* : String */;
9231 val
* var107
/* : String */;
9232 val
* var_recv1
/* var recv1: String */;
9233 static val
* varonce108
;
9234 val
* var109
/* : String */;
9235 char* var110
/* : NativeString */;
9236 long var111
/* : Int */;
9237 val
* var112
/* : String */;
9238 static val
* varonce113
;
9239 val
* var114
/* : String */;
9240 char* var115
/* : NativeString */;
9241 long var116
/* : Int */;
9242 val
* var117
/* : String */;
9243 static val
* varonce118
;
9244 val
* var119
/* : String */;
9245 char* var120
/* : NativeString */;
9246 long var121
/* : Int */;
9247 val
* var122
/* : String */;
9248 long var123
/* : Int */;
9249 val
* var124
/* : nullable Object */;
9250 static val
* varonce125
;
9251 val
* var126
/* : String */;
9252 char* var127
/* : NativeString */;
9253 long var128
/* : Int */;
9254 val
* var129
/* : String */;
9255 val
* var130
/* : String */;
9256 static val
* varonce131
;
9257 val
* var132
/* : String */;
9258 char* var133
/* : NativeString */;
9259 long var134
/* : Int */;
9260 val
* var135
/* : String */;
9261 val
* var136
/* : Array[Object] */;
9262 long var137
/* : Int */;
9263 val
* var138
/* : NativeArray[Object] */;
9264 val
* var139
/* : String */;
9268 var
= ((val
* (*)(val
*))(var_arguments
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_arguments
) /* first on <var_arguments:Array[RuntimeVariable]>*/;
9269 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var
) /* mtype on <var:nullable Object(RuntimeVariable)>*/;
9274 var3
= "NativeArray";
9276 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9280 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var2
) /* get_class on <self:SeparateCompilerVisitor>*/;
9282 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
9284 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
9289 var11
= "((struct instance_";
9291 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9295 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
9296 var14
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
9297 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
9303 var19
= string__NativeString__to_s_with_length(var17
, var18
);
9307 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
9309 var21
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var20
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9310 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var21
) /* add on <var_:Array[Object]>*/;
9314 var24
= ")->values";
9316 var26
= string__NativeString__to_s_with_length(var24
, var25
);
9320 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var23
) /* add on <var_:Array[Object]>*/;
9321 var27
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
9328 var32
= string__NativeString__to_s_with_length(var30
, var31
);
9332 var33
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var29
) /* == on <var_pname:String>*/;
9339 var38
= string__NativeString__to_s_with_length(var36
, var37
);
9344 var40
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var39
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9350 var45
= string__NativeString__to_s_with_length(var43
, var44
);
9354 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
9355 { /* var46 = array_instance Array[Object] */
9357 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
9358 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var_recv
;
9359 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var35
;
9360 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var40
;
9361 ((struct instance_array__NativeArray
*)var48
)->values
[3] = (val
*) var42
;
9362 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
9364 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
9365 if (var_ret_type
== NULL
) {
9366 fprintf(stderr
, "Runtime error: %s", "Cast failed");
9367 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1557);
9370 var50
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr
]))(self
, var49
, var_ret_type
) /* new_expr on <self:SeparateCompilerVisitor>*/;
9371 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__ret
]))(self
, var50
) /* ret on <self:SeparateCompilerVisitor>*/;
9379 var55
= string__NativeString__to_s_with_length(var53
, var54
);
9383 var56
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var52
) /* == on <var_pname:String>*/;
9390 var61
= string__NativeString__to_s_with_length(var59
, var60
);
9395 var63
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var62
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9401 var68
= string__NativeString__to_s_with_length(var66
, var67
);
9406 var70
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var69
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9412 var75
= string__NativeString__to_s_with_length(var73
, var74
);
9416 var76
= NEW_array__Array(&type_array__Arraykernel__Object
);
9417 { /* var76 = array_instance Array[Object] */
9419 var78
= NEW_array__NativeArray(var77
, &type_array__NativeArraykernel__Object
);
9420 ((struct instance_array__NativeArray
*)var78
)->values
[0] = (val
*) var_recv
;
9421 ((struct instance_array__NativeArray
*)var78
)->values
[1] = (val
*) var58
;
9422 ((struct instance_array__NativeArray
*)var78
)->values
[2] = (val
*) var63
;
9423 ((struct instance_array__NativeArray
*)var78
)->values
[3] = (val
*) var65
;
9424 ((struct instance_array__NativeArray
*)var78
)->values
[4] = (val
*) var70
;
9425 ((struct instance_array__NativeArray
*)var78
)->values
[5] = (val
*) var72
;
9426 ((void (*)(val
*, val
*, long))(var76
->class->vft
[COLOR_array__Array__with_native
]))(var76
, var78
, var77
) /* with_native on <var76:Array[Object]>*/;
9428 var79
= ((val
* (*)(val
*))(var76
->class->vft
[COLOR_string__Object__to_s
]))(var76
) /* to_s on <var76:Array[Object]>*/;
9429 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var79
) /* add on <self:SeparateCompilerVisitor>*/;
9437 var84
= string__NativeString__to_s_with_length(var82
, var83
);
9441 var85
= ((short int (*)(val
*, val
*))(var_pname
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_pname
, var81
) /* == on <var_pname:String>*/;
9443 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
9445 ((void (*)(val
*, long))(var86
->class->vft
[COLOR_array__Array__with_capacity
]))(var86
, var87
) /* with_capacity on <var86:Array[Object]>*/;
9450 var91
= "((struct instance_";
9452 var93
= string__NativeString__to_s_with_length(var91
, var92
);
9456 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var90
) /* add on <var_88:Array[Object]>*/;
9457 var94
= ((val
* (*)(val
*))(var_nclass
->class->vft
[COLOR_abstract_compiler__MClass__c_name
]))(var_nclass
) /* c_name on <var_nclass:MClass>*/;
9458 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var94
) /* add on <var_88:Array[Object]>*/;
9464 var99
= string__NativeString__to_s_with_length(var97
, var98
);
9468 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var96
) /* add on <var_88:Array[Object]>*/;
9470 var101
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var100
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9471 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var101
) /* add on <var_88:Array[Object]>*/;
9473 var103
= varonce102
;
9475 var104
= ")->values";
9477 var106
= string__NativeString__to_s_with_length(var104
, var105
);
9479 varonce102
= var103
;
9481 ((void (*)(val
*, val
*))(var_88
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_88
, var103
) /* add on <var_88:Array[Object]>*/;
9482 var107
= ((val
* (*)(val
*))(var_88
->class->vft
[COLOR_string__Object__to_s
]))(var_88
) /* to_s on <var_88:Array[Object]>*/;
9485 var109
= varonce108
;
9489 var112
= string__NativeString__to_s_with_length(var110
, var111
);
9491 varonce108
= var109
;
9494 var114
= varonce113
;
9498 var117
= string__NativeString__to_s_with_length(var115
, var116
);
9500 varonce113
= var114
;
9503 var119
= varonce118
;
9507 var122
= string__NativeString__to_s_with_length(var120
, var121
);
9509 varonce118
= var119
;
9512 var124
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var123
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9514 var126
= varonce125
;
9516 var127
= "*sizeof(";
9518 var129
= string__NativeString__to_s_with_length(var127
, var128
);
9520 varonce125
= var126
;
9522 var130
= ((val
* (*)(val
*))(var_elttype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_elttype
) /* ctype on <var_elttype:MType>*/;
9524 var132
= varonce131
;
9528 var135
= string__NativeString__to_s_with_length(var133
, var134
);
9530 varonce131
= var132
;
9532 var136
= NEW_array__Array(&type_array__Arraykernel__Object
);
9533 { /* var136 = array_instance Array[Object] */
9535 var138
= NEW_array__NativeArray(var137
, &type_array__NativeArraykernel__Object
);
9536 ((struct instance_array__NativeArray
*)var138
)->values
[0] = (val
*) var109
;
9537 ((struct instance_array__NativeArray
*)var138
)->values
[1] = (val
*) var_recv1
;
9538 ((struct instance_array__NativeArray
*)var138
)->values
[2] = (val
*) var114
;
9539 ((struct instance_array__NativeArray
*)var138
)->values
[3] = (val
*) var_recv
;
9540 ((struct instance_array__NativeArray
*)var138
)->values
[4] = (val
*) var119
;
9541 ((struct instance_array__NativeArray
*)var138
)->values
[5] = (val
*) var124
;
9542 ((struct instance_array__NativeArray
*)var138
)->values
[6] = (val
*) var126
;
9543 ((struct instance_array__NativeArray
*)var138
)->values
[7] = (val
*) var130
;
9544 ((struct instance_array__NativeArray
*)var138
)->values
[8] = (val
*) var132
;
9545 ((void (*)(val
*, val
*, long))(var136
->class->vft
[COLOR_array__Array__with_native
]))(var136
, var138
, var137
) /* with_native on <var136:Array[Object]>*/;
9547 var139
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_string__Object__to_s
]))(var136
) /* to_s on <var136:Array[Object]>*/;
9548 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var139
) /* add on <self:SeparateCompilerVisitor>*/;
9556 /* method separate_compiler#SeparateCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
9557 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9558 separate_compiler__SeparateCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
9561 /* method separate_compiler#SeparateCompilerVisitor#calloc_array for (self: SeparateCompilerVisitor, MType, Array[RuntimeVariable]) */
9562 void separate_compiler__SeparateCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
9563 val
* var_ret_type
/* var ret_type: MType */;
9564 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
9565 static val
* varonce
;
9566 val
* var
/* : String */;
9567 char* var1
/* : NativeString */;
9568 long var2
/* : Int */;
9569 val
* var3
/* : String */;
9570 val
* var4
/* : MClass */;
9571 val
* var_mclass
/* var mclass: MClass */;
9572 val
* var5
/* : MClassType */;
9573 val
* var6
/* : Array[MType] */;
9574 val
* var7
/* : nullable Object */;
9575 short int var8
/* : Bool */;
9578 const char* var_class_name
;
9579 val
* var_ft
/* var ft: MParameterType */;
9580 long var9
/* : Int */;
9581 val
* var10
/* : nullable Object */;
9582 val
* var11
/* : RuntimeVariable */;
9583 val
* var_res
/* var res: RuntimeVariable */;
9589 var1
= "ArrayCapable";
9591 var3
= string__NativeString__to_s_with_length(var1
, var2
);
9595 var4
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var
) /* get_class on <self:SeparateCompilerVisitor>*/;
9597 var5
= ((val
* (*)(val
*))(var_mclass
->class->vft
[COLOR_model__MClass__mclass_type
]))(var_mclass
) /* mclass_type on <var_mclass:MClass>*/;
9598 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClassType__arguments
]))(var5
) /* arguments on <var5:MClassType>*/;
9599 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var6
) /* first on <var6:Array[MType]>*/;
9600 /* <var7:nullable Object(MType)> isa MParameterType */
9601 cltype
= type_model__MParameterType
.color
;
9602 idtype
= type_model__MParameterType
.id
;
9603 if(cltype
>= var7
->type
->table_size
) {
9606 var8
= var7
->type
->type_table
[cltype
] == idtype
;
9609 var_class_name
= var7
== NULL ?
"null" : var7
->type
->name
;
9610 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MParameterType", var_class_name
);
9611 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1572);
9616 var10
= ((val
* (*)(val
*, long))(var_arguments
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_arguments
, var9
) /* [] on <var_arguments:Array[RuntimeVariable]>*/;
9617 var11
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompilerVisitor__native_array_instance
]))(self
, var_ft
, var10
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
9619 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__ret
]))(self
, var_res
) /* ret on <self:SeparateCompilerVisitor>*/;
9622 /* method separate_compiler#SeparateCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
9623 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
9624 separate_compiler__SeparateCompilerVisitor__calloc_array(self
, p0
, p1
);
9627 /* method separate_compiler#SeparateCompilerVisitor#link_unresolved_type for (self: SeparateCompilerVisitor, MClassDef, MType) */
9628 void separate_compiler__SeparateCompilerVisitor__link_unresolved_type(val
* self
, val
* p0
, val
* p1
) {
9629 val
* var_mclassdef
/* var mclassdef: MClassDef */;
9630 val
* var_mtype
/* var mtype: MType */;
9631 short int var
/* : Bool */;
9632 val
* var1
/* : AbstractCompiler */;
9633 val
* var_compiler
/* var compiler: SeparateCompiler */;
9634 val
* var2
/* : Map[MClassDef, Set[MType]] */;
9635 val
* var3
/* : nullable Frame */;
9636 val
* var4
/* : MPropDef */;
9637 val
* var5
/* : MClassDef */;
9638 short int var6
/* : Bool */;
9639 short int var7
/* : Bool */;
9640 val
* var8
/* : Map[MClassDef, Set[MType]] */;
9641 val
* var9
/* : nullable Frame */;
9642 val
* var10
/* : MPropDef */;
9643 val
* var11
/* : MClassDef */;
9644 val
* var12
/* : HashSet[MType] */;
9645 val
* var13
/* : Map[MClassDef, Set[MType]] */;
9646 val
* var14
/* : nullable Frame */;
9647 val
* var15
/* : MPropDef */;
9648 val
* var16
/* : MClassDef */;
9649 val
* var17
/* : nullable Object */;
9652 var
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
9654 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9655 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1578);
9658 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:SeparateCompilerVisitor>*/;
9659 var_compiler
= var1
;
9660 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
9661 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9663 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9664 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1580);
9667 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var3
) /* mpropdef on <var3:nullable Frame>*/;
9669 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var4
) /* mclassdef on <var4:MPropDef>*/;
9670 var6
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var2
, var5
) /* has_key on <var2:Map[MClassDef, Set[MType]]>*/;
9673 var8
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
9674 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9676 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9677 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1581);
9680 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var9
) /* mpropdef on <var9:nullable Frame>*/;
9682 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var10
) /* mclassdef on <var10:MPropDef>*/;
9683 var12
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetmodel__MType
);
9684 ((void (*)(val
*))(var12
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var12
) /* init on <var12:HashSet[MType]>*/;
9685 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var11
, var12
) /* []= on <var8:Map[MClassDef, Set[MType]]>*/;
9688 var13
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_separate_compiler__SeparateCompiler__live_unresolved_types
]))(var_compiler
) /* live_unresolved_types on <var_compiler:SeparateCompiler>*/;
9689 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:SeparateCompilerVisitor>*/;
9690 if (var14
== NULL
) {
9691 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9692 fprintf(stderr
, " (%s:%d)\n", "src/separate_compiler.nit", 1583);
9695 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_compiler__Frame__mpropdef
]))(var14
) /* mpropdef on <var14:nullable Frame>*/;
9697 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_model__MPropDef__mclassdef
]))(var15
) /* mclassdef on <var15:MPropDef>*/;
9698 var17
= ((val
* (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var13
, var16
) /* [] on <var13:Map[MClassDef, Set[MType]]>*/;
9699 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var17
, var_mtype
) /* add on <var17:nullable Object(Set[MType])>*/;
9702 /* method separate_compiler#SeparateCompilerVisitor#link_unresolved_type for (self: Object, MClassDef, MType) */
9703 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__link_unresolved_type(val
* self
, val
* p0
, val
* p1
) {
9704 separate_compiler__SeparateCompilerVisitor__link_unresolved_type(self
, p0
, p1
);
9707 /* method separate_compiler#MMethodDef#separate_runtime_function for (self: MMethodDef): AbstractRuntimeFunction */
9708 val
* separate_compiler__MMethodDef__separate_runtime_function(val
* self
) {
9709 val
* var
/* : AbstractRuntimeFunction */;
9710 val
* var1
/* : nullable SeparateRuntimeFunction */;
9711 val
* var_res
/* var res: nullable SeparateRuntimeFunction */;
9712 val
* var2
/* : null */;
9713 short int var3
/* : Bool */;
9714 val
* var4
/* : SeparateRuntimeFunction */;
9715 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__separate_runtime_function_cache
]))(self
) /* separate_runtime_function_cache on <self:MMethodDef>*/;
9718 if (var_res
== NULL
) {
9719 var3
= 1; /* is null */
9721 var3
= 0; /* arg is null but recv is not */
9724 var4
= NEW_separate_compiler__SeparateRuntimeFunction(&type_separate_compiler__SeparateRuntimeFunction
);
9725 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(var4
, self
) /* init on <var4:SeparateRuntimeFunction>*/;
9727 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__separate_runtime_function_cache_61d
]))(self
, var_res
) /* separate_runtime_function_cache= on <self:MMethodDef>*/;
9735 /* method separate_compiler#MMethodDef#separate_runtime_function for (self: Object): AbstractRuntimeFunction */
9736 val
* VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function(val
* self
) {
9737 val
* var
/* : AbstractRuntimeFunction */;
9738 val
* var1
/* : AbstractRuntimeFunction */;
9739 var1
= separate_compiler__MMethodDef__separate_runtime_function(self
);
9744 /* method separate_compiler#MMethodDef#separate_runtime_function_cache for (self: MMethodDef): nullable SeparateRuntimeFunction */
9745 val
* separate_compiler__MMethodDef__separate_runtime_function_cache(val
* self
) {
9746 val
* var
/* : nullable SeparateRuntimeFunction */;
9747 val
* var1
/* : nullable SeparateRuntimeFunction */;
9748 var1
= self
->attrs
[COLOR_separate_compiler__MMethodDef___64dseparate_runtime_function_cache
].val
; /* @separate_runtime_function_cache on <self:MMethodDef> */
9753 /* method separate_compiler#MMethodDef#separate_runtime_function_cache for (self: Object): nullable SeparateRuntimeFunction */
9754 val
* VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function_cache(val
* self
) {
9755 val
* var
/* : nullable SeparateRuntimeFunction */;
9756 val
* var1
/* : nullable SeparateRuntimeFunction */;
9757 var1
= separate_compiler__MMethodDef__separate_runtime_function_cache(self
);
9762 /* method separate_compiler#MMethodDef#separate_runtime_function_cache= for (self: MMethodDef, nullable SeparateRuntimeFunction) */
9763 void separate_compiler__MMethodDef__separate_runtime_function_cache_61d(val
* self
, val
* p0
) {
9764 self
->attrs
[COLOR_separate_compiler__MMethodDef___64dseparate_runtime_function_cache
].val
= p0
; /* @separate_runtime_function_cache on <self:MMethodDef> */
9767 /* method separate_compiler#MMethodDef#separate_runtime_function_cache= for (self: Object, nullable SeparateRuntimeFunction) */
9768 void VIRTUAL_separate_compiler__MMethodDef__separate_runtime_function_cache_61d(val
* self
, val
* p0
) {
9769 separate_compiler__MMethodDef__separate_runtime_function_cache_61d(self
, p0
);
9772 /* method separate_compiler#MMethodDef#virtual_runtime_function for (self: MMethodDef): AbstractRuntimeFunction */
9773 val
* separate_compiler__MMethodDef__virtual_runtime_function(val
* self
) {
9774 val
* var
/* : AbstractRuntimeFunction */;
9775 val
* var1
/* : nullable VirtualRuntimeFunction */;
9776 val
* var_res
/* var res: nullable VirtualRuntimeFunction */;
9777 val
* var2
/* : null */;
9778 short int var3
/* : Bool */;
9779 val
* var4
/* : VirtualRuntimeFunction */;
9780 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__virtual_runtime_function_cache
]))(self
) /* virtual_runtime_function_cache on <self:MMethodDef>*/;
9783 if (var_res
== NULL
) {
9784 var3
= 1; /* is null */
9786 var3
= 0; /* arg is null but recv is not */
9789 var4
= NEW_separate_compiler__VirtualRuntimeFunction(&type_separate_compiler__VirtualRuntimeFunction
);
9790 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__init
]))(var4
, self
) /* init on <var4:VirtualRuntimeFunction>*/;
9792 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__MMethodDef__virtual_runtime_function_cache_61d
]))(self
, var_res
) /* virtual_runtime_function_cache= on <self:MMethodDef>*/;
9800 /* method separate_compiler#MMethodDef#virtual_runtime_function for (self: Object): AbstractRuntimeFunction */
9801 val
* VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function(val
* self
) {
9802 val
* var
/* : AbstractRuntimeFunction */;
9803 val
* var1
/* : AbstractRuntimeFunction */;
9804 var1
= separate_compiler__MMethodDef__virtual_runtime_function(self
);
9809 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache for (self: MMethodDef): nullable VirtualRuntimeFunction */
9810 val
* separate_compiler__MMethodDef__virtual_runtime_function_cache(val
* self
) {
9811 val
* var
/* : nullable VirtualRuntimeFunction */;
9812 val
* var1
/* : nullable VirtualRuntimeFunction */;
9813 var1
= self
->attrs
[COLOR_separate_compiler__MMethodDef___64dvirtual_runtime_function_cache
].val
; /* @virtual_runtime_function_cache on <self:MMethodDef> */
9818 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache for (self: Object): nullable VirtualRuntimeFunction */
9819 val
* VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function_cache(val
* self
) {
9820 val
* var
/* : nullable VirtualRuntimeFunction */;
9821 val
* var1
/* : nullable VirtualRuntimeFunction */;
9822 var1
= separate_compiler__MMethodDef__virtual_runtime_function_cache(self
);
9827 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache= for (self: MMethodDef, nullable VirtualRuntimeFunction) */
9828 void separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(val
* self
, val
* p0
) {
9829 self
->attrs
[COLOR_separate_compiler__MMethodDef___64dvirtual_runtime_function_cache
].val
= p0
; /* @virtual_runtime_function_cache on <self:MMethodDef> */
9832 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache= for (self: Object, nullable VirtualRuntimeFunction) */
9833 void VIRTUAL_separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(val
* self
, val
* p0
) {
9834 separate_compiler__MMethodDef__virtual_runtime_function_cache_61d(self
, p0
);
9837 /* method separate_compiler#SeparateRuntimeFunction#build_c_name for (self: SeparateRuntimeFunction): String */
9838 val
* separate_compiler__SeparateRuntimeFunction__build_c_name(val
* self
) {
9839 val
* var
/* : String */;
9840 val
* var1
/* : Array[Object] */;
9841 long var2
/* : Int */;
9842 val
* var_
/* var : Array[Object] */;
9843 static val
* varonce
;
9844 val
* var3
/* : String */;
9845 char* var4
/* : NativeString */;
9846 long var5
/* : Int */;
9847 val
* var6
/* : String */;
9848 val
* var7
/* : MMethodDef */;
9849 val
* var8
/* : String */;
9850 static val
* varonce9
;
9851 val
* var10
/* : String */;
9852 char* var11
/* : NativeString */;
9853 long var12
/* : Int */;
9854 val
* var13
/* : String */;
9855 val
* var14
/* : String */;
9856 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
9858 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
9865 var6
= string__NativeString__to_s_with_length(var4
, var5
);
9869 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
9870 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
9871 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_compiler__MPropDef__c_name
]))(var7
) /* c_name on <var7:MMethodDef>*/;
9872 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
9878 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9882 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
9883 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
9889 /* method separate_compiler#SeparateRuntimeFunction#build_c_name for (self: Object): String */
9890 val
* VIRTUAL_separate_compiler__SeparateRuntimeFunction__build_c_name(val
* self
) {
9891 val
* var
/* : String */;
9892 val
* var1
/* : String */;
9893 var1
= separate_compiler__SeparateRuntimeFunction__build_c_name(self
);
9898 /* method separate_compiler#SeparateRuntimeFunction#to_s for (self: SeparateRuntimeFunction): String */
9899 val
* separate_compiler__SeparateRuntimeFunction__to_s(val
* self
) {
9900 val
* var
/* : String */;
9901 val
* var1
/* : MMethodDef */;
9902 val
* var2
/* : String */;
9903 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractRuntimeFunction__mmethoddef
]))(self
) /* mmethoddef on <self:SeparateRuntimeFunction>*/;
9904 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__to_s
]))(var1
) /* to_s on <var1:MMethodDef>*/;
9910 /* method separate_compiler#SeparateRuntimeFunction#to_s for (self: Object): String */
9911 val
* VIRTUAL_separate_compiler__SeparateRuntimeFunction__to_s(val
* self
) {
9912 val
* var
/* : String */;
9913 val
* var1
/* : String */;
9914 var1
= separate_compiler__SeparateRuntimeFunction__to_s(self
);