1 #include "separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompiler#compile_class_to_c for (self: SeparateCompiler, MClass) */
3 void separate_compiler__SeparateCompiler__compile_class_to_c(val
* self
, val
* p0
) {
4 val
* var_mclass
/* var mclass: MClass */;
5 val
* var
/* : MClassDef */;
6 val
* var2
/* : MClassDef */;
7 val
* var3
/* : MClassType */;
8 val
* var5
/* : MClassType */;
9 val
* var_mtype
/* var mtype: MClassType */;
10 val
* var6
/* : String */;
11 val
* var_c_name
/* var c_name: String */;
12 val
* var7
/* : Map[MClass, Array[nullable MPropDef]] */;
13 val
* var9
/* : Map[MClass, Array[nullable MPropDef]] */;
14 val
* var10
/* : nullable Object */;
15 val
* var_vft
/* var vft: Array[nullable MPropDef] */;
16 val
* var11
/* : Map[MClass, Array[nullable MPropDef]] */;
17 val
* var13
/* : Map[MClass, Array[nullable MPropDef]] */;
18 val
* var14
/* : nullable Object */;
19 val
* var_attrs
/* var attrs: Array[nullable MPropDef] */;
20 val
* var15
/* : AbstractCompilerVisitor */;
21 val
* var_v
/* var v: SeparateCompilerVisitor */;
22 val
* var16
/* : nullable RapidTypeAnalysis */;
23 val
* var18
/* : nullable RapidTypeAnalysis */;
24 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
25 short int var19
/* : Bool */;
26 short int var20
/* : Bool */;
27 short int var21
/* : Bool */;
28 short int var22
/* : Bool */;
29 val
* var23
/* : null */;
30 short int var24
/* : Bool */;
31 short int var25
/* : Bool */;
32 val
* var_other
/* var other: nullable Object */;
33 short int var27
/* : Bool */;
34 short int var28
/* : Bool */;
35 short int var29
/* : Bool */;
36 short int var_
/* var : Bool */;
37 val
* var30
/* : HashSet[MClass] */;
38 val
* var32
/* : HashSet[MClass] */;
39 short int var33
/* : Bool */;
40 short int var34
/* : Bool */;
41 short int var_35
/* var : Bool */;
42 val
* var36
/* : String */;
44 val
* var37
/* : String */;
45 char* var38
/* : NativeString */;
46 long var39
/* : Int */;
47 val
* var40
/* : FlatString */;
48 short int var41
/* : Bool */;
49 short int var42
/* : Bool */;
50 short int var_43
/* var : Bool */;
51 val
* var44
/* : String */;
52 val
* var46
/* : String */;
53 static val
* varonce47
;
54 val
* var48
/* : String */;
55 char* var49
/* : NativeString */;
56 long var50
/* : Int */;
57 val
* var51
/* : FlatString */;
58 short int var52
/* : Bool */;
59 short int var53
/* : Bool */;
60 short int var55
/* : Bool */;
61 short int var56
/* : Bool */;
62 short int var57
/* : Bool */;
63 short int var_58
/* var : Bool */;
64 val
* var59
/* : String */;
65 val
* var61
/* : String */;
66 static val
* varonce62
;
67 val
* var63
/* : String */;
68 char* var64
/* : NativeString */;
69 long var65
/* : Int */;
70 val
* var66
/* : FlatString */;
71 short int var67
/* : Bool */;
72 short int var68
/* : Bool */;
73 short int var70
/* : Bool */;
74 short int var71
/* : Bool */;
75 short int var72
/* : Bool */;
76 short int var_is_dead
/* var is_dead: Bool */;
77 static val
* varonce73
;
78 val
* var74
/* : String */;
79 char* var75
/* : NativeString */;
80 long var76
/* : Int */;
81 val
* var77
/* : FlatString */;
82 static val
* varonce78
;
83 val
* var79
/* : String */;
84 char* var80
/* : NativeString */;
85 long var81
/* : Int */;
86 val
* var82
/* : FlatString */;
87 val
* var83
/* : Array[Object] */;
88 long var84
/* : Int */;
89 val
* var85
/* : NativeArray[Object] */;
90 val
* var86
/* : String */;
91 short int var87
/* : Bool */;
92 static val
* varonce88
;
93 val
* var89
/* : String */;
94 char* var90
/* : NativeString */;
95 long var91
/* : Int */;
96 val
* var92
/* : FlatString */;
97 val
* var93
/* : Array[Object] */;
98 long var94
/* : Int */;
99 val
* var95
/* : NativeArray[Object] */;
100 val
* var96
/* : String */;
101 static val
* varonce97
;
102 val
* var98
/* : String */;
103 char* var99
/* : NativeString */;
104 long var100
/* : Int */;
105 val
* var101
/* : FlatString */;
106 static val
* varonce102
;
107 val
* var103
/* : String */;
108 char* var104
/* : NativeString */;
109 long var105
/* : Int */;
110 val
* var106
/* : FlatString */;
111 val
* var107
/* : Array[Object] */;
112 long var108
/* : Int */;
113 val
* var109
/* : NativeArray[Object] */;
114 val
* var110
/* : String */;
115 static val
* varonce111
;
116 val
* var112
/* : String */;
117 char* var113
/* : NativeString */;
118 long var114
/* : Int */;
119 val
* var115
/* : FlatString */;
120 static val
* varonce116
;
121 val
* var117
/* : String */;
122 char* var118
/* : NativeString */;
123 long var119
/* : Int */;
124 val
* var120
/* : FlatString */;
125 val
* var121
/* : Array[Object] */;
126 long var122
/* : Int */;
127 val
* var123
/* : NativeArray[Object] */;
128 val
* var124
/* : String */;
129 long var125
/* : Int */;
130 static val
* varonce126
;
131 val
* var127
/* : String */;
132 char* var128
/* : NativeString */;
133 long var129
/* : Int */;
134 val
* var130
/* : FlatString */;
135 val
* var131
/* : Array[Object] */;
136 long var132
/* : Int */;
137 val
* var133
/* : NativeArray[Object] */;
138 val
* var134
/* : Object */;
139 val
* var135
/* : String */;
140 static val
* varonce136
;
141 val
* var137
/* : String */;
142 char* var138
/* : NativeString */;
143 long var139
/* : Int */;
144 val
* var140
/* : FlatString */;
145 long var141
/* : Int */;
146 long var_i
/* var i: Int */;
147 long var142
/* : Int */;
148 long var144
/* : Int */;
149 long var_145
/* var : Int */;
150 short int var146
/* : Bool */;
151 short int var148
/* : Bool */;
154 const char* var_class_name
;
155 short int var149
/* : Bool */;
156 val
* var150
/* : nullable Object */;
157 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
158 val
* var151
/* : null */;
159 short int var152
/* : Bool */;
160 short int var153
/* : Bool */;
161 val
* var_other155
/* var other: nullable Object */;
162 short int var156
/* : Bool */;
163 short int var158
/* : Bool */;
164 static val
* varonce159
;
165 val
* var160
/* : String */;
166 char* var161
/* : NativeString */;
167 long var162
/* : Int */;
168 val
* var163
/* : FlatString */;
169 short int var164
/* : Bool */;
172 short int var167
/* : Bool */;
173 val
* var168
/* : null */;
174 short int var169
/* : Bool */;
175 short int var170
/* : Bool */;
176 short int var172
/* : Bool */;
177 short int var173
/* : Bool */;
178 short int var174
/* : Bool */;
179 short int var_175
/* var : Bool */;
180 val
* var176
/* : HashSet[MMethodDef] */;
181 val
* var178
/* : HashSet[MMethodDef] */;
182 short int var179
/* : Bool */;
183 short int var180
/* : Bool */;
184 static val
* varonce181
;
185 val
* var182
/* : String */;
186 char* var183
/* : NativeString */;
187 long var184
/* : Int */;
188 val
* var185
/* : FlatString */;
189 val
* var186
/* : MModule */;
190 val
* var188
/* : MModule */;
191 static val
* varonce189
;
192 val
* var190
/* : String */;
193 char* var191
/* : NativeString */;
194 long var192
/* : Int */;
195 val
* var193
/* : FlatString */;
196 static val
* varonce194
;
197 val
* var195
/* : String */;
198 char* var196
/* : NativeString */;
199 long var197
/* : Int */;
200 val
* var198
/* : FlatString */;
201 static val
* varonce199
;
202 val
* var200
/* : String */;
203 char* var201
/* : NativeString */;
204 long var202
/* : Int */;
205 val
* var203
/* : FlatString */;
206 val
* var204
/* : Array[Object] */;
207 long var205
/* : Int */;
208 val
* var206
/* : NativeArray[Object] */;
209 val
* var207
/* : String */;
210 val
* var208
/* : AbstractRuntimeFunction */;
211 val
* var_rf
/* var rf: AbstractRuntimeFunction */;
212 val
* var209
/* : String */;
213 static val
* varonce210
;
214 val
* var211
/* : String */;
215 char* var212
/* : NativeString */;
216 long var213
/* : Int */;
217 val
* var214
/* : FlatString */;
218 val
* var215
/* : String */;
219 static val
* varonce216
;
220 val
* var217
/* : String */;
221 char* var218
/* : NativeString */;
222 long var219
/* : Int */;
223 val
* var220
/* : FlatString */;
224 val
* var221
/* : MModule */;
225 val
* var223
/* : MModule */;
226 static val
* varonce224
;
227 val
* var225
/* : String */;
228 char* var226
/* : NativeString */;
229 long var227
/* : Int */;
230 val
* var228
/* : FlatString */;
231 static val
* varonce229
;
232 val
* var230
/* : String */;
233 char* var231
/* : NativeString */;
234 long var232
/* : Int */;
235 val
* var233
/* : FlatString */;
236 static val
* varonce234
;
237 val
* var235
/* : String */;
238 char* var236
/* : NativeString */;
239 long var237
/* : Int */;
240 val
* var238
/* : FlatString */;
241 val
* var239
/* : Array[Object] */;
242 long var240
/* : Int */;
243 val
* var241
/* : NativeArray[Object] */;
244 val
* var242
/* : String */;
245 long var243
/* : Int */;
246 long var244
/* : Int */;
247 static val
* varonce246
;
248 val
* var247
/* : String */;
249 char* var248
/* : NativeString */;
250 long var249
/* : Int */;
251 val
* var250
/* : FlatString */;
252 static val
* varonce251
;
253 val
* var252
/* : String */;
254 char* var253
/* : NativeString */;
255 long var254
/* : Int */;
256 val
* var255
/* : FlatString */;
257 short int var256
/* : Bool */;
258 val
* var257
/* : String */;
259 static val
* varonce258
;
260 val
* var259
/* : String */;
261 char* var260
/* : NativeString */;
262 long var261
/* : Int */;
263 val
* var262
/* : FlatString */;
264 short int var263
/* : Bool */;
265 short int var264
/* : Bool */;
266 short int var266
/* : Bool */;
267 short int var267
/* : Bool */;
268 short int var268
/* : Bool */;
269 short int var_269
/* var : Bool */;
270 val
* var270
/* : MClass */;
271 val
* var272
/* : MClass */;
272 val
* var273
/* : String */;
273 val
* var275
/* : String */;
274 static val
* varonce276
;
275 val
* var277
/* : String */;
276 char* var278
/* : NativeString */;
277 long var279
/* : Int */;
278 val
* var280
/* : FlatString */;
279 short int var281
/* : Bool */;
280 short int var282
/* : Bool */;
281 val
* var283
/* : CodeWriter */;
282 val
* var285
/* : CodeWriter */;
283 static val
* varonce286
;
284 val
* var287
/* : String */;
285 char* var288
/* : NativeString */;
286 long var289
/* : Int */;
287 val
* var290
/* : FlatString */;
288 static val
* varonce291
;
289 val
* var292
/* : String */;
290 char* var293
/* : NativeString */;
291 long var294
/* : Int */;
292 val
* var295
/* : FlatString */;
293 val
* var296
/* : Array[Object] */;
294 long var297
/* : Int */;
295 val
* var298
/* : NativeArray[Object] */;
296 val
* var299
/* : String */;
297 val
* var300
/* : CodeWriter */;
298 val
* var302
/* : CodeWriter */;
299 static val
* varonce303
;
300 val
* var304
/* : String */;
301 char* var305
/* : NativeString */;
302 long var306
/* : Int */;
303 val
* var307
/* : FlatString */;
304 val
* var308
/* : CodeWriter */;
305 val
* var310
/* : CodeWriter */;
306 static val
* varonce311
;
307 val
* var312
/* : String */;
308 char* var313
/* : NativeString */;
309 long var314
/* : Int */;
310 val
* var315
/* : FlatString */;
311 val
* var316
/* : CodeWriter */;
312 val
* var318
/* : CodeWriter */;
313 val
* var319
/* : String */;
314 static val
* varonce320
;
315 val
* var321
/* : String */;
316 char* var322
/* : NativeString */;
317 long var323
/* : Int */;
318 val
* var324
/* : FlatString */;
319 val
* var325
/* : Array[Object] */;
320 long var326
/* : Int */;
321 val
* var327
/* : NativeArray[Object] */;
322 val
* var328
/* : String */;
323 val
* var329
/* : CodeWriter */;
324 val
* var331
/* : CodeWriter */;
325 static val
* varonce332
;
326 val
* var333
/* : String */;
327 char* var334
/* : NativeString */;
328 long var335
/* : Int */;
329 val
* var336
/* : FlatString */;
330 short int var337
/* : Bool */;
331 val
* var338
/* : HashSet[MClassType] */;
332 val
* var340
/* : HashSet[MClassType] */;
333 short int var341
/* : Bool */;
334 short int var342
/* : Bool */;
335 short int var_343
/* var : Bool */;
336 val
* var344
/* : MClass */;
337 val
* var346
/* : MClass */;
338 val
* var347
/* : String */;
339 val
* var349
/* : String */;
340 static val
* varonce350
;
341 val
* var351
/* : String */;
342 char* var352
/* : NativeString */;
343 long var353
/* : Int */;
344 val
* var354
/* : FlatString */;
345 short int var355
/* : Bool */;
346 short int var356
/* : Bool */;
347 short int var358
/* : Bool */;
348 short int var359
/* : Bool */;
349 short int var360
/* : Bool */;
350 static val
* varonce361
;
351 val
* var362
/* : String */;
352 char* var363
/* : NativeString */;
353 long var364
/* : Int */;
354 val
* var365
/* : FlatString */;
355 val
* var366
/* : Array[Object] */;
356 long var367
/* : Int */;
357 val
* var368
/* : NativeArray[Object] */;
358 val
* var369
/* : String */;
359 static val
* varonce370
;
360 val
* var371
/* : String */;
361 char* var372
/* : NativeString */;
362 long var373
/* : Int */;
363 val
* var374
/* : FlatString */;
364 static val
* varonce375
;
365 val
* var376
/* : String */;
366 char* var377
/* : NativeString */;
367 long var378
/* : Int */;
368 val
* var379
/* : FlatString */;
369 val
* var380
/* : String */;
370 static val
* varonce381
;
371 val
* var382
/* : String */;
372 char* var383
/* : NativeString */;
373 long var384
/* : Int */;
374 val
* var385
/* : FlatString */;
375 val
* var386
/* : Array[Object] */;
376 long var387
/* : Int */;
377 val
* var388
/* : NativeArray[Object] */;
378 val
* var389
/* : String */;
379 static val
* varonce390
;
380 val
* var391
/* : String */;
381 char* var392
/* : NativeString */;
382 long var393
/* : Int */;
383 val
* var394
/* : FlatString */;
384 static val
* varonce395
;
385 val
* var396
/* : String */;
386 char* var397
/* : NativeString */;
387 long var398
/* : Int */;
388 val
* var399
/* : FlatString */;
389 val
* var400
/* : Array[Object] */;
390 long var401
/* : Int */;
391 val
* var402
/* : NativeArray[Object] */;
392 val
* var403
/* : String */;
393 static val
* varonce404
;
394 val
* var405
/* : String */;
395 char* var406
/* : NativeString */;
396 long var407
/* : Int */;
397 val
* var408
/* : FlatString */;
398 val
* var409
/* : String */;
399 static val
* varonce410
;
400 val
* var411
/* : String */;
401 char* var412
/* : NativeString */;
402 long var413
/* : Int */;
403 val
* var414
/* : FlatString */;
404 val
* var415
/* : String */;
405 static val
* varonce416
;
406 val
* var417
/* : String */;
407 char* var418
/* : NativeString */;
408 long var419
/* : Int */;
409 val
* var420
/* : FlatString */;
410 val
* var421
/* : Array[Object] */;
411 long var422
/* : Int */;
412 val
* var423
/* : NativeArray[Object] */;
413 val
* var424
/* : String */;
414 static val
* varonce425
;
415 val
* var426
/* : String */;
416 char* var427
/* : NativeString */;
417 long var428
/* : Int */;
418 val
* var429
/* : FlatString */;
419 static val
* varonce430
;
420 val
* var431
/* : String */;
421 char* var432
/* : NativeString */;
422 long var433
/* : Int */;
423 val
* var434
/* : FlatString */;
424 static val
* varonce435
;
425 val
* var436
/* : String */;
426 char* var437
/* : NativeString */;
427 long var438
/* : Int */;
428 val
* var439
/* : FlatString */;
429 val
* var440
/* : Array[Object] */;
430 long var441
/* : Int */;
431 val
* var442
/* : NativeArray[Object] */;
432 val
* var443
/* : String */;
433 val
* var444
/* : AbstractCompiler */;
434 val
* var446
/* : AbstractCompiler */;
435 val
* var447
/* : Set[MType] */;
436 val
* var449
/* : Set[MType] */;
437 static val
* varonce450
;
438 val
* var451
/* : String */;
439 char* var452
/* : NativeString */;
440 long var453
/* : Int */;
441 val
* var454
/* : FlatString */;
442 val
* var455
/* : Array[Object] */;
443 long var456
/* : Int */;
444 val
* var457
/* : NativeArray[Object] */;
445 val
* var458
/* : String */;
446 static val
* varonce459
;
447 val
* var460
/* : String */;
448 char* var461
/* : NativeString */;
449 long var462
/* : Int */;
450 val
* var463
/* : FlatString */;
451 static val
* varonce464
;
452 val
* var465
/* : String */;
453 char* var466
/* : NativeString */;
454 long var467
/* : Int */;
455 val
* var468
/* : FlatString */;
456 val
* var469
/* : Array[Object] */;
457 long var470
/* : Int */;
458 val
* var471
/* : NativeArray[Object] */;
459 val
* var472
/* : String */;
460 static val
* varonce473
;
461 val
* var474
/* : String */;
462 char* var475
/* : NativeString */;
463 long var476
/* : Int */;
464 val
* var477
/* : FlatString */;
465 val
* var478
/* : Array[Object] */;
466 long var479
/* : Int */;
467 val
* var480
/* : NativeArray[Object] */;
468 val
* var481
/* : String */;
469 static val
* varonce482
;
470 val
* var483
/* : String */;
471 char* var484
/* : NativeString */;
472 long var485
/* : Int */;
473 val
* var486
/* : FlatString */;
474 static val
* varonce487
;
475 val
* var488
/* : String */;
476 char* var489
/* : NativeString */;
477 long var490
/* : Int */;
478 val
* var491
/* : FlatString */;
479 val
* var492
/* : Array[Object] */;
480 long var493
/* : Int */;
481 val
* var494
/* : NativeArray[Object] */;
482 val
* var495
/* : String */;
483 static val
* varonce496
;
484 val
* var497
/* : String */;
485 char* var498
/* : NativeString */;
486 long var499
/* : Int */;
487 val
* var500
/* : FlatString */;
488 static val
* varonce501
;
489 val
* var502
/* : String */;
490 char* var503
/* : NativeString */;
491 long var504
/* : Int */;
492 val
* var505
/* : FlatString */;
493 static val
* varonce506
;
494 val
* var507
/* : String */;
495 char* var508
/* : NativeString */;
496 long var509
/* : Int */;
497 val
* var510
/* : FlatString */;
498 val
* var511
/* : MClass */;
499 val
* var513
/* : MClass */;
500 val
* var514
/* : String */;
501 val
* var516
/* : String */;
502 static val
* varonce517
;
503 val
* var518
/* : String */;
504 char* var519
/* : NativeString */;
505 long var520
/* : Int */;
506 val
* var521
/* : FlatString */;
507 short int var522
/* : Bool */;
508 short int var523
/* : Bool */;
509 short int var525
/* : Bool */;
510 short int var526
/* : Bool */;
511 short int var527
/* : Bool */;
512 val
* var528
/* : AbstractCompilerVisitor */;
513 static val
* varonce529
;
514 val
* var530
/* : String */;
515 char* var531
/* : NativeString */;
516 long var532
/* : Int */;
517 val
* var533
/* : FlatString */;
518 val
* var534
/* : Array[Object] */;
519 long var535
/* : Int */;
520 val
* var536
/* : NativeArray[Object] */;
521 val
* var537
/* : String */;
522 val
* var538
/* : String */;
523 static val
* varonce539
;
524 val
* var540
/* : String */;
525 char* var541
/* : NativeString */;
526 long var542
/* : Int */;
527 val
* var543
/* : FlatString */;
528 static val
* varonce544
;
529 val
* var545
/* : String */;
530 char* var546
/* : NativeString */;
531 long var547
/* : Int */;
532 val
* var548
/* : FlatString */;
533 val
* var549
/* : Array[Object] */;
534 long var550
/* : Int */;
535 val
* var551
/* : NativeArray[Object] */;
536 val
* var552
/* : String */;
537 static val
* varonce553
;
538 val
* var554
/* : String */;
539 char* var555
/* : NativeString */;
540 long var556
/* : Int */;
541 val
* var557
/* : FlatString */;
542 static val
* varonce558
;
543 val
* var559
/* : String */;
544 char* var560
/* : NativeString */;
545 long var561
/* : Int */;
546 val
* var562
/* : FlatString */;
547 val
* var563
/* : Array[Object] */;
548 long var564
/* : Int */;
549 val
* var565
/* : NativeArray[Object] */;
550 val
* var566
/* : String */;
551 val
* var567
/* : String */;
552 static val
* varonce568
;
553 val
* var569
/* : String */;
554 char* var570
/* : NativeString */;
555 long var571
/* : Int */;
556 val
* var572
/* : FlatString */;
557 static val
* varonce573
;
558 val
* var574
/* : String */;
559 char* var575
/* : NativeString */;
560 long var576
/* : Int */;
561 val
* var577
/* : FlatString */;
562 val
* var578
/* : Array[Object] */;
563 long var579
/* : Int */;
564 val
* var580
/* : NativeArray[Object] */;
565 val
* var581
/* : String */;
566 static val
* varonce582
;
567 val
* var583
/* : String */;
568 char* var584
/* : NativeString */;
569 long var585
/* : Int */;
570 val
* var586
/* : FlatString */;
571 val
* var587
/* : Array[Object] */;
572 long var588
/* : Int */;
573 val
* var589
/* : NativeArray[Object] */;
574 val
* var590
/* : String */;
575 static val
* varonce591
;
576 val
* var592
/* : String */;
577 char* var593
/* : NativeString */;
578 long var594
/* : Int */;
579 val
* var595
/* : FlatString */;
580 val
* var596
/* : RuntimeVariable */;
581 val
* var_res
/* var res: RuntimeVariable */;
582 short int var597
/* : Bool */;
583 static val
* varonce599
;
584 val
* var600
/* : String */;
585 char* var601
/* : NativeString */;
586 long var602
/* : Int */;
587 val
* var603
/* : FlatString */;
588 val
* var604
/* : String */;
589 static val
* varonce605
;
590 val
* var606
/* : String */;
591 char* var607
/* : NativeString */;
592 long var608
/* : Int */;
593 val
* var609
/* : FlatString */;
594 val
* var610
/* : Array[Object] */;
595 long var611
/* : Int */;
596 val
* var612
/* : NativeArray[Object] */;
597 val
* var613
/* : String */;
598 static val
* varonce614
;
599 val
* var615
/* : String */;
600 char* var616
/* : NativeString */;
601 long var617
/* : Int */;
602 val
* var618
/* : FlatString */;
603 val
* var619
/* : Array[Object] */;
604 long var620
/* : Int */;
605 val
* var621
/* : NativeArray[Object] */;
606 val
* var622
/* : String */;
607 static val
* varonce623
;
608 val
* var624
/* : String */;
609 char* var625
/* : NativeString */;
610 long var626
/* : Int */;
611 val
* var627
/* : FlatString */;
612 static val
* varonce628
;
613 val
* var629
/* : String */;
614 char* var630
/* : NativeString */;
615 long var631
/* : Int */;
616 val
* var632
/* : FlatString */;
617 val
* var633
/* : Array[Object] */;
618 long var634
/* : Int */;
619 val
* var635
/* : NativeArray[Object] */;
620 val
* var636
/* : String */;
621 static val
* varonce637
;
622 val
* var638
/* : String */;
623 char* var639
/* : NativeString */;
624 long var640
/* : Int */;
625 val
* var641
/* : FlatString */;
626 static val
* varonce642
;
627 val
* var643
/* : String */;
628 char* var644
/* : NativeString */;
629 long var645
/* : Int */;
630 val
* var646
/* : FlatString */;
631 val
* var647
/* : Array[Object] */;
632 long var648
/* : Int */;
633 val
* var649
/* : NativeArray[Object] */;
634 val
* var650
/* : String */;
635 static val
* varonce651
;
636 val
* var652
/* : String */;
637 char* var653
/* : NativeString */;
638 long var654
/* : Int */;
639 val
* var655
/* : FlatString */;
640 val
* var656
/* : String */;
641 static val
* varonce657
;
642 val
* var658
/* : String */;
643 char* var659
/* : NativeString */;
644 long var660
/* : Int */;
645 val
* var661
/* : FlatString */;
646 static val
* varonce662
;
647 val
* var663
/* : String */;
648 char* var664
/* : NativeString */;
649 long var665
/* : Int */;
650 val
* var666
/* : FlatString */;
651 val
* var667
/* : Array[Object] */;
652 long var668
/* : Int */;
653 val
* var669
/* : NativeArray[Object] */;
654 val
* var670
/* : String */;
655 static val
* varonce671
;
656 val
* var672
/* : String */;
657 char* var673
/* : NativeString */;
658 long var674
/* : Int */;
659 val
* var675
/* : FlatString */;
660 static val
* varonce676
;
661 val
* var677
/* : String */;
662 char* var678
/* : NativeString */;
663 long var679
/* : Int */;
664 val
* var680
/* : FlatString */;
665 val
* var681
/* : Array[Object] */;
666 long var682
/* : Int */;
667 val
* var683
/* : NativeArray[Object] */;
668 val
* var684
/* : String */;
669 static val
* varonce685
;
670 val
* var686
/* : String */;
671 char* var687
/* : NativeString */;
672 long var688
/* : Int */;
673 val
* var689
/* : FlatString */;
674 val
* var690
/* : String */;
675 val
* var692
/* : String */;
676 static val
* varonce693
;
677 val
* var694
/* : String */;
678 char* var695
/* : NativeString */;
679 long var696
/* : Int */;
680 val
* var697
/* : FlatString */;
681 short int var698
/* : Bool */;
682 short int var699
/* : Bool */;
683 val
* var700
/* : CodeWriter */;
684 val
* var702
/* : CodeWriter */;
685 static val
* varonce703
;
686 val
* var704
/* : String */;
687 char* var705
/* : NativeString */;
688 long var706
/* : Int */;
689 val
* var707
/* : FlatString */;
690 static val
* varonce708
;
691 val
* var709
/* : String */;
692 char* var710
/* : NativeString */;
693 long var711
/* : Int */;
694 val
* var712
/* : FlatString */;
695 val
* var713
/* : Array[Object] */;
696 long var714
/* : Int */;
697 val
* var715
/* : NativeArray[Object] */;
698 val
* var716
/* : String */;
699 val
* var717
/* : CodeWriter */;
700 val
* var719
/* : CodeWriter */;
701 static val
* varonce720
;
702 val
* var721
/* : String */;
703 char* var722
/* : NativeString */;
704 long var723
/* : Int */;
705 val
* var724
/* : FlatString */;
706 val
* var725
/* : CodeWriter */;
707 val
* var727
/* : CodeWriter */;
708 static val
* varonce728
;
709 val
* var729
/* : String */;
710 char* var730
/* : NativeString */;
711 long var731
/* : Int */;
712 val
* var732
/* : FlatString */;
713 val
* var733
/* : CodeWriter */;
714 val
* var735
/* : CodeWriter */;
715 static val
* varonce736
;
716 val
* var737
/* : String */;
717 char* var738
/* : NativeString */;
718 long var739
/* : Int */;
719 val
* var740
/* : FlatString */;
720 val
* var741
/* : CodeWriter */;
721 val
* var743
/* : CodeWriter */;
722 static val
* varonce744
;
723 val
* var745
/* : String */;
724 char* var746
/* : NativeString */;
725 long var747
/* : Int */;
726 val
* var748
/* : FlatString */;
727 val
* var749
/* : CodeWriter */;
728 val
* var751
/* : CodeWriter */;
729 static val
* varonce752
;
730 val
* var753
/* : String */;
731 char* var754
/* : NativeString */;
732 long var755
/* : Int */;
733 val
* var756
/* : FlatString */;
734 static val
* varonce757
;
735 val
* var758
/* : String */;
736 char* var759
/* : NativeString */;
737 long var760
/* : Int */;
738 val
* var761
/* : FlatString */;
739 val
* var762
/* : Array[Object] */;
740 long var763
/* : Int */;
741 val
* var764
/* : NativeArray[Object] */;
742 val
* var765
/* : String */;
743 val
* var766
/* : String */;
744 static val
* varonce767
;
745 val
* var768
/* : String */;
746 char* var769
/* : NativeString */;
747 long var770
/* : Int */;
748 val
* var771
/* : FlatString */;
749 static val
* varonce772
;
750 val
* var773
/* : String */;
751 char* var774
/* : NativeString */;
752 long var775
/* : Int */;
753 val
* var776
/* : FlatString */;
754 val
* var777
/* : Array[Object] */;
755 long var778
/* : Int */;
756 val
* var779
/* : NativeArray[Object] */;
757 val
* var780
/* : String */;
758 static val
* varonce781
;
759 val
* var782
/* : String */;
760 char* var783
/* : NativeString */;
761 long var784
/* : Int */;
762 val
* var785
/* : FlatString */;
763 static val
* varonce786
;
764 val
* var787
/* : String */;
765 char* var788
/* : NativeString */;
766 long var789
/* : Int */;
767 val
* var790
/* : FlatString */;
768 val
* var791
/* : Array[Object] */;
769 long var792
/* : Int */;
770 val
* var793
/* : NativeArray[Object] */;
771 val
* var794
/* : String */;
772 val
* var795
/* : String */;
773 static val
* varonce796
;
774 val
* var797
/* : String */;
775 char* var798
/* : NativeString */;
776 long var799
/* : Int */;
777 val
* var800
/* : FlatString */;
778 static val
* varonce801
;
779 val
* var802
/* : String */;
780 char* var803
/* : NativeString */;
781 long var804
/* : Int */;
782 val
* var805
/* : FlatString */;
783 val
* var806
/* : Array[Object] */;
784 long var807
/* : Int */;
785 val
* var808
/* : NativeArray[Object] */;
786 val
* var809
/* : String */;
787 static val
* varonce810
;
788 val
* var811
/* : String */;
789 char* var812
/* : NativeString */;
790 long var813
/* : Int */;
791 val
* var814
/* : FlatString */;
792 val
* var815
/* : String */;
793 val
* var_res816
/* var res: String */;
794 static val
* varonce817
;
795 val
* var818
/* : String */;
796 char* var819
/* : NativeString */;
797 long var820
/* : Int */;
798 val
* var821
/* : FlatString */;
799 static val
* varonce822
;
800 val
* var823
/* : String */;
801 char* var824
/* : NativeString */;
802 long var825
/* : Int */;
803 val
* var826
/* : FlatString */;
804 static val
* varonce827
;
805 val
* var828
/* : String */;
806 char* var829
/* : NativeString */;
807 long var830
/* : Int */;
808 val
* var831
/* : FlatString */;
809 val
* var832
/* : Array[Object] */;
810 long var833
/* : Int */;
811 val
* var834
/* : NativeArray[Object] */;
812 val
* var835
/* : String */;
813 val
* var836
/* : Array[MType] */;
814 val
* var838
/* : Array[MType] */;
815 val
* var839
/* : nullable Object */;
816 val
* var_mtype_elt
/* var mtype_elt: MType */;
817 static val
* varonce840
;
818 val
* var841
/* : String */;
819 char* var842
/* : NativeString */;
820 long var843
/* : Int */;
821 val
* var844
/* : FlatString */;
822 static val
* varonce845
;
823 val
* var846
/* : String */;
824 char* var847
/* : NativeString */;
825 long var848
/* : Int */;
826 val
* var849
/* : FlatString */;
827 val
* var850
/* : String */;
828 static val
* varonce851
;
829 val
* var852
/* : String */;
830 char* var853
/* : NativeString */;
831 long var854
/* : Int */;
832 val
* var855
/* : FlatString */;
833 val
* var856
/* : Array[Object] */;
834 long var857
/* : Int */;
835 val
* var858
/* : NativeArray[Object] */;
836 val
* var859
/* : String */;
837 static val
* varonce860
;
838 val
* var861
/* : String */;
839 char* var862
/* : NativeString */;
840 long var863
/* : Int */;
841 val
* var864
/* : FlatString */;
842 val
* var865
/* : Array[Object] */;
843 long var866
/* : Int */;
844 val
* var867
/* : NativeArray[Object] */;
845 val
* var868
/* : String */;
846 static val
* varonce869
;
847 val
* var870
/* : String */;
848 char* var871
/* : NativeString */;
849 long var872
/* : Int */;
850 val
* var873
/* : FlatString */;
851 static val
* varonce874
;
852 val
* var875
/* : String */;
853 char* var876
/* : NativeString */;
854 long var877
/* : Int */;
855 val
* var878
/* : FlatString */;
856 val
* var879
/* : Array[Object] */;
857 long var880
/* : Int */;
858 val
* var881
/* : NativeArray[Object] */;
859 val
* var882
/* : String */;
860 static val
* varonce883
;
861 val
* var884
/* : String */;
862 char* var885
/* : NativeString */;
863 long var886
/* : Int */;
864 val
* var887
/* : FlatString */;
865 static val
* varonce888
;
866 val
* var889
/* : String */;
867 char* var890
/* : NativeString */;
868 long var891
/* : Int */;
869 val
* var892
/* : FlatString */;
870 val
* var893
/* : Array[Object] */;
871 long var894
/* : Int */;
872 val
* var895
/* : NativeArray[Object] */;
873 val
* var896
/* : String */;
874 static val
* varonce897
;
875 val
* var898
/* : String */;
876 char* var899
/* : NativeString */;
877 long var900
/* : Int */;
878 val
* var901
/* : FlatString */;
879 val
* var902
/* : Array[Object] */;
880 long var903
/* : Int */;
881 val
* var904
/* : NativeArray[Object] */;
882 val
* var905
/* : String */;
883 static val
* varonce906
;
884 val
* var907
/* : String */;
885 char* var908
/* : NativeString */;
886 long var909
/* : Int */;
887 val
* var910
/* : FlatString */;
888 static val
* varonce911
;
889 val
* var912
/* : String */;
890 char* var913
/* : NativeString */;
891 long var914
/* : Int */;
892 val
* var915
/* : FlatString */;
893 val
* var916
/* : Array[Object] */;
894 long var917
/* : Int */;
895 val
* var918
/* : NativeArray[Object] */;
896 val
* var919
/* : String */;
897 static val
* varonce920
;
898 val
* var921
/* : String */;
899 char* var922
/* : NativeString */;
900 long var923
/* : Int */;
901 val
* var924
/* : FlatString */;
902 short int var925
/* : Bool */;
903 val
* var926
/* : MClass */;
904 val
* var928
/* : MClass */;
905 val
* var929
/* : MClassKind */;
906 val
* var931
/* : MClassKind */;
907 val
* var932
/* : MClassKind */;
908 short int var933
/* : Bool */;
909 short int var934
/* : Bool */;
910 short int var936
/* : Bool */;
911 short int var938
/* : Bool */;
912 short int var_939
/* var : Bool */;
913 val
* var940
/* : MClass */;
914 val
* var942
/* : MClass */;
915 val
* var943
/* : String */;
916 val
* var945
/* : String */;
917 static val
* varonce946
;
918 val
* var947
/* : String */;
919 char* var948
/* : NativeString */;
920 long var949
/* : Int */;
921 val
* var950
/* : FlatString */;
922 short int var951
/* : Bool */;
923 short int var952
/* : Bool */;
924 short int var954
/* : Bool */;
925 short int var955
/* : Bool */;
926 short int var956
/* : Bool */;
927 val
* var957
/* : MModule */;
928 val
* var959
/* : MModule */;
929 val
* var960
/* : MClassType */;
930 short int var962
/* : Bool */;
931 val
* var963
/* : MClassType */;
932 static val
* varonce964
;
933 val
* var965
/* : String */;
934 char* var966
/* : NativeString */;
935 long var967
/* : Int */;
936 val
* var968
/* : FlatString */;
937 val
* var969
/* : MClass */;
938 val
* var970
/* : MClassType */;
939 val
* var972
/* : MClassType */;
940 val
* var_pointer_type
/* var pointer_type: MClassType */;
941 static val
* varonce973
;
942 val
* var974
/* : String */;
943 char* var975
/* : NativeString */;
944 long var976
/* : Int */;
945 val
* var977
/* : FlatString */;
946 val
* var978
/* : Array[Object] */;
947 long var979
/* : Int */;
948 val
* var980
/* : NativeArray[Object] */;
949 val
* var981
/* : String */;
950 val
* var982
/* : String */;
951 static val
* varonce983
;
952 val
* var984
/* : String */;
953 char* var985
/* : NativeString */;
954 long var986
/* : Int */;
955 val
* var987
/* : FlatString */;
956 static val
* varonce988
;
957 val
* var989
/* : String */;
958 char* var990
/* : NativeString */;
959 long var991
/* : Int */;
960 val
* var992
/* : FlatString */;
961 val
* var993
/* : Array[Object] */;
962 long var994
/* : Int */;
963 val
* var995
/* : NativeArray[Object] */;
964 val
* var996
/* : String */;
965 static val
* varonce997
;
966 val
* var998
/* : String */;
967 char* var999
/* : NativeString */;
968 long var1000
/* : Int */;
969 val
* var1001
/* : FlatString */;
970 static val
* varonce1002
;
971 val
* var1003
/* : String */;
972 char* var1004
/* : NativeString */;
973 long var1005
/* : Int */;
974 val
* var1006
/* : FlatString */;
975 val
* var1007
/* : Array[Object] */;
976 long var1008
/* : Int */;
977 val
* var1009
/* : NativeArray[Object] */;
978 val
* var1010
/* : String */;
979 val
* var1011
/* : String */;
980 static val
* varonce1012
;
981 val
* var1013
/* : String */;
982 char* var1014
/* : NativeString */;
983 long var1015
/* : Int */;
984 val
* var1016
/* : FlatString */;
985 static val
* varonce1017
;
986 val
* var1018
/* : String */;
987 char* var1019
/* : NativeString */;
988 long var1020
/* : Int */;
989 val
* var1021
/* : FlatString */;
990 val
* var1022
/* : Array[Object] */;
991 long var1023
/* : Int */;
992 val
* var1024
/* : NativeArray[Object] */;
993 val
* var1025
/* : String */;
994 static val
* varonce1026
;
995 val
* var1027
/* : String */;
996 char* var1028
/* : NativeString */;
997 long var1029
/* : Int */;
998 val
* var1030
/* : FlatString */;
999 val
* var1031
/* : Array[Object] */;
1000 long var1032
/* : Int */;
1001 val
* var1033
/* : NativeArray[Object] */;
1002 val
* var1034
/* : String */;
1003 static val
* varonce1035
;
1004 val
* var1036
/* : String */;
1005 char* var1037
/* : NativeString */;
1006 long var1038
/* : Int */;
1007 val
* var1039
/* : FlatString */;
1008 val
* var1040
/* : RuntimeVariable */;
1009 val
* var_res1041
/* var res: RuntimeVariable */;
1010 short int var1042
/* : Bool */;
1011 static val
* varonce1044
;
1012 val
* var1045
/* : String */;
1013 char* var1046
/* : NativeString */;
1014 long var1047
/* : Int */;
1015 val
* var1048
/* : FlatString */;
1016 val
* var1049
/* : String */;
1017 static val
* varonce1050
;
1018 val
* var1051
/* : String */;
1019 char* var1052
/* : NativeString */;
1020 long var1053
/* : Int */;
1021 val
* var1054
/* : FlatString */;
1022 val
* var1055
/* : Array[Object] */;
1023 long var1056
/* : Int */;
1024 val
* var1057
/* : NativeArray[Object] */;
1025 val
* var1058
/* : String */;
1026 static val
* varonce1059
;
1027 val
* var1060
/* : String */;
1028 char* var1061
/* : NativeString */;
1029 long var1062
/* : Int */;
1030 val
* var1063
/* : FlatString */;
1031 val
* var1064
/* : Array[Object] */;
1032 long var1065
/* : Int */;
1033 val
* var1066
/* : NativeArray[Object] */;
1034 val
* var1067
/* : String */;
1035 static val
* varonce1068
;
1036 val
* var1069
/* : String */;
1037 char* var1070
/* : NativeString */;
1038 long var1071
/* : Int */;
1039 val
* var1072
/* : FlatString */;
1040 static val
* varonce1073
;
1041 val
* var1074
/* : String */;
1042 char* var1075
/* : NativeString */;
1043 long var1076
/* : Int */;
1044 val
* var1077
/* : FlatString */;
1045 val
* var1078
/* : Array[Object] */;
1046 long var1079
/* : Int */;
1047 val
* var1080
/* : NativeArray[Object] */;
1048 val
* var1081
/* : String */;
1049 static val
* varonce1082
;
1050 val
* var1083
/* : String */;
1051 char* var1084
/* : NativeString */;
1052 long var1085
/* : Int */;
1053 val
* var1086
/* : FlatString */;
1054 static val
* varonce1087
;
1055 val
* var1088
/* : String */;
1056 char* var1089
/* : NativeString */;
1057 long var1090
/* : Int */;
1058 val
* var1091
/* : FlatString */;
1059 val
* var1092
/* : Array[Object] */;
1060 long var1093
/* : Int */;
1061 val
* var1094
/* : NativeArray[Object] */;
1062 val
* var1095
/* : String */;
1063 static val
* varonce1096
;
1064 val
* var1097
/* : String */;
1065 char* var1098
/* : NativeString */;
1066 long var1099
/* : Int */;
1067 val
* var1100
/* : FlatString */;
1068 val
* var1101
/* : String */;
1069 static val
* varonce1102
;
1070 val
* var1103
/* : String */;
1071 char* var1104
/* : NativeString */;
1072 long var1105
/* : Int */;
1073 val
* var1106
/* : FlatString */;
1074 static val
* varonce1107
;
1075 val
* var1108
/* : String */;
1076 char* var1109
/* : NativeString */;
1077 long var1110
/* : Int */;
1078 val
* var1111
/* : FlatString */;
1079 val
* var1112
/* : Array[Object] */;
1080 long var1113
/* : Int */;
1081 val
* var1114
/* : NativeArray[Object] */;
1082 val
* var1115
/* : String */;
1083 static val
* varonce1116
;
1084 val
* var1117
/* : String */;
1085 char* var1118
/* : NativeString */;
1086 long var1119
/* : Int */;
1087 val
* var1120
/* : FlatString */;
1088 static val
* varonce1121
;
1089 val
* var1122
/* : String */;
1090 char* var1123
/* : NativeString */;
1091 long var1124
/* : Int */;
1092 val
* var1125
/* : FlatString */;
1093 val
* var1126
/* : Array[Object] */;
1094 long var1127
/* : Int */;
1095 val
* var1128
/* : NativeArray[Object] */;
1096 val
* var1129
/* : String */;
1097 static val
* varonce1130
;
1098 val
* var1131
/* : String */;
1099 char* var1132
/* : NativeString */;
1100 long var1133
/* : Int */;
1101 val
* var1134
/* : FlatString */;
1102 static val
* varonce1135
;
1103 val
* var1136
/* : String */;
1104 char* var1137
/* : NativeString */;
1105 long var1138
/* : Int */;
1106 val
* var1139
/* : FlatString */;
1107 val
* var1140
/* : Array[Object] */;
1108 long var1141
/* : Int */;
1109 val
* var1142
/* : NativeArray[Object] */;
1110 val
* var1143
/* : String */;
1111 val
* var1144
/* : String */;
1112 static val
* varonce1145
;
1113 val
* var1146
/* : String */;
1114 char* var1147
/* : NativeString */;
1115 long var1148
/* : Int */;
1116 val
* var1149
/* : FlatString */;
1117 static val
* varonce1150
;
1118 val
* var1151
/* : String */;
1119 char* var1152
/* : NativeString */;
1120 long var1153
/* : Int */;
1121 val
* var1154
/* : FlatString */;
1122 val
* var1155
/* : Array[Object] */;
1123 long var1156
/* : Int */;
1124 val
* var1157
/* : NativeArray[Object] */;
1125 val
* var1158
/* : String */;
1126 static val
* varonce1159
;
1127 val
* var1160
/* : String */;
1128 char* var1161
/* : NativeString */;
1129 long var1162
/* : Int */;
1130 val
* var1163
/* : FlatString */;
1131 static val
* varonce1164
;
1132 val
* var1165
/* : String */;
1133 char* var1166
/* : NativeString */;
1134 long var1167
/* : Int */;
1135 val
* var1168
/* : FlatString */;
1136 val
* var1169
/* : Array[Object] */;
1137 long var1170
/* : Int */;
1138 val
* var1171
/* : NativeArray[Object] */;
1139 val
* var1172
/* : String */;
1140 val
* var1173
/* : String */;
1141 static val
* varonce1174
;
1142 val
* var1175
/* : String */;
1143 char* var1176
/* : NativeString */;
1144 long var1177
/* : Int */;
1145 val
* var1178
/* : FlatString */;
1146 static val
* varonce1179
;
1147 val
* var1180
/* : String */;
1148 char* var1181
/* : NativeString */;
1149 long var1182
/* : Int */;
1150 val
* var1183
/* : FlatString */;
1151 val
* var1184
/* : Array[Object] */;
1152 long var1185
/* : Int */;
1153 val
* var1186
/* : NativeArray[Object] */;
1154 val
* var1187
/* : String */;
1155 static val
* varonce1188
;
1156 val
* var1189
/* : String */;
1157 char* var1190
/* : NativeString */;
1158 long var1191
/* : Int */;
1159 val
* var1192
/* : FlatString */;
1160 val
* var1193
/* : Array[Object] */;
1161 long var1194
/* : Int */;
1162 val
* var1195
/* : NativeArray[Object] */;
1163 val
* var1196
/* : String */;
1164 static val
* varonce1197
;
1165 val
* var1198
/* : String */;
1166 char* var1199
/* : NativeString */;
1167 long var1200
/* : Int */;
1168 val
* var1201
/* : FlatString */;
1169 val
* var1202
/* : RuntimeVariable */;
1170 val
* var_res1203
/* var res: RuntimeVariable */;
1171 short int var1204
/* : Bool */;
1172 static val
* varonce1206
;
1173 val
* var1207
/* : String */;
1174 char* var1208
/* : NativeString */;
1175 long var1209
/* : Int */;
1176 val
* var1210
/* : FlatString */;
1177 long var1211
/* : Int */;
1178 long var1213
/* : Int */;
1179 static val
* varonce1214
;
1180 val
* var1215
/* : String */;
1181 char* var1216
/* : NativeString */;
1182 long var1217
/* : Int */;
1183 val
* var1218
/* : FlatString */;
1184 val
* var1219
/* : Array[Object] */;
1185 long var1220
/* : Int */;
1186 val
* var1221
/* : NativeArray[Object] */;
1187 val
* var1222
/* : Object */;
1188 val
* var1223
/* : String */;
1189 static val
* varonce1224
;
1190 val
* var1225
/* : String */;
1191 char* var1226
/* : NativeString */;
1192 long var1227
/* : Int */;
1193 val
* var1228
/* : FlatString */;
1194 val
* var1229
/* : Array[Object] */;
1195 long var1230
/* : Int */;
1196 val
* var1231
/* : NativeArray[Object] */;
1197 val
* var1232
/* : String */;
1198 static val
* varonce1233
;
1199 val
* var1234
/* : String */;
1200 char* var1235
/* : NativeString */;
1201 long var1236
/* : Int */;
1202 val
* var1237
/* : FlatString */;
1203 static val
* varonce1238
;
1204 val
* var1239
/* : String */;
1205 char* var1240
/* : NativeString */;
1206 long var1241
/* : Int */;
1207 val
* var1242
/* : FlatString */;
1208 val
* var1243
/* : Array[Object] */;
1209 long var1244
/* : Int */;
1210 val
* var1245
/* : NativeArray[Object] */;
1211 val
* var1246
/* : String */;
1212 static val
* varonce1247
;
1213 val
* var1248
/* : String */;
1214 char* var1249
/* : NativeString */;
1215 long var1250
/* : Int */;
1216 val
* var1251
/* : FlatString */;
1217 static val
* varonce1252
;
1218 val
* var1253
/* : String */;
1219 char* var1254
/* : NativeString */;
1220 long var1255
/* : Int */;
1221 val
* var1256
/* : FlatString */;
1222 val
* var1257
/* : Array[Object] */;
1223 long var1258
/* : Int */;
1224 val
* var1259
/* : NativeArray[Object] */;
1225 val
* var1260
/* : String */;
1226 static val
* varonce1261
;
1227 val
* var1262
/* : String */;
1228 char* var1263
/* : NativeString */;
1229 long var1264
/* : Int */;
1230 val
* var1265
/* : FlatString */;
1231 static val
* varonce1266
;
1232 val
* var1267
/* : String */;
1233 char* var1268
/* : NativeString */;
1234 long var1269
/* : Int */;
1235 val
* var1270
/* : FlatString */;
1236 val
* var1271
/* : Array[Object] */;
1237 long var1272
/* : Int */;
1238 val
* var1273
/* : NativeArray[Object] */;
1239 val
* var1274
/* : String */;
1240 static val
* varonce1275
;
1241 val
* var1276
/* : String */;
1242 char* var1277
/* : NativeString */;
1243 long var1278
/* : Int */;
1244 val
* var1279
/* : FlatString */;
1247 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:MClass> */
1248 var2
= var_mclass
->attrs
[COLOR_model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
1249 if (unlikely(var2
== NULL
)) {
1250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1251 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 420);
1259 { /* Inline model#MClassDef#bound_mtype (var) on <var:MClassDef> */
1260 var5
= var
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var:MClassDef> */
1261 if (unlikely(var5
== NULL
)) {
1262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1263 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
1272 var6
= abstract_compiler__MClass__c_name(var_mclass
);
1276 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
1277 var9
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
1278 if (unlikely(var9
== NULL
)) {
1279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
1280 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 845);
1288 var10
= ((val
* (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var7
, var_mclass
) /* [] on <var7:Map[MClass, Array[nullable MPropDef]]>*/;
1292 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
1293 var13
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
1294 if (unlikely(var13
== NULL
)) {
1295 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
1296 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 846);
1300 RET_LABEL12
:(void)0;
1304 var14
= ((val
* (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var11
, var_mclass
) /* [] on <var11:Map[MClass, Array[nullable MPropDef]]>*/;
1308 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:SeparateCompiler>*/;
1312 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
1313 var18
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1315 RET_LABEL17
:(void)0;
1320 if (var_rta
== NULL
) {
1321 var24
= 0; /* is null */
1323 var24
= 1; /* arg is null and recv is not */
1326 { /* Inline kernel#Object#!= (var_rta,var23) on <var_rta:nullable RapidTypeAnalysis> */
1329 var28
= ((short int (*)(val
*, val
*))(var_rta
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_rta
, var_other
) /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
1335 RET_LABEL26
:(void)0;
1342 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1343 var32
= var_rta
->attrs
[COLOR_rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1344 if (unlikely(var32
== NULL
)) {
1345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
1346 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 62);
1350 RET_LABEL31
:(void)0;
1354 var33
= hash_collection__HashSet__has(var30
, var_mclass
);
1364 var36
= abstract_compiler__MClassType__ctype(var_mtype
);
1371 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1376 var42
= string__FlatString___61d_61d(var36
, var37
);
1386 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1387 var46
= var_mclass
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1388 if (unlikely(var46
== NULL
)) {
1389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1390 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
1394 RET_LABEL45
:(void)0;
1400 var49
= "NativeArray";
1402 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1407 { /* Inline kernel#Object#!= (var44,var48) on <var44:String> */
1410 var56
= ((short int (*)(val
*, val
*))(var44
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var44
, var_other
) /* == on <var44:String>*/;
1416 RET_LABEL54
:(void)0;
1427 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1428 var61
= var_mclass
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1429 if (unlikely(var61
== NULL
)) {
1430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1431 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
1435 RET_LABEL60
:(void)0;
1443 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1448 { /* Inline kernel#Object#!= (var59,var63) on <var59:String> */
1451 var71
= ((short int (*)(val
*, val
*))(var59
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var59
, var_other
) /* == on <var59:String>*/;
1457 RET_LABEL69
:(void)0;
1465 var_is_dead
= var19
;
1469 var75
= "/* runtime class ";
1471 var77
= string__NativeString__to_s_with_length(var75
, var76
);
1480 var82
= string__NativeString__to_s_with_length(var80
, var81
);
1484 var83
= NEW_array__Array(&type_array__Arraykernel__Object
);
1485 { /* var83 = array_instance Array[Object] */
1487 var85
= NEW_array__NativeArray(var84
, &type_array__NativeArraykernel__Object
);
1488 ((struct instance_array__NativeArray
*)var85
)->values
[0] = (val
*) var74
;
1489 ((struct instance_array__NativeArray
*)var85
)->values
[1] = (val
*) var_c_name
;
1490 ((struct instance_array__NativeArray
*)var85
)->values
[2] = (val
*) var79
;
1492 ((void (*)(val
*, val
*, long))(var83
->class->vft
[COLOR_array__Array__with_native
]))(var83
, var85
, var84
) /* with_native on <var83:Array[Object]>*/;
1496 var86
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_string__Object__to_s
]))(var83
) /* to_s on <var83:Array[Object]>*/;
1499 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var86
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1501 var87
= !var_is_dead
;
1508 var92
= string__NativeString__to_s_with_length(var90
, var91
);
1512 var93
= NEW_array__Array(&type_array__Arraykernel__Object
);
1513 { /* var93 = array_instance Array[Object] */
1515 var95
= NEW_array__NativeArray(var94
, &type_array__NativeArraykernel__Object
);
1516 ((struct instance_array__NativeArray
*)var95
)->values
[0] = (val
*) var89
;
1517 ((struct instance_array__NativeArray
*)var95
)->values
[1] = (val
*) var_c_name
;
1519 ((void (*)(val
*, val
*, long))(var93
->class->vft
[COLOR_array__Array__with_native
]))(var93
, var95
, var94
) /* with_native on <var93:Array[Object]>*/;
1523 var96
= ((val
* (*)(val
*))(var93
->class->vft
[COLOR_string__Object__to_s
]))(var93
) /* to_s on <var93:Array[Object]>*/;
1528 var99
= "extern const struct class class_";
1530 var101
= string__NativeString__to_s_with_length(var99
, var100
);
1535 var103
= varonce102
;
1539 var106
= string__NativeString__to_s_with_length(var104
, var105
);
1541 varonce102
= var103
;
1543 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
1544 { /* var107 = array_instance Array[Object] */
1546 var109
= NEW_array__NativeArray(var108
, &type_array__NativeArraykernel__Object
);
1547 ((struct instance_array__NativeArray
*)var109
)->values
[0] = (val
*) var98
;
1548 ((struct instance_array__NativeArray
*)var109
)->values
[1] = (val
*) var_c_name
;
1549 ((struct instance_array__NativeArray
*)var109
)->values
[2] = (val
*) var103
;
1551 ((void (*)(val
*, val
*, long))(var107
->class->vft
[COLOR_array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
1555 var110
= ((val
* (*)(val
*))(var107
->class->vft
[COLOR_string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
1558 abstract_compiler__AbstractCompiler__provide_declaration(self
, var96
, var110
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
1561 var112
= varonce111
;
1563 var113
= "const struct class class_";
1565 var115
= string__NativeString__to_s_with_length(var113
, var114
);
1567 varonce111
= var112
;
1570 var117
= varonce116
;
1574 var120
= string__NativeString__to_s_with_length(var118
, var119
);
1576 varonce116
= var117
;
1578 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
1579 { /* var121 = array_instance Array[Object] */
1581 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
1582 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var112
;
1583 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var_c_name
;
1584 ((struct instance_array__NativeArray
*)var123
)->values
[2] = (val
*) var117
;
1586 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
1590 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
1593 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var124
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1596 var125
= separate_compiler__SeparateCompiler__box_kind_of(self
, var_mclass
);
1599 var127
= varonce126
;
1601 var128
= ", /* box_kind */";
1603 var130
= string__NativeString__to_s_with_length(var128
, var129
);
1605 varonce126
= var127
;
1607 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
1608 { /* var131 = array_instance Array[Object] */
1610 var133
= NEW_array__NativeArray(var132
, &type_array__NativeArraykernel__Object
);
1611 var134
= BOX_kernel__Int(var125
); /* autobox from Int to Object */
1612 ((struct instance_array__NativeArray
*)var133
)->values
[0] = (val
*) var134
;
1613 ((struct instance_array__NativeArray
*)var133
)->values
[1] = (val
*) var127
;
1615 ((void (*)(val
*, val
*, long))(var131
->class->vft
[COLOR_array__Array__with_native
]))(var131
, var133
, var132
) /* with_native on <var131:Array[Object]>*/;
1619 var135
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_string__Object__to_s
]))(var131
) /* to_s on <var131:Array[Object]>*/;
1622 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var135
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1625 var137
= varonce136
;
1629 var140
= string__NativeString__to_s_with_length(var138
, var139
);
1631 varonce136
= var137
;
1634 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var137
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1639 { /* Inline array#AbstractArrayRead#length (var_vft) on <var_vft:Array[nullable MPropDef]> */
1640 var144
= var_vft
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_vft:Array[nullable MPropDef]> */
1642 RET_LABEL143
:(void)0;
1648 { /* Inline kernel#Int#< (var_i,var_145) on <var_i:Int> */
1649 /* Covariant cast for argument 0 (i) <var_145:Int> isa OTHER */
1650 /* <var_145:Int> isa OTHER */
1651 var148
= 1; /* easy <var_145:Int> isa OTHER*/
1652 if (unlikely(!var148
)) {
1653 var_class_name
= type_kernel__Int
.name
;
1654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1655 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1658 var149
= var_i
< var_145
;
1661 RET_LABEL147
:(void)0;
1666 var150
= array__Array___91d_93d(var_vft
, var_i
);
1668 var_mpropdef
= var150
;
1670 if (var_mpropdef
== NULL
) {
1671 var152
= 1; /* is null */
1673 var152
= 0; /* arg is null but recv is not */
1676 { /* Inline kernel#Object#== (var_mpropdef,var151) on <var_mpropdef:nullable MPropDef> */
1677 var_other155
= var151
;
1679 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other155) on <var_mpropdef:nullable MPropDef(MPropDef)> */
1680 var158
= var_mpropdef
== var_other155
;
1683 RET_LABEL157
:(void)0;
1688 RET_LABEL154
:(void)0;
1694 var160
= varonce159
;
1696 var161
= "NULL, /* empty */";
1698 var163
= string__NativeString__to_s_with_length(var161
, var162
);
1700 varonce159
= var160
;
1703 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var160
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1706 /* <var_mpropdef:nullable MPropDef(MPropDef)> isa MMethodDef */
1707 cltype165
= type_model__MMethodDef
.color
;
1708 idtype166
= type_model__MMethodDef
.id
;
1709 if(cltype165
>= var_mpropdef
->type
->table_size
) {
1712 var164
= var_mpropdef
->type
->type_table
[cltype165
] == idtype166
;
1714 if (unlikely(!var164
)) {
1715 PRINT_ERROR("Runtime error: %s", "Assert failed");
1716 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 692);
1720 if (var_rta
== NULL
) {
1721 var169
= 0; /* is null */
1723 var169
= 1; /* arg is null and recv is not */
1726 { /* Inline kernel#Object#!= (var_rta,var168) on <var_rta:nullable RapidTypeAnalysis> */
1729 var173
= ((short int (*)(val
*, val
*))(var_rta
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_rta
, var_other
) /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
1735 RET_LABEL171
:(void)0;
1742 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1743 var178
= var_rta
->attrs
[COLOR_rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1744 if (unlikely(var178
== NULL
)) {
1745 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
1746 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 72);
1750 RET_LABEL177
:(void)0;
1754 var179
= hash_collection__HashSet__has(var176
, var_mpropdef
);
1763 var182
= varonce181
;
1765 var183
= "NULL, /* DEAD ";
1767 var185
= string__NativeString__to_s_with_length(var183
, var184
);
1769 varonce181
= var182
;
1772 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1773 var188
= var_mclass
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1774 if (unlikely(var188
== NULL
)) {
1775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1776 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
1780 RET_LABEL187
:(void)0;
1784 var190
= varonce189
;
1788 var193
= string__NativeString__to_s_with_length(var191
, var192
);
1790 varonce189
= var190
;
1793 var195
= varonce194
;
1797 var198
= string__NativeString__to_s_with_length(var196
, var197
);
1799 varonce194
= var195
;
1802 var200
= varonce199
;
1806 var203
= string__NativeString__to_s_with_length(var201
, var202
);
1808 varonce199
= var200
;
1810 var204
= NEW_array__Array(&type_array__Arraykernel__Object
);
1811 { /* var204 = array_instance Array[Object] */
1813 var206
= NEW_array__NativeArray(var205
, &type_array__NativeArraykernel__Object
);
1814 ((struct instance_array__NativeArray
*)var206
)->values
[0] = (val
*) var182
;
1815 ((struct instance_array__NativeArray
*)var206
)->values
[1] = (val
*) var186
;
1816 ((struct instance_array__NativeArray
*)var206
)->values
[2] = (val
*) var190
;
1817 ((struct instance_array__NativeArray
*)var206
)->values
[3] = (val
*) var_mclass
;
1818 ((struct instance_array__NativeArray
*)var206
)->values
[4] = (val
*) var195
;
1819 ((struct instance_array__NativeArray
*)var206
)->values
[5] = (val
*) var_mpropdef
;
1820 ((struct instance_array__NativeArray
*)var206
)->values
[6] = (val
*) var200
;
1822 ((void (*)(val
*, val
*, long))(var204
->class->vft
[COLOR_array__Array__with_native
]))(var204
, var206
, var205
) /* with_native on <var204:Array[Object]>*/;
1826 var207
= ((val
* (*)(val
*))(var204
->class->vft
[COLOR_string__Object__to_s
]))(var204
) /* to_s on <var204:Array[Object]>*/;
1829 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var207
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1835 var208
= separate_compiler__MMethodDef__virtual_runtime_function(var_mpropdef
);
1839 var209
= abstract_compiler__AbstractRuntimeFunction__c_name(var_rf
);
1842 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var209
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
1845 var211
= varonce210
;
1847 var212
= "(nitmethod_t)";
1849 var214
= string__NativeString__to_s_with_length(var212
, var213
);
1851 varonce210
= var211
;
1854 var215
= abstract_compiler__AbstractRuntimeFunction__c_name(var_rf
);
1857 var217
= varonce216
;
1859 var218
= ", /* pointer to ";
1861 var220
= string__NativeString__to_s_with_length(var218
, var219
);
1863 varonce216
= var217
;
1866 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1867 var223
= var_mclass
->attrs
[COLOR_model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1868 if (unlikely(var223
== NULL
)) {
1869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1870 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 347);
1874 RET_LABEL222
:(void)0;
1878 var225
= varonce224
;
1882 var228
= string__NativeString__to_s_with_length(var226
, var227
);
1884 varonce224
= var225
;
1887 var230
= varonce229
;
1891 var233
= string__NativeString__to_s_with_length(var231
, var232
);
1893 varonce229
= var230
;
1896 var235
= varonce234
;
1900 var238
= string__NativeString__to_s_with_length(var236
, var237
);
1902 varonce234
= var235
;
1904 var239
= NEW_array__Array(&type_array__Arraykernel__Object
);
1905 { /* var239 = array_instance Array[Object] */
1907 var241
= NEW_array__NativeArray(var240
, &type_array__NativeArraykernel__Object
);
1908 ((struct instance_array__NativeArray
*)var241
)->values
[0] = (val
*) var211
;
1909 ((struct instance_array__NativeArray
*)var241
)->values
[1] = (val
*) var215
;
1910 ((struct instance_array__NativeArray
*)var241
)->values
[2] = (val
*) var217
;
1911 ((struct instance_array__NativeArray
*)var241
)->values
[3] = (val
*) var221
;
1912 ((struct instance_array__NativeArray
*)var241
)->values
[4] = (val
*) var225
;
1913 ((struct instance_array__NativeArray
*)var241
)->values
[5] = (val
*) var_mclass
;
1914 ((struct instance_array__NativeArray
*)var241
)->values
[6] = (val
*) var230
;
1915 ((struct instance_array__NativeArray
*)var241
)->values
[7] = (val
*) var_mpropdef
;
1916 ((struct instance_array__NativeArray
*)var241
)->values
[8] = (val
*) var235
;
1918 ((void (*)(val
*, val
*, long))(var239
->class->vft
[COLOR_array__Array__with_native
]))(var239
, var241
, var240
) /* with_native on <var239:Array[Object]>*/;
1922 var242
= ((val
* (*)(val
*))(var239
->class->vft
[COLOR_string__Object__to_s
]))(var239
) /* to_s on <var239:Array[Object]>*/;
1925 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var242
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1928 BREAK_label
: (void)0;
1931 var244
= kernel__Int__successor(var_i
, var243
);
1935 goto BREAK_label245
;
1938 BREAK_label245
: (void)0;
1940 var247
= varonce246
;
1944 var250
= string__NativeString__to_s_with_length(var248
, var249
);
1946 varonce246
= var247
;
1949 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var247
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1952 var252
= varonce251
;
1956 var255
= string__NativeString__to_s_with_length(var253
, var254
);
1958 varonce251
= var252
;
1961 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var252
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1966 var257
= abstract_compiler__MClassType__ctype(var_mtype
);
1969 var259
= varonce258
;
1973 var262
= string__NativeString__to_s_with_length(var260
, var261
);
1975 varonce258
= var259
;
1978 { /* Inline kernel#Object#!= (var257,var259) on <var257:String> */
1981 var267
= ((short int (*)(val
*, val
*))(var257
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var257
, var_other
) /* == on <var257:String>*/;
1987 RET_LABEL265
:(void)0;
1996 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
1997 var272
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
1998 if (unlikely(var272
== NULL
)) {
1999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2000 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2004 RET_LABEL271
:(void)0;
2008 { /* Inline model#MClass#name (var270) on <var270:MClass> */
2009 var275
= var270
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var270:MClass> */
2010 if (unlikely(var275
== NULL
)) {
2011 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2012 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
2016 RET_LABEL274
:(void)0;
2020 var277
= varonce276
;
2024 var280
= string__NativeString__to_s_with_length(var278
, var279
);
2026 varonce276
= var277
;
2029 var282
= string__FlatString___61d_61d(var273
, var277
);
2036 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2037 var285
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2038 if (unlikely(var285
== NULL
)) {
2039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2040 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
2044 RET_LABEL284
:(void)0;
2048 var287
= varonce286
;
2050 var288
= "struct instance_";
2052 var290
= string__NativeString__to_s_with_length(var288
, var289
);
2054 varonce286
= var287
;
2057 var292
= varonce291
;
2061 var295
= string__NativeString__to_s_with_length(var293
, var294
);
2063 varonce291
= var292
;
2065 var296
= NEW_array__Array(&type_array__Arraykernel__Object
);
2066 { /* var296 = array_instance Array[Object] */
2068 var298
= NEW_array__NativeArray(var297
, &type_array__NativeArraykernel__Object
);
2069 ((struct instance_array__NativeArray
*)var298
)->values
[0] = (val
*) var287
;
2070 ((struct instance_array__NativeArray
*)var298
)->values
[1] = (val
*) var_c_name
;
2071 ((struct instance_array__NativeArray
*)var298
)->values
[2] = (val
*) var292
;
2073 ((void (*)(val
*, val
*, long))(var296
->class->vft
[COLOR_array__Array__with_native
]))(var296
, var298
, var297
) /* with_native on <var296:Array[Object]>*/;
2077 var299
= ((val
* (*)(val
*))(var296
->class->vft
[COLOR_string__Object__to_s
]))(var296
) /* to_s on <var296:Array[Object]>*/;
2080 abstract_compiler__CodeWriter__add_decl(var283
, var299
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var283:CodeWriter>*/
2083 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2084 var302
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2085 if (unlikely(var302
== NULL
)) {
2086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2087 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
2091 RET_LABEL301
:(void)0;
2095 var304
= varonce303
;
2097 var305
= "const struct type *type;";
2099 var307
= string__NativeString__to_s_with_length(var305
, var306
);
2101 varonce303
= var304
;
2104 abstract_compiler__CodeWriter__add_decl(var300
, var304
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var300:CodeWriter>*/
2107 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2108 var310
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2109 if (unlikely(var310
== NULL
)) {
2110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2111 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
2115 RET_LABEL309
:(void)0;
2119 var312
= varonce311
;
2121 var313
= "const struct class *class;";
2123 var315
= string__NativeString__to_s_with_length(var313
, var314
);
2125 varonce311
= var312
;
2128 abstract_compiler__CodeWriter__add_decl(var308
, var312
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var308:CodeWriter>*/
2131 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2132 var318
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2133 if (unlikely(var318
== NULL
)) {
2134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2135 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
2139 RET_LABEL317
:(void)0;
2143 var319
= abstract_compiler__MClassType__ctype_extern(var_mtype
);
2146 var321
= varonce320
;
2150 var324
= string__NativeString__to_s_with_length(var322
, var323
);
2152 varonce320
= var321
;
2154 var325
= NEW_array__Array(&type_array__Arraykernel__Object
);
2155 { /* var325 = array_instance Array[Object] */
2157 var327
= NEW_array__NativeArray(var326
, &type_array__NativeArraykernel__Object
);
2158 ((struct instance_array__NativeArray
*)var327
)->values
[0] = (val
*) var319
;
2159 ((struct instance_array__NativeArray
*)var327
)->values
[1] = (val
*) var321
;
2161 ((void (*)(val
*, val
*, long))(var325
->class->vft
[COLOR_array__Array__with_native
]))(var325
, var327
, var326
) /* with_native on <var325:Array[Object]>*/;
2165 var328
= ((val
* (*)(val
*))(var325
->class->vft
[COLOR_string__Object__to_s
]))(var325
) /* to_s on <var325:Array[Object]>*/;
2168 abstract_compiler__CodeWriter__add_decl(var316
, var328
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var316:CodeWriter>*/
2171 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2172 var331
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2173 if (unlikely(var331
== NULL
)) {
2174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2175 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
2179 RET_LABEL330
:(void)0;
2183 var333
= varonce332
;
2187 var336
= string__NativeString__to_s_with_length(var334
, var335
);
2189 varonce332
= var333
;
2192 abstract_compiler__CodeWriter__add_decl(var329
, var333
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var329:CodeWriter>*/
2194 if (var_rta
== NULL
) {
2195 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2196 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 716);
2199 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var_rta) on <var_rta:nullable RapidTypeAnalysis> */
2200 if (unlikely(var_rta
== NULL
)) {
2201 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2202 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
2205 var340
= var_rta
->attrs
[COLOR_rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var_rta:nullable RapidTypeAnalysis> */
2206 if (unlikely(var340
== NULL
)) {
2207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
2208 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
2212 RET_LABEL339
:(void)0;
2216 var341
= hash_collection__HashSet__has(var338
, var_mtype
);
2222 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2223 var346
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2224 if (unlikely(var346
== NULL
)) {
2225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2226 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2230 RET_LABEL345
:(void)0;
2234 { /* Inline model#MClass#name (var344) on <var344:MClass> */
2235 var349
= var344
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var344:MClass> */
2236 if (unlikely(var349
== NULL
)) {
2237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2238 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
2242 RET_LABEL348
:(void)0;
2246 var351
= varonce350
;
2250 var354
= string__NativeString__to_s_with_length(var352
, var353
);
2252 varonce350
= var351
;
2255 { /* Inline kernel#Object#!= (var347,var351) on <var347:String> */
2258 var359
= ((short int (*)(val
*, val
*))(var347
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var347
, var_other
) /* == on <var347:String>*/;
2264 RET_LABEL357
:(void)0;
2277 var362
= varonce361
;
2281 var365
= string__NativeString__to_s_with_length(var363
, var364
);
2283 varonce361
= var362
;
2285 var366
= NEW_array__Array(&type_array__Arraykernel__Object
);
2286 { /* var366 = array_instance Array[Object] */
2288 var368
= NEW_array__NativeArray(var367
, &type_array__NativeArraykernel__Object
);
2289 ((struct instance_array__NativeArray
*)var368
)->values
[0] = (val
*) var362
;
2290 ((struct instance_array__NativeArray
*)var368
)->values
[1] = (val
*) var_c_name
;
2292 ((void (*)(val
*, val
*, long))(var366
->class->vft
[COLOR_array__Array__with_native
]))(var366
, var368
, var367
) /* with_native on <var366:Array[Object]>*/;
2296 var369
= ((val
* (*)(val
*))(var366
->class->vft
[COLOR_string__Object__to_s
]))(var366
) /* to_s on <var366:Array[Object]>*/;
2299 var371
= varonce370
;
2301 var372
= "val* BOX_";
2303 var374
= string__NativeString__to_s_with_length(var372
, var373
);
2305 varonce370
= var371
;
2308 var376
= varonce375
;
2312 var379
= string__NativeString__to_s_with_length(var377
, var378
);
2314 varonce375
= var376
;
2317 var380
= abstract_compiler__MClassType__ctype_extern(var_mtype
);
2320 var382
= varonce381
;
2324 var385
= string__NativeString__to_s_with_length(var383
, var384
);
2326 varonce381
= var382
;
2328 var386
= NEW_array__Array(&type_array__Arraykernel__Object
);
2329 { /* var386 = array_instance Array[Object] */
2331 var388
= NEW_array__NativeArray(var387
, &type_array__NativeArraykernel__Object
);
2332 ((struct instance_array__NativeArray
*)var388
)->values
[0] = (val
*) var371
;
2333 ((struct instance_array__NativeArray
*)var388
)->values
[1] = (val
*) var_c_name
;
2334 ((struct instance_array__NativeArray
*)var388
)->values
[2] = (val
*) var376
;
2335 ((struct instance_array__NativeArray
*)var388
)->values
[3] = (val
*) var380
;
2336 ((struct instance_array__NativeArray
*)var388
)->values
[4] = (val
*) var382
;
2338 ((void (*)(val
*, val
*, long))(var386
->class->vft
[COLOR_array__Array__with_native
]))(var386
, var388
, var387
) /* with_native on <var386:Array[Object]>*/;
2342 var389
= ((val
* (*)(val
*))(var386
->class->vft
[COLOR_string__Object__to_s
]))(var386
) /* to_s on <var386:Array[Object]>*/;
2345 abstract_compiler__AbstractCompiler__provide_declaration(self
, var369
, var389
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2348 var391
= varonce390
;
2350 var392
= "/* allocate ";
2352 var394
= string__NativeString__to_s_with_length(var392
, var393
);
2354 varonce390
= var391
;
2357 var396
= varonce395
;
2361 var399
= string__NativeString__to_s_with_length(var397
, var398
);
2363 varonce395
= var396
;
2365 var400
= NEW_array__Array(&type_array__Arraykernel__Object
);
2366 { /* var400 = array_instance Array[Object] */
2368 var402
= NEW_array__NativeArray(var401
, &type_array__NativeArraykernel__Object
);
2369 ((struct instance_array__NativeArray
*)var402
)->values
[0] = (val
*) var391
;
2370 ((struct instance_array__NativeArray
*)var402
)->values
[1] = (val
*) var_mtype
;
2371 ((struct instance_array__NativeArray
*)var402
)->values
[2] = (val
*) var396
;
2373 ((void (*)(val
*, val
*, long))(var400
->class->vft
[COLOR_array__Array__with_native
]))(var400
, var402
, var401
) /* with_native on <var400:Array[Object]>*/;
2377 var403
= ((val
* (*)(val
*))(var400
->class->vft
[COLOR_string__Object__to_s
]))(var400
) /* to_s on <var400:Array[Object]>*/;
2380 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var403
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2383 var405
= varonce404
;
2385 var406
= "val* BOX_";
2387 var408
= string__NativeString__to_s_with_length(var406
, var407
);
2389 varonce404
= var405
;
2392 var409
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
2395 var411
= varonce410
;
2399 var414
= string__NativeString__to_s_with_length(var412
, var413
);
2401 varonce410
= var411
;
2404 var415
= abstract_compiler__MClassType__ctype_extern(var_mtype
);
2407 var417
= varonce416
;
2409 var418
= " value) {";
2411 var420
= string__NativeString__to_s_with_length(var418
, var419
);
2413 varonce416
= var417
;
2415 var421
= NEW_array__Array(&type_array__Arraykernel__Object
);
2416 { /* var421 = array_instance Array[Object] */
2418 var423
= NEW_array__NativeArray(var422
, &type_array__NativeArraykernel__Object
);
2419 ((struct instance_array__NativeArray
*)var423
)->values
[0] = (val
*) var405
;
2420 ((struct instance_array__NativeArray
*)var423
)->values
[1] = (val
*) var409
;
2421 ((struct instance_array__NativeArray
*)var423
)->values
[2] = (val
*) var411
;
2422 ((struct instance_array__NativeArray
*)var423
)->values
[3] = (val
*) var415
;
2423 ((struct instance_array__NativeArray
*)var423
)->values
[4] = (val
*) var417
;
2425 ((void (*)(val
*, val
*, long))(var421
->class->vft
[COLOR_array__Array__with_native
]))(var421
, var423
, var422
) /* with_native on <var421:Array[Object]>*/;
2429 var424
= ((val
* (*)(val
*))(var421
->class->vft
[COLOR_string__Object__to_s
]))(var421
) /* to_s on <var421:Array[Object]>*/;
2432 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var424
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2435 var426
= varonce425
;
2437 var427
= "struct instance_";
2439 var429
= string__NativeString__to_s_with_length(var427
, var428
);
2441 varonce425
= var426
;
2444 var431
= varonce430
;
2446 var432
= "*res = nit_alloc(sizeof(struct instance_";
2448 var434
= string__NativeString__to_s_with_length(var432
, var433
);
2450 varonce430
= var431
;
2453 var436
= varonce435
;
2457 var439
= string__NativeString__to_s_with_length(var437
, var438
);
2459 varonce435
= var436
;
2461 var440
= NEW_array__Array(&type_array__Arraykernel__Object
);
2462 { /* var440 = array_instance Array[Object] */
2464 var442
= NEW_array__NativeArray(var441
, &type_array__NativeArraykernel__Object
);
2465 ((struct instance_array__NativeArray
*)var442
)->values
[0] = (val
*) var426
;
2466 ((struct instance_array__NativeArray
*)var442
)->values
[1] = (val
*) var_c_name
;
2467 ((struct instance_array__NativeArray
*)var442
)->values
[2] = (val
*) var431
;
2468 ((struct instance_array__NativeArray
*)var442
)->values
[3] = (val
*) var_c_name
;
2469 ((struct instance_array__NativeArray
*)var442
)->values
[4] = (val
*) var436
;
2471 ((void (*)(val
*, val
*, long))(var440
->class->vft
[COLOR_array__Array__with_native
]))(var440
, var442
, var441
) /* with_native on <var440:Array[Object]>*/;
2475 var443
= ((val
* (*)(val
*))(var440
->class->vft
[COLOR_string__Object__to_s
]))(var440
) /* to_s on <var440:Array[Object]>*/;
2478 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var443
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2481 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
2482 var446
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
2483 if (unlikely(var446
== NULL
)) {
2484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2485 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
2489 RET_LABEL445
:(void)0;
2493 { /* Inline separate_compiler#SeparateCompiler#undead_types (var444) on <var444:AbstractCompiler(SeparateCompiler)> */
2494 var449
= var444
->attrs
[COLOR_separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var444:AbstractCompiler(SeparateCompiler)> */
2495 if (unlikely(var449
== NULL
)) {
2496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
2497 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 156);
2501 RET_LABEL448
:(void)0;
2505 ((void (*)(val
*, val
*))(var447
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var447
, var_mtype
) /* add on <var447:Set[MType]>*/;
2508 var451
= varonce450
;
2512 var454
= string__NativeString__to_s_with_length(var452
, var453
);
2514 varonce450
= var451
;
2516 var455
= NEW_array__Array(&type_array__Arraykernel__Object
);
2517 { /* var455 = array_instance Array[Object] */
2519 var457
= NEW_array__NativeArray(var456
, &type_array__NativeArraykernel__Object
);
2520 ((struct instance_array__NativeArray
*)var457
)->values
[0] = (val
*) var451
;
2521 ((struct instance_array__NativeArray
*)var457
)->values
[1] = (val
*) var_c_name
;
2523 ((void (*)(val
*, val
*, long))(var455
->class->vft
[COLOR_array__Array__with_native
]))(var455
, var457
, var456
) /* with_native on <var455:Array[Object]>*/;
2527 var458
= ((val
* (*)(val
*))(var455
->class->vft
[COLOR_string__Object__to_s
]))(var455
) /* to_s on <var455:Array[Object]>*/;
2530 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var458
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2533 var460
= varonce459
;
2535 var461
= "res->type = &type_";
2537 var463
= string__NativeString__to_s_with_length(var461
, var462
);
2539 varonce459
= var460
;
2542 var465
= varonce464
;
2546 var468
= string__NativeString__to_s_with_length(var466
, var467
);
2548 varonce464
= var465
;
2550 var469
= NEW_array__Array(&type_array__Arraykernel__Object
);
2551 { /* var469 = array_instance Array[Object] */
2553 var471
= NEW_array__NativeArray(var470
, &type_array__NativeArraykernel__Object
);
2554 ((struct instance_array__NativeArray
*)var471
)->values
[0] = (val
*) var460
;
2555 ((struct instance_array__NativeArray
*)var471
)->values
[1] = (val
*) var_c_name
;
2556 ((struct instance_array__NativeArray
*)var471
)->values
[2] = (val
*) var465
;
2558 ((void (*)(val
*, val
*, long))(var469
->class->vft
[COLOR_array__Array__with_native
]))(var469
, var471
, var470
) /* with_native on <var469:Array[Object]>*/;
2562 var472
= ((val
* (*)(val
*))(var469
->class->vft
[COLOR_string__Object__to_s
]))(var469
) /* to_s on <var469:Array[Object]>*/;
2565 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var472
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2568 var474
= varonce473
;
2572 var477
= string__NativeString__to_s_with_length(var475
, var476
);
2574 varonce473
= var474
;
2576 var478
= NEW_array__Array(&type_array__Arraykernel__Object
);
2577 { /* var478 = array_instance Array[Object] */
2579 var480
= NEW_array__NativeArray(var479
, &type_array__NativeArraykernel__Object
);
2580 ((struct instance_array__NativeArray
*)var480
)->values
[0] = (val
*) var474
;
2581 ((struct instance_array__NativeArray
*)var480
)->values
[1] = (val
*) var_c_name
;
2583 ((void (*)(val
*, val
*, long))(var478
->class->vft
[COLOR_array__Array__with_native
]))(var478
, var480
, var479
) /* with_native on <var478:Array[Object]>*/;
2587 var481
= ((val
* (*)(val
*))(var478
->class->vft
[COLOR_string__Object__to_s
]))(var478
) /* to_s on <var478:Array[Object]>*/;
2590 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var481
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2593 var483
= varonce482
;
2595 var484
= "res->class = &class_";
2597 var486
= string__NativeString__to_s_with_length(var484
, var485
);
2599 varonce482
= var483
;
2602 var488
= varonce487
;
2606 var491
= string__NativeString__to_s_with_length(var489
, var490
);
2608 varonce487
= var488
;
2610 var492
= NEW_array__Array(&type_array__Arraykernel__Object
);
2611 { /* var492 = array_instance Array[Object] */
2613 var494
= NEW_array__NativeArray(var493
, &type_array__NativeArraykernel__Object
);
2614 ((struct instance_array__NativeArray
*)var494
)->values
[0] = (val
*) var483
;
2615 ((struct instance_array__NativeArray
*)var494
)->values
[1] = (val
*) var_c_name
;
2616 ((struct instance_array__NativeArray
*)var494
)->values
[2] = (val
*) var488
;
2618 ((void (*)(val
*, val
*, long))(var492
->class->vft
[COLOR_array__Array__with_native
]))(var492
, var494
, var493
) /* with_native on <var492:Array[Object]>*/;
2622 var495
= ((val
* (*)(val
*))(var492
->class->vft
[COLOR_string__Object__to_s
]))(var492
) /* to_s on <var492:Array[Object]>*/;
2625 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var495
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2628 var497
= varonce496
;
2630 var498
= "res->value = value;";
2632 var500
= string__NativeString__to_s_with_length(var498
, var499
);
2634 varonce496
= var497
;
2637 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var497
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2640 var502
= varonce501
;
2642 var503
= "return (val*)res;";
2644 var505
= string__NativeString__to_s_with_length(var503
, var504
);
2646 varonce501
= var502
;
2649 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var502
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2652 var507
= varonce506
;
2656 var510
= string__NativeString__to_s_with_length(var508
, var509
);
2658 varonce506
= var507
;
2661 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var507
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2664 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2665 var513
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2666 if (unlikely(var513
== NULL
)) {
2667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2668 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2672 RET_LABEL512
:(void)0;
2676 { /* Inline model#MClass#name (var511) on <var511:MClass> */
2677 var516
= var511
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var511:MClass> */
2678 if (unlikely(var516
== NULL
)) {
2679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2680 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
2684 RET_LABEL515
:(void)0;
2688 var518
= varonce517
;
2692 var521
= string__NativeString__to_s_with_length(var519
, var520
);
2694 varonce517
= var518
;
2697 { /* Inline kernel#Object#!= (var514,var518) on <var514:String> */
2700 var526
= ((short int (*)(val
*, val
*))(var514
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var514
, var_other
) /* == on <var514:String>*/;
2706 RET_LABEL524
:(void)0;
2715 var528
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:SeparateCompiler>*/;
2719 var530
= varonce529
;
2723 var533
= string__NativeString__to_s_with_length(var531
, var532
);
2725 varonce529
= var530
;
2727 var534
= NEW_array__Array(&type_array__Arraykernel__Object
);
2728 { /* var534 = array_instance Array[Object] */
2730 var536
= NEW_array__NativeArray(var535
, &type_array__NativeArraykernel__Object
);
2731 ((struct instance_array__NativeArray
*)var536
)->values
[0] = (val
*) var530
;
2732 ((struct instance_array__NativeArray
*)var536
)->values
[1] = (val
*) var_c_name
;
2734 ((void (*)(val
*, val
*, long))(var534
->class->vft
[COLOR_array__Array__with_native
]))(var534
, var536
, var535
) /* with_native on <var534:Array[Object]>*/;
2738 var537
= ((val
* (*)(val
*))(var534
->class->vft
[COLOR_string__Object__to_s
]))(var534
) /* to_s on <var534:Array[Object]>*/;
2741 var538
= abstract_compiler__MClassType__ctype(var_mtype
);
2744 var540
= varonce539
;
2748 var543
= string__NativeString__to_s_with_length(var541
, var542
);
2750 varonce539
= var540
;
2753 var545
= varonce544
;
2755 var546
= "(const struct type* type);";
2757 var548
= string__NativeString__to_s_with_length(var546
, var547
);
2759 varonce544
= var545
;
2761 var549
= NEW_array__Array(&type_array__Arraykernel__Object
);
2762 { /* var549 = array_instance Array[Object] */
2764 var551
= NEW_array__NativeArray(var550
, &type_array__NativeArraykernel__Object
);
2765 ((struct instance_array__NativeArray
*)var551
)->values
[0] = (val
*) var538
;
2766 ((struct instance_array__NativeArray
*)var551
)->values
[1] = (val
*) var540
;
2767 ((struct instance_array__NativeArray
*)var551
)->values
[2] = (val
*) var_c_name
;
2768 ((struct instance_array__NativeArray
*)var551
)->values
[3] = (val
*) var545
;
2770 ((void (*)(val
*, val
*, long))(var549
->class->vft
[COLOR_array__Array__with_native
]))(var549
, var551
, var550
) /* with_native on <var549:Array[Object]>*/;
2774 var552
= ((val
* (*)(val
*))(var549
->class->vft
[COLOR_string__Object__to_s
]))(var549
) /* to_s on <var549:Array[Object]>*/;
2777 abstract_compiler__AbstractCompiler__provide_declaration(self
, var537
, var552
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2780 var554
= varonce553
;
2782 var555
= "/* allocate ";
2784 var557
= string__NativeString__to_s_with_length(var555
, var556
);
2786 varonce553
= var554
;
2789 var559
= varonce558
;
2793 var562
= string__NativeString__to_s_with_length(var560
, var561
);
2795 varonce558
= var559
;
2797 var563
= NEW_array__Array(&type_array__Arraykernel__Object
);
2798 { /* var563 = array_instance Array[Object] */
2800 var565
= NEW_array__NativeArray(var564
, &type_array__NativeArraykernel__Object
);
2801 ((struct instance_array__NativeArray
*)var565
)->values
[0] = (val
*) var554
;
2802 ((struct instance_array__NativeArray
*)var565
)->values
[1] = (val
*) var_mtype
;
2803 ((struct instance_array__NativeArray
*)var565
)->values
[2] = (val
*) var559
;
2805 ((void (*)(val
*, val
*, long))(var563
->class->vft
[COLOR_array__Array__with_native
]))(var563
, var565
, var564
) /* with_native on <var563:Array[Object]>*/;
2809 var566
= ((val
* (*)(val
*))(var563
->class->vft
[COLOR_string__Object__to_s
]))(var563
) /* to_s on <var563:Array[Object]>*/;
2812 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var566
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2815 var567
= abstract_compiler__MClassType__ctype(var_mtype
);
2818 var569
= varonce568
;
2822 var572
= string__NativeString__to_s_with_length(var570
, var571
);
2824 varonce568
= var569
;
2827 var574
= varonce573
;
2829 var575
= "(const struct type* type) {";
2831 var577
= string__NativeString__to_s_with_length(var575
, var576
);
2833 varonce573
= var574
;
2835 var578
= NEW_array__Array(&type_array__Arraykernel__Object
);
2836 { /* var578 = array_instance Array[Object] */
2838 var580
= NEW_array__NativeArray(var579
, &type_array__NativeArraykernel__Object
);
2839 ((struct instance_array__NativeArray
*)var580
)->values
[0] = (val
*) var567
;
2840 ((struct instance_array__NativeArray
*)var580
)->values
[1] = (val
*) var569
;
2841 ((struct instance_array__NativeArray
*)var580
)->values
[2] = (val
*) var_c_name
;
2842 ((struct instance_array__NativeArray
*)var580
)->values
[3] = (val
*) var574
;
2844 ((void (*)(val
*, val
*, long))(var578
->class->vft
[COLOR_array__Array__with_native
]))(var578
, var580
, var579
) /* with_native on <var578:Array[Object]>*/;
2848 var581
= ((val
* (*)(val
*))(var578
->class->vft
[COLOR_string__Object__to_s
]))(var578
) /* to_s on <var578:Array[Object]>*/;
2851 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var581
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2855 var583
= varonce582
;
2857 var584
= " is DEAD";
2859 var586
= string__NativeString__to_s_with_length(var584
, var585
);
2861 varonce582
= var583
;
2863 var587
= NEW_array__Array(&type_array__Arraykernel__Object
);
2864 { /* var587 = array_instance Array[Object] */
2866 var589
= NEW_array__NativeArray(var588
, &type_array__NativeArraykernel__Object
);
2867 ((struct instance_array__NativeArray
*)var589
)->values
[0] = (val
*) var_mclass
;
2868 ((struct instance_array__NativeArray
*)var589
)->values
[1] = (val
*) var583
;
2870 ((void (*)(val
*, val
*, long))(var587
->class->vft
[COLOR_array__Array__with_native
]))(var587
, var589
, var588
) /* with_native on <var587:Array[Object]>*/;
2874 var590
= ((val
* (*)(val
*))(var587
->class->vft
[COLOR_string__Object__to_s
]))(var587
) /* to_s on <var587:Array[Object]>*/;
2877 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var590
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
2881 var592
= varonce591
;
2885 var595
= string__NativeString__to_s_with_length(var593
, var594
);
2887 varonce591
= var592
;
2890 var596
= abstract_compiler__AbstractCompilerVisitor__new_named_var(var_v
, var_mtype
, var592
);
2895 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res,var597) on <var_res:RuntimeVariable> */
2896 var_res
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= var597
; /* _is_exact on <var_res:RuntimeVariable> */
2897 RET_LABEL598
:(void)0;
2901 var600
= varonce599
;
2903 var601
= " = nit_alloc(sizeof(struct instance_";
2905 var603
= string__NativeString__to_s_with_length(var601
, var602
);
2907 varonce599
= var600
;
2910 var604
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
2913 var606
= varonce605
;
2917 var609
= string__NativeString__to_s_with_length(var607
, var608
);
2919 varonce605
= var606
;
2921 var610
= NEW_array__Array(&type_array__Arraykernel__Object
);
2922 { /* var610 = array_instance Array[Object] */
2924 var612
= NEW_array__NativeArray(var611
, &type_array__NativeArraykernel__Object
);
2925 ((struct instance_array__NativeArray
*)var612
)->values
[0] = (val
*) var_res
;
2926 ((struct instance_array__NativeArray
*)var612
)->values
[1] = (val
*) var600
;
2927 ((struct instance_array__NativeArray
*)var612
)->values
[2] = (val
*) var604
;
2928 ((struct instance_array__NativeArray
*)var612
)->values
[3] = (val
*) var606
;
2930 ((void (*)(val
*, val
*, long))(var610
->class->vft
[COLOR_array__Array__with_native
]))(var610
, var612
, var611
) /* with_native on <var610:Array[Object]>*/;
2934 var613
= ((val
* (*)(val
*))(var610
->class->vft
[COLOR_string__Object__to_s
]))(var610
) /* to_s on <var610:Array[Object]>*/;
2937 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var613
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2940 var615
= varonce614
;
2942 var616
= "->type = type;";
2944 var618
= string__NativeString__to_s_with_length(var616
, var617
);
2946 varonce614
= var615
;
2948 var619
= NEW_array__Array(&type_array__Arraykernel__Object
);
2949 { /* var619 = array_instance Array[Object] */
2951 var621
= NEW_array__NativeArray(var620
, &type_array__NativeArraykernel__Object
);
2952 ((struct instance_array__NativeArray
*)var621
)->values
[0] = (val
*) var_res
;
2953 ((struct instance_array__NativeArray
*)var621
)->values
[1] = (val
*) var615
;
2955 ((void (*)(val
*, val
*, long))(var619
->class->vft
[COLOR_array__Array__with_native
]))(var619
, var621
, var620
) /* with_native on <var619:Array[Object]>*/;
2959 var622
= ((val
* (*)(val
*))(var619
->class->vft
[COLOR_string__Object__to_s
]))(var619
) /* to_s on <var619:Array[Object]>*/;
2962 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var622
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2965 var624
= varonce623
;
2969 var627
= string__NativeString__to_s_with_length(var625
, var626
);
2971 varonce623
= var624
;
2974 separate_compiler__SeparateCompiler__hardening_live_type(self
, var_v
, var624
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
2977 var629
= varonce628
;
2981 var632
= string__NativeString__to_s_with_length(var630
, var631
);
2983 varonce628
= var629
;
2985 var633
= NEW_array__Array(&type_array__Arraykernel__Object
);
2986 { /* var633 = array_instance Array[Object] */
2988 var635
= NEW_array__NativeArray(var634
, &type_array__NativeArraykernel__Object
);
2989 ((struct instance_array__NativeArray
*)var635
)->values
[0] = (val
*) var629
;
2990 ((struct instance_array__NativeArray
*)var635
)->values
[1] = (val
*) var_c_name
;
2992 ((void (*)(val
*, val
*, long))(var633
->class->vft
[COLOR_array__Array__with_native
]))(var633
, var635
, var634
) /* with_native on <var633:Array[Object]>*/;
2996 var636
= ((val
* (*)(val
*))(var633
->class->vft
[COLOR_string__Object__to_s
]))(var633
) /* to_s on <var633:Array[Object]>*/;
2999 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var636
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3002 var638
= varonce637
;
3004 var639
= "->class = &class_";
3006 var641
= string__NativeString__to_s_with_length(var639
, var640
);
3008 varonce637
= var638
;
3011 var643
= varonce642
;
3015 var646
= string__NativeString__to_s_with_length(var644
, var645
);
3017 varonce642
= var643
;
3019 var647
= NEW_array__Array(&type_array__Arraykernel__Object
);
3020 { /* var647 = array_instance Array[Object] */
3022 var649
= NEW_array__NativeArray(var648
, &type_array__NativeArraykernel__Object
);
3023 ((struct instance_array__NativeArray
*)var649
)->values
[0] = (val
*) var_res
;
3024 ((struct instance_array__NativeArray
*)var649
)->values
[1] = (val
*) var638
;
3025 ((struct instance_array__NativeArray
*)var649
)->values
[2] = (val
*) var_c_name
;
3026 ((struct instance_array__NativeArray
*)var649
)->values
[3] = (val
*) var643
;
3028 ((void (*)(val
*, val
*, long))(var647
->class->vft
[COLOR_array__Array__with_native
]))(var647
, var649
, var648
) /* with_native on <var647:Array[Object]>*/;
3032 var650
= ((val
* (*)(val
*))(var647
->class->vft
[COLOR_string__Object__to_s
]))(var647
) /* to_s on <var647:Array[Object]>*/;
3035 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var650
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3038 var652
= varonce651
;
3040 var653
= "((struct instance_";
3042 var655
= string__NativeString__to_s_with_length(var653
, var654
);
3044 varonce651
= var652
;
3047 var656
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
3050 var658
= varonce657
;
3054 var661
= string__NativeString__to_s_with_length(var659
, var660
);
3056 varonce657
= var658
;
3059 var663
= varonce662
;
3061 var664
= ")->value = NULL;";
3063 var666
= string__NativeString__to_s_with_length(var664
, var665
);
3065 varonce662
= var663
;
3067 var667
= NEW_array__Array(&type_array__Arraykernel__Object
);
3068 { /* var667 = array_instance Array[Object] */
3070 var669
= NEW_array__NativeArray(var668
, &type_array__NativeArraykernel__Object
);
3071 ((struct instance_array__NativeArray
*)var669
)->values
[0] = (val
*) var652
;
3072 ((struct instance_array__NativeArray
*)var669
)->values
[1] = (val
*) var656
;
3073 ((struct instance_array__NativeArray
*)var669
)->values
[2] = (val
*) var658
;
3074 ((struct instance_array__NativeArray
*)var669
)->values
[3] = (val
*) var_res
;
3075 ((struct instance_array__NativeArray
*)var669
)->values
[4] = (val
*) var663
;
3077 ((void (*)(val
*, val
*, long))(var667
->class->vft
[COLOR_array__Array__with_native
]))(var667
, var669
, var668
) /* with_native on <var667:Array[Object]>*/;
3081 var670
= ((val
* (*)(val
*))(var667
->class->vft
[COLOR_string__Object__to_s
]))(var667
) /* to_s on <var667:Array[Object]>*/;
3084 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var670
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3087 var672
= varonce671
;
3091 var675
= string__NativeString__to_s_with_length(var673
, var674
);
3093 varonce671
= var672
;
3096 var677
= varonce676
;
3100 var680
= string__NativeString__to_s_with_length(var678
, var679
);
3102 varonce676
= var677
;
3104 var681
= NEW_array__Array(&type_array__Arraykernel__Object
);
3105 { /* var681 = array_instance Array[Object] */
3107 var683
= NEW_array__NativeArray(var682
, &type_array__NativeArraykernel__Object
);
3108 ((struct instance_array__NativeArray
*)var683
)->values
[0] = (val
*) var672
;
3109 ((struct instance_array__NativeArray
*)var683
)->values
[1] = (val
*) var_res
;
3110 ((struct instance_array__NativeArray
*)var683
)->values
[2] = (val
*) var677
;
3112 ((void (*)(val
*, val
*, long))(var681
->class->vft
[COLOR_array__Array__with_native
]))(var681
, var683
, var682
) /* with_native on <var681:Array[Object]>*/;
3116 var684
= ((val
* (*)(val
*))(var681
->class->vft
[COLOR_string__Object__to_s
]))(var681
) /* to_s on <var681:Array[Object]>*/;
3119 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var684
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3123 var686
= varonce685
;
3127 var689
= string__NativeString__to_s_with_length(var687
, var688
);
3129 varonce685
= var686
;
3132 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var686
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3137 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
3138 var692
= var_mclass
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
3139 if (unlikely(var692
== NULL
)) {
3140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3141 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
3145 RET_LABEL691
:(void)0;
3149 var694
= varonce693
;
3151 var695
= "NativeArray";
3153 var697
= string__NativeString__to_s_with_length(var695
, var696
);
3155 varonce693
= var694
;
3158 var699
= string__FlatString___61d_61d(var690
, var694
);
3163 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3164 var702
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3165 if (unlikely(var702
== NULL
)) {
3166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3167 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3171 RET_LABEL701
:(void)0;
3175 var704
= varonce703
;
3177 var705
= "struct instance_";
3179 var707
= string__NativeString__to_s_with_length(var705
, var706
);
3181 varonce703
= var704
;
3184 var709
= varonce708
;
3188 var712
= string__NativeString__to_s_with_length(var710
, var711
);
3190 varonce708
= var709
;
3192 var713
= NEW_array__Array(&type_array__Arraykernel__Object
);
3193 { /* var713 = array_instance Array[Object] */
3195 var715
= NEW_array__NativeArray(var714
, &type_array__NativeArraykernel__Object
);
3196 ((struct instance_array__NativeArray
*)var715
)->values
[0] = (val
*) var704
;
3197 ((struct instance_array__NativeArray
*)var715
)->values
[1] = (val
*) var_c_name
;
3198 ((struct instance_array__NativeArray
*)var715
)->values
[2] = (val
*) var709
;
3200 ((void (*)(val
*, val
*, long))(var713
->class->vft
[COLOR_array__Array__with_native
]))(var713
, var715
, var714
) /* with_native on <var713:Array[Object]>*/;
3204 var716
= ((val
* (*)(val
*))(var713
->class->vft
[COLOR_string__Object__to_s
]))(var713
) /* to_s on <var713:Array[Object]>*/;
3207 abstract_compiler__CodeWriter__add_decl(var700
, var716
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var700:CodeWriter>*/
3210 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3211 var719
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3212 if (unlikely(var719
== NULL
)) {
3213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3214 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3218 RET_LABEL718
:(void)0;
3222 var721
= varonce720
;
3224 var722
= "const struct type *type;";
3226 var724
= string__NativeString__to_s_with_length(var722
, var723
);
3228 varonce720
= var721
;
3231 abstract_compiler__CodeWriter__add_decl(var717
, var721
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var717:CodeWriter>*/
3234 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3235 var727
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3236 if (unlikely(var727
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3238 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3242 RET_LABEL726
:(void)0;
3246 var729
= varonce728
;
3248 var730
= "const struct class *class;";
3250 var732
= string__NativeString__to_s_with_length(var730
, var731
);
3252 varonce728
= var729
;
3255 abstract_compiler__CodeWriter__add_decl(var725
, var729
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var725:CodeWriter>*/
3258 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3259 var735
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3260 if (unlikely(var735
== NULL
)) {
3261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3262 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3266 RET_LABEL734
:(void)0;
3270 var737
= varonce736
;
3272 var738
= "int length;";
3274 var740
= string__NativeString__to_s_with_length(var738
, var739
);
3276 varonce736
= var737
;
3279 abstract_compiler__CodeWriter__add_decl(var733
, var737
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var733:CodeWriter>*/
3282 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3283 var743
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3284 if (unlikely(var743
== NULL
)) {
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3286 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3290 RET_LABEL742
:(void)0;
3294 var745
= varonce744
;
3296 var746
= "val* values[0];";
3298 var748
= string__NativeString__to_s_with_length(var746
, var747
);
3300 varonce744
= var745
;
3303 abstract_compiler__CodeWriter__add_decl(var741
, var745
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var741:CodeWriter>*/
3306 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3307 var751
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3308 if (unlikely(var751
== NULL
)) {
3309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3310 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
3314 RET_LABEL750
:(void)0;
3318 var753
= varonce752
;
3322 var756
= string__NativeString__to_s_with_length(var754
, var755
);
3324 varonce752
= var753
;
3327 abstract_compiler__CodeWriter__add_decl(var749
, var753
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var749:CodeWriter>*/
3330 var758
= varonce757
;
3334 var761
= string__NativeString__to_s_with_length(var759
, var760
);
3336 varonce757
= var758
;
3338 var762
= NEW_array__Array(&type_array__Arraykernel__Object
);
3339 { /* var762 = array_instance Array[Object] */
3341 var764
= NEW_array__NativeArray(var763
, &type_array__NativeArraykernel__Object
);
3342 ((struct instance_array__NativeArray
*)var764
)->values
[0] = (val
*) var758
;
3343 ((struct instance_array__NativeArray
*)var764
)->values
[1] = (val
*) var_c_name
;
3345 ((void (*)(val
*, val
*, long))(var762
->class->vft
[COLOR_array__Array__with_native
]))(var762
, var764
, var763
) /* with_native on <var762:Array[Object]>*/;
3349 var765
= ((val
* (*)(val
*))(var762
->class->vft
[COLOR_string__Object__to_s
]))(var762
) /* to_s on <var762:Array[Object]>*/;
3352 var766
= abstract_compiler__MClassType__ctype(var_mtype
);
3355 var768
= varonce767
;
3359 var771
= string__NativeString__to_s_with_length(var769
, var770
);
3361 varonce767
= var768
;
3364 var773
= varonce772
;
3366 var774
= "(int length, const struct type* type);";
3368 var776
= string__NativeString__to_s_with_length(var774
, var775
);
3370 varonce772
= var773
;
3372 var777
= NEW_array__Array(&type_array__Arraykernel__Object
);
3373 { /* var777 = array_instance Array[Object] */
3375 var779
= NEW_array__NativeArray(var778
, &type_array__NativeArraykernel__Object
);
3376 ((struct instance_array__NativeArray
*)var779
)->values
[0] = (val
*) var766
;
3377 ((struct instance_array__NativeArray
*)var779
)->values
[1] = (val
*) var768
;
3378 ((struct instance_array__NativeArray
*)var779
)->values
[2] = (val
*) var_c_name
;
3379 ((struct instance_array__NativeArray
*)var779
)->values
[3] = (val
*) var773
;
3381 ((void (*)(val
*, val
*, long))(var777
->class->vft
[COLOR_array__Array__with_native
]))(var777
, var779
, var778
) /* with_native on <var777:Array[Object]>*/;
3385 var780
= ((val
* (*)(val
*))(var777
->class->vft
[COLOR_string__Object__to_s
]))(var777
) /* to_s on <var777:Array[Object]>*/;
3388 abstract_compiler__AbstractCompiler__provide_declaration(self
, var765
, var780
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3391 var782
= varonce781
;
3393 var783
= "/* allocate ";
3395 var785
= string__NativeString__to_s_with_length(var783
, var784
);
3397 varonce781
= var782
;
3400 var787
= varonce786
;
3404 var790
= string__NativeString__to_s_with_length(var788
, var789
);
3406 varonce786
= var787
;
3408 var791
= NEW_array__Array(&type_array__Arraykernel__Object
);
3409 { /* var791 = array_instance Array[Object] */
3411 var793
= NEW_array__NativeArray(var792
, &type_array__NativeArraykernel__Object
);
3412 ((struct instance_array__NativeArray
*)var793
)->values
[0] = (val
*) var782
;
3413 ((struct instance_array__NativeArray
*)var793
)->values
[1] = (val
*) var_mtype
;
3414 ((struct instance_array__NativeArray
*)var793
)->values
[2] = (val
*) var787
;
3416 ((void (*)(val
*, val
*, long))(var791
->class->vft
[COLOR_array__Array__with_native
]))(var791
, var793
, var792
) /* with_native on <var791:Array[Object]>*/;
3420 var794
= ((val
* (*)(val
*))(var791
->class->vft
[COLOR_string__Object__to_s
]))(var791
) /* to_s on <var791:Array[Object]>*/;
3423 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var794
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3426 var795
= abstract_compiler__MClassType__ctype(var_mtype
);
3429 var797
= varonce796
;
3433 var800
= string__NativeString__to_s_with_length(var798
, var799
);
3435 varonce796
= var797
;
3438 var802
= varonce801
;
3440 var803
= "(int length, const struct type* type) {";
3442 var805
= string__NativeString__to_s_with_length(var803
, var804
);
3444 varonce801
= var802
;
3446 var806
= NEW_array__Array(&type_array__Arraykernel__Object
);
3447 { /* var806 = array_instance Array[Object] */
3449 var808
= NEW_array__NativeArray(var807
, &type_array__NativeArraykernel__Object
);
3450 ((struct instance_array__NativeArray
*)var808
)->values
[0] = (val
*) var795
;
3451 ((struct instance_array__NativeArray
*)var808
)->values
[1] = (val
*) var797
;
3452 ((struct instance_array__NativeArray
*)var808
)->values
[2] = (val
*) var_c_name
;
3453 ((struct instance_array__NativeArray
*)var808
)->values
[3] = (val
*) var802
;
3455 ((void (*)(val
*, val
*, long))(var806
->class->vft
[COLOR_array__Array__with_native
]))(var806
, var808
, var807
) /* with_native on <var806:Array[Object]>*/;
3459 var809
= ((val
* (*)(val
*))(var806
->class->vft
[COLOR_string__Object__to_s
]))(var806
) /* to_s on <var806:Array[Object]>*/;
3462 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var809
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3465 var811
= varonce810
;
3469 var814
= string__NativeString__to_s_with_length(var812
, var813
);
3471 varonce810
= var811
;
3474 var815
= abstract_compiler__AbstractCompilerVisitor__get_name(var_v
, var811
);
3476 var_res816
= var815
;
3478 var818
= varonce817
;
3480 var819
= "struct instance_";
3482 var821
= string__NativeString__to_s_with_length(var819
, var820
);
3484 varonce817
= var818
;
3487 var823
= varonce822
;
3491 var826
= string__NativeString__to_s_with_length(var824
, var825
);
3493 varonce822
= var823
;
3496 var828
= varonce827
;
3500 var831
= string__NativeString__to_s_with_length(var829
, var830
);
3502 varonce827
= var828
;
3504 var832
= NEW_array__Array(&type_array__Arraykernel__Object
);
3505 { /* var832 = array_instance Array[Object] */
3507 var834
= NEW_array__NativeArray(var833
, &type_array__NativeArraykernel__Object
);
3508 ((struct instance_array__NativeArray
*)var834
)->values
[0] = (val
*) var818
;
3509 ((struct instance_array__NativeArray
*)var834
)->values
[1] = (val
*) var_c_name
;
3510 ((struct instance_array__NativeArray
*)var834
)->values
[2] = (val
*) var823
;
3511 ((struct instance_array__NativeArray
*)var834
)->values
[3] = (val
*) var_res816
;
3512 ((struct instance_array__NativeArray
*)var834
)->values
[4] = (val
*) var828
;
3514 ((void (*)(val
*, val
*, long))(var832
->class->vft
[COLOR_array__Array__with_native
]))(var832
, var834
, var833
) /* with_native on <var832:Array[Object]>*/;
3518 var835
= ((val
* (*)(val
*))(var832
->class->vft
[COLOR_string__Object__to_s
]))(var832
) /* to_s on <var832:Array[Object]>*/;
3521 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var835
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3524 { /* Inline model#MClassType#arguments (var_mtype) on <var_mtype:MClassType> */
3525 var838
= var_mtype
->attrs
[COLOR_model__MClassType___arguments
].val
; /* _arguments on <var_mtype:MClassType> */
3526 if (unlikely(var838
== NULL
)) {
3527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
3528 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 996);
3532 RET_LABEL837
:(void)0;
3536 var839
= abstract_collection__SequenceRead__first(var836
);
3538 var_mtype_elt
= var839
;
3540 var841
= varonce840
;
3542 var842
= " = nit_alloc(sizeof(struct instance_";
3544 var844
= string__NativeString__to_s_with_length(var842
, var843
);
3546 varonce840
= var841
;
3549 var846
= varonce845
;
3551 var847
= ") + length*sizeof(";
3553 var849
= string__NativeString__to_s_with_length(var847
, var848
);
3555 varonce845
= var846
;
3558 var850
= ((val
* (*)(val
*))(var_mtype_elt
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype_elt
) /* ctype on <var_mtype_elt:MType>*/;
3561 var852
= varonce851
;
3565 var855
= string__NativeString__to_s_with_length(var853
, var854
);
3567 varonce851
= var852
;
3569 var856
= NEW_array__Array(&type_array__Arraykernel__Object
);
3570 { /* var856 = array_instance Array[Object] */
3572 var858
= NEW_array__NativeArray(var857
, &type_array__NativeArraykernel__Object
);
3573 ((struct instance_array__NativeArray
*)var858
)->values
[0] = (val
*) var_res816
;
3574 ((struct instance_array__NativeArray
*)var858
)->values
[1] = (val
*) var841
;
3575 ((struct instance_array__NativeArray
*)var858
)->values
[2] = (val
*) var_c_name
;
3576 ((struct instance_array__NativeArray
*)var858
)->values
[3] = (val
*) var846
;
3577 ((struct instance_array__NativeArray
*)var858
)->values
[4] = (val
*) var850
;
3578 ((struct instance_array__NativeArray
*)var858
)->values
[5] = (val
*) var852
;
3580 ((void (*)(val
*, val
*, long))(var856
->class->vft
[COLOR_array__Array__with_native
]))(var856
, var858
, var857
) /* with_native on <var856:Array[Object]>*/;
3584 var859
= ((val
* (*)(val
*))(var856
->class->vft
[COLOR_string__Object__to_s
]))(var856
) /* to_s on <var856:Array[Object]>*/;
3587 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var859
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3590 var861
= varonce860
;
3592 var862
= "->type = type;";
3594 var864
= string__NativeString__to_s_with_length(var862
, var863
);
3596 varonce860
= var861
;
3598 var865
= NEW_array__Array(&type_array__Arraykernel__Object
);
3599 { /* var865 = array_instance Array[Object] */
3601 var867
= NEW_array__NativeArray(var866
, &type_array__NativeArraykernel__Object
);
3602 ((struct instance_array__NativeArray
*)var867
)->values
[0] = (val
*) var_res816
;
3603 ((struct instance_array__NativeArray
*)var867
)->values
[1] = (val
*) var861
;
3605 ((void (*)(val
*, val
*, long))(var865
->class->vft
[COLOR_array__Array__with_native
]))(var865
, var867
, var866
) /* with_native on <var865:Array[Object]>*/;
3609 var868
= ((val
* (*)(val
*))(var865
->class->vft
[COLOR_string__Object__to_s
]))(var865
) /* to_s on <var865:Array[Object]>*/;
3612 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var868
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3615 var870
= varonce869
;
3619 var873
= string__NativeString__to_s_with_length(var871
, var872
);
3621 varonce869
= var870
;
3624 separate_compiler__SeparateCompiler__hardening_live_type(self
, var_v
, var870
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
3627 var875
= varonce874
;
3631 var878
= string__NativeString__to_s_with_length(var876
, var877
);
3633 varonce874
= var875
;
3635 var879
= NEW_array__Array(&type_array__Arraykernel__Object
);
3636 { /* var879 = array_instance Array[Object] */
3638 var881
= NEW_array__NativeArray(var880
, &type_array__NativeArraykernel__Object
);
3639 ((struct instance_array__NativeArray
*)var881
)->values
[0] = (val
*) var875
;
3640 ((struct instance_array__NativeArray
*)var881
)->values
[1] = (val
*) var_c_name
;
3642 ((void (*)(val
*, val
*, long))(var879
->class->vft
[COLOR_array__Array__with_native
]))(var879
, var881
, var880
) /* with_native on <var879:Array[Object]>*/;
3646 var882
= ((val
* (*)(val
*))(var879
->class->vft
[COLOR_string__Object__to_s
]))(var879
) /* to_s on <var879:Array[Object]>*/;
3649 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var882
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3652 var884
= varonce883
;
3654 var885
= "->class = &class_";
3656 var887
= string__NativeString__to_s_with_length(var885
, var886
);
3658 varonce883
= var884
;
3661 var889
= varonce888
;
3665 var892
= string__NativeString__to_s_with_length(var890
, var891
);
3667 varonce888
= var889
;
3669 var893
= NEW_array__Array(&type_array__Arraykernel__Object
);
3670 { /* var893 = array_instance Array[Object] */
3672 var895
= NEW_array__NativeArray(var894
, &type_array__NativeArraykernel__Object
);
3673 ((struct instance_array__NativeArray
*)var895
)->values
[0] = (val
*) var_res816
;
3674 ((struct instance_array__NativeArray
*)var895
)->values
[1] = (val
*) var884
;
3675 ((struct instance_array__NativeArray
*)var895
)->values
[2] = (val
*) var_c_name
;
3676 ((struct instance_array__NativeArray
*)var895
)->values
[3] = (val
*) var889
;
3678 ((void (*)(val
*, val
*, long))(var893
->class->vft
[COLOR_array__Array__with_native
]))(var893
, var895
, var894
) /* with_native on <var893:Array[Object]>*/;
3682 var896
= ((val
* (*)(val
*))(var893
->class->vft
[COLOR_string__Object__to_s
]))(var893
) /* to_s on <var893:Array[Object]>*/;
3685 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var896
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3688 var898
= varonce897
;
3690 var899
= "->length = length;";
3692 var901
= string__NativeString__to_s_with_length(var899
, var900
);
3694 varonce897
= var898
;
3696 var902
= NEW_array__Array(&type_array__Arraykernel__Object
);
3697 { /* var902 = array_instance Array[Object] */
3699 var904
= NEW_array__NativeArray(var903
, &type_array__NativeArraykernel__Object
);
3700 ((struct instance_array__NativeArray
*)var904
)->values
[0] = (val
*) var_res816
;
3701 ((struct instance_array__NativeArray
*)var904
)->values
[1] = (val
*) var898
;
3703 ((void (*)(val
*, val
*, long))(var902
->class->vft
[COLOR_array__Array__with_native
]))(var902
, var904
, var903
) /* with_native on <var902:Array[Object]>*/;
3707 var905
= ((val
* (*)(val
*))(var902
->class->vft
[COLOR_string__Object__to_s
]))(var902
) /* to_s on <var902:Array[Object]>*/;
3710 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var905
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3713 var907
= varonce906
;
3715 var908
= "return (val*)";
3717 var910
= string__NativeString__to_s_with_length(var908
, var909
);
3719 varonce906
= var907
;
3722 var912
= varonce911
;
3726 var915
= string__NativeString__to_s_with_length(var913
, var914
);
3728 varonce911
= var912
;
3730 var916
= NEW_array__Array(&type_array__Arraykernel__Object
);
3731 { /* var916 = array_instance Array[Object] */
3733 var918
= NEW_array__NativeArray(var917
, &type_array__NativeArraykernel__Object
);
3734 ((struct instance_array__NativeArray
*)var918
)->values
[0] = (val
*) var907
;
3735 ((struct instance_array__NativeArray
*)var918
)->values
[1] = (val
*) var_res816
;
3736 ((struct instance_array__NativeArray
*)var918
)->values
[2] = (val
*) var912
;
3738 ((void (*)(val
*, val
*, long))(var916
->class->vft
[COLOR_array__Array__with_native
]))(var916
, var918
, var917
) /* with_native on <var916:Array[Object]>*/;
3742 var919
= ((val
* (*)(val
*))(var916
->class->vft
[COLOR_string__Object__to_s
]))(var916
) /* to_s on <var916:Array[Object]>*/;
3745 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var919
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3748 var921
= varonce920
;
3752 var924
= string__NativeString__to_s_with_length(var922
, var923
);
3754 varonce920
= var921
;
3757 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var921
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3762 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3763 var928
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3764 if (unlikely(var928
== NULL
)) {
3765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3766 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3770 RET_LABEL927
:(void)0;
3774 { /* Inline model#MClass#kind (var926) on <var926:MClass> */
3775 var931
= var926
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var926:MClass> */
3776 if (unlikely(var931
== NULL
)) {
3777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3778 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
3782 RET_LABEL930
:(void)0;
3786 var932
= model__Object__extern_kind(self
);
3789 { /* Inline kernel#Object#== (var929,var932) on <var929:MClassKind> */
3790 var_other155
= var932
;
3792 { /* Inline kernel#Object#is_same_instance (var929,var_other155) on <var929:MClassKind> */
3793 var938
= var929
== var_other155
;
3796 RET_LABEL937
:(void)0;
3801 RET_LABEL935
:(void)0;
3808 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3809 var942
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3810 if (unlikely(var942
== NULL
)) {
3811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3812 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
3816 RET_LABEL941
:(void)0;
3820 { /* Inline model#MClass#name (var940) on <var940:MClass> */
3821 var945
= var940
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var940:MClass> */
3822 if (unlikely(var945
== NULL
)) {
3823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3824 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
3828 RET_LABEL944
:(void)0;
3832 var947
= varonce946
;
3834 var948
= "NativeString";
3836 var950
= string__NativeString__to_s_with_length(var948
, var949
);
3838 varonce946
= var947
;
3841 { /* Inline kernel#Object#!= (var943,var947) on <var943:String> */
3844 var955
= ((short int (*)(val
*, val
*))(var943
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var943
, var_other
) /* == on <var943:String>*/;
3850 RET_LABEL953
:(void)0;
3860 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
3861 var959
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
3862 if (unlikely(var959
== NULL
)) {
3863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3864 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
3868 RET_LABEL958
:(void)0;
3872 { /* Inline model#MModule#pointer_type (var957) on <var957:MModule> */
3873 var962
= var957
->attrs
[COLOR_model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <var957:MModule> */
3874 if(likely(var962
)) {
3875 var963
= var957
->attrs
[COLOR_model__MModule___pointer_type
].val
; /* _pointer_type on <var957:MModule> */
3876 if (unlikely(var963
== NULL
)) {
3877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
3878 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 217);
3883 var965
= varonce964
;
3887 var968
= string__NativeString__to_s_with_length(var966
, var967
);
3889 varonce964
= var965
;
3892 var969
= model__MModule__get_primitive_class(var957
, var965
);
3895 { /* Inline model#MClass#mclass_type (var969) on <var969:MClass> */
3896 var972
= var969
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var969:MClass> */
3897 if (unlikely(var972
== NULL
)) {
3898 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
3899 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
3903 RET_LABEL971
:(void)0;
3906 var957
->attrs
[COLOR_model__MModule___pointer_type
].val
= var970
; /* _pointer_type on <var957:MModule> */
3910 RET_LABEL961
:(void)0;
3913 var_pointer_type
= var960
;
3915 var974
= varonce973
;
3919 var977
= string__NativeString__to_s_with_length(var975
, var976
);
3921 varonce973
= var974
;
3923 var978
= NEW_array__Array(&type_array__Arraykernel__Object
);
3924 { /* var978 = array_instance Array[Object] */
3926 var980
= NEW_array__NativeArray(var979
, &type_array__NativeArraykernel__Object
);
3927 ((struct instance_array__NativeArray
*)var980
)->values
[0] = (val
*) var974
;
3928 ((struct instance_array__NativeArray
*)var980
)->values
[1] = (val
*) var_c_name
;
3930 ((void (*)(val
*, val
*, long))(var978
->class->vft
[COLOR_array__Array__with_native
]))(var978
, var980
, var979
) /* with_native on <var978:Array[Object]>*/;
3934 var981
= ((val
* (*)(val
*))(var978
->class->vft
[COLOR_string__Object__to_s
]))(var978
) /* to_s on <var978:Array[Object]>*/;
3937 var982
= abstract_compiler__MClassType__ctype(var_mtype
);
3940 var984
= varonce983
;
3944 var987
= string__NativeString__to_s_with_length(var985
, var986
);
3946 varonce983
= var984
;
3949 var989
= varonce988
;
3951 var990
= "(const struct type* type);";
3953 var992
= string__NativeString__to_s_with_length(var990
, var991
);
3955 varonce988
= var989
;
3957 var993
= NEW_array__Array(&type_array__Arraykernel__Object
);
3958 { /* var993 = array_instance Array[Object] */
3960 var995
= NEW_array__NativeArray(var994
, &type_array__NativeArraykernel__Object
);
3961 ((struct instance_array__NativeArray
*)var995
)->values
[0] = (val
*) var982
;
3962 ((struct instance_array__NativeArray
*)var995
)->values
[1] = (val
*) var984
;
3963 ((struct instance_array__NativeArray
*)var995
)->values
[2] = (val
*) var_c_name
;
3964 ((struct instance_array__NativeArray
*)var995
)->values
[3] = (val
*) var989
;
3966 ((void (*)(val
*, val
*, long))(var993
->class->vft
[COLOR_array__Array__with_native
]))(var993
, var995
, var994
) /* with_native on <var993:Array[Object]>*/;
3970 var996
= ((val
* (*)(val
*))(var993
->class->vft
[COLOR_string__Object__to_s
]))(var993
) /* to_s on <var993:Array[Object]>*/;
3973 abstract_compiler__AbstractCompiler__provide_declaration(self
, var981
, var996
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3976 var998
= varonce997
;
3978 var999
= "/* allocate ";
3980 var1001
= string__NativeString__to_s_with_length(var999
, var1000
);
3982 varonce997
= var998
;
3985 var1003
= varonce1002
;
3989 var1006
= string__NativeString__to_s_with_length(var1004
, var1005
);
3991 varonce1002
= var1003
;
3993 var1007
= NEW_array__Array(&type_array__Arraykernel__Object
);
3994 { /* var1007 = array_instance Array[Object] */
3996 var1009
= NEW_array__NativeArray(var1008
, &type_array__NativeArraykernel__Object
);
3997 ((struct instance_array__NativeArray
*)var1009
)->values
[0] = (val
*) var998
;
3998 ((struct instance_array__NativeArray
*)var1009
)->values
[1] = (val
*) var_mtype
;
3999 ((struct instance_array__NativeArray
*)var1009
)->values
[2] = (val
*) var1003
;
4001 ((void (*)(val
*, val
*, long))(var1007
->class->vft
[COLOR_array__Array__with_native
]))(var1007
, var1009
, var1008
) /* with_native on <var1007:Array[Object]>*/;
4005 var1010
= ((val
* (*)(val
*))(var1007
->class->vft
[COLOR_string__Object__to_s
]))(var1007
) /* to_s on <var1007:Array[Object]>*/;
4008 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1010
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4011 var1011
= abstract_compiler__MClassType__ctype(var_mtype
);
4014 var1013
= varonce1012
;
4018 var1016
= string__NativeString__to_s_with_length(var1014
, var1015
);
4020 varonce1012
= var1013
;
4023 var1018
= varonce1017
;
4025 var1019
= "(const struct type* type) {";
4027 var1021
= string__NativeString__to_s_with_length(var1019
, var1020
);
4029 varonce1017
= var1018
;
4031 var1022
= NEW_array__Array(&type_array__Arraykernel__Object
);
4032 { /* var1022 = array_instance Array[Object] */
4034 var1024
= NEW_array__NativeArray(var1023
, &type_array__NativeArraykernel__Object
);
4035 ((struct instance_array__NativeArray
*)var1024
)->values
[0] = (val
*) var1011
;
4036 ((struct instance_array__NativeArray
*)var1024
)->values
[1] = (val
*) var1013
;
4037 ((struct instance_array__NativeArray
*)var1024
)->values
[2] = (val
*) var_c_name
;
4038 ((struct instance_array__NativeArray
*)var1024
)->values
[3] = (val
*) var1018
;
4040 ((void (*)(val
*, val
*, long))(var1022
->class->vft
[COLOR_array__Array__with_native
]))(var1022
, var1024
, var1023
) /* with_native on <var1022:Array[Object]>*/;
4044 var1025
= ((val
* (*)(val
*))(var1022
->class->vft
[COLOR_string__Object__to_s
]))(var1022
) /* to_s on <var1022:Array[Object]>*/;
4047 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1025
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4051 var1027
= varonce1026
;
4053 var1028
= " is DEAD";
4055 var1030
= string__NativeString__to_s_with_length(var1028
, var1029
);
4057 varonce1026
= var1027
;
4059 var1031
= NEW_array__Array(&type_array__Arraykernel__Object
);
4060 { /* var1031 = array_instance Array[Object] */
4062 var1033
= NEW_array__NativeArray(var1032
, &type_array__NativeArraykernel__Object
);
4063 ((struct instance_array__NativeArray
*)var1033
)->values
[0] = (val
*) var_mclass
;
4064 ((struct instance_array__NativeArray
*)var1033
)->values
[1] = (val
*) var1027
;
4066 ((void (*)(val
*, val
*, long))(var1031
->class->vft
[COLOR_array__Array__with_native
]))(var1031
, var1033
, var1032
) /* with_native on <var1031:Array[Object]>*/;
4070 var1034
= ((val
* (*)(val
*))(var1031
->class->vft
[COLOR_string__Object__to_s
]))(var1031
) /* to_s on <var1031:Array[Object]>*/;
4073 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var1034
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4077 var1036
= varonce1035
;
4081 var1039
= string__NativeString__to_s_with_length(var1037
, var1038
);
4083 varonce1035
= var1036
;
4086 var1040
= abstract_compiler__AbstractCompilerVisitor__new_named_var(var_v
, var_mtype
, var1036
);
4088 var_res1041
= var1040
;
4091 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res1041,var1042) on <var_res1041:RuntimeVariable> */
4092 var_res1041
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= var1042
; /* _is_exact on <var_res1041:RuntimeVariable> */
4093 RET_LABEL1043
:(void)0;
4097 var1045
= varonce1044
;
4099 var1046
= " = nit_alloc(sizeof(struct instance_";
4101 var1048
= string__NativeString__to_s_with_length(var1046
, var1047
);
4103 varonce1044
= var1045
;
4106 var1049
= ((val
* (*)(val
*))(var_pointer_type
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
4109 var1051
= varonce1050
;
4113 var1054
= string__NativeString__to_s_with_length(var1052
, var1053
);
4115 varonce1050
= var1051
;
4117 var1055
= NEW_array__Array(&type_array__Arraykernel__Object
);
4118 { /* var1055 = array_instance Array[Object] */
4120 var1057
= NEW_array__NativeArray(var1056
, &type_array__NativeArraykernel__Object
);
4121 ((struct instance_array__NativeArray
*)var1057
)->values
[0] = (val
*) var_res1041
;
4122 ((struct instance_array__NativeArray
*)var1057
)->values
[1] = (val
*) var1045
;
4123 ((struct instance_array__NativeArray
*)var1057
)->values
[2] = (val
*) var1049
;
4124 ((struct instance_array__NativeArray
*)var1057
)->values
[3] = (val
*) var1051
;
4126 ((void (*)(val
*, val
*, long))(var1055
->class->vft
[COLOR_array__Array__with_native
]))(var1055
, var1057
, var1056
) /* with_native on <var1055:Array[Object]>*/;
4130 var1058
= ((val
* (*)(val
*))(var1055
->class->vft
[COLOR_string__Object__to_s
]))(var1055
) /* to_s on <var1055:Array[Object]>*/;
4133 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1058
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4136 var1060
= varonce1059
;
4138 var1061
= "->type = type;";
4140 var1063
= string__NativeString__to_s_with_length(var1061
, var1062
);
4142 varonce1059
= var1060
;
4144 var1064
= NEW_array__Array(&type_array__Arraykernel__Object
);
4145 { /* var1064 = array_instance Array[Object] */
4147 var1066
= NEW_array__NativeArray(var1065
, &type_array__NativeArraykernel__Object
);
4148 ((struct instance_array__NativeArray
*)var1066
)->values
[0] = (val
*) var_res1041
;
4149 ((struct instance_array__NativeArray
*)var1066
)->values
[1] = (val
*) var1060
;
4151 ((void (*)(val
*, val
*, long))(var1064
->class->vft
[COLOR_array__Array__with_native
]))(var1064
, var1066
, var1065
) /* with_native on <var1064:Array[Object]>*/;
4155 var1067
= ((val
* (*)(val
*))(var1064
->class->vft
[COLOR_string__Object__to_s
]))(var1064
) /* to_s on <var1064:Array[Object]>*/;
4158 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1067
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4161 var1069
= varonce1068
;
4165 var1072
= string__NativeString__to_s_with_length(var1070
, var1071
);
4167 varonce1068
= var1069
;
4170 separate_compiler__SeparateCompiler__hardening_live_type(self
, var_v
, var1069
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4173 var1074
= varonce1073
;
4177 var1077
= string__NativeString__to_s_with_length(var1075
, var1076
);
4179 varonce1073
= var1074
;
4181 var1078
= NEW_array__Array(&type_array__Arraykernel__Object
);
4182 { /* var1078 = array_instance Array[Object] */
4184 var1080
= NEW_array__NativeArray(var1079
, &type_array__NativeArraykernel__Object
);
4185 ((struct instance_array__NativeArray
*)var1080
)->values
[0] = (val
*) var1074
;
4186 ((struct instance_array__NativeArray
*)var1080
)->values
[1] = (val
*) var_c_name
;
4188 ((void (*)(val
*, val
*, long))(var1078
->class->vft
[COLOR_array__Array__with_native
]))(var1078
, var1080
, var1079
) /* with_native on <var1078:Array[Object]>*/;
4192 var1081
= ((val
* (*)(val
*))(var1078
->class->vft
[COLOR_string__Object__to_s
]))(var1078
) /* to_s on <var1078:Array[Object]>*/;
4195 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var1081
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4198 var1083
= varonce1082
;
4200 var1084
= "->class = &class_";
4202 var1086
= string__NativeString__to_s_with_length(var1084
, var1085
);
4204 varonce1082
= var1083
;
4207 var1088
= varonce1087
;
4211 var1091
= string__NativeString__to_s_with_length(var1089
, var1090
);
4213 varonce1087
= var1088
;
4215 var1092
= NEW_array__Array(&type_array__Arraykernel__Object
);
4216 { /* var1092 = array_instance Array[Object] */
4218 var1094
= NEW_array__NativeArray(var1093
, &type_array__NativeArraykernel__Object
);
4219 ((struct instance_array__NativeArray
*)var1094
)->values
[0] = (val
*) var_res1041
;
4220 ((struct instance_array__NativeArray
*)var1094
)->values
[1] = (val
*) var1083
;
4221 ((struct instance_array__NativeArray
*)var1094
)->values
[2] = (val
*) var_c_name
;
4222 ((struct instance_array__NativeArray
*)var1094
)->values
[3] = (val
*) var1088
;
4224 ((void (*)(val
*, val
*, long))(var1092
->class->vft
[COLOR_array__Array__with_native
]))(var1092
, var1094
, var1093
) /* with_native on <var1092:Array[Object]>*/;
4228 var1095
= ((val
* (*)(val
*))(var1092
->class->vft
[COLOR_string__Object__to_s
]))(var1092
) /* to_s on <var1092:Array[Object]>*/;
4231 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1095
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4234 var1097
= varonce1096
;
4236 var1098
= "((struct instance_";
4238 var1100
= string__NativeString__to_s_with_length(var1098
, var1099
);
4240 varonce1096
= var1097
;
4243 var1101
= ((val
* (*)(val
*))(var_pointer_type
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
4246 var1103
= varonce1102
;
4250 var1106
= string__NativeString__to_s_with_length(var1104
, var1105
);
4252 varonce1102
= var1103
;
4255 var1108
= varonce1107
;
4257 var1109
= ")->value = NULL;";
4259 var1111
= string__NativeString__to_s_with_length(var1109
, var1110
);
4261 varonce1107
= var1108
;
4263 var1112
= NEW_array__Array(&type_array__Arraykernel__Object
);
4264 { /* var1112 = array_instance Array[Object] */
4266 var1114
= NEW_array__NativeArray(var1113
, &type_array__NativeArraykernel__Object
);
4267 ((struct instance_array__NativeArray
*)var1114
)->values
[0] = (val
*) var1097
;
4268 ((struct instance_array__NativeArray
*)var1114
)->values
[1] = (val
*) var1101
;
4269 ((struct instance_array__NativeArray
*)var1114
)->values
[2] = (val
*) var1103
;
4270 ((struct instance_array__NativeArray
*)var1114
)->values
[3] = (val
*) var_res1041
;
4271 ((struct instance_array__NativeArray
*)var1114
)->values
[4] = (val
*) var1108
;
4273 ((void (*)(val
*, val
*, long))(var1112
->class->vft
[COLOR_array__Array__with_native
]))(var1112
, var1114
, var1113
) /* with_native on <var1112:Array[Object]>*/;
4277 var1115
= ((val
* (*)(val
*))(var1112
->class->vft
[COLOR_string__Object__to_s
]))(var1112
) /* to_s on <var1112:Array[Object]>*/;
4280 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4283 var1117
= varonce1116
;
4285 var1118
= "return ";
4287 var1120
= string__NativeString__to_s_with_length(var1118
, var1119
);
4289 varonce1116
= var1117
;
4292 var1122
= varonce1121
;
4296 var1125
= string__NativeString__to_s_with_length(var1123
, var1124
);
4298 varonce1121
= var1122
;
4300 var1126
= NEW_array__Array(&type_array__Arraykernel__Object
);
4301 { /* var1126 = array_instance Array[Object] */
4303 var1128
= NEW_array__NativeArray(var1127
, &type_array__NativeArraykernel__Object
);
4304 ((struct instance_array__NativeArray
*)var1128
)->values
[0] = (val
*) var1117
;
4305 ((struct instance_array__NativeArray
*)var1128
)->values
[1] = (val
*) var_res1041
;
4306 ((struct instance_array__NativeArray
*)var1128
)->values
[2] = (val
*) var1122
;
4308 ((void (*)(val
*, val
*, long))(var1126
->class->vft
[COLOR_array__Array__with_native
]))(var1126
, var1128
, var1127
) /* with_native on <var1126:Array[Object]>*/;
4312 var1129
= ((val
* (*)(val
*))(var1126
->class->vft
[COLOR_string__Object__to_s
]))(var1126
) /* to_s on <var1126:Array[Object]>*/;
4315 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1129
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4319 var1131
= varonce1130
;
4323 var1134
= string__NativeString__to_s_with_length(var1132
, var1133
);
4325 varonce1130
= var1131
;
4328 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1131
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4336 var1136
= varonce1135
;
4340 var1139
= string__NativeString__to_s_with_length(var1137
, var1138
);
4342 varonce1135
= var1136
;
4344 var1140
= NEW_array__Array(&type_array__Arraykernel__Object
);
4345 { /* var1140 = array_instance Array[Object] */
4347 var1142
= NEW_array__NativeArray(var1141
, &type_array__NativeArraykernel__Object
);
4348 ((struct instance_array__NativeArray
*)var1142
)->values
[0] = (val
*) var1136
;
4349 ((struct instance_array__NativeArray
*)var1142
)->values
[1] = (val
*) var_c_name
;
4351 ((void (*)(val
*, val
*, long))(var1140
->class->vft
[COLOR_array__Array__with_native
]))(var1140
, var1142
, var1141
) /* with_native on <var1140:Array[Object]>*/;
4355 var1143
= ((val
* (*)(val
*))(var1140
->class->vft
[COLOR_string__Object__to_s
]))(var1140
) /* to_s on <var1140:Array[Object]>*/;
4358 var1144
= abstract_compiler__MClassType__ctype(var_mtype
);
4361 var1146
= varonce1145
;
4365 var1149
= string__NativeString__to_s_with_length(var1147
, var1148
);
4367 varonce1145
= var1146
;
4370 var1151
= varonce1150
;
4372 var1152
= "(const struct type* type);";
4374 var1154
= string__NativeString__to_s_with_length(var1152
, var1153
);
4376 varonce1150
= var1151
;
4378 var1155
= NEW_array__Array(&type_array__Arraykernel__Object
);
4379 { /* var1155 = array_instance Array[Object] */
4381 var1157
= NEW_array__NativeArray(var1156
, &type_array__NativeArraykernel__Object
);
4382 ((struct instance_array__NativeArray
*)var1157
)->values
[0] = (val
*) var1144
;
4383 ((struct instance_array__NativeArray
*)var1157
)->values
[1] = (val
*) var1146
;
4384 ((struct instance_array__NativeArray
*)var1157
)->values
[2] = (val
*) var_c_name
;
4385 ((struct instance_array__NativeArray
*)var1157
)->values
[3] = (val
*) var1151
;
4387 ((void (*)(val
*, val
*, long))(var1155
->class->vft
[COLOR_array__Array__with_native
]))(var1155
, var1157
, var1156
) /* with_native on <var1155:Array[Object]>*/;
4391 var1158
= ((val
* (*)(val
*))(var1155
->class->vft
[COLOR_string__Object__to_s
]))(var1155
) /* to_s on <var1155:Array[Object]>*/;
4394 abstract_compiler__AbstractCompiler__provide_declaration(self
, var1143
, var1158
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4397 var1160
= varonce1159
;
4399 var1161
= "/* allocate ";
4401 var1163
= string__NativeString__to_s_with_length(var1161
, var1162
);
4403 varonce1159
= var1160
;
4406 var1165
= varonce1164
;
4410 var1168
= string__NativeString__to_s_with_length(var1166
, var1167
);
4412 varonce1164
= var1165
;
4414 var1169
= NEW_array__Array(&type_array__Arraykernel__Object
);
4415 { /* var1169 = array_instance Array[Object] */
4417 var1171
= NEW_array__NativeArray(var1170
, &type_array__NativeArraykernel__Object
);
4418 ((struct instance_array__NativeArray
*)var1171
)->values
[0] = (val
*) var1160
;
4419 ((struct instance_array__NativeArray
*)var1171
)->values
[1] = (val
*) var_mtype
;
4420 ((struct instance_array__NativeArray
*)var1171
)->values
[2] = (val
*) var1165
;
4422 ((void (*)(val
*, val
*, long))(var1169
->class->vft
[COLOR_array__Array__with_native
]))(var1169
, var1171
, var1170
) /* with_native on <var1169:Array[Object]>*/;
4426 var1172
= ((val
* (*)(val
*))(var1169
->class->vft
[COLOR_string__Object__to_s
]))(var1169
) /* to_s on <var1169:Array[Object]>*/;
4429 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1172
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4432 var1173
= abstract_compiler__MClassType__ctype(var_mtype
);
4435 var1175
= varonce1174
;
4439 var1178
= string__NativeString__to_s_with_length(var1176
, var1177
);
4441 varonce1174
= var1175
;
4444 var1180
= varonce1179
;
4446 var1181
= "(const struct type* type) {";
4448 var1183
= string__NativeString__to_s_with_length(var1181
, var1182
);
4450 varonce1179
= var1180
;
4452 var1184
= NEW_array__Array(&type_array__Arraykernel__Object
);
4453 { /* var1184 = array_instance Array[Object] */
4455 var1186
= NEW_array__NativeArray(var1185
, &type_array__NativeArraykernel__Object
);
4456 ((struct instance_array__NativeArray
*)var1186
)->values
[0] = (val
*) var1173
;
4457 ((struct instance_array__NativeArray
*)var1186
)->values
[1] = (val
*) var1175
;
4458 ((struct instance_array__NativeArray
*)var1186
)->values
[2] = (val
*) var_c_name
;
4459 ((struct instance_array__NativeArray
*)var1186
)->values
[3] = (val
*) var1180
;
4461 ((void (*)(val
*, val
*, long))(var1184
->class->vft
[COLOR_array__Array__with_native
]))(var1184
, var1186
, var1185
) /* with_native on <var1184:Array[Object]>*/;
4465 var1187
= ((val
* (*)(val
*))(var1184
->class->vft
[COLOR_string__Object__to_s
]))(var1184
) /* to_s on <var1184:Array[Object]>*/;
4468 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1187
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4472 var1189
= varonce1188
;
4474 var1190
= " is DEAD";
4476 var1192
= string__NativeString__to_s_with_length(var1190
, var1191
);
4478 varonce1188
= var1189
;
4480 var1193
= NEW_array__Array(&type_array__Arraykernel__Object
);
4481 { /* var1193 = array_instance Array[Object] */
4483 var1195
= NEW_array__NativeArray(var1194
, &type_array__NativeArraykernel__Object
);
4484 ((struct instance_array__NativeArray
*)var1195
)->values
[0] = (val
*) var_mclass
;
4485 ((struct instance_array__NativeArray
*)var1195
)->values
[1] = (val
*) var1189
;
4487 ((void (*)(val
*, val
*, long))(var1193
->class->vft
[COLOR_array__Array__with_native
]))(var1193
, var1195
, var1194
) /* with_native on <var1193:Array[Object]>*/;
4491 var1196
= ((val
* (*)(val
*))(var1193
->class->vft
[COLOR_string__Object__to_s
]))(var1193
) /* to_s on <var1193:Array[Object]>*/;
4494 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var1196
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4498 var1198
= varonce1197
;
4502 var1201
= string__NativeString__to_s_with_length(var1199
, var1200
);
4504 varonce1197
= var1198
;
4507 var1202
= abstract_compiler__AbstractCompilerVisitor__new_named_var(var_v
, var_mtype
, var1198
);
4509 var_res1203
= var1202
;
4512 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res1203,var1204) on <var_res1203:RuntimeVariable> */
4513 var_res1203
->attrs
[COLOR_abstract_compiler__RuntimeVariable___is_exact
].s
= var1204
; /* _is_exact on <var_res1203:RuntimeVariable> */
4514 RET_LABEL1205
:(void)0;
4518 var1207
= varonce1206
;
4520 var1208
= " = nit_alloc(sizeof(struct instance) + ";
4522 var1210
= string__NativeString__to_s_with_length(var1208
, var1209
);
4524 varonce1206
= var1207
;
4527 { /* Inline array#AbstractArrayRead#length (var_attrs) on <var_attrs:Array[nullable MPropDef]> */
4528 var1213
= var_attrs
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_attrs:Array[nullable MPropDef]> */
4530 RET_LABEL1212
:(void)0;
4534 var1215
= varonce1214
;
4536 var1216
= "*sizeof(nitattribute_t));";
4538 var1218
= string__NativeString__to_s_with_length(var1216
, var1217
);
4540 varonce1214
= var1215
;
4542 var1219
= NEW_array__Array(&type_array__Arraykernel__Object
);
4543 { /* var1219 = array_instance Array[Object] */
4545 var1221
= NEW_array__NativeArray(var1220
, &type_array__NativeArraykernel__Object
);
4546 ((struct instance_array__NativeArray
*)var1221
)->values
[0] = (val
*) var_res1203
;
4547 ((struct instance_array__NativeArray
*)var1221
)->values
[1] = (val
*) var1207
;
4548 var1222
= BOX_kernel__Int(var1211
); /* autobox from Int to Object */
4549 ((struct instance_array__NativeArray
*)var1221
)->values
[2] = (val
*) var1222
;
4550 ((struct instance_array__NativeArray
*)var1221
)->values
[3] = (val
*) var1215
;
4552 ((void (*)(val
*, val
*, long))(var1219
->class->vft
[COLOR_array__Array__with_native
]))(var1219
, var1221
, var1220
) /* with_native on <var1219:Array[Object]>*/;
4556 var1223
= ((val
* (*)(val
*))(var1219
->class->vft
[COLOR_string__Object__to_s
]))(var1219
) /* to_s on <var1219:Array[Object]>*/;
4559 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1223
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4562 var1225
= varonce1224
;
4564 var1226
= "->type = type;";
4566 var1228
= string__NativeString__to_s_with_length(var1226
, var1227
);
4568 varonce1224
= var1225
;
4570 var1229
= NEW_array__Array(&type_array__Arraykernel__Object
);
4571 { /* var1229 = array_instance Array[Object] */
4573 var1231
= NEW_array__NativeArray(var1230
, &type_array__NativeArraykernel__Object
);
4574 ((struct instance_array__NativeArray
*)var1231
)->values
[0] = (val
*) var_res1203
;
4575 ((struct instance_array__NativeArray
*)var1231
)->values
[1] = (val
*) var1225
;
4577 ((void (*)(val
*, val
*, long))(var1229
->class->vft
[COLOR_array__Array__with_native
]))(var1229
, var1231
, var1230
) /* with_native on <var1229:Array[Object]>*/;
4581 var1232
= ((val
* (*)(val
*))(var1229
->class->vft
[COLOR_string__Object__to_s
]))(var1229
) /* to_s on <var1229:Array[Object]>*/;
4584 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1232
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4587 var1234
= varonce1233
;
4591 var1237
= string__NativeString__to_s_with_length(var1235
, var1236
);
4593 varonce1233
= var1234
;
4596 separate_compiler__SeparateCompiler__hardening_live_type(self
, var_v
, var1234
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4599 var1239
= varonce1238
;
4603 var1242
= string__NativeString__to_s_with_length(var1240
, var1241
);
4605 varonce1238
= var1239
;
4607 var1243
= NEW_array__Array(&type_array__Arraykernel__Object
);
4608 { /* var1243 = array_instance Array[Object] */
4610 var1245
= NEW_array__NativeArray(var1244
, &type_array__NativeArraykernel__Object
);
4611 ((struct instance_array__NativeArray
*)var1245
)->values
[0] = (val
*) var1239
;
4612 ((struct instance_array__NativeArray
*)var1245
)->values
[1] = (val
*) var_c_name
;
4614 ((void (*)(val
*, val
*, long))(var1243
->class->vft
[COLOR_array__Array__with_native
]))(var1243
, var1245
, var1244
) /* with_native on <var1243:Array[Object]>*/;
4618 var1246
= ((val
* (*)(val
*))(var1243
->class->vft
[COLOR_string__Object__to_s
]))(var1243
) /* to_s on <var1243:Array[Object]>*/;
4621 abstract_compiler__AbstractCompilerVisitor__require_declaration(var_v
, var1246
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4624 var1248
= varonce1247
;
4626 var1249
= "->class = &class_";
4628 var1251
= string__NativeString__to_s_with_length(var1249
, var1250
);
4630 varonce1247
= var1248
;
4633 var1253
= varonce1252
;
4637 var1256
= string__NativeString__to_s_with_length(var1254
, var1255
);
4639 varonce1252
= var1253
;
4641 var1257
= NEW_array__Array(&type_array__Arraykernel__Object
);
4642 { /* var1257 = array_instance Array[Object] */
4644 var1259
= NEW_array__NativeArray(var1258
, &type_array__NativeArraykernel__Object
);
4645 ((struct instance_array__NativeArray
*)var1259
)->values
[0] = (val
*) var_res1203
;
4646 ((struct instance_array__NativeArray
*)var1259
)->values
[1] = (val
*) var1248
;
4647 ((struct instance_array__NativeArray
*)var1259
)->values
[2] = (val
*) var_c_name
;
4648 ((struct instance_array__NativeArray
*)var1259
)->values
[3] = (val
*) var1253
;
4650 ((void (*)(val
*, val
*, long))(var1257
->class->vft
[COLOR_array__Array__with_native
]))(var1257
, var1259
, var1258
) /* with_native on <var1257:Array[Object]>*/;
4654 var1260
= ((val
* (*)(val
*))(var1257
->class->vft
[COLOR_string__Object__to_s
]))(var1257
) /* to_s on <var1257:Array[Object]>*/;
4657 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1260
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4660 abstract_compiler__AbstractCompiler__generate_init_attr(self
, var_v
, var_res1203
, var_mtype
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:SeparateCompiler>*/
4663 abstract_compiler__AbstractCompilerVisitor__set_finalizer(var_v
, var_res1203
); /* Direct call abstract_compiler#AbstractCompilerVisitor#set_finalizer on <var_v:SeparateCompilerVisitor>*/
4666 var1262
= varonce1261
;
4668 var1263
= "return ";
4670 var1265
= string__NativeString__to_s_with_length(var1263
, var1264
);
4672 varonce1261
= var1262
;
4675 var1267
= varonce1266
;
4679 var1270
= string__NativeString__to_s_with_length(var1268
, var1269
);
4681 varonce1266
= var1267
;
4683 var1271
= NEW_array__Array(&type_array__Arraykernel__Object
);
4684 { /* var1271 = array_instance Array[Object] */
4686 var1273
= NEW_array__NativeArray(var1272
, &type_array__NativeArraykernel__Object
);
4687 ((struct instance_array__NativeArray
*)var1273
)->values
[0] = (val
*) var1262
;
4688 ((struct instance_array__NativeArray
*)var1273
)->values
[1] = (val
*) var_res1203
;
4689 ((struct instance_array__NativeArray
*)var1273
)->values
[2] = (val
*) var1267
;
4691 ((void (*)(val
*, val
*, long))(var1271
->class->vft
[COLOR_array__Array__with_native
]))(var1271
, var1273
, var1272
) /* with_native on <var1271:Array[Object]>*/;
4695 var1274
= ((val
* (*)(val
*))(var1271
->class->vft
[COLOR_string__Object__to_s
]))(var1271
) /* to_s on <var1271:Array[Object]>*/;
4698 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1274
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4702 var1276
= varonce1275
;
4706 var1279
= string__NativeString__to_s_with_length(var1277
, var1278
);
4708 varonce1275
= var1276
;
4711 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1276
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4715 /* method separate_compiler#SeparateCompiler#compile_class_to_c for (self: Object, MClass) */
4716 void VIRTUAL_separate_compiler__SeparateCompiler__compile_class_to_c(val
* self
, val
* p0
) {
4717 separate_compiler__SeparateCompiler__compile_class_to_c(self
, p0
); /* Direct call separate_compiler#SeparateCompiler#compile_class_to_c on <self:Object(SeparateCompiler)>*/
4720 /* method separate_compiler#SeparateCompiler#hardening_live_type for (self: SeparateCompiler, SeparateCompilerVisitor, String) */
4721 void separate_compiler__SeparateCompiler__hardening_live_type(val
* self
, val
* p0
, val
* p1
) {
4722 short int var
/* : Bool */;
4725 const struct type
* type_struct
;
4726 const char* var_class_name
;
4727 val
* var_v
/* var v: SeparateCompilerVisitor */;
4728 val
* var_t
/* var t: String */;
4729 val
* var1
/* : AbstractCompiler */;
4730 val
* var3
/* : AbstractCompiler */;
4731 val
* var4
/* : ModelBuilder */;
4732 val
* var6
/* : ModelBuilder */;
4733 val
* var7
/* : ToolContext */;
4734 val
* var9
/* : ToolContext */;
4735 val
* var10
/* : OptionBool */;
4736 val
* var12
/* : OptionBool */;
4737 val
* var13
/* : nullable Object */;
4738 val
* var15
/* : nullable Object */;
4739 short int var16
/* : Bool */;
4740 short int var17
/* : Bool */;
4741 static val
* varonce
;
4742 val
* var18
/* : String */;
4743 char* var19
/* : NativeString */;
4744 long var20
/* : Int */;
4745 val
* var21
/* : FlatString */;
4746 static val
* varonce22
;
4747 val
* var23
/* : String */;
4748 char* var24
/* : NativeString */;
4749 long var25
/* : Int */;
4750 val
* var26
/* : FlatString */;
4751 val
* var27
/* : Array[Object] */;
4752 long var28
/* : Int */;
4753 val
* var29
/* : NativeArray[Object] */;
4754 val
* var30
/* : String */;
4755 static val
* varonce31
;
4756 val
* var32
/* : String */;
4757 char* var33
/* : NativeString */;
4758 long var34
/* : Int */;
4759 val
* var35
/* : FlatString */;
4760 static val
* varonce36
;
4761 val
* var37
/* : String */;
4762 char* var38
/* : NativeString */;
4763 long var39
/* : Int */;
4764 val
* var40
/* : FlatString */;
4765 static val
* varonce41
;
4766 val
* var42
/* : String */;
4767 char* var43
/* : NativeString */;
4768 long var44
/* : Int */;
4769 val
* var45
/* : FlatString */;
4770 static val
* varonce46
;
4771 val
* var47
/* : String */;
4772 char* var48
/* : NativeString */;
4773 long var49
/* : Int */;
4774 val
* var50
/* : FlatString */;
4775 val
* var51
/* : Array[Object] */;
4776 long var52
/* : Int */;
4777 val
* var53
/* : NativeArray[Object] */;
4778 val
* var54
/* : String */;
4779 static val
* varonce55
;
4780 val
* var56
/* : String */;
4781 char* var57
/* : NativeString */;
4782 long var58
/* : Int */;
4783 val
* var59
/* : FlatString */;
4784 static val
* varonce60
;
4785 val
* var61
/* : String */;
4786 char* var62
/* : NativeString */;
4787 long var63
/* : Int */;
4788 val
* var64
/* : FlatString */;
4789 val
* var65
/* : Array[Object] */;
4790 long var66
/* : Int */;
4791 val
* var67
/* : NativeArray[Object] */;
4792 val
* var68
/* : String */;
4793 static val
* varonce69
;
4794 val
* var70
/* : String */;
4795 char* var71
/* : NativeString */;
4796 long var72
/* : Int */;
4797 val
* var73
/* : FlatString */;
4798 static val
* varonce74
;
4799 val
* var75
/* : String */;
4800 char* var76
/* : NativeString */;
4801 long var77
/* : Int */;
4802 val
* var78
/* : FlatString */;
4803 /* Covariant cast for argument 0 (v) <p0:SeparateCompilerVisitor> isa VISITOR */
4804 /* <p0:SeparateCompilerVisitor> isa VISITOR */
4805 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
4806 cltype
= type_struct
->color
;
4807 idtype
= type_struct
->id
;
4808 if(cltype
>= p0
->type
->table_size
) {
4811 var
= p0
->type
->type_table
[cltype
] == idtype
;
4813 if (unlikely(!var
)) {
4814 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
4816 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 826);
4822 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
4823 var3
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
4824 if (unlikely(var3
== NULL
)) {
4825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4826 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
4834 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
4835 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
4836 if (unlikely(var6
== NULL
)) {
4837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4838 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4846 { /* Inline modelbuilder#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
4847 var9
= var4
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
4848 if (unlikely(var9
== NULL
)) {
4849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4850 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4858 { /* Inline abstract_compiler#ToolContext#opt_hardening (var7) on <var7:ToolContext> */
4859 var12
= var7
->attrs
[COLOR_abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var7:ToolContext> */
4860 if (unlikely(var12
== NULL
)) {
4861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
4862 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 47);
4866 RET_LABEL11
:(void)0;
4870 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
4871 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
4873 RET_LABEL14
:(void)0;
4876 var16
= ((struct instance_kernel__Bool
*)var13
)->value
; /* autounbox from nullable Object to Bool */;
4887 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4894 var24
= " == NULL) {";
4896 var26
= string__NativeString__to_s_with_length(var24
, var25
);
4900 var27
= NEW_array__Array(&type_array__Arraykernel__Object
);
4901 { /* var27 = array_instance Array[Object] */
4903 var29
= NEW_array__NativeArray(var28
, &type_array__NativeArraykernel__Object
);
4904 ((struct instance_array__NativeArray
*)var29
)->values
[0] = (val
*) var18
;
4905 ((struct instance_array__NativeArray
*)var29
)->values
[1] = (val
*) var_t
;
4906 ((struct instance_array__NativeArray
*)var29
)->values
[2] = (val
*) var23
;
4908 ((void (*)(val
*, val
*, long))(var27
->class->vft
[COLOR_array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
4912 var30
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
4915 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4920 var33
= "type null";
4922 var35
= string__NativeString__to_s_with_length(var33
, var34
);
4927 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4934 var40
= string__NativeString__to_s_with_length(var38
, var39
);
4939 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4946 var45
= string__NativeString__to_s_with_length(var43
, var44
);
4953 var48
= "->table_size == 0) {";
4955 var50
= string__NativeString__to_s_with_length(var48
, var49
);
4959 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
4960 { /* var51 = array_instance Array[Object] */
4962 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
4963 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var42
;
4964 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var_t
;
4965 ((struct instance_array__NativeArray
*)var53
)->values
[2] = (val
*) var47
;
4967 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
4971 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
4974 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4979 var57
= "PRINT_ERROR(\"Insantiation of a dead type: %s\\n\", ";
4981 var59
= string__NativeString__to_s_with_length(var57
, var58
);
4990 var64
= string__NativeString__to_s_with_length(var62
, var63
);
4994 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
4995 { /* var65 = array_instance Array[Object] */
4997 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
4998 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var56
;
4999 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_t
;
5000 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var61
;
5002 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
5006 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
5009 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var68
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5014 var71
= "type dead";
5016 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5021 abstract_compiler__AbstractCompilerVisitor__add_abort(var_v
, var70
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
5028 var78
= string__NativeString__to_s_with_length(var76
, var77
);
5033 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
5037 /* method separate_compiler#SeparateCompiler#hardening_live_type for (self: Object, SeparateCompilerVisitor, String) */
5038 void VIRTUAL_separate_compiler__SeparateCompiler__hardening_live_type(val
* self
, val
* p0
, val
* p1
) {
5039 separate_compiler__SeparateCompiler__hardening_live_type(self
, p0
, p1
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:Object(SeparateCompiler)>*/
5042 /* method separate_compiler#SeparateCompiler#new_visitor for (self: SeparateCompiler): SeparateCompilerVisitor */
5043 val
* separate_compiler__SeparateCompiler__new_visitor(val
* self
) {
5044 val
* var
/* : SeparateCompilerVisitor */;
5045 val
* var1
/* : SeparateCompilerVisitor */;
5046 short int var2
/* : Bool */;
5049 const struct type
* type_struct
;
5050 const char* var_class_name
;
5051 var1
= NEW_separate_compiler__SeparateCompilerVisitor(&type_separate_compiler__SeparateCompilerVisitor
);
5053 abstract_compiler__AbstractCompilerVisitor__init(var1
, self
); /* Direct call abstract_compiler#AbstractCompilerVisitor#init on <var1:SeparateCompilerVisitor>*/
5055 /* <var1:SeparateCompilerVisitor> isa VISITOR */
5056 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
5057 cltype
= type_struct
->color
;
5058 idtype
= type_struct
->id
;
5059 if(cltype
>= var1
->type
->table_size
) {
5062 var2
= var1
->type
->type_table
[cltype
] == idtype
;
5064 if (unlikely(!var2
)) {
5065 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
5066 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5067 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 839);
5075 /* method separate_compiler#SeparateCompiler#new_visitor for (self: Object): AbstractCompilerVisitor */
5076 val
* VIRTUAL_separate_compiler__SeparateCompiler__new_visitor(val
* self
) {
5077 val
* var
/* : AbstractCompilerVisitor */;
5078 val
* var1
/* : SeparateCompilerVisitor */;
5079 var1
= separate_compiler__SeparateCompiler__new_visitor(self
);
5084 /* method separate_compiler#SeparateCompiler#type_tables for (self: SeparateCompiler): Map[MType, Array[nullable MType]] */
5085 val
* separate_compiler__SeparateCompiler__type_tables(val
* self
) {
5086 val
* var
/* : Map[MType, Array[nullable MType]] */;
5087 val
* var1
/* : Map[MType, Array[nullable MType]] */;
5088 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
5089 if (unlikely(var1
== NULL
)) {
5090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
5091 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 843);
5098 /* method separate_compiler#SeparateCompiler#type_tables for (self: Object): Map[MType, Array[nullable MType]] */
5099 val
* VIRTUAL_separate_compiler__SeparateCompiler__type_tables(val
* self
) {
5100 val
* var
/* : Map[MType, Array[nullable MType]] */;
5101 val
* var1
/* : Map[MType, Array[nullable MType]] */;
5102 val
* var3
/* : Map[MType, Array[nullable MType]] */;
5103 { /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:Object(SeparateCompiler)> */
5104 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:Object(SeparateCompiler)> */
5105 if (unlikely(var3
== NULL
)) {
5106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
5107 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 843);
5117 /* method separate_compiler#SeparateCompiler#type_tables= for (self: SeparateCompiler, Map[MType, Array[nullable MType]]) */
5118 void separate_compiler__SeparateCompiler__type_tables_61d(val
* self
, val
* p0
) {
5119 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___type_tables
].val
= p0
; /* _type_tables on <self:SeparateCompiler> */
5122 /* method separate_compiler#SeparateCompiler#type_tables= for (self: Object, Map[MType, Array[nullable MType]]) */
5123 void VIRTUAL_separate_compiler__SeparateCompiler__type_tables_61d(val
* self
, val
* p0
) {
5124 { /* Inline separate_compiler#SeparateCompiler#type_tables= (self,p0) on <self:Object(SeparateCompiler)> */
5125 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___type_tables
].val
= p0
; /* _type_tables on <self:Object(SeparateCompiler)> */
5130 /* method separate_compiler#SeparateCompiler#resolution_tables for (self: SeparateCompiler): Map[MClassType, Array[nullable MType]] */
5131 val
* separate_compiler__SeparateCompiler__resolution_tables(val
* self
) {
5132 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
5133 val
* var1
/* : Map[MClassType, Array[nullable MType]] */;
5134 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
5135 if (unlikely(var1
== NULL
)) {
5136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
5137 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 844);
5144 /* method separate_compiler#SeparateCompiler#resolution_tables for (self: Object): Map[MClassType, Array[nullable MType]] */
5145 val
* VIRTUAL_separate_compiler__SeparateCompiler__resolution_tables(val
* self
) {
5146 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
5147 val
* var1
/* : Map[MClassType, Array[nullable MType]] */;
5148 val
* var3
/* : Map[MClassType, Array[nullable MType]] */;
5149 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:Object(SeparateCompiler)> */
5150 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:Object(SeparateCompiler)> */
5151 if (unlikely(var3
== NULL
)) {
5152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
5153 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 844);
5163 /* method separate_compiler#SeparateCompiler#resolution_tables= for (self: SeparateCompiler, Map[MClassType, Array[nullable MType]]) */
5164 void separate_compiler__SeparateCompiler__resolution_tables_61d(val
* self
, val
* p0
) {
5165 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___resolution_tables
].val
= p0
; /* _resolution_tables on <self:SeparateCompiler> */
5168 /* method separate_compiler#SeparateCompiler#resolution_tables= for (self: Object, Map[MClassType, Array[nullable MType]]) */
5169 void VIRTUAL_separate_compiler__SeparateCompiler__resolution_tables_61d(val
* self
, val
* p0
) {
5170 { /* Inline separate_compiler#SeparateCompiler#resolution_tables= (self,p0) on <self:Object(SeparateCompiler)> */
5171 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___resolution_tables
].val
= p0
; /* _resolution_tables on <self:Object(SeparateCompiler)> */
5176 /* method separate_compiler#SeparateCompiler#method_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
5177 val
* separate_compiler__SeparateCompiler__method_tables(val
* self
) {
5178 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5179 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5180 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
5181 if (unlikely(var1
== NULL
)) {
5182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
5183 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 845);
5190 /* method separate_compiler#SeparateCompiler#method_tables for (self: Object): Map[MClass, Array[nullable MPropDef]] */
5191 val
* VIRTUAL_separate_compiler__SeparateCompiler__method_tables(val
* self
) {
5192 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5193 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5194 val
* var3
/* : Map[MClass, Array[nullable MPropDef]] */;
5195 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:Object(SeparateCompiler)> */
5196 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:Object(SeparateCompiler)> */
5197 if (unlikely(var3
== NULL
)) {
5198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
5199 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 845);
5209 /* method separate_compiler#SeparateCompiler#method_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
5210 void separate_compiler__SeparateCompiler__method_tables_61d(val
* self
, val
* p0
) {
5211 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
= p0
; /* _method_tables on <self:SeparateCompiler> */
5214 /* method separate_compiler#SeparateCompiler#method_tables= for (self: Object, Map[MClass, Array[nullable MPropDef]]) */
5215 void VIRTUAL_separate_compiler__SeparateCompiler__method_tables_61d(val
* self
, val
* p0
) {
5216 { /* Inline separate_compiler#SeparateCompiler#method_tables= (self,p0) on <self:Object(SeparateCompiler)> */
5217 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
= p0
; /* _method_tables on <self:Object(SeparateCompiler)> */
5222 /* method separate_compiler#SeparateCompiler#attr_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
5223 val
* separate_compiler__SeparateCompiler__attr_tables(val
* self
) {
5224 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5225 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5226 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
5227 if (unlikely(var1
== NULL
)) {
5228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
5229 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 846);
5236 /* method separate_compiler#SeparateCompiler#attr_tables for (self: Object): Map[MClass, Array[nullable MPropDef]] */
5237 val
* VIRTUAL_separate_compiler__SeparateCompiler__attr_tables(val
* self
) {
5238 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5239 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5240 val
* var3
/* : Map[MClass, Array[nullable MPropDef]] */;
5241 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:Object(SeparateCompiler)> */
5242 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:Object(SeparateCompiler)> */
5243 if (unlikely(var3
== NULL
)) {
5244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
5245 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 846);
5255 /* method separate_compiler#SeparateCompiler#attr_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
5256 void separate_compiler__SeparateCompiler__attr_tables_61d(val
* self
, val
* p0
) {
5257 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
= p0
; /* _attr_tables on <self:SeparateCompiler> */
5260 /* method separate_compiler#SeparateCompiler#attr_tables= for (self: Object, Map[MClass, Array[nullable MPropDef]]) */
5261 void VIRTUAL_separate_compiler__SeparateCompiler__attr_tables_61d(val
* self
, val
* p0
) {
5262 { /* Inline separate_compiler#SeparateCompiler#attr_tables= (self,p0) on <self:Object(SeparateCompiler)> */
5263 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
= p0
; /* _attr_tables on <self:Object(SeparateCompiler)> */
5268 /* method separate_compiler#SeparateCompiler#display_stats for (self: SeparateCompiler) */
5269 void separate_compiler__SeparateCompiler__display_stats(val
* self
) {
5270 val
* var
/* : ModelBuilder */;
5271 val
* var2
/* : ModelBuilder */;
5272 val
* var3
/* : ToolContext */;
5273 val
* var5
/* : ToolContext */;
5274 val
* var6
/* : OptionBool */;
5275 val
* var8
/* : OptionBool */;
5276 val
* var9
/* : nullable Object */;
5277 val
* var11
/* : nullable Object */;
5278 short int var12
/* : Bool */;
5279 val
* var13
/* : ModelBuilder */;
5280 val
* var15
/* : ModelBuilder */;
5281 val
* var16
/* : ToolContext */;
5282 val
* var18
/* : ToolContext */;
5283 val
* var19
/* : OptionBool */;
5284 val
* var21
/* : OptionBool */;
5285 val
* var22
/* : nullable Object */;
5286 val
* var24
/* : nullable Object */;
5287 short int var25
/* : Bool */;
5288 val
* var26
/* : ModelBuilder */;
5289 val
* var28
/* : ModelBuilder */;
5290 val
* var29
/* : ToolContext */;
5291 val
* var31
/* : ToolContext */;
5292 val
* var_tc
/* var tc: ToolContext */;
5293 static val
* varonce
;
5294 val
* var32
/* : String */;
5295 char* var33
/* : NativeString */;
5296 long var34
/* : Int */;
5297 val
* var35
/* : FlatString */;
5298 long var36
/* : Int */;
5299 val
* var37
/* : ModelBuilder */;
5300 val
* var39
/* : ModelBuilder */;
5301 long var40
/* : Int */;
5302 long var42
/* : Int */;
5303 val
* var43
/* : ModelBuilder */;
5304 val
* var45
/* : ModelBuilder */;
5305 long var46
/* : Int */;
5306 long var48
/* : Int */;
5307 long var49
/* : Int */;
5308 short int var51
/* : Bool */;
5311 const char* var_class_name
;
5312 long var52
/* : Int */;
5313 val
* var53
/* : ModelBuilder */;
5314 val
* var55
/* : ModelBuilder */;
5315 long var56
/* : Int */;
5316 long var58
/* : Int */;
5317 long var59
/* : Int */;
5318 short int var61
/* : Bool */;
5321 const char* var_class_name64
;
5322 long var65
/* : Int */;
5323 long var_nb_invok_total
/* var nb_invok_total: Int */;
5324 static val
* varonce66
;
5325 val
* var67
/* : String */;
5326 char* var68
/* : NativeString */;
5327 long var69
/* : Int */;
5328 val
* var70
/* : FlatString */;
5329 val
* var71
/* : Array[Object] */;
5330 long var72
/* : Int */;
5331 val
* var73
/* : NativeArray[Object] */;
5332 val
* var74
/* : Object */;
5333 val
* var75
/* : String */;
5334 long var76
/* : Int */;
5335 static val
* varonce77
;
5336 val
* var78
/* : String */;
5337 char* var79
/* : NativeString */;
5338 long var80
/* : Int */;
5339 val
* var81
/* : FlatString */;
5340 val
* var82
/* : ModelBuilder */;
5341 val
* var84
/* : ModelBuilder */;
5342 long var85
/* : Int */;
5343 long var87
/* : Int */;
5344 static val
* varonce88
;
5345 val
* var89
/* : String */;
5346 char* var90
/* : NativeString */;
5347 long var91
/* : Int */;
5348 val
* var92
/* : FlatString */;
5349 val
* var93
/* : ModelBuilder */;
5350 val
* var95
/* : ModelBuilder */;
5351 long var96
/* : Int */;
5352 long var98
/* : Int */;
5353 val
* var99
/* : String */;
5354 static val
* varonce100
;
5355 val
* var101
/* : String */;
5356 char* var102
/* : NativeString */;
5357 long var103
/* : Int */;
5358 val
* var104
/* : FlatString */;
5359 val
* var105
/* : Array[Object] */;
5360 long var106
/* : Int */;
5361 val
* var107
/* : NativeArray[Object] */;
5362 val
* var108
/* : Object */;
5363 val
* var109
/* : String */;
5364 long var110
/* : Int */;
5365 static val
* varonce111
;
5366 val
* var112
/* : String */;
5367 char* var113
/* : NativeString */;
5368 long var114
/* : Int */;
5369 val
* var115
/* : FlatString */;
5370 val
* var116
/* : ModelBuilder */;
5371 val
* var118
/* : ModelBuilder */;
5372 long var119
/* : Int */;
5373 long var121
/* : Int */;
5374 static val
* varonce122
;
5375 val
* var123
/* : String */;
5376 char* var124
/* : NativeString */;
5377 long var125
/* : Int */;
5378 val
* var126
/* : FlatString */;
5379 val
* var127
/* : ModelBuilder */;
5380 val
* var129
/* : ModelBuilder */;
5381 long var130
/* : Int */;
5382 long var132
/* : Int */;
5383 val
* var133
/* : String */;
5384 static val
* varonce134
;
5385 val
* var135
/* : String */;
5386 char* var136
/* : NativeString */;
5387 long var137
/* : Int */;
5388 val
* var138
/* : FlatString */;
5389 val
* var139
/* : Array[Object] */;
5390 long var140
/* : Int */;
5391 val
* var141
/* : NativeArray[Object] */;
5392 val
* var142
/* : Object */;
5393 val
* var143
/* : String */;
5394 long var144
/* : Int */;
5395 static val
* varonce145
;
5396 val
* var146
/* : String */;
5397 char* var147
/* : NativeString */;
5398 long var148
/* : Int */;
5399 val
* var149
/* : FlatString */;
5400 val
* var150
/* : ModelBuilder */;
5401 val
* var152
/* : ModelBuilder */;
5402 long var153
/* : Int */;
5403 long var155
/* : Int */;
5404 static val
* varonce156
;
5405 val
* var157
/* : String */;
5406 char* var158
/* : NativeString */;
5407 long var159
/* : Int */;
5408 val
* var160
/* : FlatString */;
5409 val
* var161
/* : ModelBuilder */;
5410 val
* var163
/* : ModelBuilder */;
5411 long var164
/* : Int */;
5412 long var166
/* : Int */;
5413 val
* var167
/* : String */;
5414 static val
* varonce168
;
5415 val
* var169
/* : String */;
5416 char* var170
/* : NativeString */;
5417 long var171
/* : Int */;
5418 val
* var172
/* : FlatString */;
5419 val
* var173
/* : Array[Object] */;
5420 long var174
/* : Int */;
5421 val
* var175
/* : NativeArray[Object] */;
5422 val
* var176
/* : Object */;
5423 val
* var177
/* : String */;
5424 long var178
/* : Int */;
5426 ((void (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompiler__display_stats
]))(self
) /* display_stats on <self:SeparateCompiler>*/;
5429 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5430 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5431 if (unlikely(var2
== NULL
)) {
5432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5433 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5441 { /* Inline modelbuilder#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
5442 var5
= var
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
5443 if (unlikely(var5
== NULL
)) {
5444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5445 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5453 { /* Inline separate_compiler#ToolContext#opt_tables_metrics (var3) on <var3:ToolContext> */
5454 var8
= var3
->attrs
[COLOR_separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <var3:ToolContext> */
5455 if (unlikely(var8
== NULL
)) {
5456 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
5457 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 44);
5465 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
5466 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
5468 RET_LABEL10
:(void)0;
5471 var12
= ((struct instance_kernel__Bool
*)var9
)->value
; /* autounbox from nullable Object to Bool */;
5474 ((void (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompiler__display_sizes
]))(self
) /* display_sizes on <self:SeparateCompiler>*/;
5479 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5480 var15
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5481 if (unlikely(var15
== NULL
)) {
5482 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5483 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5487 RET_LABEL14
:(void)0;
5491 { /* Inline modelbuilder#ModelBuilder#toolcontext (var13) on <var13:ModelBuilder> */
5492 var18
= var13
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var13:ModelBuilder> */
5493 if (unlikely(var18
== NULL
)) {
5494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5495 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5499 RET_LABEL17
:(void)0;
5503 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var16) on <var16:ToolContext> */
5504 var21
= var16
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var16:ToolContext> */
5505 if (unlikely(var21
== NULL
)) {
5506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
5507 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
5511 RET_LABEL20
:(void)0;
5515 { /* Inline opts#Option#value (var19) on <var19:OptionBool> */
5516 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionBool> */
5518 RET_LABEL23
:(void)0;
5521 var25
= ((struct instance_kernel__Bool
*)var22
)->value
; /* autounbox from nullable Object to Bool */;
5524 separate_compiler__SeparateCompiler__display_isset_checks(self
); /* Direct call separate_compiler#SeparateCompiler#display_isset_checks on <self:SeparateCompiler>*/
5529 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5530 var28
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5531 if (unlikely(var28
== NULL
)) {
5532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5533 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5537 RET_LABEL27
:(void)0;
5541 { /* Inline modelbuilder#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
5542 var31
= var26
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
5543 if (unlikely(var31
== NULL
)) {
5544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5545 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
5549 RET_LABEL30
:(void)0;
5556 var33
= "# implementation of method invocation";
5558 var35
= string__NativeString__to_s_with_length(var33
, var34
);
5564 toolcontext__ToolContext__info(var_tc
, var32
, var36
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5567 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5568 var39
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5569 if (unlikely(var39
== NULL
)) {
5570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5571 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5575 RET_LABEL38
:(void)0;
5579 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var37) on <var37:ModelBuilder> */
5580 var42
= var37
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var37:ModelBuilder> */
5582 RET_LABEL41
:(void)0;
5586 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5587 var45
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5588 if (unlikely(var45
== NULL
)) {
5589 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5590 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5594 RET_LABEL44
:(void)0;
5598 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var43) on <var43:ModelBuilder> */
5599 var48
= var43
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var43:ModelBuilder> */
5601 RET_LABEL47
:(void)0;
5605 { /* Inline kernel#Int#+ (var40,var46) on <var40:Int> */
5606 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
5607 /* <var46:Int> isa OTHER */
5608 var51
= 1; /* easy <var46:Int> isa OTHER*/
5609 if (unlikely(!var51
)) {
5610 var_class_name
= type_kernel__Int
.name
;
5611 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5612 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
5615 var52
= var40
+ var46
;
5618 RET_LABEL50
:(void)0;
5622 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5623 var55
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5624 if (unlikely(var55
== NULL
)) {
5625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5626 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5630 RET_LABEL54
:(void)0;
5634 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var53) on <var53:ModelBuilder> */
5635 var58
= var53
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var53:ModelBuilder> */
5637 RET_LABEL57
:(void)0;
5641 { /* Inline kernel#Int#+ (var49,var56) on <var49:Int> */
5642 /* Covariant cast for argument 0 (i) <var56:Int> isa OTHER */
5643 /* <var56:Int> isa OTHER */
5644 var61
= 1; /* easy <var56:Int> isa OTHER*/
5645 if (unlikely(!var61
)) {
5646 var_class_name64
= type_kernel__Int
.name
;
5647 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64
);
5648 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
5651 var65
= var49
+ var56
;
5654 RET_LABEL60
:(void)0;
5657 var_nb_invok_total
= var59
;
5661 var68
= "total number of invocations: ";
5663 var70
= string__NativeString__to_s_with_length(var68
, var69
);
5667 var71
= NEW_array__Array(&type_array__Arraykernel__Object
);
5668 { /* var71 = array_instance Array[Object] */
5670 var73
= NEW_array__NativeArray(var72
, &type_array__NativeArraykernel__Object
);
5671 ((struct instance_array__NativeArray
*)var73
)->values
[0] = (val
*) var67
;
5672 var74
= BOX_kernel__Int(var_nb_invok_total
); /* autobox from Int to Object */
5673 ((struct instance_array__NativeArray
*)var73
)->values
[1] = (val
*) var74
;
5675 ((void (*)(val
*, val
*, long))(var71
->class->vft
[COLOR_array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
5679 var75
= ((val
* (*)(val
*))(var71
->class->vft
[COLOR_string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
5683 toolcontext__ToolContext__info(var_tc
, var75
, var76
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5688 var79
= "invocations by VFT send: ";
5690 var81
= string__NativeString__to_s_with_length(var79
, var80
);
5695 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5696 var84
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5697 if (unlikely(var84
== NULL
)) {
5698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5699 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5703 RET_LABEL83
:(void)0;
5707 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var82) on <var82:ModelBuilder> */
5708 var87
= var82
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var82:ModelBuilder> */
5710 RET_LABEL86
:(void)0;
5718 var92
= string__NativeString__to_s_with_length(var90
, var91
);
5723 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5724 var95
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5725 if (unlikely(var95
== NULL
)) {
5726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5727 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5731 RET_LABEL94
:(void)0;
5735 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var93) on <var93:ModelBuilder> */
5736 var98
= var93
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var93:ModelBuilder> */
5738 RET_LABEL97
:(void)0;
5742 var99
= abstract_compiler__AbstractCompiler__div(self
, var96
, var_nb_invok_total
);
5745 var101
= varonce100
;
5749 var104
= string__NativeString__to_s_with_length(var102
, var103
);
5751 varonce100
= var101
;
5753 var105
= NEW_array__Array(&type_array__Arraykernel__Object
);
5754 { /* var105 = array_instance Array[Object] */
5756 var107
= NEW_array__NativeArray(var106
, &type_array__NativeArraykernel__Object
);
5757 ((struct instance_array__NativeArray
*)var107
)->values
[0] = (val
*) var78
;
5758 var108
= BOX_kernel__Int(var85
); /* autobox from Int to Object */
5759 ((struct instance_array__NativeArray
*)var107
)->values
[1] = (val
*) var108
;
5760 ((struct instance_array__NativeArray
*)var107
)->values
[2] = (val
*) var89
;
5761 ((struct instance_array__NativeArray
*)var107
)->values
[3] = (val
*) var99
;
5762 ((struct instance_array__NativeArray
*)var107
)->values
[4] = (val
*) var101
;
5764 ((void (*)(val
*, val
*, long))(var105
->class->vft
[COLOR_array__Array__with_native
]))(var105
, var107
, var106
) /* with_native on <var105:Array[Object]>*/;
5768 var109
= ((val
* (*)(val
*))(var105
->class->vft
[COLOR_string__Object__to_s
]))(var105
) /* to_s on <var105:Array[Object]>*/;
5772 toolcontext__ToolContext__info(var_tc
, var109
, var110
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5775 var112
= varonce111
;
5777 var113
= "invocations by direct call: ";
5779 var115
= string__NativeString__to_s_with_length(var113
, var114
);
5781 varonce111
= var112
;
5784 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5785 var118
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5786 if (unlikely(var118
== NULL
)) {
5787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5788 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5792 RET_LABEL117
:(void)0;
5796 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var116) on <var116:ModelBuilder> */
5797 var121
= var116
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var116:ModelBuilder> */
5799 RET_LABEL120
:(void)0;
5803 var123
= varonce122
;
5807 var126
= string__NativeString__to_s_with_length(var124
, var125
);
5809 varonce122
= var123
;
5812 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5813 var129
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5814 if (unlikely(var129
== NULL
)) {
5815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5816 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5820 RET_LABEL128
:(void)0;
5824 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var127) on <var127:ModelBuilder> */
5825 var132
= var127
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var127:ModelBuilder> */
5827 RET_LABEL131
:(void)0;
5831 var133
= abstract_compiler__AbstractCompiler__div(self
, var130
, var_nb_invok_total
);
5834 var135
= varonce134
;
5838 var138
= string__NativeString__to_s_with_length(var136
, var137
);
5840 varonce134
= var135
;
5842 var139
= NEW_array__Array(&type_array__Arraykernel__Object
);
5843 { /* var139 = array_instance Array[Object] */
5845 var141
= NEW_array__NativeArray(var140
, &type_array__NativeArraykernel__Object
);
5846 ((struct instance_array__NativeArray
*)var141
)->values
[0] = (val
*) var112
;
5847 var142
= BOX_kernel__Int(var119
); /* autobox from Int to Object */
5848 ((struct instance_array__NativeArray
*)var141
)->values
[1] = (val
*) var142
;
5849 ((struct instance_array__NativeArray
*)var141
)->values
[2] = (val
*) var123
;
5850 ((struct instance_array__NativeArray
*)var141
)->values
[3] = (val
*) var133
;
5851 ((struct instance_array__NativeArray
*)var141
)->values
[4] = (val
*) var135
;
5853 ((void (*)(val
*, val
*, long))(var139
->class->vft
[COLOR_array__Array__with_native
]))(var139
, var141
, var140
) /* with_native on <var139:Array[Object]>*/;
5857 var143
= ((val
* (*)(val
*))(var139
->class->vft
[COLOR_string__Object__to_s
]))(var139
) /* to_s on <var139:Array[Object]>*/;
5861 toolcontext__ToolContext__info(var_tc
, var143
, var144
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5864 var146
= varonce145
;
5866 var147
= "invocations by inlining: ";
5868 var149
= string__NativeString__to_s_with_length(var147
, var148
);
5870 varonce145
= var146
;
5873 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5874 var152
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5875 if (unlikely(var152
== NULL
)) {
5876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5877 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5881 RET_LABEL151
:(void)0;
5885 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var150) on <var150:ModelBuilder> */
5886 var155
= var150
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var150:ModelBuilder> */
5888 RET_LABEL154
:(void)0;
5892 var157
= varonce156
;
5896 var160
= string__NativeString__to_s_with_length(var158
, var159
);
5898 varonce156
= var157
;
5901 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5902 var163
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5903 if (unlikely(var163
== NULL
)) {
5904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5905 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
5909 RET_LABEL162
:(void)0;
5913 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var161) on <var161:ModelBuilder> */
5914 var166
= var161
->attrs
[COLOR_separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var161:ModelBuilder> */
5916 RET_LABEL165
:(void)0;
5920 var167
= abstract_compiler__AbstractCompiler__div(self
, var164
, var_nb_invok_total
);
5923 var169
= varonce168
;
5927 var172
= string__NativeString__to_s_with_length(var170
, var171
);
5929 varonce168
= var169
;
5931 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
5932 { /* var173 = array_instance Array[Object] */
5934 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
5935 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var146
;
5936 var176
= BOX_kernel__Int(var153
); /* autobox from Int to Object */
5937 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var176
;
5938 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var157
;
5939 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var167
;
5940 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
5942 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
5946 var177
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
5950 toolcontext__ToolContext__info(var_tc
, var177
, var178
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5954 /* method separate_compiler#SeparateCompiler#display_stats for (self: Object) */
5955 void VIRTUAL_separate_compiler__SeparateCompiler__display_stats(val
* self
) {
5956 separate_compiler__SeparateCompiler__display_stats(self
); /* Direct call separate_compiler#SeparateCompiler#display_stats on <self:Object(SeparateCompiler)>*/
5959 /* method separate_compiler#SeparateCompiler#display_sizes for (self: SeparateCompiler) */
5960 void separate_compiler__SeparateCompiler__display_sizes(val
* self
) {
5961 static val
* varonce
;
5962 val
* var
/* : String */;
5963 char* var1
/* : NativeString */;
5964 long var2
/* : Int */;
5965 val
* var3
/* : FlatString */;
5966 static val
* varonce4
;
5967 val
* var5
/* : String */;
5968 char* var6
/* : NativeString */;
5969 long var7
/* : Int */;
5970 val
* var8
/* : FlatString */;
5971 long var9
/* : Int */;
5972 long var_total
/* var total: Int */;
5973 long var10
/* : Int */;
5974 long var_holes
/* var holes: Int */;
5975 val
* var11
/* : Map[MType, Array[nullable MType]] */;
5976 val
* var13
/* : Map[MType, Array[nullable MType]] */;
5977 val
* var_
/* var : Map[MType, Array[nullable MType]] */;
5978 val
* var14
/* : MapIterator[Object, nullable Object] */;
5979 val
* var_15
/* var : MapIterator[MType, Array[nullable MType]] */;
5980 short int var16
/* : Bool */;
5981 val
* var17
/* : Object */;
5982 val
* var_t
/* var t: MType */;
5983 val
* var18
/* : nullable Object */;
5984 val
* var_table
/* var table: Array[nullable MType] */;
5985 long var19
/* : Int */;
5986 long var21
/* : Int */;
5987 long var22
/* : Int */;
5988 short int var24
/* : Bool */;
5991 const char* var_class_name
;
5992 long var25
/* : Int */;
5993 val
* var_26
/* var : Array[nullable MType] */;
5994 val
* var27
/* : ArrayIterator[nullable Object] */;
5995 val
* var_28
/* var : ArrayIterator[nullable MType] */;
5996 short int var29
/* : Bool */;
5997 val
* var30
/* : nullable Object */;
5998 val
* var_e
/* var e: nullable MType */;
5999 val
* var31
/* : null */;
6000 short int var32
/* : Bool */;
6001 short int var33
/* : Bool */;
6002 val
* var_other
/* var other: nullable Object */;
6003 short int var35
/* : Bool */;
6004 short int var37
/* : Bool */;
6005 long var38
/* : Int */;
6006 long var39
/* : Int */;
6007 short int var41
/* : Bool */;
6010 const char* var_class_name44
;
6011 long var45
/* : Int */;
6012 static val
* varonce49
;
6013 val
* var50
/* : String */;
6014 char* var51
/* : NativeString */;
6015 long var52
/* : Int */;
6016 val
* var53
/* : FlatString */;
6017 static val
* varonce54
;
6018 val
* var55
/* : String */;
6019 char* var56
/* : NativeString */;
6020 long var57
/* : Int */;
6021 val
* var58
/* : FlatString */;
6022 val
* var59
/* : Array[Object] */;
6023 long var60
/* : Int */;
6024 val
* var61
/* : NativeArray[Object] */;
6025 val
* var62
/* : Object */;
6026 val
* var63
/* : Object */;
6027 val
* var64
/* : String */;
6028 static val
* varonce65
;
6029 val
* var66
/* : String */;
6030 char* var67
/* : NativeString */;
6031 long var68
/* : Int */;
6032 val
* var69
/* : FlatString */;
6033 static val
* varonce70
;
6034 val
* var71
/* : String */;
6035 char* var72
/* : NativeString */;
6036 long var73
/* : Int */;
6037 val
* var74
/* : FlatString */;
6038 long var75
/* : Int */;
6039 long var76
/* : Int */;
6040 val
* var77
/* : Map[MClassType, Array[nullable MType]] */;
6041 val
* var79
/* : Map[MClassType, Array[nullable MType]] */;
6042 val
* var_80
/* var : Map[MClassType, Array[nullable MType]] */;
6043 val
* var81
/* : MapIterator[Object, nullable Object] */;
6044 val
* var_82
/* var : MapIterator[MClassType, Array[nullable MType]] */;
6045 short int var83
/* : Bool */;
6046 val
* var84
/* : Object */;
6047 val
* var_t85
/* var t: MClassType */;
6048 val
* var86
/* : nullable Object */;
6049 val
* var_table87
/* var table: Array[nullable MType] */;
6050 long var88
/* : Int */;
6051 long var90
/* : Int */;
6052 long var91
/* : Int */;
6053 short int var93
/* : Bool */;
6056 const char* var_class_name96
;
6057 long var97
/* : Int */;
6058 val
* var_98
/* var : Array[nullable MType] */;
6059 val
* var99
/* : ArrayIterator[nullable Object] */;
6060 val
* var_100
/* var : ArrayIterator[nullable MType] */;
6061 short int var101
/* : Bool */;
6062 val
* var102
/* : nullable Object */;
6063 val
* var_e103
/* var e: nullable MType */;
6064 val
* var104
/* : null */;
6065 short int var105
/* : Bool */;
6066 short int var106
/* : Bool */;
6067 short int var108
/* : Bool */;
6068 short int var110
/* : Bool */;
6069 long var111
/* : Int */;
6070 long var112
/* : Int */;
6071 short int var114
/* : Bool */;
6074 const char* var_class_name117
;
6075 long var118
/* : Int */;
6076 static val
* varonce123
;
6077 val
* var124
/* : String */;
6078 char* var125
/* : NativeString */;
6079 long var126
/* : Int */;
6080 val
* var127
/* : FlatString */;
6081 static val
* varonce128
;
6082 val
* var129
/* : String */;
6083 char* var130
/* : NativeString */;
6084 long var131
/* : Int */;
6085 val
* var132
/* : FlatString */;
6086 val
* var133
/* : Array[Object] */;
6087 long var134
/* : Int */;
6088 val
* var135
/* : NativeArray[Object] */;
6089 val
* var136
/* : Object */;
6090 val
* var137
/* : Object */;
6091 val
* var138
/* : String */;
6092 static val
* varonce139
;
6093 val
* var140
/* : String */;
6094 char* var141
/* : NativeString */;
6095 long var142
/* : Int */;
6096 val
* var143
/* : FlatString */;
6097 static val
* varonce144
;
6098 val
* var145
/* : String */;
6099 char* var146
/* : NativeString */;
6100 long var147
/* : Int */;
6101 val
* var148
/* : FlatString */;
6102 long var149
/* : Int */;
6103 long var150
/* : Int */;
6104 val
* var151
/* : Map[MClass, Array[nullable MPropDef]] */;
6105 val
* var153
/* : Map[MClass, Array[nullable MPropDef]] */;
6106 val
* var_154
/* var : Map[MClass, Array[nullable MPropDef]] */;
6107 val
* var155
/* : MapIterator[Object, nullable Object] */;
6108 val
* var_156
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
6109 short int var157
/* : Bool */;
6110 val
* var158
/* : Object */;
6111 val
* var_t159
/* var t: MClass */;
6112 val
* var160
/* : nullable Object */;
6113 val
* var_table161
/* var table: Array[nullable MPropDef] */;
6114 long var162
/* : Int */;
6115 long var164
/* : Int */;
6116 long var165
/* : Int */;
6117 short int var167
/* : Bool */;
6120 const char* var_class_name170
;
6121 long var171
/* : Int */;
6122 val
* var_172
/* var : Array[nullable MPropDef] */;
6123 val
* var173
/* : ArrayIterator[nullable Object] */;
6124 val
* var_174
/* var : ArrayIterator[nullable MPropDef] */;
6125 short int var175
/* : Bool */;
6126 val
* var176
/* : nullable Object */;
6127 val
* var_e177
/* var e: nullable MPropDef */;
6128 val
* var178
/* : null */;
6129 short int var179
/* : Bool */;
6130 short int var180
/* : Bool */;
6131 short int var182
/* : Bool */;
6132 short int var184
/* : Bool */;
6133 long var185
/* : Int */;
6134 long var186
/* : Int */;
6135 short int var188
/* : Bool */;
6138 const char* var_class_name191
;
6139 long var192
/* : Int */;
6140 static val
* varonce197
;
6141 val
* var198
/* : String */;
6142 char* var199
/* : NativeString */;
6143 long var200
/* : Int */;
6144 val
* var201
/* : FlatString */;
6145 static val
* varonce202
;
6146 val
* var203
/* : String */;
6147 char* var204
/* : NativeString */;
6148 long var205
/* : Int */;
6149 val
* var206
/* : FlatString */;
6150 val
* var207
/* : Array[Object] */;
6151 long var208
/* : Int */;
6152 val
* var209
/* : NativeArray[Object] */;
6153 val
* var210
/* : Object */;
6154 val
* var211
/* : Object */;
6155 val
* var212
/* : String */;
6156 static val
* varonce213
;
6157 val
* var214
/* : String */;
6158 char* var215
/* : NativeString */;
6159 long var216
/* : Int */;
6160 val
* var217
/* : FlatString */;
6161 static val
* varonce218
;
6162 val
* var219
/* : String */;
6163 char* var220
/* : NativeString */;
6164 long var221
/* : Int */;
6165 val
* var222
/* : FlatString */;
6166 long var223
/* : Int */;
6167 long var224
/* : Int */;
6168 val
* var225
/* : Map[MClass, Array[nullable MPropDef]] */;
6169 val
* var227
/* : Map[MClass, Array[nullable MPropDef]] */;
6170 val
* var_228
/* var : Map[MClass, Array[nullable MPropDef]] */;
6171 val
* var229
/* : MapIterator[Object, nullable Object] */;
6172 val
* var_230
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
6173 short int var231
/* : Bool */;
6174 val
* var232
/* : Object */;
6175 val
* var_t233
/* var t: MClass */;
6176 val
* var234
/* : nullable Object */;
6177 val
* var_table235
/* var table: Array[nullable MPropDef] */;
6178 long var236
/* : Int */;
6179 long var238
/* : Int */;
6180 long var239
/* : Int */;
6181 short int var241
/* : Bool */;
6184 const char* var_class_name244
;
6185 long var245
/* : Int */;
6186 val
* var_246
/* var : Array[nullable MPropDef] */;
6187 val
* var247
/* : ArrayIterator[nullable Object] */;
6188 val
* var_248
/* var : ArrayIterator[nullable MPropDef] */;
6189 short int var249
/* : Bool */;
6190 val
* var250
/* : nullable Object */;
6191 val
* var_e251
/* var e: nullable MPropDef */;
6192 val
* var252
/* : null */;
6193 short int var253
/* : Bool */;
6194 short int var254
/* : Bool */;
6195 short int var256
/* : Bool */;
6196 short int var258
/* : Bool */;
6197 long var259
/* : Int */;
6198 long var260
/* : Int */;
6199 short int var262
/* : Bool */;
6202 const char* var_class_name265
;
6203 long var266
/* : Int */;
6204 static val
* varonce271
;
6205 val
* var272
/* : String */;
6206 char* var273
/* : NativeString */;
6207 long var274
/* : Int */;
6208 val
* var275
/* : FlatString */;
6209 static val
* varonce276
;
6210 val
* var277
/* : String */;
6211 char* var278
/* : NativeString */;
6212 long var279
/* : Int */;
6213 val
* var280
/* : FlatString */;
6214 val
* var281
/* : Array[Object] */;
6215 long var282
/* : Int */;
6216 val
* var283
/* : NativeArray[Object] */;
6217 val
* var284
/* : Object */;
6218 val
* var285
/* : Object */;
6219 val
* var286
/* : String */;
6223 var1
= "# size of subtyping tables";
6225 var3
= string__NativeString__to_s_with_length(var1
, var2
);
6230 file__Object__print(self
, var
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6235 var6
= "\11total \11holes";
6237 var8
= string__NativeString__to_s_with_length(var6
, var7
);
6242 file__Object__print(self
, var5
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6249 { /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
6250 var13
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
6251 if (unlikely(var13
== NULL
)) {
6252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
6253 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 843);
6257 RET_LABEL12
:(void)0;
6262 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var_
) /* iterator on <var_:Map[MType, Array[nullable MType]]>*/;
6267 var16
= ((short int (*)(val
*))(var_15
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_15
) /* is_ok on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6271 var17
= ((val
* (*)(val
*))(var_15
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_15
) /* key on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6275 var18
= ((val
* (*)(val
*))(var_15
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_15
) /* item on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6279 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
6280 var21
= var_table
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
6282 RET_LABEL20
:(void)0;
6286 { /* Inline kernel#Int#+ (var_total,var19) on <var_total:Int> */
6287 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
6288 /* <var19:Int> isa OTHER */
6289 var24
= 1; /* easy <var19:Int> isa OTHER*/
6290 if (unlikely(!var24
)) {
6291 var_class_name
= type_kernel__Int
.name
;
6292 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6293 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6296 var25
= var_total
+ var19
;
6299 RET_LABEL23
:(void)0;
6305 var27
= array__AbstractArrayRead__iterator(var_26
);
6310 var29
= array__ArrayIterator__is_ok(var_28
);
6314 var30
= array__ArrayIterator__item(var_28
);
6318 if (var_e
== NULL
) {
6319 var32
= 1; /* is null */
6321 var32
= 0; /* arg is null but recv is not */
6324 { /* Inline kernel#Object#== (var_e,var31) on <var_e:nullable MType> */
6327 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable MType(MType)> */
6328 var37
= var_e
== var_other
;
6331 RET_LABEL36
:(void)0;
6336 RET_LABEL34
:(void)0;
6343 { /* Inline kernel#Int#+ (var_holes,var38) on <var_holes:Int> */
6344 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
6345 /* <var38:Int> isa OTHER */
6346 var41
= 1; /* easy <var38:Int> isa OTHER*/
6347 if (unlikely(!var41
)) {
6348 var_class_name44
= type_kernel__Int
.name
;
6349 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44
);
6350 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6353 var45
= var_holes
+ var38
;
6356 RET_LABEL40
:(void)0;
6363 array__ArrayIterator__next(var_28
); /* Direct call array#ArrayIterator#next on <var_28:ArrayIterator[nullable MType]>*/
6369 BREAK_label
: (void)0;
6371 { /* Inline abstract_collection#Iterator#finish (var_28) on <var_28:ArrayIterator[nullable MType]> */
6372 RET_LABEL46
:(void)0;
6376 ((void (*)(val
*))(var_15
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_15
) /* next on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6382 BREAK_label47
: (void)0;
6384 { /* Inline abstract_collection#MapIterator#finish (var_15) on <var_15:MapIterator[MType, Array[nullable MType]]> */
6385 RET_LABEL48
:(void)0;
6393 var53
= string__NativeString__to_s_with_length(var51
, var52
);
6402 var58
= string__NativeString__to_s_with_length(var56
, var57
);
6406 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
6407 { /* var59 = array_instance Array[Object] */
6409 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
6410 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
6411 var62
= BOX_kernel__Int(var_total
); /* autobox from Int to Object */
6412 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var62
;
6413 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
6414 var63
= BOX_kernel__Int(var_holes
); /* autobox from Int to Object */
6415 ((struct instance_array__NativeArray
*)var61
)->values
[3] = (val
*) var63
;
6417 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
6421 var64
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
6424 file__Object__print(self
, var64
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6429 var67
= "# size of resolution tables";
6431 var69
= string__NativeString__to_s_with_length(var67
, var68
);
6436 file__Object__print(self
, var66
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6441 var72
= "\11total \11holes";
6443 var74
= string__NativeString__to_s_with_length(var72
, var73
);
6448 file__Object__print(self
, var71
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6455 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
6456 var79
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
6457 if (unlikely(var79
== NULL
)) {
6458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
6459 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 844);
6463 RET_LABEL78
:(void)0;
6468 var81
= ((val
* (*)(val
*))(var_80
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var_80
) /* iterator on <var_80:Map[MClassType, Array[nullable MType]]>*/;
6473 var83
= ((short int (*)(val
*))(var_82
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_82
) /* is_ok on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6477 var84
= ((val
* (*)(val
*))(var_82
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_82
) /* key on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6481 var86
= ((val
* (*)(val
*))(var_82
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_82
) /* item on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6483 var_table87
= var86
;
6485 { /* Inline array#AbstractArrayRead#length (var_table87) on <var_table87:Array[nullable MType]> */
6486 var90
= var_table87
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_table87:Array[nullable MType]> */
6488 RET_LABEL89
:(void)0;
6492 { /* Inline kernel#Int#+ (var_total,var88) on <var_total:Int> */
6493 /* Covariant cast for argument 0 (i) <var88:Int> isa OTHER */
6494 /* <var88:Int> isa OTHER */
6495 var93
= 1; /* easy <var88:Int> isa OTHER*/
6496 if (unlikely(!var93
)) {
6497 var_class_name96
= type_kernel__Int
.name
;
6498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
6499 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6502 var97
= var_total
+ var88
;
6505 RET_LABEL92
:(void)0;
6509 var_98
= var_table87
;
6511 var99
= array__AbstractArrayRead__iterator(var_98
);
6516 var101
= array__ArrayIterator__is_ok(var_100
);
6520 var102
= array__ArrayIterator__item(var_100
);
6524 if (var_e103
== NULL
) {
6525 var105
= 1; /* is null */
6527 var105
= 0; /* arg is null but recv is not */
6530 { /* Inline kernel#Object#== (var_e103,var104) on <var_e103:nullable MType> */
6533 { /* Inline kernel#Object#is_same_instance (var_e103,var_other) on <var_e103:nullable MType(MType)> */
6534 var110
= var_e103
== var_other
;
6537 RET_LABEL109
:(void)0;
6542 RET_LABEL107
:(void)0;
6549 { /* Inline kernel#Int#+ (var_holes,var111) on <var_holes:Int> */
6550 /* Covariant cast for argument 0 (i) <var111:Int> isa OTHER */
6551 /* <var111:Int> isa OTHER */
6552 var114
= 1; /* easy <var111:Int> isa OTHER*/
6553 if (unlikely(!var114
)) {
6554 var_class_name117
= type_kernel__Int
.name
;
6555 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117
);
6556 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6559 var118
= var_holes
+ var111
;
6562 RET_LABEL113
:(void)0;
6569 array__ArrayIterator__next(var_100
); /* Direct call array#ArrayIterator#next on <var_100:ArrayIterator[nullable MType]>*/
6572 goto BREAK_label119
;
6575 BREAK_label119
: (void)0;
6577 { /* Inline abstract_collection#Iterator#finish (var_100) on <var_100:ArrayIterator[nullable MType]> */
6578 RET_LABEL120
:(void)0;
6582 ((void (*)(val
*))(var_82
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_82
) /* next on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6585 goto BREAK_label121
;
6588 BREAK_label121
: (void)0;
6590 { /* Inline abstract_collection#MapIterator#finish (var_82) on <var_82:MapIterator[MClassType, Array[nullable MType]]> */
6591 RET_LABEL122
:(void)0;
6595 var124
= varonce123
;
6599 var127
= string__NativeString__to_s_with_length(var125
, var126
);
6601 varonce123
= var124
;
6604 var129
= varonce128
;
6608 var132
= string__NativeString__to_s_with_length(var130
, var131
);
6610 varonce128
= var129
;
6612 var133
= NEW_array__Array(&type_array__Arraykernel__Object
);
6613 { /* var133 = array_instance Array[Object] */
6615 var135
= NEW_array__NativeArray(var134
, &type_array__NativeArraykernel__Object
);
6616 ((struct instance_array__NativeArray
*)var135
)->values
[0] = (val
*) var124
;
6617 var136
= BOX_kernel__Int(var_total
); /* autobox from Int to Object */
6618 ((struct instance_array__NativeArray
*)var135
)->values
[1] = (val
*) var136
;
6619 ((struct instance_array__NativeArray
*)var135
)->values
[2] = (val
*) var129
;
6620 var137
= BOX_kernel__Int(var_holes
); /* autobox from Int to Object */
6621 ((struct instance_array__NativeArray
*)var135
)->values
[3] = (val
*) var137
;
6623 ((void (*)(val
*, val
*, long))(var133
->class->vft
[COLOR_array__Array__with_native
]))(var133
, var135
, var134
) /* with_native on <var133:Array[Object]>*/;
6627 var138
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_string__Object__to_s
]))(var133
) /* to_s on <var133:Array[Object]>*/;
6630 file__Object__print(self
, var138
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6633 var140
= varonce139
;
6635 var141
= "# size of methods tables";
6637 var143
= string__NativeString__to_s_with_length(var141
, var142
);
6639 varonce139
= var140
;
6642 file__Object__print(self
, var140
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6645 var145
= varonce144
;
6647 var146
= "\11total \11holes";
6649 var148
= string__NativeString__to_s_with_length(var146
, var147
);
6651 varonce144
= var145
;
6654 file__Object__print(self
, var145
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6661 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
6662 var153
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
6663 if (unlikely(var153
== NULL
)) {
6664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
6665 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 845);
6669 RET_LABEL152
:(void)0;
6674 var155
= ((val
* (*)(val
*))(var_154
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var_154
) /* iterator on <var_154:Map[MClass, Array[nullable MPropDef]]>*/;
6679 var157
= ((short int (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_156
) /* is_ok on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6683 var158
= ((val
* (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_156
) /* key on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6687 var160
= ((val
* (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_156
) /* item on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6689 var_table161
= var160
;
6691 { /* Inline array#AbstractArrayRead#length (var_table161) on <var_table161:Array[nullable MPropDef]> */
6692 var164
= var_table161
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_table161:Array[nullable MPropDef]> */
6694 RET_LABEL163
:(void)0;
6698 { /* Inline kernel#Int#+ (var_total,var162) on <var_total:Int> */
6699 /* Covariant cast for argument 0 (i) <var162:Int> isa OTHER */
6700 /* <var162:Int> isa OTHER */
6701 var167
= 1; /* easy <var162:Int> isa OTHER*/
6702 if (unlikely(!var167
)) {
6703 var_class_name170
= type_kernel__Int
.name
;
6704 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name170
);
6705 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6708 var171
= var_total
+ var162
;
6711 RET_LABEL166
:(void)0;
6715 var_172
= var_table161
;
6717 var173
= array__AbstractArrayRead__iterator(var_172
);
6722 var175
= array__ArrayIterator__is_ok(var_174
);
6726 var176
= array__ArrayIterator__item(var_174
);
6730 if (var_e177
== NULL
) {
6731 var179
= 1; /* is null */
6733 var179
= 0; /* arg is null but recv is not */
6736 { /* Inline kernel#Object#== (var_e177,var178) on <var_e177:nullable MPropDef> */
6739 { /* Inline kernel#Object#is_same_instance (var_e177,var_other) on <var_e177:nullable MPropDef(MPropDef)> */
6740 var184
= var_e177
== var_other
;
6743 RET_LABEL183
:(void)0;
6748 RET_LABEL181
:(void)0;
6755 { /* Inline kernel#Int#+ (var_holes,var185) on <var_holes:Int> */
6756 /* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
6757 /* <var185:Int> isa OTHER */
6758 var188
= 1; /* easy <var185:Int> isa OTHER*/
6759 if (unlikely(!var188
)) {
6760 var_class_name191
= type_kernel__Int
.name
;
6761 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name191
);
6762 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6765 var192
= var_holes
+ var185
;
6768 RET_LABEL187
:(void)0;
6775 array__ArrayIterator__next(var_174
); /* Direct call array#ArrayIterator#next on <var_174:ArrayIterator[nullable MPropDef]>*/
6778 goto BREAK_label193
;
6781 BREAK_label193
: (void)0;
6783 { /* Inline abstract_collection#Iterator#finish (var_174) on <var_174:ArrayIterator[nullable MPropDef]> */
6784 RET_LABEL194
:(void)0;
6788 ((void (*)(val
*))(var_156
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_156
) /* next on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6791 goto BREAK_label195
;
6794 BREAK_label195
: (void)0;
6796 { /* Inline abstract_collection#MapIterator#finish (var_156) on <var_156:MapIterator[MClass, Array[nullable MPropDef]]> */
6797 RET_LABEL196
:(void)0;
6801 var198
= varonce197
;
6805 var201
= string__NativeString__to_s_with_length(var199
, var200
);
6807 varonce197
= var198
;
6810 var203
= varonce202
;
6814 var206
= string__NativeString__to_s_with_length(var204
, var205
);
6816 varonce202
= var203
;
6818 var207
= NEW_array__Array(&type_array__Arraykernel__Object
);
6819 { /* var207 = array_instance Array[Object] */
6821 var209
= NEW_array__NativeArray(var208
, &type_array__NativeArraykernel__Object
);
6822 ((struct instance_array__NativeArray
*)var209
)->values
[0] = (val
*) var198
;
6823 var210
= BOX_kernel__Int(var_total
); /* autobox from Int to Object */
6824 ((struct instance_array__NativeArray
*)var209
)->values
[1] = (val
*) var210
;
6825 ((struct instance_array__NativeArray
*)var209
)->values
[2] = (val
*) var203
;
6826 var211
= BOX_kernel__Int(var_holes
); /* autobox from Int to Object */
6827 ((struct instance_array__NativeArray
*)var209
)->values
[3] = (val
*) var211
;
6829 ((void (*)(val
*, val
*, long))(var207
->class->vft
[COLOR_array__Array__with_native
]))(var207
, var209
, var208
) /* with_native on <var207:Array[Object]>*/;
6833 var212
= ((val
* (*)(val
*))(var207
->class->vft
[COLOR_string__Object__to_s
]))(var207
) /* to_s on <var207:Array[Object]>*/;
6836 file__Object__print(self
, var212
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6839 var214
= varonce213
;
6841 var215
= "# size of attributes tables";
6843 var217
= string__NativeString__to_s_with_length(var215
, var216
);
6845 varonce213
= var214
;
6848 file__Object__print(self
, var214
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6851 var219
= varonce218
;
6853 var220
= "\11total \11holes";
6855 var222
= string__NativeString__to_s_with_length(var220
, var221
);
6857 varonce218
= var219
;
6860 file__Object__print(self
, var219
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6867 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
6868 var227
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
6869 if (unlikely(var227
== NULL
)) {
6870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
6871 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 846);
6875 RET_LABEL226
:(void)0;
6880 var229
= ((val
* (*)(val
*))(var_228
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var_228
) /* iterator on <var_228:Map[MClass, Array[nullable MPropDef]]>*/;
6885 var231
= ((short int (*)(val
*))(var_230
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_230
) /* is_ok on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6889 var232
= ((val
* (*)(val
*))(var_230
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_230
) /* key on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6893 var234
= ((val
* (*)(val
*))(var_230
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_230
) /* item on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6895 var_table235
= var234
;
6897 { /* Inline array#AbstractArrayRead#length (var_table235) on <var_table235:Array[nullable MPropDef]> */
6898 var238
= var_table235
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_table235:Array[nullable MPropDef]> */
6900 RET_LABEL237
:(void)0;
6904 { /* Inline kernel#Int#+ (var_total,var236) on <var_total:Int> */
6905 /* Covariant cast for argument 0 (i) <var236:Int> isa OTHER */
6906 /* <var236:Int> isa OTHER */
6907 var241
= 1; /* easy <var236:Int> isa OTHER*/
6908 if (unlikely(!var241
)) {
6909 var_class_name244
= type_kernel__Int
.name
;
6910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name244
);
6911 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6914 var245
= var_total
+ var236
;
6917 RET_LABEL240
:(void)0;
6921 var_246
= var_table235
;
6923 var247
= array__AbstractArrayRead__iterator(var_246
);
6928 var249
= array__ArrayIterator__is_ok(var_248
);
6932 var250
= array__ArrayIterator__item(var_248
);
6936 if (var_e251
== NULL
) {
6937 var253
= 1; /* is null */
6939 var253
= 0; /* arg is null but recv is not */
6942 { /* Inline kernel#Object#== (var_e251,var252) on <var_e251:nullable MPropDef> */
6945 { /* Inline kernel#Object#is_same_instance (var_e251,var_other) on <var_e251:nullable MPropDef(MPropDef)> */
6946 var258
= var_e251
== var_other
;
6949 RET_LABEL257
:(void)0;
6954 RET_LABEL255
:(void)0;
6961 { /* Inline kernel#Int#+ (var_holes,var259) on <var_holes:Int> */
6962 /* Covariant cast for argument 0 (i) <var259:Int> isa OTHER */
6963 /* <var259:Int> isa OTHER */
6964 var262
= 1; /* easy <var259:Int> isa OTHER*/
6965 if (unlikely(!var262
)) {
6966 var_class_name265
= type_kernel__Int
.name
;
6967 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name265
);
6968 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6971 var266
= var_holes
+ var259
;
6974 RET_LABEL261
:(void)0;
6981 array__ArrayIterator__next(var_248
); /* Direct call array#ArrayIterator#next on <var_248:ArrayIterator[nullable MPropDef]>*/
6984 goto BREAK_label267
;
6987 BREAK_label267
: (void)0;
6989 { /* Inline abstract_collection#Iterator#finish (var_248) on <var_248:ArrayIterator[nullable MPropDef]> */
6990 RET_LABEL268
:(void)0;
6994 ((void (*)(val
*))(var_230
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_230
) /* next on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6997 goto BREAK_label269
;
7000 BREAK_label269
: (void)0;
7002 { /* Inline abstract_collection#MapIterator#finish (var_230) on <var_230:MapIterator[MClass, Array[nullable MPropDef]]> */
7003 RET_LABEL270
:(void)0;
7007 var272
= varonce271
;
7011 var275
= string__NativeString__to_s_with_length(var273
, var274
);
7013 varonce271
= var272
;
7016 var277
= varonce276
;
7020 var280
= string__NativeString__to_s_with_length(var278
, var279
);
7022 varonce276
= var277
;
7024 var281
= NEW_array__Array(&type_array__Arraykernel__Object
);
7025 { /* var281 = array_instance Array[Object] */
7027 var283
= NEW_array__NativeArray(var282
, &type_array__NativeArraykernel__Object
);
7028 ((struct instance_array__NativeArray
*)var283
)->values
[0] = (val
*) var272
;
7029 var284
= BOX_kernel__Int(var_total
); /* autobox from Int to Object */
7030 ((struct instance_array__NativeArray
*)var283
)->values
[1] = (val
*) var284
;
7031 ((struct instance_array__NativeArray
*)var283
)->values
[2] = (val
*) var277
;
7032 var285
= BOX_kernel__Int(var_holes
); /* autobox from Int to Object */
7033 ((struct instance_array__NativeArray
*)var283
)->values
[3] = (val
*) var285
;
7035 ((void (*)(val
*, val
*, long))(var281
->class->vft
[COLOR_array__Array__with_native
]))(var281
, var283
, var282
) /* with_native on <var281:Array[Object]>*/;
7039 var286
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_string__Object__to_s
]))(var281
) /* to_s on <var281:Array[Object]>*/;
7042 file__Object__print(self
, var286
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
7046 /* method separate_compiler#SeparateCompiler#display_sizes for (self: Object) */
7047 void VIRTUAL_separate_compiler__SeparateCompiler__display_sizes(val
* self
) {
7048 separate_compiler__SeparateCompiler__display_sizes(self
); /* Direct call separate_compiler#SeparateCompiler#display_sizes on <self:Object(SeparateCompiler)>*/
7051 /* method separate_compiler#SeparateCompiler#isset_checks_count for (self: SeparateCompiler): Int */
7052 long separate_compiler__SeparateCompiler__isset_checks_count(val
* self
) {
7053 long var
/* : Int */;
7054 long var1
/* : Int */;
7055 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
7060 /* method separate_compiler#SeparateCompiler#isset_checks_count for (self: Object): Int */
7061 long VIRTUAL_separate_compiler__SeparateCompiler__isset_checks_count(val
* self
) {
7062 long var
/* : Int */;
7063 long var1
/* : Int */;
7064 long var3
/* : Int */;
7065 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (self) on <self:Object(SeparateCompiler)> */
7066 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:Object(SeparateCompiler)> */
7074 /* method separate_compiler#SeparateCompiler#isset_checks_count= for (self: SeparateCompiler, Int) */
7075 void separate_compiler__SeparateCompiler__isset_checks_count_61d(val
* self
, long p0
) {
7076 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= p0
; /* _isset_checks_count on <self:SeparateCompiler> */
7079 /* method separate_compiler#SeparateCompiler#isset_checks_count= for (self: Object, Int) */
7080 void VIRTUAL_separate_compiler__SeparateCompiler__isset_checks_count_61d(val
* self
, long p0
) {
7081 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count= (self,p0) on <self:Object(SeparateCompiler)> */
7082 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
= p0
; /* _isset_checks_count on <self:Object(SeparateCompiler)> */
7087 /* method separate_compiler#SeparateCompiler#attr_read_count for (self: SeparateCompiler): Int */
7088 long separate_compiler__SeparateCompiler__attr_read_count(val
* self
) {
7089 long var
/* : Int */;
7090 long var1
/* : Int */;
7091 var1
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
7096 /* method separate_compiler#SeparateCompiler#attr_read_count for (self: Object): Int */
7097 long VIRTUAL_separate_compiler__SeparateCompiler__attr_read_count(val
* self
) {
7098 long var
/* : Int */;
7099 long var1
/* : Int */;
7100 long var3
/* : Int */;
7101 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (self) on <self:Object(SeparateCompiler)> */
7102 var3
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:Object(SeparateCompiler)> */
7110 /* method separate_compiler#SeparateCompiler#attr_read_count= for (self: SeparateCompiler, Int) */
7111 void separate_compiler__SeparateCompiler__attr_read_count_61d(val
* self
, long p0
) {
7112 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
= p0
; /* _attr_read_count on <self:SeparateCompiler> */
7115 /* method separate_compiler#SeparateCompiler#attr_read_count= for (self: Object, Int) */
7116 void VIRTUAL_separate_compiler__SeparateCompiler__attr_read_count_61d(val
* self
, long p0
) {
7117 { /* Inline separate_compiler#SeparateCompiler#attr_read_count= (self,p0) on <self:Object(SeparateCompiler)> */
7118 self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
= p0
; /* _attr_read_count on <self:Object(SeparateCompiler)> */
7123 /* method separate_compiler#SeparateCompiler#display_isset_checks for (self: SeparateCompiler) */
7124 void separate_compiler__SeparateCompiler__display_isset_checks(val
* self
) {
7125 static val
* varonce
;
7126 val
* var
/* : String */;
7127 char* var1
/* : NativeString */;
7128 long var2
/* : Int */;
7129 val
* var3
/* : FlatString */;
7130 static val
* varonce4
;
7131 val
* var5
/* : String */;
7132 char* var6
/* : NativeString */;
7133 long var7
/* : Int */;
7134 val
* var8
/* : FlatString */;
7135 long var9
/* : Int */;
7136 long var11
/* : Int */;
7137 val
* var12
/* : Array[Object] */;
7138 long var13
/* : Int */;
7139 val
* var14
/* : NativeArray[Object] */;
7140 val
* var15
/* : Object */;
7141 val
* var16
/* : String */;
7142 static val
* varonce17
;
7143 val
* var18
/* : String */;
7144 char* var19
/* : NativeString */;
7145 long var20
/* : Int */;
7146 val
* var21
/* : FlatString */;
7147 static val
* varonce22
;
7148 val
* var23
/* : String */;
7149 char* var24
/* : NativeString */;
7150 long var25
/* : Int */;
7151 val
* var26
/* : FlatString */;
7152 long var27
/* : Int */;
7153 long var29
/* : Int */;
7154 val
* var30
/* : Array[Object] */;
7155 long var31
/* : Int */;
7156 val
* var32
/* : NativeArray[Object] */;
7157 val
* var33
/* : Object */;
7158 val
* var34
/* : String */;
7162 var1
= "# total number of compiled attribute reads";
7164 var3
= string__NativeString__to_s_with_length(var1
, var2
);
7169 file__Object__print(self
, var
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
7176 var8
= string__NativeString__to_s_with_length(var6
, var7
);
7181 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (self) on <self:SeparateCompiler> */
7182 var11
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
7184 RET_LABEL10
:(void)0;
7187 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
7188 { /* var12 = array_instance Array[Object] */
7190 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraykernel__Object
);
7191 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var5
;
7192 var15
= BOX_kernel__Int(var9
); /* autobox from Int to Object */
7193 ((struct instance_array__NativeArray
*)var14
)->values
[1] = (val
*) var15
;
7195 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Object]>*/;
7199 var16
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__Object__to_s
]))(var12
) /* to_s on <var12:Array[Object]>*/;
7202 file__Object__print(self
, var16
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
7207 var19
= "# total number of compiled isset-checks";
7209 var21
= string__NativeString__to_s_with_length(var19
, var20
);
7214 file__Object__print(self
, var18
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
7221 var26
= string__NativeString__to_s_with_length(var24
, var25
);
7226 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (self) on <self:SeparateCompiler> */
7227 var29
= self
->attrs
[COLOR_separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
7229 RET_LABEL28
:(void)0;
7232 var30
= NEW_array__Array(&type_array__Arraykernel__Object
);
7233 { /* var30 = array_instance Array[Object] */
7235 var32
= NEW_array__NativeArray(var31
, &type_array__NativeArraykernel__Object
);
7236 ((struct instance_array__NativeArray
*)var32
)->values
[0] = (val
*) var23
;
7237 var33
= BOX_kernel__Int(var27
); /* autobox from Int to Object */
7238 ((struct instance_array__NativeArray
*)var32
)->values
[1] = (val
*) var33
;
7240 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
7244 var34
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
7247 file__Object__print(self
, var34
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
7251 /* method separate_compiler#SeparateCompiler#display_isset_checks for (self: Object) */
7252 void VIRTUAL_separate_compiler__SeparateCompiler__display_isset_checks(val
* self
) {
7253 separate_compiler__SeparateCompiler__display_isset_checks(self
); /* Direct call separate_compiler#SeparateCompiler#display_isset_checks on <self:Object(SeparateCompiler)>*/
7256 /* method separate_compiler#SeparateCompiler#compile_nitni_structs for (self: SeparateCompiler) */
7257 void separate_compiler__SeparateCompiler__compile_nitni_structs(val
* self
) {
7258 val
* var
/* : CodeWriter */;
7259 val
* var2
/* : CodeWriter */;
7260 static val
* varonce
;
7261 val
* var3
/* : String */;
7262 char* var4
/* : NativeString */;
7263 long var5
/* : Int */;
7264 val
* var6
/* : FlatString */;
7266 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
7267 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
7268 if (unlikely(var2
== NULL
)) {
7269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
7270 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
7280 var4
= "struct nitni_instance {\n\11struct nitni_instance *next,\n\11\11*prev; /* adjacent global references in global list */\n\11int count; /* number of time this global reference has been marked */\n\11struct instance *value;\n};\n";
7282 var6
= string__NativeString__to_s_with_length(var4
, var5
);
7287 abstract_compiler__CodeWriter__add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
7290 ((void (*)(val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompiler__compile_nitni_structs
]))(self
) /* compile_nitni_structs on <self:SeparateCompiler>*/;
7294 /* method separate_compiler#SeparateCompiler#compile_nitni_structs for (self: Object) */
7295 void VIRTUAL_separate_compiler__SeparateCompiler__compile_nitni_structs(val
* self
) {
7296 separate_compiler__SeparateCompiler__compile_nitni_structs(self
); /* Direct call separate_compiler#SeparateCompiler#compile_nitni_structs on <self:Object(SeparateCompiler)>*/
7299 /* method separate_compiler#SeparateCompiler#finalize_ffi_for_module for (self: SeparateCompiler, MModule) */
7300 void separate_compiler__SeparateCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
7301 val
* var_mmodule
/* var mmodule: MModule */;
7302 val
* var
/* : MModule */;
7303 val
* var2
/* : MModule */;
7304 val
* var_old_module
/* var old_module: MModule */;
7307 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
7308 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7309 if (unlikely(var2
== NULL
)) {
7310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7311 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7318 var_old_module
= var
;
7320 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
7321 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var_mmodule
; /* _mainmodule on <self:SeparateCompiler> */
7326 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_separate_compiler__SeparateCompiler__finalize_ffi_for_module
]))(self
, p0
) /* finalize_ffi_for_module on <self:SeparateCompiler>*/;
7329 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
7330 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
= var_old_module
; /* _mainmodule on <self:SeparateCompiler> */
7336 /* method separate_compiler#SeparateCompiler#finalize_ffi_for_module for (self: Object, MModule) */
7337 void VIRTUAL_separate_compiler__SeparateCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
7338 separate_compiler__SeparateCompiler__finalize_ffi_for_module(self
, p0
); /* Direct call separate_compiler#SeparateCompiler#finalize_ffi_for_module on <self:Object(SeparateCompiler)>*/
7341 /* method separate_compiler#SeparateCompilerVisitor#adapt_signature for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7342 void separate_compiler__SeparateCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7343 val
* var_m
/* var m: MMethodDef */;
7344 val
* var_args
/* var args: Array[RuntimeVariable] */;
7345 val
* var
/* : nullable MSignature */;
7346 val
* var2
/* : nullable MSignature */;
7347 val
* var3
/* : MClassDef */;
7348 val
* var5
/* : MClassDef */;
7349 val
* var6
/* : MClassType */;
7350 val
* var8
/* : MClassType */;
7351 val
* var9
/* : MClassDef */;
7352 val
* var11
/* : MClassDef */;
7353 val
* var12
/* : MClassType */;
7354 val
* var14
/* : MClassType */;
7355 val
* var15
/* : MClassDef */;
7356 val
* var17
/* : MClassDef */;
7357 val
* var18
/* : MModule */;
7358 val
* var20
/* : MModule */;
7359 short int var21
/* : Bool */;
7360 val
* var22
/* : MSignature */;
7361 val
* var_msignature
/* var msignature: MSignature */;
7362 val
* var23
/* : nullable Object */;
7363 val
* var_recv
/* var recv: RuntimeVariable */;
7364 val
* var24
/* : MType */;
7365 val
* var26
/* : MType */;
7366 val
* var27
/* : String */;
7367 val
* var28
/* : MClassDef */;
7368 val
* var30
/* : MClassDef */;
7369 val
* var31
/* : MClass */;
7370 val
* var33
/* : MClass */;
7371 val
* var34
/* : MClassType */;
7372 val
* var36
/* : MClassType */;
7373 val
* var37
/* : String */;
7374 short int var38
/* : Bool */;
7375 short int var39
/* : Bool */;
7376 val
* var_other
/* var other: nullable Object */;
7377 short int var41
/* : Bool */;
7378 short int var42
/* : Bool */;
7379 short int var43
/* : Bool */;
7380 val
* var44
/* : nullable Object */;
7381 val
* var45
/* : MClassDef */;
7382 val
* var47
/* : MClassDef */;
7383 val
* var48
/* : MClass */;
7384 val
* var50
/* : MClass */;
7385 val
* var51
/* : MClassType */;
7386 val
* var53
/* : MClassType */;
7387 val
* var54
/* : RuntimeVariable */;
7388 long var55
/* : Int */;
7389 long var_i
/* var i: Int */;
7390 long var56
/* : Int */;
7391 long var_
/* var : Int */;
7392 short int var57
/* : Bool */;
7393 short int var59
/* : Bool */;
7396 const char* var_class_name
;
7397 short int var60
/* : Bool */;
7398 val
* var61
/* : Array[MParameter] */;
7399 val
* var63
/* : Array[MParameter] */;
7400 val
* var64
/* : nullable Object */;
7401 val
* var65
/* : MType */;
7402 val
* var67
/* : MType */;
7403 val
* var_t
/* var t: MType */;
7404 long var68
/* : Int */;
7405 long var70
/* : Int */;
7406 short int var71
/* : Bool */;
7407 short int var72
/* : Bool */;
7408 short int var74
/* : Bool */;
7409 long var75
/* : Int */;
7410 long var76
/* : Int */;
7411 short int var78
/* : Bool */;
7414 const char* var_class_name81
;
7415 long var82
/* : Int */;
7416 val
* var83
/* : nullable Object */;
7417 val
* var84
/* : MType */;
7418 val
* var86
/* : MType */;
7419 long var87
/* : Int */;
7420 long var88
/* : Int */;
7421 short int var90
/* : Bool */;
7424 const char* var_class_name93
;
7425 long var94
/* : Int */;
7426 long var95
/* : Int */;
7427 long var96
/* : Int */;
7428 short int var98
/* : Bool */;
7431 const char* var_class_name101
;
7432 long var102
/* : Int */;
7433 val
* var103
/* : nullable Object */;
7434 val
* var104
/* : RuntimeVariable */;
7435 long var105
/* : Int */;
7436 long var106
/* : Int */;
7440 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
7441 var2
= var_m
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
7447 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7448 var5
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7449 if (unlikely(var5
== NULL
)) {
7450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7451 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7459 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
7460 var8
= var3
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
7461 if (unlikely(var8
== NULL
)) {
7462 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7463 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
7471 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7472 var11
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7473 if (unlikely(var11
== NULL
)) {
7474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7475 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7479 RET_LABEL10
:(void)0;
7483 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
7484 var14
= var9
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
7485 if (unlikely(var14
== NULL
)) {
7486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7487 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
7491 RET_LABEL13
:(void)0;
7495 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7496 var17
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7497 if (unlikely(var17
== NULL
)) {
7498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7499 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7503 RET_LABEL16
:(void)0;
7507 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
7508 var20
= var15
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
7509 if (unlikely(var20
== NULL
)) {
7510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7511 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
7515 RET_LABEL19
:(void)0;
7520 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7521 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 949);
7524 var22
= model__MSignature__resolve_for(var
, var6
, var12
, var18
, var21
);
7526 var_msignature
= var22
;
7528 var23
= abstract_collection__SequenceRead__first(var_args
);
7532 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
7533 var26
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
7534 if (unlikely(var26
== NULL
)) {
7535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7536 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
7540 RET_LABEL25
:(void)0;
7544 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var24
) /* ctype on <var24:MType>*/;
7547 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7548 var30
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7549 if (unlikely(var30
== NULL
)) {
7550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7551 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7555 RET_LABEL29
:(void)0;
7559 { /* Inline model#MClassDef#mclass (var28) on <var28:MClassDef> */
7560 var33
= var28
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var28:MClassDef> */
7561 if (unlikely(var33
== NULL
)) {
7562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7563 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
7567 RET_LABEL32
:(void)0;
7571 { /* Inline model#MClass#mclass_type (var31) on <var31:MClass> */
7572 var36
= var31
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var31:MClass> */
7573 if (unlikely(var36
== NULL
)) {
7574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7575 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
7579 RET_LABEL35
:(void)0;
7583 var37
= abstract_compiler__MClassType__ctype(var34
);
7586 { /* Inline kernel#Object#!= (var27,var37) on <var27:String> */
7589 var42
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var_other
) /* == on <var27:String>*/;
7595 RET_LABEL40
:(void)0;
7601 var44
= abstract_collection__SequenceRead__first(var_args
);
7604 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7605 var47
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7606 if (unlikely(var47
== NULL
)) {
7607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7608 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7612 RET_LABEL46
:(void)0;
7616 { /* Inline model#MClassDef#mclass (var45) on <var45:MClassDef> */
7617 var50
= var45
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var45:MClassDef> */
7618 if (unlikely(var50
== NULL
)) {
7619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7620 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
7624 RET_LABEL49
:(void)0;
7628 { /* Inline model#MClass#mclass_type (var48) on <var48:MClass> */
7629 var53
= var48
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var48:MClass> */
7630 if (unlikely(var53
== NULL
)) {
7631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7632 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
7636 RET_LABEL52
:(void)0;
7640 var54
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var44
, var51
);
7643 abstract_collection__Sequence__first_61d(var_args
, var54
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
7650 var56
= model__MSignature__arity(var_msignature
);
7655 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
7656 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
7657 /* <var_:Int> isa OTHER */
7658 var59
= 1; /* easy <var_:Int> isa OTHER*/
7659 if (unlikely(!var59
)) {
7660 var_class_name
= type_kernel__Int
.name
;
7661 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7662 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
7665 var60
= var_i
< var_
;
7668 RET_LABEL58
:(void)0;
7673 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
7674 var63
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7675 if (unlikely(var63
== NULL
)) {
7676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7677 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
7681 RET_LABEL62
:(void)0;
7685 var64
= array__Array___91d_93d(var61
, var_i
);
7688 { /* Inline model#MParameter#mtype (var64) on <var64:nullable Object(MParameter)> */
7689 var67
= var64
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var64:nullable Object(MParameter)> */
7690 if (unlikely(var67
== NULL
)) {
7691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7692 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
7696 RET_LABEL66
:(void)0;
7701 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
7702 var70
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
7704 RET_LABEL69
:(void)0;
7708 { /* Inline kernel#Int#== (var_i,var68) on <var_i:Int> */
7709 var74
= var_i
== var68
;
7712 RET_LABEL73
:(void)0;
7719 { /* Inline kernel#Int#+ (var_i,var75) on <var_i:Int> */
7720 /* Covariant cast for argument 0 (i) <var75:Int> isa OTHER */
7721 /* <var75:Int> isa OTHER */
7722 var78
= 1; /* easy <var75:Int> isa OTHER*/
7723 if (unlikely(!var78
)) {
7724 var_class_name81
= type_kernel__Int
.name
;
7725 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
7726 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7729 var82
= var_i
+ var75
;
7732 RET_LABEL77
:(void)0;
7736 var83
= array__Array___91d_93d(var_args
, var76
);
7739 { /* Inline abstract_compiler#RuntimeVariable#mtype (var83) on <var83:nullable Object(RuntimeVariable)> */
7740 var86
= var83
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var83:nullable Object(RuntimeVariable)> */
7741 if (unlikely(var86
== NULL
)) {
7742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7743 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
7747 RET_LABEL85
:(void)0;
7755 { /* Inline kernel#Int#+ (var_i,var87) on <var_i:Int> */
7756 /* Covariant cast for argument 0 (i) <var87:Int> isa OTHER */
7757 /* <var87:Int> isa OTHER */
7758 var90
= 1; /* easy <var87:Int> isa OTHER*/
7759 if (unlikely(!var90
)) {
7760 var_class_name93
= type_kernel__Int
.name
;
7761 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93
);
7762 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7765 var94
= var_i
+ var87
;
7768 RET_LABEL89
:(void)0;
7773 { /* Inline kernel#Int#+ (var_i,var95) on <var_i:Int> */
7774 /* Covariant cast for argument 0 (i) <var95:Int> isa OTHER */
7775 /* <var95:Int> isa OTHER */
7776 var98
= 1; /* easy <var95:Int> isa OTHER*/
7777 if (unlikely(!var98
)) {
7778 var_class_name101
= type_kernel__Int
.name
;
7779 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name101
);
7780 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7783 var102
= var_i
+ var95
;
7786 RET_LABEL97
:(void)0;
7790 var103
= array__Array___91d_93d(var_args
, var96
);
7793 var104
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var103
, var_t
);
7796 array__Array___91d_93d_61d(var_args
, var88
, var104
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
7800 var106
= kernel__Int__successor(var_i
, var105
);
7807 BREAK_label
: (void)0;
7810 /* method separate_compiler#SeparateCompilerVisitor#adapt_signature for (self: Object, MMethodDef, Array[RuntimeVariable]) */
7811 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7812 separate_compiler__SeparateCompilerVisitor__adapt_signature(self
, p0
, p1
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <self:Object(SeparateCompilerVisitor)>*/
7815 /* method separate_compiler#SeparateCompilerVisitor#unbox_signature_extern for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7816 void separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(val
* self
, val
* p0
, val
* p1
) {
7817 val
* var_m
/* var m: MMethodDef */;
7818 val
* var_args
/* var args: Array[RuntimeVariable] */;
7819 val
* var
/* : nullable MSignature */;
7820 val
* var2
/* : nullable MSignature */;
7821 val
* var3
/* : MClassDef */;
7822 val
* var5
/* : MClassDef */;
7823 val
* var6
/* : MClassType */;
7824 val
* var8
/* : MClassType */;
7825 val
* var9
/* : MClassDef */;
7826 val
* var11
/* : MClassDef */;
7827 val
* var12
/* : MClassType */;
7828 val
* var14
/* : MClassType */;
7829 val
* var15
/* : MClassDef */;
7830 val
* var17
/* : MClassDef */;
7831 val
* var18
/* : MModule */;
7832 val
* var20
/* : MModule */;
7833 short int var21
/* : Bool */;
7834 val
* var22
/* : MSignature */;
7835 val
* var_msignature
/* var msignature: MSignature */;
7836 short int var23
/* : Bool */;
7837 val
* var24
/* : MProperty */;
7838 val
* var26
/* : MProperty */;
7839 short int var27
/* : Bool */;
7840 short int var29
/* : Bool */;
7841 short int var30
/* : Bool */;
7842 short int var_
/* var : Bool */;
7843 short int var31
/* : Bool */;
7844 short int var33
/* : Bool */;
7845 val
* var34
/* : nullable Object */;
7846 val
* var35
/* : MClassDef */;
7847 val
* var37
/* : MClassDef */;
7848 val
* var38
/* : MClass */;
7849 val
* var40
/* : MClass */;
7850 val
* var41
/* : MClassType */;
7851 val
* var43
/* : MClassType */;
7852 val
* var44
/* : RuntimeVariable */;
7853 long var45
/* : Int */;
7854 long var_i
/* var i: Int */;
7855 long var46
/* : Int */;
7856 long var_47
/* var : Int */;
7857 short int var48
/* : Bool */;
7858 short int var50
/* : Bool */;
7861 const char* var_class_name
;
7862 short int var51
/* : Bool */;
7863 val
* var52
/* : Array[MParameter] */;
7864 val
* var54
/* : Array[MParameter] */;
7865 val
* var55
/* : nullable Object */;
7866 val
* var56
/* : MType */;
7867 val
* var58
/* : MType */;
7868 val
* var_t
/* var t: MType */;
7869 long var59
/* : Int */;
7870 long var61
/* : Int */;
7871 short int var62
/* : Bool */;
7872 short int var63
/* : Bool */;
7873 short int var65
/* : Bool */;
7874 long var66
/* : Int */;
7875 long var67
/* : Int */;
7876 short int var69
/* : Bool */;
7879 const char* var_class_name72
;
7880 long var73
/* : Int */;
7881 val
* var74
/* : nullable Object */;
7882 val
* var75
/* : MType */;
7883 val
* var77
/* : MType */;
7884 short int var78
/* : Bool */;
7885 short int var80
/* : Bool */;
7886 long var81
/* : Int */;
7887 long var82
/* : Int */;
7888 short int var84
/* : Bool */;
7891 const char* var_class_name87
;
7892 long var88
/* : Int */;
7893 long var89
/* : Int */;
7894 long var90
/* : Int */;
7895 short int var92
/* : Bool */;
7898 const char* var_class_name95
;
7899 long var96
/* : Int */;
7900 val
* var97
/* : nullable Object */;
7901 val
* var98
/* : RuntimeVariable */;
7902 long var99
/* : Int */;
7903 long var100
/* : Int */;
7907 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
7908 var2
= var_m
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
7914 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7915 var5
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7916 if (unlikely(var5
== NULL
)) {
7917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7918 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7926 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
7927 var8
= var3
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
7928 if (unlikely(var8
== NULL
)) {
7929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7930 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
7938 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7939 var11
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7940 if (unlikely(var11
== NULL
)) {
7941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7942 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7946 RET_LABEL10
:(void)0;
7950 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
7951 var14
= var9
->attrs
[COLOR_model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
7952 if (unlikely(var14
== NULL
)) {
7953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7954 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 495);
7958 RET_LABEL13
:(void)0;
7962 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7963 var17
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7964 if (unlikely(var17
== NULL
)) {
7965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7966 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
7970 RET_LABEL16
:(void)0;
7974 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
7975 var20
= var15
->attrs
[COLOR_model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
7976 if (unlikely(var20
== NULL
)) {
7977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7978 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 489);
7982 RET_LABEL19
:(void)0;
7987 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7988 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 965);
7991 var22
= model__MSignature__resolve_for(var
, var6
, var12
, var18
, var21
);
7993 var_msignature
= var22
;
7995 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
7996 var26
= var_m
->attrs
[COLOR_model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
7997 if (unlikely(var26
== NULL
)) {
7998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7999 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1898);
8003 RET_LABEL25
:(void)0;
8007 { /* Inline model#MMethod#is_init (var24) on <var24:MProperty(MMethod)> */
8008 var29
= var24
->attrs
[COLOR_model__MMethod___is_init
].s
; /* _is_init on <var24:MProperty(MMethod)> */
8010 RET_LABEL28
:(void)0;
8017 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8018 var33
= var_m
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8020 RET_LABEL32
:(void)0;
8029 var34
= abstract_collection__SequenceRead__first(var_args
);
8032 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
8033 var37
= var_m
->attrs
[COLOR_model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
8034 if (unlikely(var37
== NULL
)) {
8035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
8036 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1895);
8040 RET_LABEL36
:(void)0;
8044 { /* Inline model#MClassDef#mclass (var35) on <var35:MClassDef> */
8045 var40
= var35
->attrs
[COLOR_model__MClassDef___mclass
].val
; /* _mclass on <var35:MClassDef> */
8046 if (unlikely(var40
== NULL
)) {
8047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8048 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 492);
8052 RET_LABEL39
:(void)0;
8056 { /* Inline model#MClass#mclass_type (var38) on <var38:MClass> */
8057 var43
= var38
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var38:MClass> */
8058 if (unlikely(var43
== NULL
)) {
8059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8060 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
8064 RET_LABEL42
:(void)0;
8068 var44
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var34
, var41
) /* unbox_extern on <self:SeparateCompilerVisitor>*/;
8071 abstract_collection__Sequence__first_61d(var_args
, var44
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
8078 var46
= model__MSignature__arity(var_msignature
);
8083 { /* Inline kernel#Int#< (var_i,var_47) on <var_i:Int> */
8084 /* Covariant cast for argument 0 (i) <var_47:Int> isa OTHER */
8085 /* <var_47:Int> isa OTHER */
8086 var50
= 1; /* easy <var_47:Int> isa OTHER*/
8087 if (unlikely(!var50
)) {
8088 var_class_name
= type_kernel__Int
.name
;
8089 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8090 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
8093 var51
= var_i
< var_47
;
8096 RET_LABEL49
:(void)0;
8101 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
8102 var54
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
8103 if (unlikely(var54
== NULL
)) {
8104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8105 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
8109 RET_LABEL53
:(void)0;
8113 var55
= array__Array___91d_93d(var52
, var_i
);
8116 { /* Inline model#MParameter#mtype (var55) on <var55:nullable Object(MParameter)> */
8117 var58
= var55
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var55:nullable Object(MParameter)> */
8118 if (unlikely(var58
== NULL
)) {
8119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8120 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
8124 RET_LABEL57
:(void)0;
8129 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
8130 var61
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
8132 RET_LABEL60
:(void)0;
8136 { /* Inline kernel#Int#== (var_i,var59) on <var_i:Int> */
8137 var65
= var_i
== var59
;
8140 RET_LABEL64
:(void)0;
8147 { /* Inline kernel#Int#+ (var_i,var66) on <var_i:Int> */
8148 /* Covariant cast for argument 0 (i) <var66:Int> isa OTHER */
8149 /* <var66:Int> isa OTHER */
8150 var69
= 1; /* easy <var66:Int> isa OTHER*/
8151 if (unlikely(!var69
)) {
8152 var_class_name72
= type_kernel__Int
.name
;
8153 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72
);
8154 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8157 var73
= var_i
+ var66
;
8160 RET_LABEL68
:(void)0;
8164 var74
= array__Array___91d_93d(var_args
, var67
);
8167 { /* Inline abstract_compiler#RuntimeVariable#mtype (var74) on <var74:nullable Object(RuntimeVariable)> */
8168 var77
= var74
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var74:nullable Object(RuntimeVariable)> */
8169 if (unlikely(var77
== NULL
)) {
8170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8171 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8175 RET_LABEL76
:(void)0;
8182 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
8183 var80
= var_m
->attrs
[COLOR_model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
8185 RET_LABEL79
:(void)0;
8191 { /* Inline kernel#Int#+ (var_i,var81) on <var_i:Int> */
8192 /* Covariant cast for argument 0 (i) <var81:Int> isa OTHER */
8193 /* <var81:Int> isa OTHER */
8194 var84
= 1; /* easy <var81:Int> isa OTHER*/
8195 if (unlikely(!var84
)) {
8196 var_class_name87
= type_kernel__Int
.name
;
8197 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
8198 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8201 var88
= var_i
+ var81
;
8204 RET_LABEL83
:(void)0;
8209 { /* Inline kernel#Int#+ (var_i,var89) on <var_i:Int> */
8210 /* Covariant cast for argument 0 (i) <var89:Int> isa OTHER */
8211 /* <var89:Int> isa OTHER */
8212 var92
= 1; /* easy <var89:Int> isa OTHER*/
8213 if (unlikely(!var92
)) {
8214 var_class_name95
= type_kernel__Int
.name
;
8215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name95
);
8216 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8219 var96
= var_i
+ var89
;
8222 RET_LABEL91
:(void)0;
8226 var97
= array__Array___91d_93d(var_args
, var90
);
8229 var98
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var97
, var_t
) /* unbox_extern on <self:SeparateCompilerVisitor>*/;
8232 array__Array___91d_93d_61d(var_args
, var82
, var98
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
8238 var100
= kernel__Int__successor(var_i
, var99
);
8245 BREAK_label
: (void)0;
8248 /* method separate_compiler#SeparateCompilerVisitor#unbox_signature_extern for (self: Object, MMethodDef, Array[RuntimeVariable]) */
8249 void VIRTUAL_separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(val
* self
, val
* p0
, val
* p1
) {
8250 separate_compiler__SeparateCompilerVisitor__unbox_signature_extern(self
, p0
, p1
); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on <self:Object(SeparateCompilerVisitor)>*/
8253 /* method separate_compiler#SeparateCompilerVisitor#autobox for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
8254 val
* separate_compiler__SeparateCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
8255 val
* var
/* : RuntimeVariable */;
8256 val
* var_value
/* var value: RuntimeVariable */;
8257 val
* var_mtype
/* var mtype: MType */;
8258 val
* var1
/* : MType */;
8259 val
* var3
/* : MType */;
8260 short int var4
/* : Bool */;
8261 short int var5
/* : Bool */;
8262 val
* var_other
/* var other: nullable Object */;
8263 short int var7
/* : Bool */;
8264 short int var9
/* : Bool */;
8265 short int var10
/* : Bool */;
8266 val
* var11
/* : MType */;
8267 val
* var13
/* : MType */;
8268 val
* var14
/* : String */;
8269 static val
* varonce
;
8270 val
* var15
/* : String */;
8271 char* var16
/* : NativeString */;
8272 long var17
/* : Int */;
8273 val
* var18
/* : FlatString */;
8274 short int var19
/* : Bool */;
8275 short int var20
/* : Bool */;
8276 short int var_
/* var : Bool */;
8277 val
* var21
/* : String */;
8278 static val
* varonce22
;
8279 val
* var23
/* : String */;
8280 char* var24
/* : NativeString */;
8281 long var25
/* : Int */;
8282 val
* var26
/* : FlatString */;
8283 short int var27
/* : Bool */;
8284 short int var28
/* : Bool */;
8285 val
* var29
/* : MType */;
8286 val
* var31
/* : MType */;
8287 val
* var32
/* : String */;
8288 static val
* varonce33
;
8289 val
* var34
/* : String */;
8290 char* var35
/* : NativeString */;
8291 long var36
/* : Int */;
8292 val
* var37
/* : FlatString */;
8293 short int var38
/* : Bool */;
8294 short int var39
/* : Bool */;
8295 static val
* varonce40
;
8296 val
* var41
/* : String */;
8297 char* var42
/* : NativeString */;
8298 long var43
/* : Int */;
8299 val
* var44
/* : FlatString */;
8300 val
* var45
/* : String */;
8301 static val
* varonce46
;
8302 val
* var47
/* : String */;
8303 char* var48
/* : NativeString */;
8304 long var49
/* : Int */;
8305 val
* var50
/* : FlatString */;
8306 static val
* varonce51
;
8307 val
* var52
/* : String */;
8308 char* var53
/* : NativeString */;
8309 long var54
/* : Int */;
8310 val
* var55
/* : FlatString */;
8311 val
* var56
/* : MType */;
8312 val
* var58
/* : MType */;
8313 static val
* varonce59
;
8314 val
* var60
/* : String */;
8315 char* var61
/* : NativeString */;
8316 long var62
/* : Int */;
8317 val
* var63
/* : FlatString */;
8318 static val
* varonce64
;
8319 val
* var65
/* : String */;
8320 char* var66
/* : NativeString */;
8321 long var67
/* : Int */;
8322 val
* var68
/* : FlatString */;
8323 val
* var69
/* : Array[Object] */;
8324 long var70
/* : Int */;
8325 val
* var71
/* : NativeArray[Object] */;
8326 val
* var72
/* : String */;
8327 val
* var73
/* : RuntimeVariable */;
8328 val
* var74
/* : String */;
8329 static val
* varonce75
;
8330 val
* var76
/* : String */;
8331 char* var77
/* : NativeString */;
8332 long var78
/* : Int */;
8333 val
* var79
/* : FlatString */;
8334 short int var80
/* : Bool */;
8335 short int var81
/* : Bool */;
8336 val
* var82
/* : MType */;
8337 val
* var84
/* : MType */;
8338 short int var85
/* : Bool */;
8341 const char* var_class_name
;
8342 val
* var_valtype
/* var valtype: MClassType */;
8343 short int var86
/* : Bool */;
8344 short int var87
/* : Bool */;
8345 short int var88
/* : Bool */;
8348 short int var_91
/* var : Bool */;
8349 val
* var92
/* : MClass */;
8350 val
* var94
/* : MClass */;
8351 val
* var95
/* : MClassKind */;
8352 val
* var97
/* : MClassKind */;
8353 val
* var98
/* : MClassKind */;
8354 short int var99
/* : Bool */;
8355 short int var100
/* : Bool */;
8356 short int var102
/* : Bool */;
8357 short int var104
/* : Bool */;
8358 short int var_105
/* var : Bool */;
8359 val
* var106
/* : MClass */;
8360 val
* var108
/* : MClass */;
8361 val
* var109
/* : String */;
8362 val
* var111
/* : String */;
8363 static val
* varonce112
;
8364 val
* var113
/* : String */;
8365 char* var114
/* : NativeString */;
8366 long var115
/* : Int */;
8367 val
* var116
/* : FlatString */;
8368 short int var117
/* : Bool */;
8369 short int var118
/* : Bool */;
8370 val
* var_other120
/* var other: nullable Object */;
8371 short int var121
/* : Bool */;
8372 short int var122
/* : Bool */;
8373 short int var123
/* : Bool */;
8374 val
* var124
/* : AbstractCompiler */;
8375 val
* var126
/* : AbstractCompiler */;
8376 val
* var127
/* : MModule */;
8377 val
* var129
/* : MModule */;
8378 val
* var130
/* : MClassType */;
8379 short int var132
/* : Bool */;
8380 val
* var133
/* : MClassType */;
8381 static val
* varonce134
;
8382 val
* var135
/* : String */;
8383 char* var136
/* : NativeString */;
8384 long var137
/* : Int */;
8385 val
* var138
/* : FlatString */;
8386 val
* var139
/* : MClass */;
8387 val
* var140
/* : MClassType */;
8388 val
* var142
/* : MClassType */;
8389 val
* var143
/* : RuntimeVariable */;
8390 val
* var_res
/* var res: RuntimeVariable */;
8391 short int var144
/* : Bool */;
8392 val
* var145
/* : AbstractCompiler */;
8393 val
* var147
/* : AbstractCompiler */;
8394 val
* var148
/* : nullable RapidTypeAnalysis */;
8395 val
* var150
/* : nullable RapidTypeAnalysis */;
8396 val
* var151
/* : null */;
8397 short int var152
/* : Bool */;
8398 short int var153
/* : Bool */;
8399 short int var155
/* : Bool */;
8400 short int var156
/* : Bool */;
8401 short int var157
/* : Bool */;
8402 short int var_158
/* var : Bool */;
8403 val
* var159
/* : AbstractCompiler */;
8404 val
* var161
/* : AbstractCompiler */;
8405 val
* var162
/* : nullable RapidTypeAnalysis */;
8406 val
* var164
/* : nullable RapidTypeAnalysis */;
8407 val
* var165
/* : HashSet[MClassType] */;
8408 val
* var167
/* : HashSet[MClassType] */;
8409 short int var168
/* : Bool */;
8410 short int var169
/* : Bool */;
8411 static val
* varonce170
;
8412 val
* var171
/* : String */;
8413 char* var172
/* : NativeString */;
8414 long var173
/* : Int */;
8415 val
* var174
/* : FlatString */;
8416 val
* var175
/* : MType */;
8417 val
* var177
/* : MType */;
8418 static val
* varonce178
;
8419 val
* var179
/* : String */;
8420 char* var180
/* : NativeString */;
8421 long var181
/* : Int */;
8422 val
* var182
/* : FlatString */;
8423 static val
* varonce183
;
8424 val
* var184
/* : String */;
8425 char* var185
/* : NativeString */;
8426 long var186
/* : Int */;
8427 val
* var187
/* : FlatString */;
8428 val
* var188
/* : MType */;
8429 val
* var190
/* : MType */;
8430 static val
* varonce191
;
8431 val
* var192
/* : String */;
8432 char* var193
/* : NativeString */;
8433 long var194
/* : Int */;
8434 val
* var195
/* : FlatString */;
8435 val
* var196
/* : Array[Object] */;
8436 long var197
/* : Int */;
8437 val
* var198
/* : NativeArray[Object] */;
8438 val
* var199
/* : String */;
8439 static val
* varonce200
;
8440 val
* var201
/* : String */;
8441 char* var202
/* : NativeString */;
8442 long var203
/* : Int */;
8443 val
* var204
/* : FlatString */;
8444 static val
* varonce205
;
8445 val
* var206
/* : String */;
8446 char* var207
/* : NativeString */;
8447 long var208
/* : Int */;
8448 val
* var209
/* : FlatString */;
8449 val
* var210
/* : String */;
8450 val
* var211
/* : Array[Object] */;
8451 long var212
/* : Int */;
8452 val
* var213
/* : NativeArray[Object] */;
8453 val
* var214
/* : String */;
8454 static val
* varonce215
;
8455 val
* var216
/* : String */;
8456 char* var217
/* : NativeString */;
8457 long var218
/* : Int */;
8458 val
* var219
/* : FlatString */;
8459 val
* var220
/* : String */;
8460 static val
* varonce221
;
8461 val
* var222
/* : String */;
8462 char* var223
/* : NativeString */;
8463 long var224
/* : Int */;
8464 val
* var225
/* : FlatString */;
8465 static val
* varonce226
;
8466 val
* var227
/* : String */;
8467 char* var228
/* : NativeString */;
8468 long var229
/* : Int */;
8469 val
* var230
/* : FlatString */;
8470 val
* var231
/* : MType */;
8471 val
* var233
/* : MType */;
8472 static val
* varonce234
;
8473 val
* var235
/* : String */;
8474 char* var236
/* : NativeString */;
8475 long var237
/* : Int */;
8476 val
* var238
/* : FlatString */;
8477 static val
* varonce239
;
8478 val
* var240
/* : String */;
8479 char* var241
/* : NativeString */;
8480 long var242
/* : Int */;
8481 val
* var243
/* : FlatString */;
8482 val
* var244
/* : Array[Object] */;
8483 long var245
/* : Int */;
8484 val
* var246
/* : NativeArray[Object] */;
8485 val
* var247
/* : String */;
8486 short int var248
/* : Bool */;
8487 short int var249
/* : Bool */;
8488 short int var250
/* : Bool */;
8489 val
* var251
/* : MType */;
8490 val
* var253
/* : MType */;
8491 val
* var254
/* : String */;
8492 static val
* varonce255
;
8493 val
* var256
/* : String */;
8494 char* var257
/* : NativeString */;
8495 long var258
/* : Int */;
8496 val
* var259
/* : FlatString */;
8497 short int var260
/* : Bool */;
8498 short int var261
/* : Bool */;
8499 short int var_262
/* var : Bool */;
8500 val
* var263
/* : String */;
8501 static val
* varonce264
;
8502 val
* var265
/* : String */;
8503 char* var266
/* : NativeString */;
8504 long var267
/* : Int */;
8505 val
* var268
/* : FlatString */;
8506 short int var269
/* : Bool */;
8507 short int var270
/* : Bool */;
8508 short int var_271
/* var : Bool */;
8509 short int var272
/* : Bool */;
8510 val
* var273
/* : MType */;
8511 val
* var275
/* : MType */;
8512 val
* var276
/* : String */;
8513 static val
* varonce277
;
8514 val
* var278
/* : String */;
8515 char* var279
/* : NativeString */;
8516 long var280
/* : Int */;
8517 val
* var281
/* : FlatString */;
8518 short int var282
/* : Bool */;
8519 short int var283
/* : Bool */;
8520 short int var_284
/* var : Bool */;
8521 val
* var285
/* : String */;
8522 static val
* varonce286
;
8523 val
* var287
/* : String */;
8524 char* var288
/* : NativeString */;
8525 long var289
/* : Int */;
8526 val
* var290
/* : FlatString */;
8527 short int var291
/* : Bool */;
8528 short int var292
/* : Bool */;
8529 short int var_293
/* var : Bool */;
8530 short int var294
/* : Bool */;
8531 val
* var295
/* : MType */;
8532 val
* var297
/* : MType */;
8533 val
* var298
/* : String */;
8534 static val
* varonce299
;
8535 val
* var300
/* : String */;
8536 char* var301
/* : NativeString */;
8537 long var302
/* : Int */;
8538 val
* var303
/* : FlatString */;
8539 short int var304
/* : Bool */;
8540 short int var305
/* : Bool */;
8541 short int var_306
/* var : Bool */;
8542 val
* var307
/* : String */;
8543 static val
* varonce308
;
8544 val
* var309
/* : String */;
8545 char* var310
/* : NativeString */;
8546 long var311
/* : Int */;
8547 val
* var312
/* : FlatString */;
8548 short int var313
/* : Bool */;
8549 short int var314
/* : Bool */;
8550 val
* var315
/* : RuntimeVariable */;
8551 val
* var_res316
/* var res: RuntimeVariable */;
8552 static val
* varonce317
;
8553 val
* var318
/* : String */;
8554 char* var319
/* : NativeString */;
8555 long var320
/* : Int */;
8556 val
* var321
/* : FlatString */;
8557 static val
* varonce322
;
8558 val
* var323
/* : String */;
8559 char* var324
/* : NativeString */;
8560 long var325
/* : Int */;
8561 val
* var326
/* : FlatString */;
8562 val
* var327
/* : MType */;
8563 val
* var329
/* : MType */;
8564 static val
* varonce330
;
8565 val
* var331
/* : String */;
8566 char* var332
/* : NativeString */;
8567 long var333
/* : Int */;
8568 val
* var334
/* : FlatString */;
8569 static val
* varonce335
;
8570 val
* var336
/* : String */;
8571 char* var337
/* : NativeString */;
8572 long var338
/* : Int */;
8573 val
* var339
/* : FlatString */;
8574 val
* var340
/* : Array[Object] */;
8575 long var341
/* : Int */;
8576 val
* var342
/* : NativeArray[Object] */;
8577 val
* var343
/* : String */;
8578 static val
* varonce344
;
8579 val
* var345
/* : String */;
8580 char* var346
/* : NativeString */;
8581 long var347
/* : Int */;
8582 val
* var348
/* : FlatString */;
8583 val
* var349
/* : MType */;
8584 val
* var351
/* : MType */;
8585 static val
* varonce352
;
8586 val
* var353
/* : String */;
8587 char* var354
/* : NativeString */;
8588 long var355
/* : Int */;
8589 val
* var356
/* : FlatString */;
8590 static val
* varonce357
;
8591 val
* var358
/* : String */;
8592 char* var359
/* : NativeString */;
8593 long var360
/* : Int */;
8594 val
* var361
/* : FlatString */;
8595 val
* var362
/* : Array[Object] */;
8596 long var363
/* : Int */;
8597 val
* var364
/* : NativeArray[Object] */;
8598 val
* var365
/* : String */;
8602 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8603 var3
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8604 if (unlikely(var3
== NULL
)) {
8605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8606 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8614 { /* Inline kernel#Object#== (var1,var_mtype) on <var1:MType> */
8615 var_other
= var_mtype
;
8617 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:MType> */
8618 var9
= var1
== var_other
;
8635 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8636 var13
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8637 if (unlikely(var13
== NULL
)) {
8638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8639 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8643 RET_LABEL12
:(void)0;
8647 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
8654 var18
= string__NativeString__to_s_with_length(var16
, var17
);
8659 var20
= string__FlatString___61d_61d(var14
, var15
);
8665 var21
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8672 var26
= string__NativeString__to_s_with_length(var24
, var25
);
8677 var28
= string__FlatString___61d_61d(var21
, var23
);
8689 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8690 var31
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8691 if (unlikely(var31
== NULL
)) {
8692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8693 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8697 RET_LABEL30
:(void)0;
8701 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var29
) /* ctype on <var29:MType>*/;
8708 var37
= string__NativeString__to_s_with_length(var35
, var36
);
8713 var39
= string__FlatString___61d_61d(var32
, var34
);
8720 var42
= "((struct instance_";
8722 var44
= string__NativeString__to_s_with_length(var42
, var43
);
8727 var45
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8734 var50
= string__NativeString__to_s_with_length(var48
, var49
);
8741 var53
= ")->value; /* autounbox from ";
8743 var55
= string__NativeString__to_s_with_length(var53
, var54
);
8748 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8749 var58
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8750 if (unlikely(var58
== NULL
)) {
8751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8752 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8756 RET_LABEL57
:(void)0;
8764 var63
= string__NativeString__to_s_with_length(var61
, var62
);
8773 var68
= string__NativeString__to_s_with_length(var66
, var67
);
8777 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
8778 { /* var69 = array_instance Array[Object] */
8780 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
8781 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var41
;
8782 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var45
;
8783 ((struct instance_array__NativeArray
*)var71
)->values
[2] = (val
*) var47
;
8784 ((struct instance_array__NativeArray
*)var71
)->values
[3] = (val
*) var_value
;
8785 ((struct instance_array__NativeArray
*)var71
)->values
[4] = (val
*) var52
;
8786 ((struct instance_array__NativeArray
*)var71
)->values
[5] = (val
*) var56
;
8787 ((struct instance_array__NativeArray
*)var71
)->values
[6] = (val
*) var60
;
8788 ((struct instance_array__NativeArray
*)var71
)->values
[7] = (val
*) var_mtype
;
8789 ((struct instance_array__NativeArray
*)var71
)->values
[8] = (val
*) var65
;
8791 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
8795 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
8798 var73
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, var72
, var_mtype
);
8804 var74
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8811 var79
= string__NativeString__to_s_with_length(var77
, var78
);
8816 var81
= string__FlatString___61d_61d(var74
, var76
);
8821 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8822 var84
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8823 if (unlikely(var84
== NULL
)) {
8824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8825 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
8829 RET_LABEL83
:(void)0;
8832 /* <var82:MType> isa MClassType */
8833 cltype
= type_model__MClassType
.color
;
8834 idtype
= type_model__MClassType
.id
;
8835 if(cltype
>= var82
->type
->table_size
) {
8838 var85
= var82
->type
->type_table
[cltype
] == idtype
;
8840 if (unlikely(!var85
)) {
8841 var_class_name
= var82
== NULL ?
"null" : var82
->type
->name
;
8842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
8843 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 987);
8846 var_valtype
= var82
;
8847 /* <var_mtype:MType> isa MClassType */
8848 cltype89
= type_model__MClassType
.color
;
8849 idtype90
= type_model__MClassType
.id
;
8850 if(cltype89
>= var_mtype
->type
->table_size
) {
8853 var88
= var_mtype
->type
->type_table
[cltype89
] == idtype90
;
8858 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
8859 var94
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
8860 if (unlikely(var94
== NULL
)) {
8861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8862 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
8866 RET_LABEL93
:(void)0;
8870 { /* Inline model#MClass#kind (var92) on <var92:MClass> */
8871 var97
= var92
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var92:MClass> */
8872 if (unlikely(var97
== NULL
)) {
8873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
8874 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
8878 RET_LABEL96
:(void)0;
8882 var98
= model__Object__extern_kind(self
);
8885 { /* Inline kernel#Object#== (var95,var98) on <var95:MClassKind> */
8888 { /* Inline kernel#Object#is_same_instance (var95,var_other) on <var95:MClassKind> */
8889 var104
= var95
== var_other
;
8892 RET_LABEL103
:(void)0;
8897 RET_LABEL101
:(void)0;
8908 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
8909 var108
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
8910 if (unlikely(var108
== NULL
)) {
8911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8912 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
8916 RET_LABEL107
:(void)0;
8920 { /* Inline model#MClass#name (var106) on <var106:MClass> */
8921 var111
= var106
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var106:MClass> */
8922 if (unlikely(var111
== NULL
)) {
8923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8924 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
8928 RET_LABEL110
:(void)0;
8932 var113
= varonce112
;
8934 var114
= "NativeString";
8936 var116
= string__NativeString__to_s_with_length(var114
, var115
);
8938 varonce112
= var113
;
8941 { /* Inline kernel#Object#!= (var109,var113) on <var109:String> */
8942 var_other120
= var113
;
8944 var122
= ((short int (*)(val
*, val
*))(var109
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var109
, var_other120
) /* == on <var109:String>*/;
8950 RET_LABEL119
:(void)0;
8960 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8961 var126
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8962 if (unlikely(var126
== NULL
)) {
8963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8964 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
8968 RET_LABEL125
:(void)0;
8972 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var124) on <var124:AbstractCompiler(SeparateCompiler)> */
8973 var129
= var124
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var124:AbstractCompiler(SeparateCompiler)> */
8974 if (unlikely(var129
== NULL
)) {
8975 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8976 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
8980 RET_LABEL128
:(void)0;
8984 { /* Inline model#MModule#pointer_type (var127) on <var127:MModule> */
8985 var132
= var127
->attrs
[COLOR_model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <var127:MModule> */
8986 if(likely(var132
)) {
8987 var133
= var127
->attrs
[COLOR_model__MModule___pointer_type
].val
; /* _pointer_type on <var127:MModule> */
8988 if (unlikely(var133
== NULL
)) {
8989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
8990 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 217);
8995 var135
= varonce134
;
8999 var138
= string__NativeString__to_s_with_length(var136
, var137
);
9001 varonce134
= var135
;
9004 var139
= model__MModule__get_primitive_class(var127
, var135
);
9007 { /* Inline model#MClass#mclass_type (var139) on <var139:MClass> */
9008 var142
= var139
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var139:MClass> */
9009 if (unlikely(var142
== NULL
)) {
9010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9011 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
9015 RET_LABEL141
:(void)0;
9018 var127
->attrs
[COLOR_model__MModule___pointer_type
].val
= var140
; /* _pointer_type on <var127:MModule> */
9022 RET_LABEL131
:(void)0;
9025 var_valtype
= var130
;
9029 var143
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
9033 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
9034 var147
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
9035 if (unlikely(var147
== NULL
)) {
9036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9037 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9041 RET_LABEL146
:(void)0;
9045 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var145) on <var145:AbstractCompiler(SeparateCompiler)> */
9046 var150
= var145
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var145:AbstractCompiler(SeparateCompiler)> */
9048 RET_LABEL149
:(void)0;
9052 if (var148
== NULL
) {
9053 var152
= 0; /* is null */
9055 var152
= 1; /* arg is null and recv is not */
9058 { /* Inline kernel#Object#!= (var148,var151) on <var148:nullable RapidTypeAnalysis> */
9059 var_other120
= var151
;
9061 var156
= ((short int (*)(val
*, val
*))(var148
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var148
, var_other120
) /* == on <var148:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
9067 RET_LABEL154
:(void)0;
9074 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
9075 var161
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
9076 if (unlikely(var161
== NULL
)) {
9077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9078 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9082 RET_LABEL160
:(void)0;
9086 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var159) on <var159:AbstractCompiler(SeparateCompiler)> */
9087 var164
= var159
->attrs
[COLOR_separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var159:AbstractCompiler(SeparateCompiler)> */
9089 RET_LABEL163
:(void)0;
9092 if (var162
== NULL
) {
9093 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9094 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 992);
9097 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var162) on <var162:nullable RapidTypeAnalysis> */
9098 if (unlikely(var162
== NULL
)) {
9099 PRINT_ERROR("Runtime error: %s", "Receiver is null");
9100 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
9103 var167
= var162
->attrs
[COLOR_rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var162:nullable RapidTypeAnalysis> */
9104 if (unlikely(var167
== NULL
)) {
9105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
9106 PRINT_ERROR(" (%s:%d)\n", "rapid_type_analysis.nit", 53);
9110 RET_LABEL166
:(void)0;
9114 var168
= hash_collection__HashSet__has(var165
, var_valtype
);
9123 var171
= varonce170
;
9125 var172
= "/*no autobox from ";
9127 var174
= string__NativeString__to_s_with_length(var172
, var173
);
9129 varonce170
= var171
;
9132 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9133 var177
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9134 if (unlikely(var177
== NULL
)) {
9135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9136 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9140 RET_LABEL176
:(void)0;
9144 var179
= varonce178
;
9148 var182
= string__NativeString__to_s_with_length(var180
, var181
);
9150 varonce178
= var179
;
9153 var184
= varonce183
;
9157 var187
= string__NativeString__to_s_with_length(var185
, var186
);
9159 varonce183
= var184
;
9162 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9163 var190
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9164 if (unlikely(var190
== NULL
)) {
9165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9166 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9170 RET_LABEL189
:(void)0;
9174 var192
= varonce191
;
9176 var193
= " is not live! */";
9178 var195
= string__NativeString__to_s_with_length(var193
, var194
);
9180 varonce191
= var192
;
9182 var196
= NEW_array__Array(&type_array__Arraykernel__Object
);
9183 { /* var196 = array_instance Array[Object] */
9185 var198
= NEW_array__NativeArray(var197
, &type_array__NativeArraykernel__Object
);
9186 ((struct instance_array__NativeArray
*)var198
)->values
[0] = (val
*) var171
;
9187 ((struct instance_array__NativeArray
*)var198
)->values
[1] = (val
*) var175
;
9188 ((struct instance_array__NativeArray
*)var198
)->values
[2] = (val
*) var179
;
9189 ((struct instance_array__NativeArray
*)var198
)->values
[3] = (val
*) var_mtype
;
9190 ((struct instance_array__NativeArray
*)var198
)->values
[4] = (val
*) var184
;
9191 ((struct instance_array__NativeArray
*)var198
)->values
[5] = (val
*) var188
;
9192 ((struct instance_array__NativeArray
*)var198
)->values
[6] = (val
*) var192
;
9194 ((void (*)(val
*, val
*, long))(var196
->class->vft
[COLOR_array__Array__with_native
]))(var196
, var198
, var197
) /* with_native on <var196:Array[Object]>*/;
9198 var199
= ((val
* (*)(val
*))(var196
->class->vft
[COLOR_string__Object__to_s
]))(var196
) /* to_s on <var196:Array[Object]>*/;
9201 abstract_compiler__AbstractCompilerVisitor__add(self
, var199
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9204 var201
= varonce200
;
9206 var202
= "PRINT_ERROR(\"Dead code executed!\\n\"); show_backtrace(1);";
9208 var204
= string__NativeString__to_s_with_length(var202
, var203
);
9210 varonce200
= var201
;
9213 abstract_compiler__AbstractCompilerVisitor__add(self
, var201
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9220 var206
= varonce205
;
9224 var209
= string__NativeString__to_s_with_length(var207
, var208
);
9226 varonce205
= var206
;
9229 var210
= ((val
* (*)(val
*))(var_valtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
9231 var211
= NEW_array__Array(&type_array__Arraykernel__Object
);
9232 { /* var211 = array_instance Array[Object] */
9234 var213
= NEW_array__NativeArray(var212
, &type_array__NativeArraykernel__Object
);
9235 ((struct instance_array__NativeArray
*)var213
)->values
[0] = (val
*) var206
;
9236 ((struct instance_array__NativeArray
*)var213
)->values
[1] = (val
*) var210
;
9238 ((void (*)(val
*, val
*, long))(var211
->class->vft
[COLOR_array__Array__with_native
]))(var211
, var213
, var212
) /* with_native on <var211:Array[Object]>*/;
9242 var214
= ((val
* (*)(val
*))(var211
->class->vft
[COLOR_string__Object__to_s
]))(var211
) /* to_s on <var211:Array[Object]>*/;
9245 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var214
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
9248 var216
= varonce215
;
9252 var219
= string__NativeString__to_s_with_length(var217
, var218
);
9254 varonce215
= var216
;
9257 var220
= ((val
* (*)(val
*))(var_valtype
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
9260 var222
= varonce221
;
9264 var225
= string__NativeString__to_s_with_length(var223
, var224
);
9266 varonce221
= var222
;
9269 var227
= varonce226
;
9271 var228
= "); /* autobox from ";
9273 var230
= string__NativeString__to_s_with_length(var228
, var229
);
9275 varonce226
= var227
;
9278 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9279 var233
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9280 if (unlikely(var233
== NULL
)) {
9281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9282 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9286 RET_LABEL232
:(void)0;
9290 var235
= varonce234
;
9294 var238
= string__NativeString__to_s_with_length(var236
, var237
);
9296 varonce234
= var235
;
9299 var240
= varonce239
;
9303 var243
= string__NativeString__to_s_with_length(var241
, var242
);
9305 varonce239
= var240
;
9307 var244
= NEW_array__Array(&type_array__Arraykernel__Object
);
9308 { /* var244 = array_instance Array[Object] */
9310 var246
= NEW_array__NativeArray(var245
, &type_array__NativeArraykernel__Object
);
9311 ((struct instance_array__NativeArray
*)var246
)->values
[0] = (val
*) var_res
;
9312 ((struct instance_array__NativeArray
*)var246
)->values
[1] = (val
*) var216
;
9313 ((struct instance_array__NativeArray
*)var246
)->values
[2] = (val
*) var220
;
9314 ((struct instance_array__NativeArray
*)var246
)->values
[3] = (val
*) var222
;
9315 ((struct instance_array__NativeArray
*)var246
)->values
[4] = (val
*) var_value
;
9316 ((struct instance_array__NativeArray
*)var246
)->values
[5] = (val
*) var227
;
9317 ((struct instance_array__NativeArray
*)var246
)->values
[6] = (val
*) var231
;
9318 ((struct instance_array__NativeArray
*)var246
)->values
[7] = (val
*) var235
;
9319 ((struct instance_array__NativeArray
*)var246
)->values
[8] = (val
*) var_mtype
;
9320 ((struct instance_array__NativeArray
*)var246
)->values
[9] = (val
*) var240
;
9322 ((void (*)(val
*, val
*, long))(var244
->class->vft
[COLOR_array__Array__with_native
]))(var244
, var246
, var245
) /* with_native on <var244:Array[Object]>*/;
9326 var247
= ((val
* (*)(val
*))(var244
->class->vft
[COLOR_string__Object__to_s
]))(var244
) /* to_s on <var244:Array[Object]>*/;
9329 abstract_compiler__AbstractCompilerVisitor__add(self
, var247
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9335 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9336 var253
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9337 if (unlikely(var253
== NULL
)) {
9338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9339 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9343 RET_LABEL252
:(void)0;
9347 var254
= ((val
* (*)(val
*))(var251
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var251
) /* ctype on <var251:MType>*/;
9350 var256
= varonce255
;
9354 var259
= string__NativeString__to_s_with_length(var257
, var258
);
9356 varonce255
= var256
;
9359 var261
= string__FlatString___61d_61d(var254
, var256
);
9365 var263
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9368 var265
= varonce264
;
9372 var268
= string__NativeString__to_s_with_length(var266
, var267
);
9374 varonce264
= var265
;
9377 var270
= string__FlatString___61d_61d(var263
, var265
);
9389 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9390 var275
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9391 if (unlikely(var275
== NULL
)) {
9392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9393 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9397 RET_LABEL274
:(void)0;
9401 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var273
) /* ctype on <var273:MType>*/;
9404 var278
= varonce277
;
9408 var281
= string__NativeString__to_s_with_length(var279
, var280
);
9410 varonce277
= var278
;
9413 var283
= string__FlatString___61d_61d(var276
, var278
);
9419 var285
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9422 var287
= varonce286
;
9426 var290
= string__NativeString__to_s_with_length(var288
, var289
);
9428 varonce286
= var287
;
9431 var292
= string__FlatString___61d_61d(var285
, var287
);
9445 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9446 var297
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9447 if (unlikely(var297
== NULL
)) {
9448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9449 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9453 RET_LABEL296
:(void)0;
9457 var298
= ((val
* (*)(val
*))(var295
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var295
) /* ctype on <var295:MType>*/;
9460 var300
= varonce299
;
9464 var303
= string__NativeString__to_s_with_length(var301
, var302
);
9466 varonce299
= var300
;
9469 var305
= string__FlatString___61d_61d(var298
, var300
);
9475 var307
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9478 var309
= varonce308
;
9482 var312
= string__NativeString__to_s_with_length(var310
, var311
);
9484 varonce308
= var309
;
9487 var314
= string__FlatString___61d_61d(var307
, var309
);
9501 var315
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
9503 var_res316
= var315
;
9505 var318
= varonce317
;
9509 var321
= string__NativeString__to_s_with_length(var319
, var320
);
9511 varonce317
= var318
;
9514 var323
= varonce322
;
9516 var324
= " left unintialized (cannot convert ";
9518 var326
= string__NativeString__to_s_with_length(var324
, var325
);
9520 varonce322
= var323
;
9523 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9524 var329
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9525 if (unlikely(var329
== NULL
)) {
9526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9527 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9531 RET_LABEL328
:(void)0;
9535 var331
= varonce330
;
9539 var334
= string__NativeString__to_s_with_length(var332
, var333
);
9541 varonce330
= var331
;
9544 var336
= varonce335
;
9548 var339
= string__NativeString__to_s_with_length(var337
, var338
);
9550 varonce335
= var336
;
9552 var340
= NEW_array__Array(&type_array__Arraykernel__Object
);
9553 { /* var340 = array_instance Array[Object] */
9555 var342
= NEW_array__NativeArray(var341
, &type_array__NativeArraykernel__Object
);
9556 ((struct instance_array__NativeArray
*)var342
)->values
[0] = (val
*) var318
;
9557 ((struct instance_array__NativeArray
*)var342
)->values
[1] = (val
*) var_res316
;
9558 ((struct instance_array__NativeArray
*)var342
)->values
[2] = (val
*) var323
;
9559 ((struct instance_array__NativeArray
*)var342
)->values
[3] = (val
*) var327
;
9560 ((struct instance_array__NativeArray
*)var342
)->values
[4] = (val
*) var331
;
9561 ((struct instance_array__NativeArray
*)var342
)->values
[5] = (val
*) var_mtype
;
9562 ((struct instance_array__NativeArray
*)var342
)->values
[6] = (val
*) var336
;
9564 ((void (*)(val
*, val
*, long))(var340
->class->vft
[COLOR_array__Array__with_native
]))(var340
, var342
, var341
) /* with_native on <var340:Array[Object]>*/;
9568 var343
= ((val
* (*)(val
*))(var340
->class->vft
[COLOR_string__Object__to_s
]))(var340
) /* to_s on <var340:Array[Object]>*/;
9571 abstract_compiler__AbstractCompilerVisitor__add(self
, var343
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9574 var345
= varonce344
;
9576 var346
= "PRINT_ERROR(\"Cast error: Cannot cast %s to %s.\\n\", \"";
9578 var348
= string__NativeString__to_s_with_length(var346
, var347
);
9580 varonce344
= var345
;
9583 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9584 var351
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9585 if (unlikely(var351
== NULL
)) {
9586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9587 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9591 RET_LABEL350
:(void)0;
9595 var353
= varonce352
;
9599 var356
= string__NativeString__to_s_with_length(var354
, var355
);
9601 varonce352
= var353
;
9604 var358
= varonce357
;
9606 var359
= "\"); show_backtrace(1);";
9608 var361
= string__NativeString__to_s_with_length(var359
, var360
);
9610 varonce357
= var358
;
9612 var362
= NEW_array__Array(&type_array__Arraykernel__Object
);
9613 { /* var362 = array_instance Array[Object] */
9615 var364
= NEW_array__NativeArray(var363
, &type_array__NativeArraykernel__Object
);
9616 ((struct instance_array__NativeArray
*)var364
)->values
[0] = (val
*) var345
;
9617 ((struct instance_array__NativeArray
*)var364
)->values
[1] = (val
*) var349
;
9618 ((struct instance_array__NativeArray
*)var364
)->values
[2] = (val
*) var353
;
9619 ((struct instance_array__NativeArray
*)var364
)->values
[3] = (val
*) var_mtype
;
9620 ((struct instance_array__NativeArray
*)var364
)->values
[4] = (val
*) var358
;
9622 ((void (*)(val
*, val
*, long))(var362
->class->vft
[COLOR_array__Array__with_native
]))(var362
, var364
, var363
) /* with_native on <var362:Array[Object]>*/;
9626 var365
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_string__Object__to_s
]))(var362
) /* to_s on <var362:Array[Object]>*/;
9629 abstract_compiler__AbstractCompilerVisitor__add(self
, var365
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9641 /* method separate_compiler#SeparateCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
9642 val
* VIRTUAL_separate_compiler__SeparateCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
9643 val
* var
/* : RuntimeVariable */;
9644 val
* var1
/* : RuntimeVariable */;
9645 var1
= separate_compiler__SeparateCompilerVisitor__autobox(self
, p0
, p1
);
9650 /* method separate_compiler#SeparateCompilerVisitor#unbox_extern for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
9651 val
* separate_compiler__SeparateCompilerVisitor__unbox_extern(val
* self
, val
* p0
, val
* p1
) {
9652 val
* var
/* : RuntimeVariable */;
9653 val
* var_value
/* var value: RuntimeVariable */;
9654 val
* var_mtype
/* var mtype: MType */;
9655 short int var1
/* : Bool */;
9656 short int var2
/* : Bool */;
9657 short int var3
/* : Bool */;
9660 short int var_
/* var : Bool */;
9661 val
* var4
/* : MClass */;
9662 val
* var6
/* : MClass */;
9663 val
* var7
/* : MClassKind */;
9664 val
* var9
/* : MClassKind */;
9665 val
* var10
/* : MClassKind */;
9666 short int var11
/* : Bool */;
9667 short int var12
/* : Bool */;
9668 val
* var_other
/* var other: nullable Object */;
9669 short int var14
/* : Bool */;
9670 short int var16
/* : Bool */;
9671 short int var_17
/* var : Bool */;
9672 val
* var18
/* : MClass */;
9673 val
* var20
/* : MClass */;
9674 val
* var21
/* : String */;
9675 val
* var23
/* : String */;
9676 static val
* varonce
;
9677 val
* var24
/* : String */;
9678 char* var25
/* : NativeString */;
9679 long var26
/* : Int */;
9680 val
* var27
/* : FlatString */;
9681 short int var28
/* : Bool */;
9682 short int var29
/* : Bool */;
9683 val
* var_other31
/* var other: nullable Object */;
9684 short int var32
/* : Bool */;
9685 short int var33
/* : Bool */;
9686 short int var34
/* : Bool */;
9687 val
* var35
/* : AbstractCompiler */;
9688 val
* var37
/* : AbstractCompiler */;
9689 val
* var38
/* : MModule */;
9690 val
* var40
/* : MModule */;
9691 val
* var41
/* : MClassType */;
9692 short int var43
/* : Bool */;
9693 val
* var44
/* : MClassType */;
9694 static val
* varonce45
;
9695 val
* var46
/* : String */;
9696 char* var47
/* : NativeString */;
9697 long var48
/* : Int */;
9698 val
* var49
/* : FlatString */;
9699 val
* var50
/* : MClass */;
9700 val
* var51
/* : MClassType */;
9701 val
* var53
/* : MClassType */;
9702 val
* var_pointer_type
/* var pointer_type: MClassType */;
9703 val
* var54
/* : RuntimeVariable */;
9704 val
* var_res
/* var res: RuntimeVariable */;
9705 static val
* varonce55
;
9706 val
* var56
/* : String */;
9707 char* var57
/* : NativeString */;
9708 long var58
/* : Int */;
9709 val
* var59
/* : FlatString */;
9710 val
* var60
/* : String */;
9711 static val
* varonce61
;
9712 val
* var62
/* : String */;
9713 char* var63
/* : NativeString */;
9714 long var64
/* : Int */;
9715 val
* var65
/* : FlatString */;
9716 static val
* varonce66
;
9717 val
* var67
/* : String */;
9718 char* var68
/* : NativeString */;
9719 long var69
/* : Int */;
9720 val
* var70
/* : FlatString */;
9721 val
* var71
/* : MType */;
9722 val
* var73
/* : MType */;
9723 static val
* varonce74
;
9724 val
* var75
/* : String */;
9725 char* var76
/* : NativeString */;
9726 long var77
/* : Int */;
9727 val
* var78
/* : FlatString */;
9728 val
* var79
/* : Array[Object] */;
9729 long var80
/* : Int */;
9730 val
* var81
/* : NativeArray[Object] */;
9731 val
* var82
/* : String */;
9734 /* <var_mtype:MType> isa MClassType */
9735 cltype
= type_model__MClassType
.color
;
9736 idtype
= type_model__MClassType
.id
;
9737 if(cltype
>= var_mtype
->type
->table_size
) {
9740 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9745 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
9746 var6
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
9747 if (unlikely(var6
== NULL
)) {
9748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9749 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
9757 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
9758 var9
= var4
->attrs
[COLOR_model__MClass___kind
].val
; /* _kind on <var4:MClass> */
9759 if (unlikely(var9
== NULL
)) {
9760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9761 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 371);
9769 var10
= model__Object__extern_kind(self
);
9772 { /* Inline kernel#Object#== (var7,var10) on <var7:MClassKind> */
9775 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
9776 var16
= var7
== var_other
;
9779 RET_LABEL15
:(void)0;
9784 RET_LABEL13
:(void)0;
9795 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
9796 var20
= var_mtype
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
9797 if (unlikely(var20
== NULL
)) {
9798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9799 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
9803 RET_LABEL19
:(void)0;
9807 { /* Inline model#MClass#name (var18) on <var18:MClass> */
9808 var23
= var18
->attrs
[COLOR_model__MClass___name
].val
; /* _name on <var18:MClass> */
9809 if (unlikely(var23
== NULL
)) {
9810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9811 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 352);
9815 RET_LABEL22
:(void)0;
9821 var25
= "NativeString";
9823 var27
= string__NativeString__to_s_with_length(var25
, var26
);
9828 { /* Inline kernel#Object#!= (var21,var24) on <var21:String> */
9829 var_other31
= var24
;
9831 var33
= ((short int (*)(val
*, val
*))(var21
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var21
, var_other31
) /* == on <var21:String>*/;
9837 RET_LABEL30
:(void)0;
9847 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
9848 var37
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
9849 if (unlikely(var37
== NULL
)) {
9850 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9851 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9855 RET_LABEL36
:(void)0;
9859 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var35) on <var35:AbstractCompiler(SeparateCompiler)> */
9860 var40
= var35
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var35:AbstractCompiler(SeparateCompiler)> */
9861 if (unlikely(var40
== NULL
)) {
9862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9863 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
9867 RET_LABEL39
:(void)0;
9871 { /* Inline model#MModule#pointer_type (var38) on <var38:MModule> */
9872 var43
= var38
->attrs
[COLOR_model__MModule___pointer_type
].val
!= NULL
; /* _pointer_type on <var38:MModule> */
9874 var44
= var38
->attrs
[COLOR_model__MModule___pointer_type
].val
; /* _pointer_type on <var38:MModule> */
9875 if (unlikely(var44
== NULL
)) {
9876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pointer_type");
9877 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 217);
9886 var49
= string__NativeString__to_s_with_length(var47
, var48
);
9891 var50
= model__MModule__get_primitive_class(var38
, var46
);
9894 { /* Inline model#MClass#mclass_type (var50) on <var50:MClass> */
9895 var53
= var50
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var50:MClass> */
9896 if (unlikely(var53
== NULL
)) {
9897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9898 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
9902 RET_LABEL52
:(void)0;
9905 var38
->attrs
[COLOR_model__MModule___pointer_type
].val
= var51
; /* _pointer_type on <var38:MModule> */
9909 RET_LABEL42
:(void)0;
9912 var_pointer_type
= var41
;
9914 var54
= abstract_compiler__AbstractCompilerVisitor__new_var_extern(self
, var_mtype
);
9920 var57
= " = ((struct instance_";
9922 var59
= string__NativeString__to_s_with_length(var57
, var58
);
9927 var60
= ((val
* (*)(val
*))(var_pointer_type
->class->vft
[COLOR_abstract_compiler__MType__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
9934 var65
= string__NativeString__to_s_with_length(var63
, var64
);
9941 var68
= ")->value; /* unboxing ";
9943 var70
= string__NativeString__to_s_with_length(var68
, var69
);
9948 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9949 var73
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9950 if (unlikely(var73
== NULL
)) {
9951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9952 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9956 RET_LABEL72
:(void)0;
9964 var78
= string__NativeString__to_s_with_length(var76
, var77
);
9968 var79
= NEW_array__Array(&type_array__Arraykernel__Object
);
9969 { /* var79 = array_instance Array[Object] */
9971 var81
= NEW_array__NativeArray(var80
, &type_array__NativeArraykernel__Object
);
9972 ((struct instance_array__NativeArray
*)var81
)->values
[0] = (val
*) var_res
;
9973 ((struct instance_array__NativeArray
*)var81
)->values
[1] = (val
*) var56
;
9974 ((struct instance_array__NativeArray
*)var81
)->values
[2] = (val
*) var60
;
9975 ((struct instance_array__NativeArray
*)var81
)->values
[3] = (val
*) var62
;
9976 ((struct instance_array__NativeArray
*)var81
)->values
[4] = (val
*) var_value
;
9977 ((struct instance_array__NativeArray
*)var81
)->values
[5] = (val
*) var67
;
9978 ((struct instance_array__NativeArray
*)var81
)->values
[6] = (val
*) var71
;
9979 ((struct instance_array__NativeArray
*)var81
)->values
[7] = (val
*) var75
;
9981 ((void (*)(val
*, val
*, long))(var79
->class->vft
[COLOR_array__Array__with_native
]))(var79
, var81
, var80
) /* with_native on <var79:Array[Object]>*/;
9985 var82
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_string__Object__to_s
]))(var79
) /* to_s on <var79:Array[Object]>*/;
9988 abstract_compiler__AbstractCompilerVisitor__add(self
, var82
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/