1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
3 void abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
4 val
* var
/* : AbstractCompilerVisitor */;
5 val
* var_v
/* var v: AbstractCompilerVisitor */;
7 val
* var1
/* : String */;
8 char* var2
/* : NativeString */;
10 val
* var4
/* : FlatString */;
11 val
* var5
/* : ModelBuilder */;
12 val
* var7
/* : ModelBuilder */;
13 val
* var8
/* : ToolContext */;
14 val
* var10
/* : ToolContext */;
15 val
* var11
/* : OptionString */;
16 val
* var13
/* : OptionString */;
17 val
* var14
/* : nullable Object */;
18 val
* var16
/* : nullable Object */;
19 val
* var_ost
/* var ost: nullable String */;
20 val
* var17
/* : MModule */;
21 val
* var19
/* : MModule */;
22 val
* var20
/* : nullable Platform */;
23 val
* var_platform
/* var platform: nullable Platform */;
24 short int var21
/* : Bool */;
25 val
* var22
/* : null */;
26 short int var23
/* : Bool */;
27 short int var24
/* : Bool */;
28 short int var_
/* var : Bool */;
29 short int var25
/* : Bool */;
30 short int var26
/* : Bool */;
31 static val
* varonce27
;
32 val
* var28
/* : String */;
33 char* var29
/* : NativeString */;
34 long var30
/* : Int */;
35 val
* var31
/* : FlatString */;
36 short int var32
/* : Bool */;
37 short int var33
/* : Bool */;
38 val
* var34
/* : null */;
39 short int var35
/* : Bool */;
40 short int var36
/* : Bool */;
41 short int var_37
/* var : Bool */;
42 short int var38
/* : Bool */;
43 short int var_39
/* var : Bool */;
44 val
* var40
/* : ModelBuilder */;
45 val
* var42
/* : ModelBuilder */;
46 val
* var43
/* : ToolContext */;
47 val
* var45
/* : ToolContext */;
48 val
* var46
/* : OptionBool */;
49 val
* var48
/* : OptionBool */;
50 val
* var49
/* : nullable Object */;
51 val
* var51
/* : nullable Object */;
52 short int var52
/* : Bool */;
53 short int var_no_main
/* var no_main: Bool */;
54 short int var53
/* : Bool */;
55 static val
* varonce54
;
56 val
* var55
/* : String */;
57 char* var56
/* : NativeString */;
58 long var57
/* : Int */;
59 val
* var58
/* : FlatString */;
60 short int var59
/* : Bool */;
61 short int var60
/* : Bool */;
62 short int var_61
/* var : Bool */;
63 static val
* varonce62
;
64 val
* var63
/* : String */;
65 char* var64
/* : NativeString */;
66 long var65
/* : Int */;
67 val
* var66
/* : FlatString */;
68 short int var67
/* : Bool */;
69 short int var68
/* : Bool */;
70 static val
* varonce69
;
71 val
* var70
/* : String */;
72 char* var71
/* : NativeString */;
73 long var72
/* : Int */;
74 val
* var73
/* : FlatString */;
75 static val
* varonce74
;
76 val
* var75
/* : String */;
77 char* var76
/* : NativeString */;
78 long var77
/* : Int */;
79 val
* var78
/* : FlatString */;
80 static val
* varonce79
;
81 val
* var80
/* : String */;
82 char* var81
/* : NativeString */;
83 long var82
/* : Int */;
84 val
* var83
/* : FlatString */;
85 short int var84
/* : Bool */;
86 short int var85
/* : Bool */;
87 static val
* varonce86
;
88 val
* var87
/* : String */;
89 char* var88
/* : NativeString */;
90 long var89
/* : Int */;
91 val
* var90
/* : FlatString */;
92 static val
* varonce91
;
93 val
* var92
/* : String */;
94 char* var93
/* : NativeString */;
95 long var94
/* : Int */;
96 val
* var95
/* : FlatString */;
97 static val
* varonce96
;
98 val
* var97
/* : String */;
99 char* var98
/* : NativeString */;
100 long var99
/* : Int */;
101 val
* var100
/* : FlatString */;
102 static val
* varonce101
;
103 val
* var102
/* : String */;
104 char* var103
/* : NativeString */;
105 long var104
/* : Int */;
106 val
* var105
/* : FlatString */;
107 val
* var106
/* : ModelBuilder */;
108 val
* var108
/* : ModelBuilder */;
109 val
* var109
/* : ToolContext */;
110 val
* var111
/* : ToolContext */;
111 val
* var112
/* : OptionBool */;
112 val
* var114
/* : OptionBool */;
113 val
* var115
/* : nullable Object */;
114 val
* var117
/* : nullable Object */;
115 short int var118
/* : Bool */;
116 val
* var119
/* : Array[String] */;
117 val
* var121
/* : Array[String] */;
118 val
* var_122
/* var : Array[String] */;
119 val
* var123
/* : ArrayIterator[nullable Object] */;
120 val
* var_124
/* var : ArrayIterator[String] */;
121 short int var125
/* : Bool */;
122 val
* var126
/* : nullable Object */;
123 val
* var_tag
/* var tag: String */;
124 static val
* varonce127
;
125 val
* var128
/* : String */;
126 char* var129
/* : NativeString */;
127 long var130
/* : Int */;
128 val
* var131
/* : FlatString */;
129 static val
* varonce132
;
130 val
* var133
/* : String */;
131 char* var134
/* : NativeString */;
132 long var135
/* : Int */;
133 val
* var136
/* : FlatString */;
134 val
* var137
/* : Array[Object] */;
135 long var138
/* : Int */;
136 val
* var139
/* : NativeArray[Object] */;
137 val
* var140
/* : String */;
138 static val
* varonce141
;
139 val
* var142
/* : String */;
140 char* var143
/* : NativeString */;
141 long var144
/* : Int */;
142 val
* var145
/* : FlatString */;
143 static val
* varonce146
;
144 val
* var147
/* : String */;
145 char* var148
/* : NativeString */;
146 long var149
/* : Int */;
147 val
* var150
/* : FlatString */;
148 val
* var151
/* : Array[Object] */;
149 long var152
/* : Int */;
150 val
* var153
/* : NativeArray[Object] */;
151 val
* var154
/* : String */;
152 static val
* varonce155
;
153 val
* var156
/* : String */;
154 char* var157
/* : NativeString */;
155 long var158
/* : Int */;
156 val
* var159
/* : FlatString */;
157 static val
* varonce160
;
158 val
* var161
/* : String */;
159 char* var162
/* : NativeString */;
160 long var163
/* : Int */;
161 val
* var164
/* : FlatString */;
162 val
* var165
/* : Array[Object] */;
163 long var166
/* : Int */;
164 val
* var167
/* : NativeArray[Object] */;
165 val
* var168
/* : String */;
166 val
* var169
/* : AbstractCompiler */;
167 val
* var171
/* : AbstractCompiler */;
168 val
* var172
/* : CodeWriter */;
169 val
* var174
/* : CodeWriter */;
170 static val
* varonce175
;
171 val
* var176
/* : String */;
172 char* var177
/* : NativeString */;
173 long var178
/* : Int */;
174 val
* var179
/* : FlatString */;
175 static val
* varonce180
;
176 val
* var181
/* : String */;
177 char* var182
/* : NativeString */;
178 long var183
/* : Int */;
179 val
* var184
/* : FlatString */;
180 val
* var185
/* : Array[Object] */;
181 long var186
/* : Int */;
182 val
* var187
/* : NativeArray[Object] */;
183 val
* var188
/* : String */;
184 val
* var189
/* : AbstractCompiler */;
185 val
* var191
/* : AbstractCompiler */;
186 val
* var192
/* : CodeWriter */;
187 val
* var194
/* : CodeWriter */;
188 static val
* varonce195
;
189 val
* var196
/* : String */;
190 char* var197
/* : NativeString */;
191 long var198
/* : Int */;
192 val
* var199
/* : FlatString */;
193 static val
* varonce200
;
194 val
* var201
/* : String */;
195 char* var202
/* : NativeString */;
196 long var203
/* : Int */;
197 val
* var204
/* : FlatString */;
198 val
* var205
/* : Array[Object] */;
199 long var206
/* : Int */;
200 val
* var207
/* : NativeArray[Object] */;
201 val
* var208
/* : String */;
202 val
* var209
/* : AbstractCompiler */;
203 val
* var211
/* : AbstractCompiler */;
204 val
* var212
/* : CodeWriter */;
205 val
* var214
/* : CodeWriter */;
206 static val
* varonce215
;
207 val
* var216
/* : String */;
208 char* var217
/* : NativeString */;
209 long var218
/* : Int */;
210 val
* var219
/* : FlatString */;
211 static val
* varonce220
;
212 val
* var221
/* : String */;
213 char* var222
/* : NativeString */;
214 long var223
/* : Int */;
215 val
* var224
/* : FlatString */;
216 val
* var225
/* : Array[Object] */;
217 long var226
/* : Int */;
218 val
* var227
/* : NativeArray[Object] */;
219 val
* var228
/* : String */;
220 val
* var230
/* : ModelBuilder */;
221 val
* var232
/* : ModelBuilder */;
222 val
* var233
/* : ToolContext */;
223 val
* var235
/* : ToolContext */;
224 val
* var236
/* : OptionBool */;
225 val
* var238
/* : OptionBool */;
226 val
* var239
/* : nullable Object */;
227 val
* var241
/* : nullable Object */;
228 short int var242
/* : Bool */;
229 static val
* varonce243
;
230 val
* var244
/* : String */;
231 char* var245
/* : NativeString */;
232 long var246
/* : Int */;
233 val
* var247
/* : FlatString */;
234 static val
* varonce248
;
235 val
* var249
/* : String */;
236 char* var250
/* : NativeString */;
237 long var251
/* : Int */;
238 val
* var252
/* : FlatString */;
239 static val
* varonce253
;
240 val
* var254
/* : String */;
241 char* var255
/* : NativeString */;
242 long var256
/* : Int */;
243 val
* var257
/* : FlatString */;
244 val
* var258
/* : AbstractCompiler */;
245 val
* var260
/* : AbstractCompiler */;
246 val
* var261
/* : CodeWriter */;
247 val
* var263
/* : CodeWriter */;
248 static val
* varonce264
;
249 val
* var265
/* : String */;
250 char* var266
/* : NativeString */;
251 long var267
/* : Int */;
252 val
* var268
/* : FlatString */;
253 val
* var269
/* : AbstractCompiler */;
254 val
* var271
/* : AbstractCompiler */;
255 val
* var272
/* : CodeWriter */;
256 val
* var274
/* : CodeWriter */;
257 static val
* varonce275
;
258 val
* var276
/* : String */;
259 char* var277
/* : NativeString */;
260 long var278
/* : Int */;
261 val
* var279
/* : FlatString */;
262 val
* var280
/* : AbstractCompiler */;
263 val
* var282
/* : AbstractCompiler */;
264 val
* var283
/* : CodeWriter */;
265 val
* var285
/* : CodeWriter */;
266 static val
* varonce286
;
267 val
* var287
/* : String */;
268 char* var288
/* : NativeString */;
269 long var289
/* : Int */;
270 val
* var290
/* : FlatString */;
271 val
* var291
/* : ModelBuilder */;
272 val
* var293
/* : ModelBuilder */;
273 val
* var294
/* : ToolContext */;
274 val
* var296
/* : ToolContext */;
275 val
* var297
/* : OptionBool */;
276 val
* var299
/* : OptionBool */;
277 val
* var300
/* : nullable Object */;
278 val
* var302
/* : nullable Object */;
279 short int var303
/* : Bool */;
280 static val
* varonce304
;
281 val
* var305
/* : String */;
282 char* var306
/* : NativeString */;
283 long var307
/* : Int */;
284 val
* var308
/* : FlatString */;
285 static val
* varonce309
;
286 val
* var310
/* : String */;
287 char* var311
/* : NativeString */;
288 long var312
/* : Int */;
289 val
* var313
/* : FlatString */;
290 val
* var314
/* : AbstractCompiler */;
291 val
* var316
/* : AbstractCompiler */;
292 val
* var317
/* : CodeWriter */;
293 val
* var319
/* : CodeWriter */;
294 static val
* varonce320
;
295 val
* var321
/* : String */;
296 char* var322
/* : NativeString */;
297 long var323
/* : Int */;
298 val
* var324
/* : FlatString */;
299 val
* var325
/* : AbstractCompiler */;
300 val
* var327
/* : AbstractCompiler */;
301 val
* var328
/* : CodeWriter */;
302 val
* var330
/* : CodeWriter */;
303 static val
* varonce331
;
304 val
* var332
/* : String */;
305 char* var333
/* : NativeString */;
306 long var334
/* : Int */;
307 val
* var335
/* : FlatString */;
308 static val
* varonce336
;
309 val
* var337
/* : String */;
310 char* var338
/* : NativeString */;
311 long var339
/* : Int */;
312 val
* var340
/* : FlatString */;
313 static val
* varonce341
;
314 val
* var342
/* : String */;
315 char* var343
/* : NativeString */;
316 long var344
/* : Int */;
317 val
* var345
/* : FlatString */;
318 static val
* varonce346
;
319 val
* var347
/* : String */;
320 char* var348
/* : NativeString */;
321 long var349
/* : Int */;
322 val
* var350
/* : FlatString */;
323 static val
* varonce351
;
324 val
* var352
/* : String */;
325 char* var353
/* : NativeString */;
326 long var354
/* : Int */;
327 val
* var355
/* : FlatString */;
328 static val
* varonce356
;
329 val
* var357
/* : String */;
330 char* var358
/* : NativeString */;
331 long var359
/* : Int */;
332 val
* var360
/* : FlatString */;
333 short int var361
/* : Bool */;
334 static val
* varonce362
;
335 val
* var363
/* : String */;
336 char* var364
/* : NativeString */;
337 long var365
/* : Int */;
338 val
* var366
/* : FlatString */;
339 short int var367
/* : Bool */;
340 short int var368
/* : Bool */;
341 short int var_369
/* var : Bool */;
342 static val
* varonce370
;
343 val
* var371
/* : String */;
344 char* var372
/* : NativeString */;
345 long var373
/* : Int */;
346 val
* var374
/* : FlatString */;
347 short int var375
/* : Bool */;
348 short int var376
/* : Bool */;
349 static val
* varonce377
;
350 val
* var378
/* : String */;
351 char* var379
/* : NativeString */;
352 long var380
/* : Int */;
353 val
* var381
/* : FlatString */;
354 static val
* varonce382
;
355 val
* var383
/* : String */;
356 char* var384
/* : NativeString */;
357 long var385
/* : Int */;
358 val
* var386
/* : FlatString */;
359 static val
* varonce387
;
360 val
* var388
/* : String */;
361 char* var389
/* : NativeString */;
362 long var390
/* : Int */;
363 val
* var391
/* : FlatString */;
364 static val
* varonce392
;
365 val
* var393
/* : String */;
366 char* var394
/* : NativeString */;
367 long var395
/* : Int */;
368 val
* var396
/* : FlatString */;
369 static val
* varonce397
;
370 val
* var398
/* : String */;
371 char* var399
/* : NativeString */;
372 long var400
/* : Int */;
373 val
* var401
/* : FlatString */;
374 static val
* varonce402
;
375 val
* var403
/* : String */;
376 char* var404
/* : NativeString */;
377 long var405
/* : Int */;
378 val
* var406
/* : FlatString */;
379 static val
* varonce407
;
380 val
* var408
/* : String */;
381 char* var409
/* : NativeString */;
382 long var410
/* : Int */;
383 val
* var411
/* : FlatString */;
384 static val
* varonce412
;
385 val
* var413
/* : String */;
386 char* var414
/* : NativeString */;
387 long var415
/* : Int */;
388 val
* var416
/* : FlatString */;
389 static val
* varonce417
;
390 val
* var418
/* : String */;
391 char* var419
/* : NativeString */;
392 long var420
/* : Int */;
393 val
* var421
/* : FlatString */;
394 static val
* varonce422
;
395 val
* var423
/* : String */;
396 char* var424
/* : NativeString */;
397 long var425
/* : Int */;
398 val
* var426
/* : FlatString */;
399 static val
* varonce427
;
400 val
* var428
/* : String */;
401 char* var429
/* : NativeString */;
402 long var430
/* : Int */;
403 val
* var431
/* : FlatString */;
404 static val
* varonce432
;
405 val
* var433
/* : String */;
406 char* var434
/* : NativeString */;
407 long var435
/* : Int */;
408 val
* var436
/* : FlatString */;
409 static val
* varonce437
;
410 val
* var438
/* : String */;
411 char* var439
/* : NativeString */;
412 long var440
/* : Int */;
413 val
* var441
/* : FlatString */;
414 static val
* varonce442
;
415 val
* var443
/* : String */;
416 char* var444
/* : NativeString */;
417 long var445
/* : Int */;
418 val
* var446
/* : FlatString */;
419 short int var447
/* : Bool */;
420 short int var448
/* : Bool */;
421 static val
* varonce449
;
422 val
* var450
/* : String */;
423 char* var451
/* : NativeString */;
424 long var452
/* : Int */;
425 val
* var453
/* : FlatString */;
426 static val
* varonce454
;
427 val
* var455
/* : String */;
428 char* var456
/* : NativeString */;
429 long var457
/* : Int */;
430 val
* var458
/* : FlatString */;
431 static val
* varonce459
;
432 val
* var460
/* : String */;
433 char* var461
/* : NativeString */;
434 long var462
/* : Int */;
435 val
* var463
/* : FlatString */;
436 static val
* varonce464
;
437 val
* var465
/* : String */;
438 char* var466
/* : NativeString */;
439 long var467
/* : Int */;
440 val
* var468
/* : FlatString */;
441 static val
* varonce469
;
442 val
* var470
/* : String */;
443 char* var471
/* : NativeString */;
444 long var472
/* : Int */;
445 val
* var473
/* : FlatString */;
446 static val
* varonce474
;
447 val
* var475
/* : String */;
448 char* var476
/* : NativeString */;
449 long var477
/* : Int */;
450 val
* var478
/* : FlatString */;
451 static val
* varonce479
;
452 val
* var480
/* : String */;
453 char* var481
/* : NativeString */;
454 long var482
/* : Int */;
455 val
* var483
/* : FlatString */;
456 static val
* varonce484
;
457 val
* var485
/* : String */;
458 char* var486
/* : NativeString */;
459 long var487
/* : Int */;
460 val
* var488
/* : FlatString */;
461 static val
* varonce489
;
462 val
* var490
/* : String */;
463 char* var491
/* : NativeString */;
464 long var492
/* : Int */;
465 val
* var493
/* : FlatString */;
466 static val
* varonce494
;
467 val
* var495
/* : String */;
468 char* var496
/* : NativeString */;
469 long var497
/* : Int */;
470 val
* var498
/* : FlatString */;
471 static val
* varonce499
;
472 val
* var500
/* : String */;
473 char* var501
/* : NativeString */;
474 long var502
/* : Int */;
475 val
* var503
/* : FlatString */;
476 static val
* varonce504
;
477 val
* var505
/* : String */;
478 char* var506
/* : NativeString */;
479 long var507
/* : Int */;
480 val
* var508
/* : FlatString */;
481 static val
* varonce509
;
482 val
* var510
/* : String */;
483 char* var511
/* : NativeString */;
484 long var512
/* : Int */;
485 val
* var513
/* : FlatString */;
486 static val
* varonce514
;
487 val
* var515
/* : String */;
488 char* var516
/* : NativeString */;
489 long var517
/* : Int */;
490 val
* var518
/* : FlatString */;
491 static val
* varonce519
;
492 val
* var520
/* : String */;
493 char* var521
/* : NativeString */;
494 long var522
/* : Int */;
495 val
* var523
/* : FlatString */;
496 static val
* varonce524
;
497 val
* var525
/* : String */;
498 char* var526
/* : NativeString */;
499 long var527
/* : Int */;
500 val
* var528
/* : FlatString */;
501 static val
* varonce529
;
502 val
* var530
/* : String */;
503 char* var531
/* : NativeString */;
504 long var532
/* : Int */;
505 val
* var533
/* : FlatString */;
506 static val
* varonce534
;
507 val
* var535
/* : String */;
508 char* var536
/* : NativeString */;
509 long var537
/* : Int */;
510 val
* var538
/* : FlatString */;
511 static val
* varonce539
;
512 val
* var540
/* : String */;
513 char* var541
/* : NativeString */;
514 long var542
/* : Int */;
515 val
* var543
/* : FlatString */;
516 static val
* varonce544
;
517 val
* var545
/* : String */;
518 char* var546
/* : NativeString */;
519 long var547
/* : Int */;
520 val
* var548
/* : FlatString */;
521 static val
* varonce549
;
522 val
* var550
/* : String */;
523 char* var551
/* : NativeString */;
524 long var552
/* : Int */;
525 val
* var553
/* : FlatString */;
526 static val
* varonce554
;
527 val
* var555
/* : String */;
528 char* var556
/* : NativeString */;
529 long var557
/* : Int */;
530 val
* var558
/* : FlatString */;
531 static val
* varonce559
;
532 val
* var560
/* : String */;
533 char* var561
/* : NativeString */;
534 long var562
/* : Int */;
535 val
* var563
/* : FlatString */;
536 static val
* varonce564
;
537 val
* var565
/* : String */;
538 char* var566
/* : NativeString */;
539 long var567
/* : Int */;
540 val
* var568
/* : FlatString */;
541 static val
* varonce569
;
542 val
* var570
/* : String */;
543 char* var571
/* : NativeString */;
544 long var572
/* : Int */;
545 val
* var573
/* : FlatString */;
546 val
* var574
/* : MModule */;
547 val
* var576
/* : MModule */;
548 val
* var577
/* : nullable MClassType */;
549 val
* var_main_type
/* var main_type: nullable MClassType */;
550 val
* var578
/* : null */;
551 short int var579
/* : Bool */;
552 short int var580
/* : Bool */;
553 val
* var_other
/* var other: nullable Object */;
554 short int var582
/* : Bool */;
555 short int var583
/* : Bool */;
556 short int var584
/* : Bool */;
557 val
* var585
/* : AbstractCompiler */;
558 val
* var587
/* : AbstractCompiler */;
559 val
* var588
/* : MModule */;
560 val
* var590
/* : MModule */;
561 val
* var_mainmodule
/* var mainmodule: MModule */;
562 val
* var591
/* : RuntimeVariable */;
563 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
564 static val
* varonce592
;
565 val
* var593
/* : String */;
566 char* var594
/* : NativeString */;
567 long var595
/* : Int */;
568 val
* var596
/* : FlatString */;
569 static val
* varonce597
;
570 val
* var598
/* : String */;
571 char* var599
/* : NativeString */;
572 long var600
/* : Int */;
573 val
* var601
/* : FlatString */;
574 val
* var602
/* : Array[Object] */;
575 long var603
/* : Int */;
576 val
* var604
/* : NativeArray[Object] */;
577 val
* var605
/* : String */;
578 static val
* varonce606
;
579 val
* var607
/* : String */;
580 char* var608
/* : NativeString */;
581 long var609
/* : Int */;
582 val
* var610
/* : FlatString */;
583 val
* var611
/* : MClass */;
584 val
* var613
/* : MClass */;
585 val
* var614
/* : nullable MMethod */;
586 val
* var_main_init
/* var main_init: nullable MMethod */;
587 val
* var615
/* : null */;
588 short int var616
/* : Bool */;
589 short int var617
/* : Bool */;
590 short int var619
/* : Bool */;
591 short int var620
/* : Bool */;
592 short int var621
/* : Bool */;
593 val
* var622
/* : Array[RuntimeVariable] */;
594 long var623
/* : Int */;
595 val
* var_624
/* var : Array[RuntimeVariable] */;
596 val
* var625
/* : nullable RuntimeVariable */;
597 val
* var626
/* : nullable MMethod */;
598 static val
* varonce627
;
599 val
* var628
/* : String */;
600 char* var629
/* : NativeString */;
601 long var630
/* : Int */;
602 val
* var631
/* : FlatString */;
603 val
* var632
/* : MClass */;
604 val
* var634
/* : MClass */;
605 val
* var635
/* : nullable MMethod */;
606 static val
* varonce636
;
607 val
* var637
/* : String */;
608 char* var638
/* : NativeString */;
609 long var639
/* : Int */;
610 val
* var640
/* : FlatString */;
611 val
* var641
/* : MClass */;
612 val
* var643
/* : MClass */;
613 val
* var644
/* : nullable MMethod */;
614 val
* var_main_method
/* var main_method: nullable MMethod */;
615 val
* var645
/* : null */;
616 short int var646
/* : Bool */;
617 short int var647
/* : Bool */;
618 short int var649
/* : Bool */;
619 short int var650
/* : Bool */;
620 short int var651
/* : Bool */;
621 val
* var652
/* : Array[RuntimeVariable] */;
622 long var653
/* : Int */;
623 val
* var_654
/* var : Array[RuntimeVariable] */;
624 val
* var655
/* : nullable RuntimeVariable */;
625 val
* var656
/* : ModelBuilder */;
626 val
* var658
/* : ModelBuilder */;
627 val
* var659
/* : ToolContext */;
628 val
* var661
/* : ToolContext */;
629 val
* var662
/* : OptionBool */;
630 val
* var664
/* : OptionBool */;
631 val
* var665
/* : nullable Object */;
632 val
* var667
/* : nullable Object */;
633 short int var668
/* : Bool */;
634 static val
* varonce669
;
635 val
* var670
/* : String */;
636 char* var671
/* : NativeString */;
637 long var672
/* : Int */;
638 val
* var673
/* : FlatString */;
639 static val
* varonce674
;
640 val
* var675
/* : String */;
641 char* var676
/* : NativeString */;
642 long var677
/* : Int */;
643 val
* var678
/* : FlatString */;
644 static val
* varonce679
;
645 val
* var680
/* : String */;
646 char* var681
/* : NativeString */;
647 long var682
/* : Int */;
648 val
* var683
/* : FlatString */;
649 static val
* varonce684
;
650 val
* var685
/* : String */;
651 char* var686
/* : NativeString */;
652 long var687
/* : Int */;
653 val
* var688
/* : FlatString */;
654 val
* var689
/* : Array[String] */;
655 val
* var691
/* : Array[String] */;
656 val
* var_692
/* var : Array[String] */;
657 val
* var693
/* : ArrayIterator[nullable Object] */;
658 val
* var_694
/* var : ArrayIterator[String] */;
659 short int var695
/* : Bool */;
660 val
* var696
/* : nullable Object */;
661 val
* var_tag697
/* var tag: String */;
662 static val
* varonce698
;
663 val
* var699
/* : String */;
664 char* var700
/* : NativeString */;
665 long var701
/* : Int */;
666 val
* var702
/* : FlatString */;
667 static val
* varonce703
;
668 val
* var704
/* : String */;
669 char* var705
/* : NativeString */;
670 long var706
/* : Int */;
671 val
* var707
/* : FlatString */;
672 val
* var708
/* : Array[Object] */;
673 long var709
/* : Int */;
674 val
* var710
/* : NativeArray[Object] */;
675 val
* var711
/* : String */;
676 static val
* varonce712
;
677 val
* var713
/* : String */;
678 char* var714
/* : NativeString */;
679 long var715
/* : Int */;
680 val
* var716
/* : FlatString */;
681 static val
* varonce717
;
682 val
* var718
/* : String */;
683 char* var719
/* : NativeString */;
684 long var720
/* : Int */;
685 val
* var721
/* : FlatString */;
686 static val
* varonce722
;
687 val
* var723
/* : String */;
688 char* var724
/* : NativeString */;
689 long var725
/* : Int */;
690 val
* var726
/* : FlatString */;
691 static val
* varonce727
;
692 val
* var728
/* : String */;
693 char* var729
/* : NativeString */;
694 long var730
/* : Int */;
695 val
* var731
/* : FlatString */;
696 static val
* varonce732
;
697 val
* var733
/* : String */;
698 char* var734
/* : NativeString */;
699 long var735
/* : Int */;
700 val
* var736
/* : FlatString */;
701 val
* var737
/* : Array[Object] */;
702 long var738
/* : Int */;
703 val
* var739
/* : NativeArray[Object] */;
704 val
* var740
/* : String */;
705 static val
* varonce741
;
706 val
* var742
/* : String */;
707 char* var743
/* : NativeString */;
708 long var744
/* : Int */;
709 val
* var745
/* : FlatString */;
710 static val
* varonce746
;
711 val
* var747
/* : String */;
712 char* var748
/* : NativeString */;
713 long var749
/* : Int */;
714 val
* var750
/* : FlatString */;
715 val
* var751
/* : Array[Object] */;
716 long var752
/* : Int */;
717 val
* var753
/* : NativeArray[Object] */;
718 val
* var754
/* : String */;
719 static val
* varonce755
;
720 val
* var756
/* : String */;
721 char* var757
/* : NativeString */;
722 long var758
/* : Int */;
723 val
* var759
/* : FlatString */;
724 static val
* varonce760
;
725 val
* var761
/* : String */;
726 char* var762
/* : NativeString */;
727 long var763
/* : Int */;
728 val
* var764
/* : FlatString */;
729 val
* var765
/* : Array[Object] */;
730 long var766
/* : Int */;
731 val
* var767
/* : NativeArray[Object] */;
732 val
* var768
/* : String */;
733 static val
* varonce769
;
734 val
* var770
/* : String */;
735 char* var771
/* : NativeString */;
736 long var772
/* : Int */;
737 val
* var773
/* : FlatString */;
738 static val
* varonce774
;
739 val
* var775
/* : String */;
740 char* var776
/* : NativeString */;
741 long var777
/* : Int */;
742 val
* var778
/* : FlatString */;
743 val
* var779
/* : Array[Object] */;
744 long var780
/* : Int */;
745 val
* var781
/* : NativeArray[Object] */;
746 val
* var782
/* : String */;
747 static val
* varonce783
;
748 val
* var784
/* : String */;
749 char* var785
/* : NativeString */;
750 long var786
/* : Int */;
751 val
* var787
/* : FlatString */;
752 static val
* varonce788
;
753 val
* var789
/* : String */;
754 char* var790
/* : NativeString */;
755 long var791
/* : Int */;
756 val
* var792
/* : FlatString */;
757 val
* var793
/* : Array[Object] */;
758 long var794
/* : Int */;
759 val
* var795
/* : NativeArray[Object] */;
760 val
* var796
/* : String */;
761 static val
* varonce799
;
762 val
* var800
/* : String */;
763 char* var801
/* : NativeString */;
764 long var802
/* : Int */;
765 val
* var803
/* : FlatString */;
766 static val
* varonce804
;
767 val
* var805
/* : String */;
768 char* var806
/* : NativeString */;
769 long var807
/* : Int */;
770 val
* var808
/* : FlatString */;
771 val
* var809
/* : Array[String] */;
772 val
* var811
/* : Array[String] */;
773 val
* var812
/* : Array[nullable Object] */;
774 val
* var_tags
/* var tags: Array[String] */;
775 static val
* varonce813
;
776 val
* var814
/* : String */;
777 char* var815
/* : NativeString */;
778 long var816
/* : Int */;
779 val
* var817
/* : FlatString */;
780 val
* var_818
/* var : Array[String] */;
781 val
* var819
/* : ArrayIterator[nullable Object] */;
782 val
* var_820
/* var : ArrayIterator[String] */;
783 short int var821
/* : Bool */;
784 val
* var822
/* : nullable Object */;
785 val
* var_tag823
/* var tag: String */;
786 static val
* varonce824
;
787 val
* var825
/* : String */;
788 char* var826
/* : NativeString */;
789 long var827
/* : Int */;
790 val
* var828
/* : FlatString */;
791 static val
* varonce829
;
792 val
* var830
/* : String */;
793 char* var831
/* : NativeString */;
794 long var832
/* : Int */;
795 val
* var833
/* : FlatString */;
796 val
* var834
/* : Array[Object] */;
797 long var835
/* : Int */;
798 val
* var836
/* : NativeArray[Object] */;
799 val
* var837
/* : String */;
800 static val
* varonce838
;
801 val
* var839
/* : String */;
802 char* var840
/* : NativeString */;
803 long var841
/* : Int */;
804 val
* var842
/* : FlatString */;
805 static val
* varonce843
;
806 val
* var844
/* : String */;
807 char* var845
/* : NativeString */;
808 long var846
/* : Int */;
809 val
* var847
/* : FlatString */;
810 static val
* varonce848
;
811 val
* var849
/* : String */;
812 char* var850
/* : NativeString */;
813 long var851
/* : Int */;
814 val
* var852
/* : FlatString */;
815 val
* var853
/* : Array[Object] */;
816 long var854
/* : Int */;
817 val
* var855
/* : NativeArray[Object] */;
818 val
* var856
/* : String */;
819 static val
* varonce857
;
820 val
* var858
/* : String */;
821 char* var859
/* : NativeString */;
822 long var860
/* : Int */;
823 val
* var861
/* : FlatString */;
824 static val
* varonce862
;
825 val
* var863
/* : String */;
826 char* var864
/* : NativeString */;
827 long var865
/* : Int */;
828 val
* var866
/* : FlatString */;
829 static val
* varonce867
;
830 val
* var868
/* : String */;
831 char* var869
/* : NativeString */;
832 long var870
/* : Int */;
833 val
* var871
/* : FlatString */;
834 val
* var872
/* : Array[Object] */;
835 long var873
/* : Int */;
836 val
* var874
/* : NativeArray[Object] */;
837 val
* var875
/* : String */;
838 static val
* varonce876
;
839 val
* var877
/* : String */;
840 char* var878
/* : NativeString */;
841 long var879
/* : Int */;
842 val
* var880
/* : FlatString */;
843 static val
* varonce881
;
844 val
* var882
/* : String */;
845 char* var883
/* : NativeString */;
846 long var884
/* : Int */;
847 val
* var885
/* : FlatString */;
848 static val
* varonce886
;
849 val
* var887
/* : String */;
850 char* var888
/* : NativeString */;
851 long var889
/* : Int */;
852 val
* var890
/* : FlatString */;
853 val
* var891
/* : Array[Object] */;
854 long var892
/* : Int */;
855 val
* var893
/* : NativeArray[Object] */;
856 val
* var894
/* : String */;
857 static val
* varonce895
;
858 val
* var896
/* : String */;
859 char* var897
/* : NativeString */;
860 long var898
/* : Int */;
861 val
* var899
/* : FlatString */;
862 static val
* varonce900
;
863 val
* var901
/* : String */;
864 char* var902
/* : NativeString */;
865 long var903
/* : Int */;
866 val
* var904
/* : FlatString */;
867 static val
* varonce905
;
868 val
* var906
/* : String */;
869 char* var907
/* : NativeString */;
870 long var908
/* : Int */;
871 val
* var909
/* : FlatString */;
872 val
* var910
/* : Array[Object] */;
873 long var911
/* : Int */;
874 val
* var912
/* : NativeArray[Object] */;
875 val
* var913
/* : String */;
876 val
* var916
/* : ModelBuilder */;
877 val
* var918
/* : ModelBuilder */;
878 val
* var919
/* : ToolContext */;
879 val
* var921
/* : ToolContext */;
880 val
* var922
/* : OptionBool */;
881 val
* var924
/* : OptionBool */;
882 val
* var925
/* : nullable Object */;
883 val
* var927
/* : nullable Object */;
884 short int var928
/* : Bool */;
885 static val
* varonce929
;
886 val
* var930
/* : String */;
887 char* var931
/* : NativeString */;
888 long var932
/* : Int */;
889 val
* var933
/* : FlatString */;
890 static val
* varonce934
;
891 val
* var935
/* : String */;
892 char* var936
/* : NativeString */;
893 long var937
/* : Int */;
894 val
* var938
/* : FlatString */;
895 static val
* varonce939
;
896 val
* var940
/* : String */;
897 char* var941
/* : NativeString */;
898 long var942
/* : Int */;
899 val
* var943
/* : FlatString */;
900 static val
* varonce944
;
901 val
* var945
/* : String */;
902 char* var946
/* : NativeString */;
903 long var947
/* : Int */;
904 val
* var948
/* : FlatString */;
905 static val
* varonce949
;
906 val
* var950
/* : String */;
907 char* var951
/* : NativeString */;
908 long var952
/* : Int */;
909 val
* var953
/* : FlatString */;
910 static val
* varonce954
;
911 val
* var955
/* : String */;
912 char* var956
/* : NativeString */;
913 long var957
/* : Int */;
914 val
* var958
/* : FlatString */;
915 val
* var959
/* : ModelBuilder */;
916 val
* var961
/* : ModelBuilder */;
917 val
* var962
/* : ToolContext */;
918 val
* var964
/* : ToolContext */;
919 val
* var965
/* : OptionBool */;
920 val
* var967
/* : OptionBool */;
921 val
* var968
/* : nullable Object */;
922 val
* var970
/* : nullable Object */;
923 short int var971
/* : Bool */;
924 static val
* varonce972
;
925 val
* var973
/* : String */;
926 char* var974
/* : NativeString */;
927 long var975
/* : Int */;
928 val
* var976
/* : FlatString */;
929 static val
* varonce977
;
930 val
* var978
/* : String */;
931 char* var979
/* : NativeString */;
932 long var980
/* : Int */;
933 val
* var981
/* : FlatString */;
934 static val
* varonce982
;
935 val
* var983
/* : String */;
936 char* var984
/* : NativeString */;
937 long var985
/* : Int */;
938 val
* var986
/* : FlatString */;
939 static val
* varonce987
;
940 val
* var988
/* : String */;
941 char* var989
/* : NativeString */;
942 long var990
/* : Int */;
943 val
* var991
/* : FlatString */;
945 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
951 var2
= "#include <signal.h>";
953 var4
= string__NativeString__to_s_with_length(var2
, var3
);
958 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
961 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
962 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
963 if (unlikely(var7
== NULL
)) {
964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
965 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
973 { /* Inline modelbuilder#ModelBuilder#toolcontext (var5) on <var5:ModelBuilder> */
974 var10
= var5
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var5:ModelBuilder> */
975 if (unlikely(var10
== NULL
)) {
976 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
977 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
985 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (var8) on <var8:ToolContext> */
986 var13
= var8
->attrs
[COLOR_abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <var8:ToolContext> */
987 if (unlikely(var13
== NULL
)) {
988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
989 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 67);
997 { /* Inline opts#Option#value (var11) on <var11:OptionString> */
998 var16
= var11
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var11:OptionString> */
1000 RET_LABEL15
:(void)0;
1005 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
1006 var19
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
1007 if (unlikely(var19
== NULL
)) {
1008 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
1009 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
1013 RET_LABEL18
:(void)0;
1017 var20
= platform__MModule__target_platform(var17
);
1019 var_platform
= var20
;
1021 if (var_platform
== NULL
) {
1022 var23
= 0; /* is null */
1024 var23
= 1; /* arg is null and recv is not */
1027 var24
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_platform
, var22
) /* != on <var_platform:nullable Platform>*/;
1033 var25
= ((short int (*)(val
*))(var_platform
->class->vft
[COLOR_platform__Platform__supports_libunwind
]))(var_platform
) /* supports_libunwind on <var_platform:nullable Platform(Platform)>*/;
1046 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1054 if (var_platform
== NULL
) {
1055 var35
= 0; /* is null */
1057 var35
= 1; /* arg is null and recv is not */
1060 var36
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_platform
, var34
) /* != on <var_platform:nullable Platform>*/;
1066 var38
= ((short int (*)(val
*))(var_platform
->class->vft
[COLOR_platform__Platform__no_main
]))(var_platform
) /* no_main on <var_platform:nullable Platform(Platform)>*/;
1077 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1078 var42
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1079 if (unlikely(var42
== NULL
)) {
1080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1081 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1085 RET_LABEL41
:(void)0;
1089 { /* Inline modelbuilder#ModelBuilder#toolcontext (var40) on <var40:ModelBuilder> */
1090 var45
= var40
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var40:ModelBuilder> */
1091 if (unlikely(var45
== NULL
)) {
1092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1093 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1097 RET_LABEL44
:(void)0;
1101 { /* Inline abstract_compiler#ToolContext#opt_no_main (var43) on <var43:ToolContext> */
1102 var48
= var43
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <var43:ToolContext> */
1103 if (unlikely(var48
== NULL
)) {
1104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
1105 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 35);
1109 RET_LABEL47
:(void)0;
1113 { /* Inline opts#Option#value (var46) on <var46:OptionBool> */
1114 var51
= var46
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var46:OptionBool> */
1116 RET_LABEL50
:(void)0;
1119 var52
= ((struct instance_kernel__Bool
*)var49
)->value
; /* autounbox from nullable Object to Bool */;
1122 var_no_main
= var32
;
1128 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1132 if (var_ost
== NULL
) {
1133 var59
= 0; /* <var55:String> cannot be null */
1135 var60
= string__FlatString___61d_61d(var_ost
, var55
);
1145 var64
= "libunwind";
1147 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1151 if (var_ost
== NULL
) {
1152 var67
= 0; /* <var63:String> cannot be null */
1154 var68
= string__FlatString___61d_61d(var_ost
, var63
);
1163 var71
= "#define UNW_LOCAL_ONLY";
1165 var73
= string__NativeString__to_s_with_length(var71
, var72
);
1170 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var70
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1175 var76
= "#include <libunwind.h>";
1177 var78
= string__NativeString__to_s_with_length(var76
, var77
);
1182 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1189 var83
= string__NativeString__to_s_with_length(var81
, var82
);
1193 if (var_ost
== NULL
) {
1194 var84
= 0; /* <var80:String> cannot be null */
1196 var85
= string__FlatString___61d_61d(var_ost
, var80
);
1203 var88
= "#include \"c_functions_hash.h\"";
1205 var90
= string__NativeString__to_s_with_length(var88
, var89
);
1210 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var87
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1219 var93
= "int glob_argc;";
1221 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1226 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var92
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1231 var98
= "char **glob_argv;";
1233 var100
= string__NativeString__to_s_with_length(var98
, var99
);
1238 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1241 var102
= varonce101
;
1243 var103
= "val *glob_sys;";
1245 var105
= string__NativeString__to_s_with_length(var103
, var104
);
1247 varonce101
= var102
;
1250 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1253 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1254 var108
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1255 if (unlikely(var108
== NULL
)) {
1256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1257 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1261 RET_LABEL107
:(void)0;
1265 { /* Inline modelbuilder#ModelBuilder#toolcontext (var106) on <var106:ModelBuilder> */
1266 var111
= var106
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var106:ModelBuilder> */
1267 if (unlikely(var111
== NULL
)) {
1268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1269 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1273 RET_LABEL110
:(void)0;
1277 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var109) on <var109:ToolContext> */
1278 var114
= var109
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var109:ToolContext> */
1279 if (unlikely(var114
== NULL
)) {
1280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1281 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 61);
1285 RET_LABEL113
:(void)0;
1289 { /* Inline opts#Option#value (var112) on <var112:OptionBool> */
1290 var117
= var112
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var112:OptionBool> */
1292 RET_LABEL116
:(void)0;
1295 var118
= ((struct instance_kernel__Bool
*)var115
)->value
; /* autounbox from nullable Object to Bool */;
1298 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
1299 var121
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
1300 if (unlikely(var121
== NULL
)) {
1301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
1302 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
1306 RET_LABEL120
:(void)0;
1311 var123
= array__AbstractArrayRead__iterator(var_122
);
1316 var125
= array__ArrayIterator__is_ok(var_124
);
1320 var126
= array__ArrayIterator__item(var_124
);
1324 var128
= varonce127
;
1326 var129
= "long count_type_test_resolved_";
1328 var131
= string__NativeString__to_s_with_length(var129
, var130
);
1330 varonce127
= var128
;
1333 var133
= varonce132
;
1337 var136
= string__NativeString__to_s_with_length(var134
, var135
);
1339 varonce132
= var133
;
1341 var137
= NEW_array__Array(&type_array__Arraykernel__Object
);
1342 { /* var137 = array_instance Array[Object] */
1344 var139
= NEW_array__NativeArray(var138
, &type_array__NativeArraykernel__Object
);
1345 ((struct instance_array__NativeArray
*)var139
)->values
[0] = (val
*) var128
;
1346 ((struct instance_array__NativeArray
*)var139
)->values
[1] = (val
*) var_tag
;
1347 ((struct instance_array__NativeArray
*)var139
)->values
[2] = (val
*) var133
;
1349 ((void (*)(val
*, val
*, long))(var137
->class->vft
[COLOR_array__Array__with_native
]))(var137
, var139
, var138
) /* with_native on <var137:Array[Object]>*/;
1353 var140
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_string__Object__to_s
]))(var137
) /* to_s on <var137:Array[Object]>*/;
1356 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1359 var142
= varonce141
;
1361 var143
= "long count_type_test_unresolved_";
1363 var145
= string__NativeString__to_s_with_length(var143
, var144
);
1365 varonce141
= var142
;
1368 var147
= varonce146
;
1372 var150
= string__NativeString__to_s_with_length(var148
, var149
);
1374 varonce146
= var147
;
1376 var151
= NEW_array__Array(&type_array__Arraykernel__Object
);
1377 { /* var151 = array_instance Array[Object] */
1379 var153
= NEW_array__NativeArray(var152
, &type_array__NativeArraykernel__Object
);
1380 ((struct instance_array__NativeArray
*)var153
)->values
[0] = (val
*) var142
;
1381 ((struct instance_array__NativeArray
*)var153
)->values
[1] = (val
*) var_tag
;
1382 ((struct instance_array__NativeArray
*)var153
)->values
[2] = (val
*) var147
;
1384 ((void (*)(val
*, val
*, long))(var151
->class->vft
[COLOR_array__Array__with_native
]))(var151
, var153
, var152
) /* with_native on <var151:Array[Object]>*/;
1388 var154
= ((val
* (*)(val
*))(var151
->class->vft
[COLOR_string__Object__to_s
]))(var151
) /* to_s on <var151:Array[Object]>*/;
1391 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var154
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1394 var156
= varonce155
;
1396 var157
= "long count_type_test_skipped_";
1398 var159
= string__NativeString__to_s_with_length(var157
, var158
);
1400 varonce155
= var156
;
1403 var161
= varonce160
;
1407 var164
= string__NativeString__to_s_with_length(var162
, var163
);
1409 varonce160
= var161
;
1411 var165
= NEW_array__Array(&type_array__Arraykernel__Object
);
1412 { /* var165 = array_instance Array[Object] */
1414 var167
= NEW_array__NativeArray(var166
, &type_array__NativeArraykernel__Object
);
1415 ((struct instance_array__NativeArray
*)var167
)->values
[0] = (val
*) var156
;
1416 ((struct instance_array__NativeArray
*)var167
)->values
[1] = (val
*) var_tag
;
1417 ((struct instance_array__NativeArray
*)var167
)->values
[2] = (val
*) var161
;
1419 ((void (*)(val
*, val
*, long))(var165
->class->vft
[COLOR_array__Array__with_native
]))(var165
, var167
, var166
) /* with_native on <var165:Array[Object]>*/;
1423 var168
= ((val
* (*)(val
*))(var165
->class->vft
[COLOR_string__Object__to_s
]))(var165
) /* to_s on <var165:Array[Object]>*/;
1426 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var168
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1429 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1430 var171
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1431 if (unlikely(var171
== NULL
)) {
1432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1433 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1437 RET_LABEL170
:(void)0;
1441 { /* Inline abstract_compiler#AbstractCompiler#header (var169) on <var169:AbstractCompiler> */
1442 var174
= var169
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var169:AbstractCompiler> */
1443 if (unlikely(var174
== NULL
)) {
1444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1445 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1449 RET_LABEL173
:(void)0;
1453 var176
= varonce175
;
1455 var177
= "extern long count_type_test_resolved_";
1457 var179
= string__NativeString__to_s_with_length(var177
, var178
);
1459 varonce175
= var176
;
1462 var181
= varonce180
;
1466 var184
= string__NativeString__to_s_with_length(var182
, var183
);
1468 varonce180
= var181
;
1470 var185
= NEW_array__Array(&type_array__Arraykernel__Object
);
1471 { /* var185 = array_instance Array[Object] */
1473 var187
= NEW_array__NativeArray(var186
, &type_array__NativeArraykernel__Object
);
1474 ((struct instance_array__NativeArray
*)var187
)->values
[0] = (val
*) var176
;
1475 ((struct instance_array__NativeArray
*)var187
)->values
[1] = (val
*) var_tag
;
1476 ((struct instance_array__NativeArray
*)var187
)->values
[2] = (val
*) var181
;
1478 ((void (*)(val
*, val
*, long))(var185
->class->vft
[COLOR_array__Array__with_native
]))(var185
, var187
, var186
) /* with_native on <var185:Array[Object]>*/;
1482 var188
= ((val
* (*)(val
*))(var185
->class->vft
[COLOR_string__Object__to_s
]))(var185
) /* to_s on <var185:Array[Object]>*/;
1485 abstract_compiler__CodeWriter__add_decl(var172
, var188
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var172:CodeWriter>*/
1488 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1489 var191
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1490 if (unlikely(var191
== NULL
)) {
1491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1492 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1496 RET_LABEL190
:(void)0;
1500 { /* Inline abstract_compiler#AbstractCompiler#header (var189) on <var189:AbstractCompiler> */
1501 var194
= var189
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var189:AbstractCompiler> */
1502 if (unlikely(var194
== NULL
)) {
1503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1504 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1508 RET_LABEL193
:(void)0;
1512 var196
= varonce195
;
1514 var197
= "extern long count_type_test_unresolved_";
1516 var199
= string__NativeString__to_s_with_length(var197
, var198
);
1518 varonce195
= var196
;
1521 var201
= varonce200
;
1525 var204
= string__NativeString__to_s_with_length(var202
, var203
);
1527 varonce200
= var201
;
1529 var205
= NEW_array__Array(&type_array__Arraykernel__Object
);
1530 { /* var205 = array_instance Array[Object] */
1532 var207
= NEW_array__NativeArray(var206
, &type_array__NativeArraykernel__Object
);
1533 ((struct instance_array__NativeArray
*)var207
)->values
[0] = (val
*) var196
;
1534 ((struct instance_array__NativeArray
*)var207
)->values
[1] = (val
*) var_tag
;
1535 ((struct instance_array__NativeArray
*)var207
)->values
[2] = (val
*) var201
;
1537 ((void (*)(val
*, val
*, long))(var205
->class->vft
[COLOR_array__Array__with_native
]))(var205
, var207
, var206
) /* with_native on <var205:Array[Object]>*/;
1541 var208
= ((val
* (*)(val
*))(var205
->class->vft
[COLOR_string__Object__to_s
]))(var205
) /* to_s on <var205:Array[Object]>*/;
1544 abstract_compiler__CodeWriter__add_decl(var192
, var208
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var192:CodeWriter>*/
1547 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1548 var211
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1549 if (unlikely(var211
== NULL
)) {
1550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1551 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1555 RET_LABEL210
:(void)0;
1559 { /* Inline abstract_compiler#AbstractCompiler#header (var209) on <var209:AbstractCompiler> */
1560 var214
= var209
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var209:AbstractCompiler> */
1561 if (unlikely(var214
== NULL
)) {
1562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1563 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1567 RET_LABEL213
:(void)0;
1571 var216
= varonce215
;
1573 var217
= "extern long count_type_test_skipped_";
1575 var219
= string__NativeString__to_s_with_length(var217
, var218
);
1577 varonce215
= var216
;
1580 var221
= varonce220
;
1584 var224
= string__NativeString__to_s_with_length(var222
, var223
);
1586 varonce220
= var221
;
1588 var225
= NEW_array__Array(&type_array__Arraykernel__Object
);
1589 { /* var225 = array_instance Array[Object] */
1591 var227
= NEW_array__NativeArray(var226
, &type_array__NativeArraykernel__Object
);
1592 ((struct instance_array__NativeArray
*)var227
)->values
[0] = (val
*) var216
;
1593 ((struct instance_array__NativeArray
*)var227
)->values
[1] = (val
*) var_tag
;
1594 ((struct instance_array__NativeArray
*)var227
)->values
[2] = (val
*) var221
;
1596 ((void (*)(val
*, val
*, long))(var225
->class->vft
[COLOR_array__Array__with_native
]))(var225
, var227
, var226
) /* with_native on <var225:Array[Object]>*/;
1600 var228
= ((val
* (*)(val
*))(var225
->class->vft
[COLOR_string__Object__to_s
]))(var225
) /* to_s on <var225:Array[Object]>*/;
1603 abstract_compiler__CodeWriter__add_decl(var212
, var228
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var212:CodeWriter>*/
1606 array__ArrayIterator__next(var_124
); /* Direct call array#ArrayIterator#next on <var_124:ArrayIterator[String]>*/
1612 BREAK_label
: (void)0;
1614 { /* Inline abstract_collection#Iterator#finish (var_124) on <var_124:ArrayIterator[String]> */
1615 RET_LABEL229
:(void)0;
1621 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1622 var232
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1623 if (unlikely(var232
== NULL
)) {
1624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1625 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1629 RET_LABEL231
:(void)0;
1633 { /* Inline modelbuilder#ModelBuilder#toolcontext (var230) on <var230:ModelBuilder> */
1634 var235
= var230
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var230:ModelBuilder> */
1635 if (unlikely(var235
== NULL
)) {
1636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1637 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1641 RET_LABEL234
:(void)0;
1645 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var233) on <var233:ToolContext> */
1646 var238
= var233
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var233:ToolContext> */
1647 if (unlikely(var238
== NULL
)) {
1648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
1649 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 63);
1653 RET_LABEL237
:(void)0;
1657 { /* Inline opts#Option#value (var236) on <var236:OptionBool> */
1658 var241
= var236
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var236:OptionBool> */
1660 RET_LABEL240
:(void)0;
1663 var242
= ((struct instance_kernel__Bool
*)var239
)->value
; /* autounbox from nullable Object to Bool */;
1666 var244
= varonce243
;
1668 var245
= "long count_invoke_by_tables;";
1670 var247
= string__NativeString__to_s_with_length(var245
, var246
);
1672 varonce243
= var244
;
1675 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var244
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1678 var249
= varonce248
;
1680 var250
= "long count_invoke_by_direct;";
1682 var252
= string__NativeString__to_s_with_length(var250
, var251
);
1684 varonce248
= var249
;
1687 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var249
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1690 var254
= varonce253
;
1692 var255
= "long count_invoke_by_inline;";
1694 var257
= string__NativeString__to_s_with_length(var255
, var256
);
1696 varonce253
= var254
;
1699 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var254
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1702 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1703 var260
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1704 if (unlikely(var260
== NULL
)) {
1705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1706 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1710 RET_LABEL259
:(void)0;
1714 { /* Inline abstract_compiler#AbstractCompiler#header (var258) on <var258:AbstractCompiler> */
1715 var263
= var258
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var258:AbstractCompiler> */
1716 if (unlikely(var263
== NULL
)) {
1717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1718 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1722 RET_LABEL262
:(void)0;
1726 var265
= varonce264
;
1728 var266
= "extern long count_invoke_by_tables;";
1730 var268
= string__NativeString__to_s_with_length(var266
, var267
);
1732 varonce264
= var265
;
1735 abstract_compiler__CodeWriter__add_decl(var261
, var265
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var261:CodeWriter>*/
1738 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1739 var271
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1740 if (unlikely(var271
== NULL
)) {
1741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1742 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1746 RET_LABEL270
:(void)0;
1750 { /* Inline abstract_compiler#AbstractCompiler#header (var269) on <var269:AbstractCompiler> */
1751 var274
= var269
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var269:AbstractCompiler> */
1752 if (unlikely(var274
== NULL
)) {
1753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1754 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1758 RET_LABEL273
:(void)0;
1762 var276
= varonce275
;
1764 var277
= "extern long count_invoke_by_direct;";
1766 var279
= string__NativeString__to_s_with_length(var277
, var278
);
1768 varonce275
= var276
;
1771 abstract_compiler__CodeWriter__add_decl(var272
, var276
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var272:CodeWriter>*/
1774 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1775 var282
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1776 if (unlikely(var282
== NULL
)) {
1777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1778 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1782 RET_LABEL281
:(void)0;
1786 { /* Inline abstract_compiler#AbstractCompiler#header (var280) on <var280:AbstractCompiler> */
1787 var285
= var280
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var280:AbstractCompiler> */
1788 if (unlikely(var285
== NULL
)) {
1789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1790 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1794 RET_LABEL284
:(void)0;
1798 var287
= varonce286
;
1800 var288
= "extern long count_invoke_by_inline;";
1802 var290
= string__NativeString__to_s_with_length(var288
, var289
);
1804 varonce286
= var287
;
1807 abstract_compiler__CodeWriter__add_decl(var283
, var287
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var283:CodeWriter>*/
1812 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1813 var293
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1814 if (unlikely(var293
== NULL
)) {
1815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1816 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
1820 RET_LABEL292
:(void)0;
1824 { /* Inline modelbuilder#ModelBuilder#toolcontext (var291) on <var291:ModelBuilder> */
1825 var296
= var291
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var291:ModelBuilder> */
1826 if (unlikely(var296
== NULL
)) {
1827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1828 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
1832 RET_LABEL295
:(void)0;
1836 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var294) on <var294:ToolContext> */
1837 var299
= var294
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var294:ToolContext> */
1838 if (unlikely(var299
== NULL
)) {
1839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
1840 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
1844 RET_LABEL298
:(void)0;
1848 { /* Inline opts#Option#value (var297) on <var297:OptionBool> */
1849 var302
= var297
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var297:OptionBool> */
1851 RET_LABEL301
:(void)0;
1854 var303
= ((struct instance_kernel__Bool
*)var300
)->value
; /* autounbox from nullable Object to Bool */;
1857 var305
= varonce304
;
1859 var306
= "long count_attr_reads = 0;";
1861 var308
= string__NativeString__to_s_with_length(var306
, var307
);
1863 varonce304
= var305
;
1866 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var305
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1869 var310
= varonce309
;
1871 var311
= "long count_isset_checks = 0;";
1873 var313
= string__NativeString__to_s_with_length(var311
, var312
);
1875 varonce309
= var310
;
1878 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var310
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1881 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1882 var316
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1883 if (unlikely(var316
== NULL
)) {
1884 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1885 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1889 RET_LABEL315
:(void)0;
1893 { /* Inline abstract_compiler#AbstractCompiler#header (var314) on <var314:AbstractCompiler> */
1894 var319
= var314
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var314:AbstractCompiler> */
1895 if (unlikely(var319
== NULL
)) {
1896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1897 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1901 RET_LABEL318
:(void)0;
1905 var321
= varonce320
;
1907 var322
= "extern long count_attr_reads;";
1909 var324
= string__NativeString__to_s_with_length(var322
, var323
);
1911 varonce320
= var321
;
1914 abstract_compiler__CodeWriter__add_decl(var317
, var321
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var317:CodeWriter>*/
1917 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1918 var327
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1919 if (unlikely(var327
== NULL
)) {
1920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1921 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
1925 RET_LABEL326
:(void)0;
1929 { /* Inline abstract_compiler#AbstractCompiler#header (var325) on <var325:AbstractCompiler> */
1930 var330
= var325
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var325:AbstractCompiler> */
1931 if (unlikely(var330
== NULL
)) {
1932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1933 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 506);
1937 RET_LABEL329
:(void)0;
1941 var332
= varonce331
;
1943 var333
= "extern long count_isset_checks;";
1945 var335
= string__NativeString__to_s_with_length(var333
, var334
);
1947 varonce331
= var332
;
1950 abstract_compiler__CodeWriter__add_decl(var328
, var332
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var328:CodeWriter>*/
1955 var337
= varonce336
;
1957 var338
= "void sig_handler(int signo){";
1959 var340
= string__NativeString__to_s_with_length(var338
, var339
);
1961 varonce336
= var337
;
1964 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var337
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1967 var342
= varonce341
;
1969 var343
= "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));";
1971 var345
= string__NativeString__to_s_with_length(var343
, var344
);
1973 varonce341
= var342
;
1976 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var342
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1979 var347
= varonce346
;
1981 var348
= "show_backtrace(signo);";
1983 var350
= string__NativeString__to_s_with_length(var348
, var349
);
1985 varonce346
= var347
;
1988 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var347
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1991 var352
= varonce351
;
1995 var355
= string__NativeString__to_s_with_length(var353
, var354
);
1997 varonce351
= var352
;
2000 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var352
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2003 var357
= varonce356
;
2005 var358
= "void show_backtrace (int signo) {";
2007 var360
= string__NativeString__to_s_with_length(var358
, var359
);
2009 varonce356
= var357
;
2012 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var357
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2015 var363
= varonce362
;
2017 var364
= "nitstack";
2019 var366
= string__NativeString__to_s_with_length(var364
, var365
);
2021 varonce362
= var363
;
2023 if (var_ost
== NULL
) {
2024 var367
= 0; /* <var363:String> cannot be null */
2026 var368
= string__FlatString___61d_61d(var_ost
, var363
);
2034 var371
= varonce370
;
2036 var372
= "libunwind";
2038 var374
= string__NativeString__to_s_with_length(var372
, var373
);
2040 varonce370
= var371
;
2042 if (var_ost
== NULL
) {
2043 var375
= 0; /* <var371:String> cannot be null */
2045 var376
= string__FlatString___61d_61d(var_ost
, var371
);
2052 var378
= varonce377
;
2054 var379
= "char* opt = getenv(\"NIT_NO_STACK\");";
2056 var381
= string__NativeString__to_s_with_length(var379
, var380
);
2058 varonce377
= var378
;
2061 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var378
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2064 var383
= varonce382
;
2066 var384
= "unw_cursor_t cursor;";
2068 var386
= string__NativeString__to_s_with_length(var384
, var385
);
2070 varonce382
= var383
;
2073 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var383
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2076 var388
= varonce387
;
2078 var389
= "if(opt==NULL){";
2080 var391
= string__NativeString__to_s_with_length(var389
, var390
);
2082 varonce387
= var388
;
2085 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var388
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2088 var393
= varonce392
;
2090 var394
= "unw_context_t uc;";
2092 var396
= string__NativeString__to_s_with_length(var394
, var395
);
2094 varonce392
= var393
;
2097 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var393
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2100 var398
= varonce397
;
2102 var399
= "unw_word_t ip;";
2104 var401
= string__NativeString__to_s_with_length(var399
, var400
);
2106 varonce397
= var398
;
2109 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var398
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2112 var403
= varonce402
;
2114 var404
= "char* procname = malloc(sizeof(char) * 100);";
2116 var406
= string__NativeString__to_s_with_length(var404
, var405
);
2118 varonce402
= var403
;
2121 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var403
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2124 var408
= varonce407
;
2126 var409
= "unw_getcontext(&uc);";
2128 var411
= string__NativeString__to_s_with_length(var409
, var410
);
2130 varonce407
= var408
;
2133 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var408
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2136 var413
= varonce412
;
2138 var414
= "unw_init_local(&cursor, &uc);";
2140 var416
= string__NativeString__to_s_with_length(var414
, var415
);
2142 varonce412
= var413
;
2145 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var413
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2148 var418
= varonce417
;
2150 var419
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2152 var421
= string__NativeString__to_s_with_length(var419
, var420
);
2154 varonce417
= var418
;
2157 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var418
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2160 var423
= varonce422
;
2162 var424
= "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");";
2164 var426
= string__NativeString__to_s_with_length(var424
, var425
);
2166 varonce422
= var423
;
2169 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var423
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2172 var428
= varonce427
;
2174 var429
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2176 var431
= string__NativeString__to_s_with_length(var429
, var430
);
2178 varonce427
= var428
;
2181 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var428
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2184 var433
= varonce432
;
2186 var434
= "while (unw_step(&cursor) > 0) {";
2188 var436
= string__NativeString__to_s_with_length(var434
, var435
);
2190 varonce432
= var433
;
2193 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var433
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2196 var438
= varonce437
;
2198 var439
= "\11unw_get_proc_name(&cursor, procname, 100, &ip);";
2200 var441
= string__NativeString__to_s_with_length(var439
, var440
);
2202 varonce437
= var438
;
2205 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var438
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2208 var443
= varonce442
;
2210 var444
= "nitstack";
2212 var446
= string__NativeString__to_s_with_length(var444
, var445
);
2214 varonce442
= var443
;
2216 if (var_ost
== NULL
) {
2217 var447
= 0; /* <var443:String> cannot be null */
2219 var448
= string__FlatString___61d_61d(var_ost
, var443
);
2224 var450
= varonce449
;
2226 var451
= "\11const char* recv = get_nit_name(procname, strlen(procname));";
2228 var453
= string__NativeString__to_s_with_length(var451
, var452
);
2230 varonce449
= var450
;
2233 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var450
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2236 var455
= varonce454
;
2238 var456
= "\11if (recv != NULL){";
2240 var458
= string__NativeString__to_s_with_length(var456
, var457
);
2242 varonce454
= var455
;
2245 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var455
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2248 var460
= varonce459
;
2250 var461
= "\11\11PRINT_ERROR(\"` %s\\n\", recv);";
2252 var463
= string__NativeString__to_s_with_length(var461
, var462
);
2254 varonce459
= var460
;
2257 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var460
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2260 var465
= varonce464
;
2262 var466
= "\11}else{";
2264 var468
= string__NativeString__to_s_with_length(var466
, var467
);
2266 varonce464
= var465
;
2269 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var465
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2272 var470
= varonce469
;
2274 var471
= "\11\11PRINT_ERROR(\"` %s\\n\", procname);";
2276 var473
= string__NativeString__to_s_with_length(var471
, var472
);
2278 varonce469
= var470
;
2281 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var470
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2284 var475
= varonce474
;
2288 var478
= string__NativeString__to_s_with_length(var476
, var477
);
2290 varonce474
= var475
;
2293 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var475
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2297 var480
= varonce479
;
2299 var481
= "\11PRINT_ERROR(\"` %s \\n\",procname);";
2301 var483
= string__NativeString__to_s_with_length(var481
, var482
);
2303 varonce479
= var480
;
2306 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var480
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2310 var485
= varonce484
;
2314 var488
= string__NativeString__to_s_with_length(var486
, var487
);
2316 varonce484
= var485
;
2319 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var485
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2322 var490
= varonce489
;
2324 var491
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2326 var493
= string__NativeString__to_s_with_length(var491
, var492
);
2328 varonce489
= var490
;
2331 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var490
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2334 var495
= varonce494
;
2336 var496
= "free(procname);";
2338 var498
= string__NativeString__to_s_with_length(var496
, var497
);
2340 varonce494
= var495
;
2343 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var495
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2346 var500
= varonce499
;
2350 var503
= string__NativeString__to_s_with_length(var501
, var502
);
2352 varonce499
= var500
;
2355 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var500
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2360 var505
= varonce504
;
2362 var506
= "exit(signo);";
2364 var508
= string__NativeString__to_s_with_length(var506
, var507
);
2366 varonce504
= var505
;
2369 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var505
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2372 var510
= varonce509
;
2376 var513
= string__NativeString__to_s_with_length(var511
, var512
);
2378 varonce509
= var510
;
2381 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var510
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2385 var515
= varonce514
;
2387 var516
= "int nit_main(int argc, char** argv) {";
2389 var518
= string__NativeString__to_s_with_length(var516
, var517
);
2391 varonce514
= var515
;
2394 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var515
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2398 var520
= varonce519
;
2400 var521
= "int main(int argc, char** argv) {";
2402 var523
= string__NativeString__to_s_with_length(var521
, var522
);
2404 varonce519
= var520
;
2407 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var520
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2411 var525
= varonce524
;
2413 var526
= "signal(SIGABRT, sig_handler);";
2415 var528
= string__NativeString__to_s_with_length(var526
, var527
);
2417 varonce524
= var525
;
2420 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var525
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2423 var530
= varonce529
;
2425 var531
= "signal(SIGFPE, sig_handler);";
2427 var533
= string__NativeString__to_s_with_length(var531
, var532
);
2429 varonce529
= var530
;
2432 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var530
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2435 var535
= varonce534
;
2437 var536
= "signal(SIGILL, sig_handler);";
2439 var538
= string__NativeString__to_s_with_length(var536
, var537
);
2441 varonce534
= var535
;
2444 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var535
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2447 var540
= varonce539
;
2449 var541
= "signal(SIGINT, sig_handler);";
2451 var543
= string__NativeString__to_s_with_length(var541
, var542
);
2453 varonce539
= var540
;
2456 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var540
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2459 var545
= varonce544
;
2461 var546
= "signal(SIGTERM, sig_handler);";
2463 var548
= string__NativeString__to_s_with_length(var546
, var547
);
2465 varonce544
= var545
;
2468 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var545
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2471 var550
= varonce549
;
2473 var551
= "signal(SIGSEGV, sig_handler);";
2475 var553
= string__NativeString__to_s_with_length(var551
, var552
);
2477 varonce549
= var550
;
2480 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var550
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2483 var555
= varonce554
;
2485 var556
= "signal(SIGPIPE, sig_handler);";
2487 var558
= string__NativeString__to_s_with_length(var556
, var557
);
2489 varonce554
= var555
;
2492 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var555
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2495 var560
= varonce559
;
2497 var561
= "glob_argc = argc; glob_argv = argv;";
2499 var563
= string__NativeString__to_s_with_length(var561
, var562
);
2501 varonce559
= var560
;
2504 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var560
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2507 var565
= varonce564
;
2509 var566
= "initialize_gc_option();";
2511 var568
= string__NativeString__to_s_with_length(var566
, var567
);
2513 varonce564
= var565
;
2516 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var565
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2519 var570
= varonce569
;
2521 var571
= "initialize_nitni_global_refs();";
2523 var573
= string__NativeString__to_s_with_length(var571
, var572
);
2525 varonce569
= var570
;
2528 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var570
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2531 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
2532 var576
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
2533 if (unlikely(var576
== NULL
)) {
2534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2535 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
2539 RET_LABEL575
:(void)0;
2543 var577
= model__MModule__sys_type(var574
);
2545 var_main_type
= var577
;
2547 if (var_main_type
== NULL
) {
2548 var579
= 0; /* is null */
2550 var579
= 1; /* arg is null and recv is not */
2553 { /* Inline kernel#Object#!= (var_main_type,var578) on <var_main_type:nullable MClassType> */
2556 var583
= ((short int (*)(val
*, val
*))(var_main_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_main_type
, var_other
) /* == on <var_main_type:nullable MClassType(MClassType)>*/;
2562 RET_LABEL581
:(void)0;
2568 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
2569 var587
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
2570 if (unlikely(var587
== NULL
)) {
2571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2572 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
2576 RET_LABEL586
:(void)0;
2580 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var585) on <var585:AbstractCompiler> */
2581 var590
= var585
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var585:AbstractCompiler> */
2582 if (unlikely(var590
== NULL
)) {
2583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2584 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
2588 RET_LABEL589
:(void)0;
2591 var_mainmodule
= var588
;
2593 var591
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
2595 var_glob_sys
= var591
;
2597 var593
= varonce592
;
2599 var594
= "glob_sys = ";
2601 var596
= string__NativeString__to_s_with_length(var594
, var595
);
2603 varonce592
= var593
;
2606 var598
= varonce597
;
2610 var601
= string__NativeString__to_s_with_length(var599
, var600
);
2612 varonce597
= var598
;
2614 var602
= NEW_array__Array(&type_array__Arraykernel__Object
);
2615 { /* var602 = array_instance Array[Object] */
2617 var604
= NEW_array__NativeArray(var603
, &type_array__NativeArraykernel__Object
);
2618 ((struct instance_array__NativeArray
*)var604
)->values
[0] = (val
*) var593
;
2619 ((struct instance_array__NativeArray
*)var604
)->values
[1] = (val
*) var_glob_sys
;
2620 ((struct instance_array__NativeArray
*)var604
)->values
[2] = (val
*) var598
;
2622 ((void (*)(val
*, val
*, long))(var602
->class->vft
[COLOR_array__Array__with_native
]))(var602
, var604
, var603
) /* with_native on <var602:Array[Object]>*/;
2626 var605
= ((val
* (*)(val
*))(var602
->class->vft
[COLOR_string__Object__to_s
]))(var602
) /* to_s on <var602:Array[Object]>*/;
2629 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var605
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2632 var607
= varonce606
;
2636 var610
= string__NativeString__to_s_with_length(var608
, var609
);
2638 varonce606
= var607
;
2641 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2642 var613
= var_main_type
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2643 if (unlikely(var613
== NULL
)) {
2644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2645 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2649 RET_LABEL612
:(void)0;
2653 var614
= model__MModule__try_get_primitive_method(var_mainmodule
, var607
, var611
);
2655 var_main_init
= var614
;
2657 if (var_main_init
== NULL
) {
2658 var616
= 0; /* is null */
2660 var616
= 1; /* arg is null and recv is not */
2663 { /* Inline kernel#Object#!= (var_main_init,var615) on <var_main_init:nullable MMethod> */
2666 var620
= ((short int (*)(val
*, val
*))(var_main_init
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_main_init
, var_other
) /* == on <var_main_init:nullable MMethod(MMethod)>*/;
2672 RET_LABEL618
:(void)0;
2677 var622
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2680 array__Array__with_capacity(var622
, var623
); /* Direct call array#Array#with_capacity on <var622:Array[RuntimeVariable]>*/
2684 array__AbstractArray__push(var_624
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_624:Array[RuntimeVariable]>*/
2687 var625
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var_main_init
, var_624
);
2692 var628
= varonce627
;
2696 var631
= string__NativeString__to_s_with_length(var629
, var630
);
2698 varonce627
= var628
;
2701 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2702 var634
= var_main_type
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2703 if (unlikely(var634
== NULL
)) {
2704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2705 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2709 RET_LABEL633
:(void)0;
2713 var635
= model__MModule__try_get_primitive_method(var_mainmodule
, var628
, var632
);
2719 var637
= varonce636
;
2723 var640
= string__NativeString__to_s_with_length(var638
, var639
);
2725 varonce636
= var637
;
2728 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2729 var643
= var_main_type
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2730 if (unlikely(var643
== NULL
)) {
2731 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2732 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
2736 RET_LABEL642
:(void)0;
2740 var644
= model__MModule__try_get_primitive_method(var_mainmodule
, var637
, var641
);
2744 var_main_method
= var626
;
2746 if (var_main_method
== NULL
) {
2747 var646
= 0; /* is null */
2749 var646
= 1; /* arg is null and recv is not */
2752 { /* Inline kernel#Object#!= (var_main_method,var645) on <var_main_method:nullable MMethod> */
2755 var650
= ((short int (*)(val
*, val
*))(var_main_method
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_main_method
, var_other
) /* == on <var_main_method:nullable MMethod(MMethod)>*/;
2761 RET_LABEL648
:(void)0;
2766 var652
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2769 array__Array__with_capacity(var652
, var653
); /* Direct call array#Array#with_capacity on <var652:Array[RuntimeVariable]>*/
2773 array__AbstractArray__push(var_654
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_654:Array[RuntimeVariable]>*/
2776 var655
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var_main_method
, var_654
);
2783 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
2784 var658
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
2785 if (unlikely(var658
== NULL
)) {
2786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2787 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
2791 RET_LABEL657
:(void)0;
2795 { /* Inline modelbuilder#ModelBuilder#toolcontext (var656) on <var656:ModelBuilder> */
2796 var661
= var656
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var656:ModelBuilder> */
2797 if (unlikely(var661
== NULL
)) {
2798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2799 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
2803 RET_LABEL660
:(void)0;
2807 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var659) on <var659:ToolContext> */
2808 var664
= var659
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var659:ToolContext> */
2809 if (unlikely(var664
== NULL
)) {
2810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
2811 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 61);
2815 RET_LABEL663
:(void)0;
2819 { /* Inline opts#Option#value (var662) on <var662:OptionBool> */
2820 var667
= var662
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var662:OptionBool> */
2822 RET_LABEL666
:(void)0;
2825 var668
= ((struct instance_kernel__Bool
*)var665
)->value
; /* autounbox from nullable Object to Bool */;
2828 var670
= varonce669
;
2830 var671
= "long count_type_test_resolved_total = 0;";
2832 var673
= string__NativeString__to_s_with_length(var671
, var672
);
2834 varonce669
= var670
;
2837 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var670
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2840 var675
= varonce674
;
2842 var676
= "long count_type_test_unresolved_total = 0;";
2844 var678
= string__NativeString__to_s_with_length(var676
, var677
);
2846 varonce674
= var675
;
2849 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var675
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2852 var680
= varonce679
;
2854 var681
= "long count_type_test_skipped_total = 0;";
2856 var683
= string__NativeString__to_s_with_length(var681
, var682
);
2858 varonce679
= var680
;
2861 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var680
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2864 var685
= varonce684
;
2866 var686
= "long count_type_test_total_total = 0;";
2868 var688
= string__NativeString__to_s_with_length(var686
, var687
);
2870 varonce684
= var685
;
2873 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var685
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2876 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
2877 var691
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
2878 if (unlikely(var691
== NULL
)) {
2879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
2880 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
2884 RET_LABEL690
:(void)0;
2889 var693
= array__AbstractArrayRead__iterator(var_692
);
2894 var695
= array__ArrayIterator__is_ok(var_694
);
2898 var696
= array__ArrayIterator__item(var_694
);
2900 var_tag697
= var696
;
2902 var699
= varonce698
;
2904 var700
= "long count_type_test_total_";
2906 var702
= string__NativeString__to_s_with_length(var700
, var701
);
2908 varonce698
= var699
;
2911 var704
= varonce703
;
2915 var707
= string__NativeString__to_s_with_length(var705
, var706
);
2917 varonce703
= var704
;
2919 var708
= NEW_array__Array(&type_array__Arraykernel__Object
);
2920 { /* var708 = array_instance Array[Object] */
2922 var710
= NEW_array__NativeArray(var709
, &type_array__NativeArraykernel__Object
);
2923 ((struct instance_array__NativeArray
*)var710
)->values
[0] = (val
*) var699
;
2924 ((struct instance_array__NativeArray
*)var710
)->values
[1] = (val
*) var_tag697
;
2925 ((struct instance_array__NativeArray
*)var710
)->values
[2] = (val
*) var704
;
2927 ((void (*)(val
*, val
*, long))(var708
->class->vft
[COLOR_array__Array__with_native
]))(var708
, var710
, var709
) /* with_native on <var708:Array[Object]>*/;
2931 var711
= ((val
* (*)(val
*))(var708
->class->vft
[COLOR_string__Object__to_s
]))(var708
) /* to_s on <var708:Array[Object]>*/;
2934 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var711
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2937 var713
= varonce712
;
2939 var714
= "count_type_test_total_";
2941 var716
= string__NativeString__to_s_with_length(var714
, var715
);
2943 varonce712
= var713
;
2946 var718
= varonce717
;
2948 var719
= " = count_type_test_resolved_";
2950 var721
= string__NativeString__to_s_with_length(var719
, var720
);
2952 varonce717
= var718
;
2955 var723
= varonce722
;
2957 var724
= " + count_type_test_unresolved_";
2959 var726
= string__NativeString__to_s_with_length(var724
, var725
);
2961 varonce722
= var723
;
2964 var728
= varonce727
;
2966 var729
= " + count_type_test_skipped_";
2968 var731
= string__NativeString__to_s_with_length(var729
, var730
);
2970 varonce727
= var728
;
2973 var733
= varonce732
;
2977 var736
= string__NativeString__to_s_with_length(var734
, var735
);
2979 varonce732
= var733
;
2981 var737
= NEW_array__Array(&type_array__Arraykernel__Object
);
2982 { /* var737 = array_instance Array[Object] */
2984 var739
= NEW_array__NativeArray(var738
, &type_array__NativeArraykernel__Object
);
2985 ((struct instance_array__NativeArray
*)var739
)->values
[0] = (val
*) var713
;
2986 ((struct instance_array__NativeArray
*)var739
)->values
[1] = (val
*) var_tag697
;
2987 ((struct instance_array__NativeArray
*)var739
)->values
[2] = (val
*) var718
;
2988 ((struct instance_array__NativeArray
*)var739
)->values
[3] = (val
*) var_tag697
;
2989 ((struct instance_array__NativeArray
*)var739
)->values
[4] = (val
*) var723
;
2990 ((struct instance_array__NativeArray
*)var739
)->values
[5] = (val
*) var_tag697
;
2991 ((struct instance_array__NativeArray
*)var739
)->values
[6] = (val
*) var728
;
2992 ((struct instance_array__NativeArray
*)var739
)->values
[7] = (val
*) var_tag697
;
2993 ((struct instance_array__NativeArray
*)var739
)->values
[8] = (val
*) var733
;
2995 ((void (*)(val
*, val
*, long))(var737
->class->vft
[COLOR_array__Array__with_native
]))(var737
, var739
, var738
) /* with_native on <var737:Array[Object]>*/;
2999 var740
= ((val
* (*)(val
*))(var737
->class->vft
[COLOR_string__Object__to_s
]))(var737
) /* to_s on <var737:Array[Object]>*/;
3002 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var740
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3005 var742
= varonce741
;
3007 var743
= "count_type_test_resolved_total += count_type_test_resolved_";
3009 var745
= string__NativeString__to_s_with_length(var743
, var744
);
3011 varonce741
= var742
;
3014 var747
= varonce746
;
3018 var750
= string__NativeString__to_s_with_length(var748
, var749
);
3020 varonce746
= var747
;
3022 var751
= NEW_array__Array(&type_array__Arraykernel__Object
);
3023 { /* var751 = array_instance Array[Object] */
3025 var753
= NEW_array__NativeArray(var752
, &type_array__NativeArraykernel__Object
);
3026 ((struct instance_array__NativeArray
*)var753
)->values
[0] = (val
*) var742
;
3027 ((struct instance_array__NativeArray
*)var753
)->values
[1] = (val
*) var_tag697
;
3028 ((struct instance_array__NativeArray
*)var753
)->values
[2] = (val
*) var747
;
3030 ((void (*)(val
*, val
*, long))(var751
->class->vft
[COLOR_array__Array__with_native
]))(var751
, var753
, var752
) /* with_native on <var751:Array[Object]>*/;
3034 var754
= ((val
* (*)(val
*))(var751
->class->vft
[COLOR_string__Object__to_s
]))(var751
) /* to_s on <var751:Array[Object]>*/;
3037 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var754
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3040 var756
= varonce755
;
3042 var757
= "count_type_test_unresolved_total += count_type_test_unresolved_";
3044 var759
= string__NativeString__to_s_with_length(var757
, var758
);
3046 varonce755
= var756
;
3049 var761
= varonce760
;
3053 var764
= string__NativeString__to_s_with_length(var762
, var763
);
3055 varonce760
= var761
;
3057 var765
= NEW_array__Array(&type_array__Arraykernel__Object
);
3058 { /* var765 = array_instance Array[Object] */
3060 var767
= NEW_array__NativeArray(var766
, &type_array__NativeArraykernel__Object
);
3061 ((struct instance_array__NativeArray
*)var767
)->values
[0] = (val
*) var756
;
3062 ((struct instance_array__NativeArray
*)var767
)->values
[1] = (val
*) var_tag697
;
3063 ((struct instance_array__NativeArray
*)var767
)->values
[2] = (val
*) var761
;
3065 ((void (*)(val
*, val
*, long))(var765
->class->vft
[COLOR_array__Array__with_native
]))(var765
, var767
, var766
) /* with_native on <var765:Array[Object]>*/;
3069 var768
= ((val
* (*)(val
*))(var765
->class->vft
[COLOR_string__Object__to_s
]))(var765
) /* to_s on <var765:Array[Object]>*/;
3072 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var768
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3075 var770
= varonce769
;
3077 var771
= "count_type_test_skipped_total += count_type_test_skipped_";
3079 var773
= string__NativeString__to_s_with_length(var771
, var772
);
3081 varonce769
= var770
;
3084 var775
= varonce774
;
3088 var778
= string__NativeString__to_s_with_length(var776
, var777
);
3090 varonce774
= var775
;
3092 var779
= NEW_array__Array(&type_array__Arraykernel__Object
);
3093 { /* var779 = array_instance Array[Object] */
3095 var781
= NEW_array__NativeArray(var780
, &type_array__NativeArraykernel__Object
);
3096 ((struct instance_array__NativeArray
*)var781
)->values
[0] = (val
*) var770
;
3097 ((struct instance_array__NativeArray
*)var781
)->values
[1] = (val
*) var_tag697
;
3098 ((struct instance_array__NativeArray
*)var781
)->values
[2] = (val
*) var775
;
3100 ((void (*)(val
*, val
*, long))(var779
->class->vft
[COLOR_array__Array__with_native
]))(var779
, var781
, var780
) /* with_native on <var779:Array[Object]>*/;
3104 var782
= ((val
* (*)(val
*))(var779
->class->vft
[COLOR_string__Object__to_s
]))(var779
) /* to_s on <var779:Array[Object]>*/;
3107 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var782
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3110 var784
= varonce783
;
3112 var785
= "count_type_test_total_total += count_type_test_total_";
3114 var787
= string__NativeString__to_s_with_length(var785
, var786
);
3116 varonce783
= var784
;
3119 var789
= varonce788
;
3123 var792
= string__NativeString__to_s_with_length(var790
, var791
);
3125 varonce788
= var789
;
3127 var793
= NEW_array__Array(&type_array__Arraykernel__Object
);
3128 { /* var793 = array_instance Array[Object] */
3130 var795
= NEW_array__NativeArray(var794
, &type_array__NativeArraykernel__Object
);
3131 ((struct instance_array__NativeArray
*)var795
)->values
[0] = (val
*) var784
;
3132 ((struct instance_array__NativeArray
*)var795
)->values
[1] = (val
*) var_tag697
;
3133 ((struct instance_array__NativeArray
*)var795
)->values
[2] = (val
*) var789
;
3135 ((void (*)(val
*, val
*, long))(var793
->class->vft
[COLOR_array__Array__with_native
]))(var793
, var795
, var794
) /* with_native on <var793:Array[Object]>*/;
3139 var796
= ((val
* (*)(val
*))(var793
->class->vft
[COLOR_string__Object__to_s
]))(var793
) /* to_s on <var793:Array[Object]>*/;
3142 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var796
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3145 array__ArrayIterator__next(var_694
); /* Direct call array#ArrayIterator#next on <var_694:ArrayIterator[String]>*/
3148 goto BREAK_label797
;
3151 BREAK_label797
: (void)0;
3153 { /* Inline abstract_collection#Iterator#finish (var_694) on <var_694:ArrayIterator[String]> */
3154 RET_LABEL798
:(void)0;
3158 var800
= varonce799
;
3160 var801
= "printf(\"# dynamic count_type_test: total %l\\n\");";
3162 var803
= string__NativeString__to_s_with_length(var801
, var802
);
3164 varonce799
= var800
;
3167 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var800
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3170 var805
= varonce804
;
3172 var806
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
3174 var808
= string__NativeString__to_s_with_length(var806
, var807
);
3176 varonce804
= var805
;
3179 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var805
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3182 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
3183 var811
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3184 if (unlikely(var811
== NULL
)) {
3185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3186 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
3190 RET_LABEL810
:(void)0;
3194 var812
= array__Collection__to_a(var809
);
3198 var814
= varonce813
;
3202 var817
= string__NativeString__to_s_with_length(var815
, var816
);
3204 varonce813
= var814
;
3207 array__Array__add(var_tags
, var814
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
3211 var819
= array__AbstractArrayRead__iterator(var_818
);
3216 var821
= array__ArrayIterator__is_ok(var_820
);
3220 var822
= array__ArrayIterator__item(var_820
);
3222 var_tag823
= var822
;
3224 var825
= varonce824
;
3226 var826
= "printf(\"";
3228 var828
= string__NativeString__to_s_with_length(var826
, var827
);
3230 varonce824
= var825
;
3233 var830
= varonce829
;
3237 var833
= string__NativeString__to_s_with_length(var831
, var832
);
3239 varonce829
= var830
;
3241 var834
= NEW_array__Array(&type_array__Arraykernel__Object
);
3242 { /* var834 = array_instance Array[Object] */
3244 var836
= NEW_array__NativeArray(var835
, &type_array__NativeArraykernel__Object
);
3245 ((struct instance_array__NativeArray
*)var836
)->values
[0] = (val
*) var825
;
3246 ((struct instance_array__NativeArray
*)var836
)->values
[1] = (val
*) var_tag823
;
3247 ((struct instance_array__NativeArray
*)var836
)->values
[2] = (val
*) var830
;
3249 ((void (*)(val
*, val
*, long))(var834
->class->vft
[COLOR_array__Array__with_native
]))(var834
, var836
, var835
) /* with_native on <var834:Array[Object]>*/;
3253 var837
= ((val
* (*)(val
*))(var834
->class->vft
[COLOR_string__Object__to_s
]))(var834
) /* to_s on <var834:Array[Object]>*/;
3256 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var837
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3259 var839
= varonce838
;
3261 var840
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
3263 var842
= string__NativeString__to_s_with_length(var840
, var841
);
3265 varonce838
= var839
;
3268 var844
= varonce843
;
3270 var845
= ", 100.0*count_type_test_resolved_";
3272 var847
= string__NativeString__to_s_with_length(var845
, var846
);
3274 varonce843
= var844
;
3277 var849
= varonce848
;
3279 var850
= "/count_type_test_total_total);";
3281 var852
= string__NativeString__to_s_with_length(var850
, var851
);
3283 varonce848
= var849
;
3285 var853
= NEW_array__Array(&type_array__Arraykernel__Object
);
3286 { /* var853 = array_instance Array[Object] */
3288 var855
= NEW_array__NativeArray(var854
, &type_array__NativeArraykernel__Object
);
3289 ((struct instance_array__NativeArray
*)var855
)->values
[0] = (val
*) var839
;
3290 ((struct instance_array__NativeArray
*)var855
)->values
[1] = (val
*) var_tag823
;
3291 ((struct instance_array__NativeArray
*)var855
)->values
[2] = (val
*) var844
;
3292 ((struct instance_array__NativeArray
*)var855
)->values
[3] = (val
*) var_tag823
;
3293 ((struct instance_array__NativeArray
*)var855
)->values
[4] = (val
*) var849
;
3295 ((void (*)(val
*, val
*, long))(var853
->class->vft
[COLOR_array__Array__with_native
]))(var853
, var855
, var854
) /* with_native on <var853:Array[Object]>*/;
3299 var856
= ((val
* (*)(val
*))(var853
->class->vft
[COLOR_string__Object__to_s
]))(var853
) /* to_s on <var853:Array[Object]>*/;
3302 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var856
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3305 var858
= varonce857
;
3307 var859
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
3309 var861
= string__NativeString__to_s_with_length(var859
, var860
);
3311 varonce857
= var858
;
3314 var863
= varonce862
;
3316 var864
= ", 100.0*count_type_test_unresolved_";
3318 var866
= string__NativeString__to_s_with_length(var864
, var865
);
3320 varonce862
= var863
;
3323 var868
= varonce867
;
3325 var869
= "/count_type_test_total_total);";
3327 var871
= string__NativeString__to_s_with_length(var869
, var870
);
3329 varonce867
= var868
;
3331 var872
= NEW_array__Array(&type_array__Arraykernel__Object
);
3332 { /* var872 = array_instance Array[Object] */
3334 var874
= NEW_array__NativeArray(var873
, &type_array__NativeArraykernel__Object
);
3335 ((struct instance_array__NativeArray
*)var874
)->values
[0] = (val
*) var858
;
3336 ((struct instance_array__NativeArray
*)var874
)->values
[1] = (val
*) var_tag823
;
3337 ((struct instance_array__NativeArray
*)var874
)->values
[2] = (val
*) var863
;
3338 ((struct instance_array__NativeArray
*)var874
)->values
[3] = (val
*) var_tag823
;
3339 ((struct instance_array__NativeArray
*)var874
)->values
[4] = (val
*) var868
;
3341 ((void (*)(val
*, val
*, long))(var872
->class->vft
[COLOR_array__Array__with_native
]))(var872
, var874
, var873
) /* with_native on <var872:Array[Object]>*/;
3345 var875
= ((val
* (*)(val
*))(var872
->class->vft
[COLOR_string__Object__to_s
]))(var872
) /* to_s on <var872:Array[Object]>*/;
3348 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var875
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3351 var877
= varonce876
;
3353 var878
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
3355 var880
= string__NativeString__to_s_with_length(var878
, var879
);
3357 varonce876
= var877
;
3360 var882
= varonce881
;
3362 var883
= ", 100.0*count_type_test_skipped_";
3364 var885
= string__NativeString__to_s_with_length(var883
, var884
);
3366 varonce881
= var882
;
3369 var887
= varonce886
;
3371 var888
= "/count_type_test_total_total);";
3373 var890
= string__NativeString__to_s_with_length(var888
, var889
);
3375 varonce886
= var887
;
3377 var891
= NEW_array__Array(&type_array__Arraykernel__Object
);
3378 { /* var891 = array_instance Array[Object] */
3380 var893
= NEW_array__NativeArray(var892
, &type_array__NativeArraykernel__Object
);
3381 ((struct instance_array__NativeArray
*)var893
)->values
[0] = (val
*) var877
;
3382 ((struct instance_array__NativeArray
*)var893
)->values
[1] = (val
*) var_tag823
;
3383 ((struct instance_array__NativeArray
*)var893
)->values
[2] = (val
*) var882
;
3384 ((struct instance_array__NativeArray
*)var893
)->values
[3] = (val
*) var_tag823
;
3385 ((struct instance_array__NativeArray
*)var893
)->values
[4] = (val
*) var887
;
3387 ((void (*)(val
*, val
*, long))(var891
->class->vft
[COLOR_array__Array__with_native
]))(var891
, var893
, var892
) /* with_native on <var891:Array[Object]>*/;
3391 var894
= ((val
* (*)(val
*))(var891
->class->vft
[COLOR_string__Object__to_s
]))(var891
) /* to_s on <var891:Array[Object]>*/;
3394 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var894
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3397 var896
= varonce895
;
3399 var897
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
3401 var899
= string__NativeString__to_s_with_length(var897
, var898
);
3403 varonce895
= var896
;
3406 var901
= varonce900
;
3408 var902
= ", 100.0*count_type_test_total_";
3410 var904
= string__NativeString__to_s_with_length(var902
, var903
);
3412 varonce900
= var901
;
3415 var906
= varonce905
;
3417 var907
= "/count_type_test_total_total);";
3419 var909
= string__NativeString__to_s_with_length(var907
, var908
);
3421 varonce905
= var906
;
3423 var910
= NEW_array__Array(&type_array__Arraykernel__Object
);
3424 { /* var910 = array_instance Array[Object] */
3426 var912
= NEW_array__NativeArray(var911
, &type_array__NativeArraykernel__Object
);
3427 ((struct instance_array__NativeArray
*)var912
)->values
[0] = (val
*) var896
;
3428 ((struct instance_array__NativeArray
*)var912
)->values
[1] = (val
*) var_tag823
;
3429 ((struct instance_array__NativeArray
*)var912
)->values
[2] = (val
*) var901
;
3430 ((struct instance_array__NativeArray
*)var912
)->values
[3] = (val
*) var_tag823
;
3431 ((struct instance_array__NativeArray
*)var912
)->values
[4] = (val
*) var906
;
3433 ((void (*)(val
*, val
*, long))(var910
->class->vft
[COLOR_array__Array__with_native
]))(var910
, var912
, var911
) /* with_native on <var910:Array[Object]>*/;
3437 var913
= ((val
* (*)(val
*))(var910
->class->vft
[COLOR_string__Object__to_s
]))(var910
) /* to_s on <var910:Array[Object]>*/;
3440 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var913
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3443 array__ArrayIterator__next(var_820
); /* Direct call array#ArrayIterator#next on <var_820:ArrayIterator[String]>*/
3446 goto BREAK_label914
;
3449 BREAK_label914
: (void)0;
3451 { /* Inline abstract_collection#Iterator#finish (var_820) on <var_820:ArrayIterator[String]> */
3452 RET_LABEL915
:(void)0;
3458 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3459 var918
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3460 if (unlikely(var918
== NULL
)) {
3461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3462 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3466 RET_LABEL917
:(void)0;
3470 { /* Inline modelbuilder#ModelBuilder#toolcontext (var916) on <var916:ModelBuilder> */
3471 var921
= var916
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var916:ModelBuilder> */
3472 if (unlikely(var921
== NULL
)) {
3473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3474 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3478 RET_LABEL920
:(void)0;
3482 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var919) on <var919:ToolContext> */
3483 var924
= var919
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var919:ToolContext> */
3484 if (unlikely(var924
== NULL
)) {
3485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3486 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 63);
3490 RET_LABEL923
:(void)0;
3494 { /* Inline opts#Option#value (var922) on <var922:OptionBool> */
3495 var927
= var922
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var922:OptionBool> */
3497 RET_LABEL926
:(void)0;
3500 var928
= ((struct instance_kernel__Bool
*)var925
)->value
; /* autounbox from nullable Object to Bool */;
3503 var930
= varonce929
;
3505 var931
= "long count_invoke_total;";
3507 var933
= string__NativeString__to_s_with_length(var931
, var932
);
3509 varonce929
= var930
;
3512 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var930
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3515 var935
= varonce934
;
3517 var936
= "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;";
3519 var938
= string__NativeString__to_s_with_length(var936
, var937
);
3521 varonce934
= var935
;
3524 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var935
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3527 var940
= varonce939
;
3529 var941
= "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);";
3531 var943
= string__NativeString__to_s_with_length(var941
, var942
);
3533 varonce939
= var940
;
3536 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var940
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3539 var945
= varonce944
;
3541 var946
= "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);";
3543 var948
= string__NativeString__to_s_with_length(var946
, var947
);
3545 varonce944
= var945
;
3548 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var945
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3551 var950
= varonce949
;
3553 var951
= "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);";
3555 var953
= string__NativeString__to_s_with_length(var951
, var952
);
3557 varonce949
= var950
;
3560 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var950
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3563 var955
= varonce954
;
3565 var956
= "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);";
3567 var958
= string__NativeString__to_s_with_length(var956
, var957
);
3569 varonce954
= var955
;
3572 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var955
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3577 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3578 var961
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3579 if (unlikely(var961
== NULL
)) {
3580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3581 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3585 RET_LABEL960
:(void)0;
3589 { /* Inline modelbuilder#ModelBuilder#toolcontext (var959) on <var959:ModelBuilder> */
3590 var964
= var959
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var959:ModelBuilder> */
3591 if (unlikely(var964
== NULL
)) {
3592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3593 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
3597 RET_LABEL963
:(void)0;
3601 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var962) on <var962:ToolContext> */
3602 var967
= var962
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var962:ToolContext> */
3603 if (unlikely(var967
== NULL
)) {
3604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
3605 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 65);
3609 RET_LABEL966
:(void)0;
3613 { /* Inline opts#Option#value (var965) on <var965:OptionBool> */
3614 var970
= var965
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var965:OptionBool> */
3616 RET_LABEL969
:(void)0;
3619 var971
= ((struct instance_kernel__Bool
*)var968
)->value
; /* autounbox from nullable Object to Bool */;
3622 var973
= varonce972
;
3624 var974
= "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);";
3626 var976
= string__NativeString__to_s_with_length(var974
, var975
);
3628 varonce972
= var973
;
3631 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var973
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3634 var978
= varonce977
;
3636 var979
= "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);";
3638 var981
= string__NativeString__to_s_with_length(var979
, var980
);
3640 varonce977
= var978
;
3643 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var978
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3648 var983
= varonce982
;
3650 var984
= "return 0;";
3652 var986
= string__NativeString__to_s_with_length(var984
, var985
);
3654 varonce982
= var983
;
3657 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var983
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3660 var988
= varonce987
;
3664 var991
= string__NativeString__to_s_with_length(var989
, var990
);
3666 varonce987
= var988
;
3669 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var988
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3673 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
3674 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
3675 abstract_compiler__AbstractCompiler__compile_main_function(self
); /* Direct call abstract_compiler#AbstractCompiler#compile_main_function on <self:Object(AbstractCompiler)>*/
3678 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: AbstractCompiler) */
3679 void abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(val
* self
) {
3680 val
* var
/* : AbstractCompilerVisitor */;
3681 val
* var_v
/* var v: AbstractCompilerVisitor */;
3682 static val
* varonce
;
3683 val
* var1
/* : String */;
3684 char* var2
/* : NativeString */;
3685 long var3
/* : Int */;
3686 val
* var4
/* : FlatString */;
3688 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
3694 var2
= "struct nitni_global_ref_list_t *nitni_global_ref_list;\nvoid initialize_nitni_global_refs() {\n\11nitni_global_ref_list = (struct nitni_global_ref_list_t*)nit_alloc(sizeof(struct nitni_global_ref_list_t));\n\11nitni_global_ref_list->head = NULL;\n\11nitni_global_ref_list->tail = NULL;\n}\n\nvoid nitni_global_ref_add( struct nitni_ref *ref ) {\n\11if ( nitni_global_ref_list->head == NULL ) {\n\11\11nitni_global_ref_list->head = ref;\n\11\11ref->prev = NULL;\n\11} else {\n\11\11nitni_global_ref_list->tail->next = ref;\n\11\11ref->prev = nitni_global_ref_list->tail;\n\11}\n\11nitni_global_ref_list->tail = ref;\n\n\11ref->next = NULL;\n}\n\nvoid nitni_global_ref_remove( struct nitni_ref *ref ) {\n\11if ( ref->prev == NULL ) {\n\11\11nitni_global_ref_list->head = ref->next;\n\11} else {\n\11\11ref->prev->next = ref->next;\n\11}\n\n\11if ( ref->next == NULL ) {\n\11\11nitni_global_ref_list->tail = ref->prev;\n\11} else {\n\11\11ref->next->prev = ref->prev;\n\11}\n}\n\nextern void nitni_global_ref_incr( struct nitni_ref *ref ) {\n\11if ( ref->count == 0 ) /* not registered */\n\11{\n\11\11/* add to list */\n\11\11nitni_global_ref_add( ref );\n\11}\n\n\11ref->count ++;\n}\n\nextern void nitni_global_ref_decr( struct nitni_ref *ref ) {\n\11if ( ref->count == 1 ) /* was last reference */\n\11{\n\11\11/* remove from list */\n\11\11nitni_global_ref_remove( ref );\n\11}\n\n\11ref->count --;\n}\n";
3696 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3701 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3705 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: Object) */
3706 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(val
* self
) {
3707 abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(self
); /* Direct call abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions on <self:Object(AbstractCompiler)>*/
3710 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
3711 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
3712 val
* var
/* : Array[ExternFile] */;
3713 val
* var1
/* : Array[ExternFile] */;
3714 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
3715 if (unlikely(var1
== NULL
)) {
3716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3717 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 901);
3724 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternFile] */
3725 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
3726 val
* var
/* : Array[ExternFile] */;
3727 val
* var1
/* : Array[ExternFile] */;
3728 val
* var3
/* : Array[ExternFile] */;
3729 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (self) on <self:Object(AbstractCompiler)> */
3730 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:Object(AbstractCompiler)> */
3731 if (unlikely(var3
== NULL
)) {
3732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3733 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 901);
3743 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: AbstractCompiler): Array[String] */
3744 val
* abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
3745 val
* var
/* : Array[String] */;
3746 val
* var1
/* : Array[String] */;
3747 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:AbstractCompiler> */
3748 if (unlikely(var1
== NULL
)) {
3749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3750 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 904);
3757 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: Object): Array[String] */
3758 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
3759 val
* var
/* : Array[String] */;
3760 val
* var1
/* : Array[String] */;
3761 val
* var3
/* : Array[String] */;
3762 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (self) on <self:Object(AbstractCompiler)> */
3763 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:Object(AbstractCompiler)> */
3764 if (unlikely(var3
== NULL
)) {
3765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3766 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 904);
3776 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
3777 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
3778 val
* var
/* : ArraySet[String] */;
3779 val
* var1
/* : ArraySet[String] */;
3780 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:AbstractCompiler> */
3781 if (unlikely(var1
== NULL
)) {
3782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3783 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 907);
3790 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
3791 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
3792 val
* var
/* : ArraySet[String] */;
3793 val
* var1
/* : ArraySet[String] */;
3794 val
* var3
/* : ArraySet[String] */;
3795 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (self) on <self:Object(AbstractCompiler)> */
3796 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:Object(AbstractCompiler)> */
3797 if (unlikely(var3
== NULL
)) {
3798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3799 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 907);
3809 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
3810 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3811 short int var
/* : Bool */;
3814 const struct type
* type_struct
;
3815 const char* var_class_name
;
3816 val
* var_v
/* var v: AbstractCompilerVisitor */;
3817 val
* var_recv
/* var recv: RuntimeVariable */;
3818 val
* var_mtype
/* var mtype: MClassType */;
3819 val
* var1
/* : MModule */;
3820 val
* var3
/* : MModule */;
3821 val
* var4
/* : Set[MClassDef] */;
3822 val
* var5
/* : Array[nullable Object] */;
3823 val
* var_cds
/* var cds: Array[MClassDef] */;
3824 val
* var6
/* : MModule */;
3825 val
* var8
/* : MModule */;
3826 val
* var_
/* var : Array[MClassDef] */;
3827 val
* var9
/* : ArrayIterator[nullable Object] */;
3828 val
* var_10
/* var : ArrayIterator[MClassDef] */;
3829 short int var11
/* : Bool */;
3830 val
* var12
/* : nullable Object */;
3831 val
* var_cd
/* var cd: MClassDef */;
3832 val
* var13
/* : ModelBuilder */;
3833 val
* var15
/* : ModelBuilder */;
3834 val
* var16
/* : HashMap[MClassDef, AClassdef] */;
3835 val
* var18
/* : HashMap[MClassDef, AClassdef] */;
3836 short int var19
/* : Bool */;
3837 short int var20
/* : Bool */;
3838 val
* var21
/* : ModelBuilder */;
3839 val
* var23
/* : ModelBuilder */;
3840 val
* var24
/* : HashMap[MClassDef, AClassdef] */;
3841 val
* var26
/* : HashMap[MClassDef, AClassdef] */;
3842 val
* var27
/* : nullable Object */;
3843 val
* var_n
/* var n: AClassdef */;
3844 val
* var28
/* : ANodes[APropdef] */;
3845 val
* var30
/* : ANodes[APropdef] */;
3846 val
* var_31
/* var : ANodes[APropdef] */;
3847 val
* var32
/* : Iterator[ANode] */;
3848 val
* var_33
/* var : Iterator[APropdef] */;
3849 short int var34
/* : Bool */;
3850 val
* var35
/* : nullable Object */;
3851 val
* var_npropdef
/* var npropdef: APropdef */;
3852 short int var36
/* : Bool */;
3855 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
3856 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3857 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
3858 cltype
= type_struct
->color
;
3859 idtype
= type_struct
->id
;
3860 if(cltype
>= p0
->type
->table_size
) {
3863 var
= p0
->type
->type_table
[cltype
] == idtype
;
3865 if (unlikely(!var
)) {
3866 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3868 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 910);
3875 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3876 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3877 if (unlikely(var3
== NULL
)) {
3878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3879 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
3887 var4
= model__MClassType__collect_mclassdefs(var_mtype
, var1
);
3890 var5
= array__Collection__to_a(var4
);
3894 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3895 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3896 if (unlikely(var8
== NULL
)) {
3897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3898 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
3906 model__MModule__linearize_mclassdefs(var6
, var_cds
); /* Direct call model#MModule#linearize_mclassdefs on <var6:MModule>*/
3910 var9
= array__AbstractArrayRead__iterator(var_
);
3915 var11
= array__ArrayIterator__is_ok(var_10
);
3919 var12
= array__ArrayIterator__item(var_10
);
3923 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3924 var15
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3925 if (unlikely(var15
== NULL
)) {
3926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3927 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3931 RET_LABEL14
:(void)0;
3935 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (var13) on <var13:ModelBuilder> */
3936 var18
= var13
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <var13:ModelBuilder> */
3937 if (unlikely(var18
== NULL
)) {
3938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
3939 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_class.nit", 410);
3943 RET_LABEL17
:(void)0;
3947 var19
= abstract_collection__MapRead__has_key(var16
, var_cd
);
3955 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3956 var23
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3957 if (unlikely(var23
== NULL
)) {
3958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3959 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
3963 RET_LABEL22
:(void)0;
3967 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (var21) on <var21:ModelBuilder> */
3968 var26
= var21
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <var21:ModelBuilder> */
3969 if (unlikely(var26
== NULL
)) {
3970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
3971 PRINT_ERROR(" (%s:%d)\n", "modelize/modelize_class.nit", 410);
3975 RET_LABEL25
:(void)0;
3979 var27
= hash_collection__HashMap___91d_93d(var24
, var_cd
);
3983 { /* Inline parser_nodes#AClassdef#n_propdefs (var_n) on <var_n:AClassdef> */
3984 var30
= var_n
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_n:AClassdef> */
3985 if (unlikely(var30
== NULL
)) {
3986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
3987 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 929);
3991 RET_LABEL29
:(void)0;
3996 var32
= parser_nodes__ANodes__iterator(var_31
);
4001 var34
= ((short int (*)(val
*))(var_33
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_33
) /* is_ok on <var_33:Iterator[APropdef]>*/;
4005 var35
= ((val
* (*)(val
*))(var_33
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_33
) /* item on <var_33:Iterator[APropdef]>*/;
4007 var_npropdef
= var35
;
4008 /* <var_npropdef:APropdef> isa AAttrPropdef */
4009 cltype37
= type_parser_nodes__AAttrPropdef
.color
;
4010 idtype38
= type_parser_nodes__AAttrPropdef
.id
;
4011 if(cltype37
>= var_npropdef
->type
->table_size
) {
4014 var36
= var_npropdef
->type
->type_table
[cltype37
] == idtype38
;
4018 abstract_compiler__AAttrPropdef__init_expr(var_npropdef
, var_v
, var_recv
); /* Direct call abstract_compiler#AAttrPropdef#init_expr on <var_npropdef:APropdef(AAttrPropdef)>*/
4023 ((void (*)(val
*))(var_33
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_33
) /* next on <var_33:Iterator[APropdef]>*/;
4029 BREAK_label39
: (void)0;
4031 { /* Inline abstract_collection#Iterator#finish (var_33) on <var_33:Iterator[APropdef]> */
4032 RET_LABEL40
:(void)0;
4035 BREAK_label
: (void)0;
4037 array__ArrayIterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MClassDef]>*/
4043 BREAK_label41
: (void)0;
4045 { /* Inline abstract_collection#Iterator#finish (var_10) on <var_10:ArrayIterator[MClassDef]> */
4046 RET_LABEL42
:(void)0;
4051 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
4052 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4053 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:Object(AbstractCompiler)>*/
4056 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
4057 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
4058 val
* var
/* : Array[String] */;
4059 val
* var1
/* : Array[String] */;
4060 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4061 if (unlikely(var1
== NULL
)) {
4062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4063 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
4070 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
4071 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
4072 val
* var
/* : Array[String] */;
4073 val
* var1
/* : Array[String] */;
4074 val
* var3
/* : Array[String] */;
4075 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:Object(AbstractCompiler)> */
4076 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:Object(AbstractCompiler)> */
4077 if (unlikely(var3
== NULL
)) {
4078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4079 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
4089 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
4090 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
4091 val
* var
/* : HashMap[String, Int] */;
4092 val
* var1
/* : HashMap[String, Int] */;
4093 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4094 if (unlikely(var1
== NULL
)) {
4095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4096 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4103 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
4104 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
4105 val
* var
/* : HashMap[String, Int] */;
4106 val
* var1
/* : HashMap[String, Int] */;
4107 val
* var3
/* : HashMap[String, Int] */;
4108 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:Object(AbstractCompiler)> */
4109 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:Object(AbstractCompiler)> */
4110 if (unlikely(var3
== NULL
)) {
4111 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4112 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4122 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
4123 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
4124 val
* var
/* : HashMap[String, Int] */;
4125 val
* var1
/* : HashMap[String, Int] */;
4126 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4127 if (unlikely(var1
== NULL
)) {
4128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4129 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4136 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
4137 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
4138 val
* var
/* : HashMap[String, Int] */;
4139 val
* var1
/* : HashMap[String, Int] */;
4140 val
* var3
/* : HashMap[String, Int] */;
4141 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:Object(AbstractCompiler)> */
4142 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:Object(AbstractCompiler)> */
4143 if (unlikely(var3
== NULL
)) {
4144 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4145 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4155 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
4156 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
4157 val
* var
/* : HashMap[String, Int] */;
4158 val
* var1
/* : HashMap[String, Int] */;
4159 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4160 if (unlikely(var1
== NULL
)) {
4161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4162 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
4169 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
4170 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
4171 val
* var
/* : HashMap[String, Int] */;
4172 val
* var1
/* : HashMap[String, Int] */;
4173 val
* var3
/* : HashMap[String, Int] */;
4174 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:Object(AbstractCompiler)> */
4175 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:Object(AbstractCompiler)> */
4176 if (unlikely(var3
== NULL
)) {
4177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4178 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
4188 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
4189 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
4190 val
* var
/* : HashMap[String, Int] */;
4191 val
* var1
/* : HashMap[String, Int] */;
4192 val
* var_res
/* var res: HashMap[String, Int] */;
4193 val
* var2
/* : Array[String] */;
4194 val
* var4
/* : Array[String] */;
4195 val
* var_
/* var : Array[String] */;
4196 val
* var5
/* : ArrayIterator[nullable Object] */;
4197 val
* var_6
/* var : ArrayIterator[String] */;
4198 short int var7
/* : Bool */;
4199 val
* var8
/* : nullable Object */;
4200 val
* var_tag
/* var tag: String */;
4201 long var9
/* : Int */;
4202 val
* var10
/* : nullable Object */;
4203 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
4205 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:HashMap[String, Int]>*/;
4209 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4210 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4211 if (unlikely(var4
== NULL
)) {
4212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4213 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
4222 var5
= array__AbstractArrayRead__iterator(var_
);
4227 var7
= array__ArrayIterator__is_ok(var_6
);
4231 var8
= array__ArrayIterator__item(var_6
);
4236 var10
= BOX_kernel__Int(var9
); /* autobox from Int to nullable Object */
4237 hash_collection__HashMap___91d_93d_61d(var_res
, var_tag
, var10
); /* Direct call hash_collection#HashMap#[]= on <var_res:HashMap[String, Int]>*/
4240 array__ArrayIterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[String]>*/
4246 BREAK_label
: (void)0;
4248 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:ArrayIterator[String]> */
4249 RET_LABEL11
:(void)0;
4257 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
4258 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
4259 val
* var
/* : HashMap[String, Int] */;
4260 val
* var1
/* : HashMap[String, Int] */;
4261 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
4266 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
4267 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
4268 val
* var
/* : ModelBuilder */;
4269 val
* var2
/* : ModelBuilder */;
4270 val
* var3
/* : ToolContext */;
4271 val
* var5
/* : ToolContext */;
4272 val
* var6
/* : OptionBool */;
4273 val
* var8
/* : OptionBool */;
4274 val
* var9
/* : nullable Object */;
4275 val
* var11
/* : nullable Object */;
4276 short int var12
/* : Bool */;
4277 static val
* varonce
;
4278 val
* var13
/* : String */;
4279 char* var14
/* : NativeString */;
4280 long var15
/* : Int */;
4281 val
* var16
/* : FlatString */;
4282 static val
* varonce17
;
4283 val
* var18
/* : String */;
4284 char* var19
/* : NativeString */;
4285 long var20
/* : Int */;
4286 val
* var21
/* : FlatString */;
4287 val
* var22
/* : HashMap[String, Int] */;
4288 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
4289 val
* var23
/* : HashMap[String, Int] */;
4290 val
* var25
/* : HashMap[String, Int] */;
4291 static val
* varonce26
;
4292 val
* var27
/* : String */;
4293 char* var28
/* : NativeString */;
4294 long var29
/* : Int */;
4295 val
* var30
/* : FlatString */;
4296 long var31
/* : Int */;
4297 val
* var32
/* : nullable Object */;
4298 val
* var33
/* : HashMap[String, Int] */;
4299 val
* var35
/* : HashMap[String, Int] */;
4300 static val
* varonce36
;
4301 val
* var37
/* : String */;
4302 char* var38
/* : NativeString */;
4303 long var39
/* : Int */;
4304 val
* var40
/* : FlatString */;
4305 long var41
/* : Int */;
4306 val
* var42
/* : nullable Object */;
4307 val
* var43
/* : HashMap[String, Int] */;
4308 val
* var45
/* : HashMap[String, Int] */;
4309 static val
* varonce46
;
4310 val
* var47
/* : String */;
4311 char* var48
/* : NativeString */;
4312 long var49
/* : Int */;
4313 val
* var50
/* : FlatString */;
4314 long var51
/* : Int */;
4315 val
* var52
/* : nullable Object */;
4316 static val
* varonce53
;
4317 val
* var54
/* : String */;
4318 char* var55
/* : NativeString */;
4319 long var56
/* : Int */;
4320 val
* var57
/* : FlatString */;
4321 long var58
/* : Int */;
4322 val
* var59
/* : nullable Object */;
4323 val
* var60
/* : Array[String] */;
4324 val
* var62
/* : Array[String] */;
4325 val
* var_
/* var : Array[String] */;
4326 val
* var63
/* : ArrayIterator[nullable Object] */;
4327 val
* var_64
/* var : ArrayIterator[String] */;
4328 short int var65
/* : Bool */;
4329 val
* var66
/* : nullable Object */;
4330 val
* var_tag
/* var tag: String */;
4331 val
* var67
/* : HashMap[String, Int] */;
4332 val
* var69
/* : HashMap[String, Int] */;
4333 val
* var70
/* : nullable Object */;
4334 val
* var71
/* : HashMap[String, Int] */;
4335 val
* var73
/* : HashMap[String, Int] */;
4336 val
* var74
/* : nullable Object */;
4337 long var75
/* : Int */;
4338 short int var77
/* : Bool */;
4341 const char* var_class_name
;
4342 long var78
/* : Int */;
4343 long var79
/* : Int */;
4344 long var80
/* : Int */;
4345 val
* var81
/* : HashMap[String, Int] */;
4346 val
* var83
/* : HashMap[String, Int] */;
4347 val
* var84
/* : nullable Object */;
4348 long var85
/* : Int */;
4349 short int var87
/* : Bool */;
4352 const char* var_class_name90
;
4353 long var91
/* : Int */;
4354 long var92
/* : Int */;
4355 val
* var93
/* : nullable Object */;
4356 val
* var94
/* : HashMap[String, Int] */;
4357 val
* var96
/* : HashMap[String, Int] */;
4358 val
* var_97
/* var : HashMap[String, Int] */;
4359 static val
* varonce98
;
4360 val
* var99
/* : String */;
4361 char* var100
/* : NativeString */;
4362 long var101
/* : Int */;
4363 val
* var102
/* : FlatString */;
4364 val
* var_103
/* var : String */;
4365 val
* var104
/* : nullable Object */;
4366 val
* var105
/* : HashMap[String, Int] */;
4367 val
* var107
/* : HashMap[String, Int] */;
4368 val
* var108
/* : nullable Object */;
4369 long var109
/* : Int */;
4370 short int var111
/* : Bool */;
4373 const char* var_class_name114
;
4374 long var115
/* : Int */;
4375 long var116
/* : Int */;
4376 long var117
/* : Int */;
4377 val
* var118
/* : nullable Object */;
4378 val
* var119
/* : HashMap[String, Int] */;
4379 val
* var121
/* : HashMap[String, Int] */;
4380 val
* var_122
/* var : HashMap[String, Int] */;
4381 static val
* varonce123
;
4382 val
* var124
/* : String */;
4383 char* var125
/* : NativeString */;
4384 long var126
/* : Int */;
4385 val
* var127
/* : FlatString */;
4386 val
* var_128
/* var : String */;
4387 val
* var129
/* : nullable Object */;
4388 val
* var130
/* : HashMap[String, Int] */;
4389 val
* var132
/* : HashMap[String, Int] */;
4390 val
* var133
/* : nullable Object */;
4391 long var134
/* : Int */;
4392 short int var136
/* : Bool */;
4395 const char* var_class_name139
;
4396 long var140
/* : Int */;
4397 long var141
/* : Int */;
4398 long var142
/* : Int */;
4399 val
* var143
/* : nullable Object */;
4400 val
* var144
/* : HashMap[String, Int] */;
4401 val
* var146
/* : HashMap[String, Int] */;
4402 val
* var_147
/* var : HashMap[String, Int] */;
4403 static val
* varonce148
;
4404 val
* var149
/* : String */;
4405 char* var150
/* : NativeString */;
4406 long var151
/* : Int */;
4407 val
* var152
/* : FlatString */;
4408 val
* var_153
/* var : String */;
4409 val
* var154
/* : nullable Object */;
4410 val
* var155
/* : HashMap[String, Int] */;
4411 val
* var157
/* : HashMap[String, Int] */;
4412 val
* var158
/* : nullable Object */;
4413 long var159
/* : Int */;
4414 short int var161
/* : Bool */;
4417 const char* var_class_name164
;
4418 long var165
/* : Int */;
4419 long var166
/* : Int */;
4420 long var167
/* : Int */;
4421 val
* var168
/* : nullable Object */;
4422 val
* var_169
/* var : HashMap[String, Int] */;
4423 static val
* varonce170
;
4424 val
* var171
/* : String */;
4425 char* var172
/* : NativeString */;
4426 long var173
/* : Int */;
4427 val
* var174
/* : FlatString */;
4428 val
* var_175
/* var : String */;
4429 val
* var176
/* : nullable Object */;
4430 val
* var177
/* : nullable Object */;
4431 long var178
/* : Int */;
4432 short int var180
/* : Bool */;
4435 const char* var_class_name183
;
4436 long var184
/* : Int */;
4437 long var185
/* : Int */;
4438 long var186
/* : Int */;
4439 val
* var187
/* : nullable Object */;
4440 static val
* varonce189
;
4441 val
* var190
/* : String */;
4442 char* var191
/* : NativeString */;
4443 long var192
/* : Int */;
4444 val
* var193
/* : FlatString */;
4445 val
* var194
/* : nullable Object */;
4446 long var195
/* : Int */;
4447 long var_count_type_test
/* var count_type_test: Int */;
4448 val
* var196
/* : Array[String] */;
4449 val
* var198
/* : Array[String] */;
4450 val
* var199
/* : Array[nullable Object] */;
4451 val
* var_tags
/* var tags: Array[String] */;
4452 static val
* varonce200
;
4453 val
* var201
/* : String */;
4454 char* var202
/* : NativeString */;
4455 long var203
/* : Int */;
4456 val
* var204
/* : FlatString */;
4457 val
* var_205
/* var : Array[String] */;
4458 val
* var206
/* : ArrayIterator[nullable Object] */;
4459 val
* var_207
/* var : ArrayIterator[String] */;
4460 short int var208
/* : Bool */;
4461 val
* var209
/* : nullable Object */;
4462 val
* var_tag210
/* var tag: String */;
4463 val
* var211
/* : Array[Object] */;
4464 long var212
/* : Int */;
4465 val
* var213
/* : NativeArray[Object] */;
4466 static val
* varonce214
;
4467 val
* var215
/* : String */;
4468 char* var216
/* : NativeString */;
4469 long var217
/* : Int */;
4470 val
* var218
/* : FlatString */;
4471 val
* var219
/* : HashMap[String, Int] */;
4472 val
* var221
/* : HashMap[String, Int] */;
4473 val
* var222
/* : nullable Object */;
4474 static val
* varonce223
;
4475 val
* var224
/* : String */;
4476 char* var225
/* : NativeString */;
4477 long var226
/* : Int */;
4478 val
* var227
/* : FlatString */;
4479 val
* var228
/* : HashMap[String, Int] */;
4480 val
* var230
/* : HashMap[String, Int] */;
4481 val
* var231
/* : nullable Object */;
4482 val
* var232
/* : String */;
4483 long var233
/* : Int */;
4484 static val
* varonce234
;
4485 val
* var235
/* : String */;
4486 char* var236
/* : NativeString */;
4487 long var237
/* : Int */;
4488 val
* var238
/* : FlatString */;
4489 val
* var239
/* : Array[Object] */;
4490 long var240
/* : Int */;
4491 val
* var241
/* : NativeArray[Object] */;
4492 val
* var242
/* : String */;
4493 val
* var243
/* : Array[Object] */;
4494 long var244
/* : Int */;
4495 val
* var245
/* : NativeArray[Object] */;
4496 static val
* varonce246
;
4497 val
* var247
/* : String */;
4498 char* var248
/* : NativeString */;
4499 long var249
/* : Int */;
4500 val
* var250
/* : FlatString */;
4501 val
* var251
/* : HashMap[String, Int] */;
4502 val
* var253
/* : HashMap[String, Int] */;
4503 val
* var254
/* : nullable Object */;
4504 static val
* varonce255
;
4505 val
* var256
/* : String */;
4506 char* var257
/* : NativeString */;
4507 long var258
/* : Int */;
4508 val
* var259
/* : FlatString */;
4509 val
* var260
/* : HashMap[String, Int] */;
4510 val
* var262
/* : HashMap[String, Int] */;
4511 val
* var263
/* : nullable Object */;
4512 val
* var264
/* : String */;
4513 long var265
/* : Int */;
4514 static val
* varonce266
;
4515 val
* var267
/* : String */;
4516 char* var268
/* : NativeString */;
4517 long var269
/* : Int */;
4518 val
* var270
/* : FlatString */;
4519 val
* var271
/* : Array[Object] */;
4520 long var272
/* : Int */;
4521 val
* var273
/* : NativeArray[Object] */;
4522 val
* var274
/* : String */;
4523 val
* var275
/* : Array[Object] */;
4524 long var276
/* : Int */;
4525 val
* var277
/* : NativeArray[Object] */;
4526 static val
* varonce278
;
4527 val
* var279
/* : String */;
4528 char* var280
/* : NativeString */;
4529 long var281
/* : Int */;
4530 val
* var282
/* : FlatString */;
4531 val
* var283
/* : HashMap[String, Int] */;
4532 val
* var285
/* : HashMap[String, Int] */;
4533 val
* var286
/* : nullable Object */;
4534 static val
* varonce287
;
4535 val
* var288
/* : String */;
4536 char* var289
/* : NativeString */;
4537 long var290
/* : Int */;
4538 val
* var291
/* : FlatString */;
4539 val
* var292
/* : HashMap[String, Int] */;
4540 val
* var294
/* : HashMap[String, Int] */;
4541 val
* var295
/* : nullable Object */;
4542 val
* var296
/* : String */;
4543 long var297
/* : Int */;
4544 static val
* varonce298
;
4545 val
* var299
/* : String */;
4546 char* var300
/* : NativeString */;
4547 long var301
/* : Int */;
4548 val
* var302
/* : FlatString */;
4549 val
* var303
/* : Array[Object] */;
4550 long var304
/* : Int */;
4551 val
* var305
/* : NativeArray[Object] */;
4552 val
* var306
/* : String */;
4553 val
* var307
/* : Array[Object] */;
4554 long var308
/* : Int */;
4555 val
* var309
/* : NativeArray[Object] */;
4556 static val
* varonce310
;
4557 val
* var311
/* : String */;
4558 char* var312
/* : NativeString */;
4559 long var313
/* : Int */;
4560 val
* var314
/* : FlatString */;
4561 val
* var315
/* : nullable Object */;
4562 static val
* varonce316
;
4563 val
* var317
/* : String */;
4564 char* var318
/* : NativeString */;
4565 long var319
/* : Int */;
4566 val
* var320
/* : FlatString */;
4567 val
* var321
/* : nullable Object */;
4568 val
* var322
/* : String */;
4569 long var323
/* : Int */;
4570 static val
* varonce324
;
4571 val
* var325
/* : String */;
4572 char* var326
/* : NativeString */;
4573 long var327
/* : Int */;
4574 val
* var328
/* : FlatString */;
4575 val
* var329
/* : Array[Object] */;
4576 long var330
/* : Int */;
4577 val
* var331
/* : NativeArray[Object] */;
4578 val
* var332
/* : String */;
4579 val
* var333
/* : Array[Object] */;
4580 long var334
/* : Int */;
4581 val
* var335
/* : NativeArray[Object] */;
4582 static val
* varonce336
;
4583 val
* var337
/* : String */;
4584 char* var338
/* : NativeString */;
4585 long var339
/* : Int */;
4586 val
* var340
/* : FlatString */;
4588 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
4589 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
4590 if (unlikely(var2
== NULL
)) {
4591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4592 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
4600 { /* Inline modelbuilder#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
4601 var5
= var
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
4602 if (unlikely(var5
== NULL
)) {
4603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4604 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
4612 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var3) on <var3:ToolContext> */
4613 var8
= var3
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var3:ToolContext> */
4614 if (unlikely(var8
== NULL
)) {
4615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4616 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 61);
4624 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
4625 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
4627 RET_LABEL10
:(void)0;
4630 var12
= ((struct instance_kernel__Bool
*)var9
)->value
; /* autounbox from nullable Object to Bool */;
4635 var14
= "# static count_type_test";
4637 var16
= string__NativeString__to_s_with_length(var14
, var15
);
4642 file__Object__print(self
, var13
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4647 var19
= "\11resolved:\11unresolved\11skipped\11total";
4649 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4654 file__Object__print(self
, var18
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4657 var22
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
4659 var_count_type_test_total
= var22
;
4661 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4662 var25
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4663 if (unlikely(var25
== NULL
)) {
4664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4665 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4669 RET_LABEL24
:(void)0;
4677 var30
= string__NativeString__to_s_with_length(var28
, var29
);
4683 var32
= BOX_kernel__Int(var31
); /* autobox from Int to nullable Object */
4684 hash_collection__HashMap___91d_93d_61d(var23
, var27
, var32
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, Int]>*/
4687 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4688 var35
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4689 if (unlikely(var35
== NULL
)) {
4690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4691 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4695 RET_LABEL34
:(void)0;
4703 var40
= string__NativeString__to_s_with_length(var38
, var39
);
4709 var42
= BOX_kernel__Int(var41
); /* autobox from Int to nullable Object */
4710 hash_collection__HashMap___91d_93d_61d(var33
, var37
, var42
); /* Direct call hash_collection#HashMap#[]= on <var33:HashMap[String, Int]>*/
4713 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4714 var45
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4715 if (unlikely(var45
== NULL
)) {
4716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4717 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
4721 RET_LABEL44
:(void)0;
4729 var50
= string__NativeString__to_s_with_length(var48
, var49
);
4735 var52
= BOX_kernel__Int(var51
); /* autobox from Int to nullable Object */
4736 hash_collection__HashMap___91d_93d_61d(var43
, var47
, var52
); /* Direct call hash_collection#HashMap#[]= on <var43:HashMap[String, Int]>*/
4743 var57
= string__NativeString__to_s_with_length(var55
, var56
);
4749 var59
= BOX_kernel__Int(var58
); /* autobox from Int to nullable Object */
4750 hash_collection__HashMap___91d_93d_61d(var_count_type_test_total
, var54
, var59
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4753 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4754 var62
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4755 if (unlikely(var62
== NULL
)) {
4756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4757 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
4761 RET_LABEL61
:(void)0;
4766 var63
= array__AbstractArrayRead__iterator(var_
);
4771 var65
= array__ArrayIterator__is_ok(var_64
);
4775 var66
= array__ArrayIterator__item(var_64
);
4779 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4780 var69
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4781 if (unlikely(var69
== NULL
)) {
4782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4783 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4787 RET_LABEL68
:(void)0;
4791 var70
= hash_collection__HashMap___91d_93d(var67
, var_tag
);
4794 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4795 var73
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4796 if (unlikely(var73
== NULL
)) {
4797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4798 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4802 RET_LABEL72
:(void)0;
4806 var74
= hash_collection__HashMap___91d_93d(var71
, var_tag
);
4809 { /* Inline kernel#Int#+ (var70,var74) on <var70:nullable Object(Int)> */
4810 /* Covariant cast for argument 0 (i) <var74:nullable Object(Int)> isa OTHER */
4811 /* <var74:nullable Object(Int)> isa OTHER */
4812 var77
= 1; /* easy <var74:nullable Object(Int)> isa OTHER*/
4813 if (unlikely(!var77
)) {
4814 var_class_name
= var74
== NULL ?
"null" : var74
->type
->name
;
4815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4816 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4819 var78
= ((struct instance_kernel__Int
*)var70
)->value
; /* autounbox from nullable Object to Int */;
4820 var79
= ((struct instance_kernel__Int
*)var74
)->value
; /* autounbox from nullable Object to Int */;
4821 var80
= var78
+ var79
;
4824 RET_LABEL76
:(void)0;
4828 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4829 var83
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4830 if (unlikely(var83
== NULL
)) {
4831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4832 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
4836 RET_LABEL82
:(void)0;
4840 var84
= hash_collection__HashMap___91d_93d(var81
, var_tag
);
4843 { /* Inline kernel#Int#+ (var75,var84) on <var75:Int> */
4844 /* Covariant cast for argument 0 (i) <var84:nullable Object(Int)> isa OTHER */
4845 /* <var84:nullable Object(Int)> isa OTHER */
4846 var87
= 1; /* easy <var84:nullable Object(Int)> isa OTHER*/
4847 if (unlikely(!var87
)) {
4848 var_class_name90
= var84
== NULL ?
"null" : var84
->type
->name
;
4849 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90
);
4850 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4853 var91
= ((struct instance_kernel__Int
*)var84
)->value
; /* autounbox from nullable Object to Int */;
4854 var92
= var75
+ var91
;
4857 RET_LABEL86
:(void)0;
4861 var93
= BOX_kernel__Int(var85
); /* autobox from Int to nullable Object */
4862 hash_collection__HashMap___91d_93d_61d(var_count_type_test_total
, var_tag
, var93
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4865 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4866 var96
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4867 if (unlikely(var96
== NULL
)) {
4868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4869 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4873 RET_LABEL95
:(void)0;
4882 var102
= string__NativeString__to_s_with_length(var100
, var101
);
4888 var104
= hash_collection__HashMap___91d_93d(var_97
, var_103
);
4891 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4892 var107
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4893 if (unlikely(var107
== NULL
)) {
4894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4895 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
4899 RET_LABEL106
:(void)0;
4903 var108
= hash_collection__HashMap___91d_93d(var105
, var_tag
);
4906 { /* Inline kernel#Int#+ (var104,var108) on <var104:nullable Object(Int)> */
4907 /* Covariant cast for argument 0 (i) <var108:nullable Object(Int)> isa OTHER */
4908 /* <var108:nullable Object(Int)> isa OTHER */
4909 var111
= 1; /* easy <var108:nullable Object(Int)> isa OTHER*/
4910 if (unlikely(!var111
)) {
4911 var_class_name114
= var108
== NULL ?
"null" : var108
->type
->name
;
4912 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114
);
4913 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4916 var115
= ((struct instance_kernel__Int
*)var104
)->value
; /* autounbox from nullable Object to Int */;
4917 var116
= ((struct instance_kernel__Int
*)var108
)->value
; /* autounbox from nullable Object to Int */;
4918 var117
= var115
+ var116
;
4921 RET_LABEL110
:(void)0;
4925 var118
= BOX_kernel__Int(var109
); /* autobox from Int to nullable Object */
4926 hash_collection__HashMap___91d_93d_61d(var_97
, var_103
, var118
); /* Direct call hash_collection#HashMap#[]= on <var_97:HashMap[String, Int]>*/
4929 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4930 var121
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4931 if (unlikely(var121
== NULL
)) {
4932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4933 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4937 RET_LABEL120
:(void)0;
4942 var124
= varonce123
;
4946 var127
= string__NativeString__to_s_with_length(var125
, var126
);
4948 varonce123
= var124
;
4952 var129
= hash_collection__HashMap___91d_93d(var_122
, var_128
);
4955 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4956 var132
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4957 if (unlikely(var132
== NULL
)) {
4958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4959 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
4963 RET_LABEL131
:(void)0;
4967 var133
= hash_collection__HashMap___91d_93d(var130
, var_tag
);
4970 { /* Inline kernel#Int#+ (var129,var133) on <var129:nullable Object(Int)> */
4971 /* Covariant cast for argument 0 (i) <var133:nullable Object(Int)> isa OTHER */
4972 /* <var133:nullable Object(Int)> isa OTHER */
4973 var136
= 1; /* easy <var133:nullable Object(Int)> isa OTHER*/
4974 if (unlikely(!var136
)) {
4975 var_class_name139
= var133
== NULL ?
"null" : var133
->type
->name
;
4976 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139
);
4977 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4980 var140
= ((struct instance_kernel__Int
*)var129
)->value
; /* autounbox from nullable Object to Int */;
4981 var141
= ((struct instance_kernel__Int
*)var133
)->value
; /* autounbox from nullable Object to Int */;
4982 var142
= var140
+ var141
;
4985 RET_LABEL135
:(void)0;
4989 var143
= BOX_kernel__Int(var134
); /* autobox from Int to nullable Object */
4990 hash_collection__HashMap___91d_93d_61d(var_122
, var_128
, var143
); /* Direct call hash_collection#HashMap#[]= on <var_122:HashMap[String, Int]>*/
4993 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4994 var146
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4995 if (unlikely(var146
== NULL
)) {
4996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4997 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
5001 RET_LABEL145
:(void)0;
5006 var149
= varonce148
;
5010 var152
= string__NativeString__to_s_with_length(var150
, var151
);
5012 varonce148
= var149
;
5016 var154
= hash_collection__HashMap___91d_93d(var_147
, var_153
);
5019 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5020 var157
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5021 if (unlikely(var157
== NULL
)) {
5022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5023 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
5027 RET_LABEL156
:(void)0;
5031 var158
= hash_collection__HashMap___91d_93d(var155
, var_tag
);
5034 { /* Inline kernel#Int#+ (var154,var158) on <var154:nullable Object(Int)> */
5035 /* Covariant cast for argument 0 (i) <var158:nullable Object(Int)> isa OTHER */
5036 /* <var158:nullable Object(Int)> isa OTHER */
5037 var161
= 1; /* easy <var158:nullable Object(Int)> isa OTHER*/
5038 if (unlikely(!var161
)) {
5039 var_class_name164
= var158
== NULL ?
"null" : var158
->type
->name
;
5040 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name164
);
5041 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
5044 var165
= ((struct instance_kernel__Int
*)var154
)->value
; /* autounbox from nullable Object to Int */;
5045 var166
= ((struct instance_kernel__Int
*)var158
)->value
; /* autounbox from nullable Object to Int */;
5046 var167
= var165
+ var166
;
5049 RET_LABEL160
:(void)0;
5053 var168
= BOX_kernel__Int(var159
); /* autobox from Int to nullable Object */
5054 hash_collection__HashMap___91d_93d_61d(var_147
, var_153
, var168
); /* Direct call hash_collection#HashMap#[]= on <var_147:HashMap[String, Int]>*/
5056 var_169
= var_count_type_test_total
;
5058 var171
= varonce170
;
5062 var174
= string__NativeString__to_s_with_length(var172
, var173
);
5064 varonce170
= var171
;
5068 var176
= hash_collection__HashMap___91d_93d(var_169
, var_175
);
5071 var177
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag
);
5074 { /* Inline kernel#Int#+ (var176,var177) on <var176:nullable Object(Int)> */
5075 /* Covariant cast for argument 0 (i) <var177:nullable Object(Int)> isa OTHER */
5076 /* <var177:nullable Object(Int)> isa OTHER */
5077 var180
= 1; /* easy <var177:nullable Object(Int)> isa OTHER*/
5078 if (unlikely(!var180
)) {
5079 var_class_name183
= var177
== NULL ?
"null" : var177
->type
->name
;
5080 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183
);
5081 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
5084 var184
= ((struct instance_kernel__Int
*)var176
)->value
; /* autounbox from nullable Object to Int */;
5085 var185
= ((struct instance_kernel__Int
*)var177
)->value
; /* autounbox from nullable Object to Int */;
5086 var186
= var184
+ var185
;
5089 RET_LABEL179
:(void)0;
5093 var187
= BOX_kernel__Int(var178
); /* autobox from Int to nullable Object */
5094 hash_collection__HashMap___91d_93d_61d(var_169
, var_175
, var187
); /* Direct call hash_collection#HashMap#[]= on <var_169:HashMap[String, Int]>*/
5097 array__ArrayIterator__next(var_64
); /* Direct call array#ArrayIterator#next on <var_64:ArrayIterator[String]>*/
5103 BREAK_label
: (void)0;
5105 { /* Inline abstract_collection#Iterator#finish (var_64) on <var_64:ArrayIterator[String]> */
5106 RET_LABEL188
:(void)0;
5110 var190
= varonce189
;
5114 var193
= string__NativeString__to_s_with_length(var191
, var192
);
5116 varonce189
= var190
;
5119 var194
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var190
);
5121 var195
= ((struct instance_kernel__Int
*)var194
)->value
; /* autounbox from nullable Object to Int */;
5122 var_count_type_test
= var195
;
5124 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
5125 var198
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
5126 if (unlikely(var198
== NULL
)) {
5127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
5128 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
5132 RET_LABEL197
:(void)0;
5136 var199
= array__Collection__to_a(var196
);
5140 var201
= varonce200
;
5144 var204
= string__NativeString__to_s_with_length(var202
, var203
);
5146 varonce200
= var201
;
5149 array__Array__add(var_tags
, var201
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
5153 var206
= array__AbstractArrayRead__iterator(var_205
);
5158 var208
= array__ArrayIterator__is_ok(var_207
);
5162 var209
= array__ArrayIterator__item(var_207
);
5164 var_tag210
= var209
;
5165 var211
= NEW_array__Array(&type_array__Arraykernel__Object
);
5166 { /* var211 = array_instance Array[Object] */
5168 var213
= NEW_array__NativeArray(var212
, &type_array__NativeArraykernel__Object
);
5169 ((struct instance_array__NativeArray
*)var213
)->values
[0] = (val
*) var_tag210
;
5171 ((void (*)(val
*, val
*, long))(var211
->class->vft
[COLOR_array__Array__with_native
]))(var211
, var213
, var212
) /* with_native on <var211:Array[Object]>*/;
5175 file__Object__printn(self
, var211
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5178 var215
= varonce214
;
5182 var218
= string__NativeString__to_s_with_length(var216
, var217
);
5184 varonce214
= var215
;
5187 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5188 var221
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5189 if (unlikely(var221
== NULL
)) {
5190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5191 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
5195 RET_LABEL220
:(void)0;
5199 var222
= hash_collection__HashMap___91d_93d(var219
, var_tag210
);
5202 var224
= varonce223
;
5206 var227
= string__NativeString__to_s_with_length(var225
, var226
);
5208 varonce223
= var224
;
5211 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5212 var230
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5213 if (unlikely(var230
== NULL
)) {
5214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5215 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
5219 RET_LABEL229
:(void)0;
5223 var231
= hash_collection__HashMap___91d_93d(var228
, var_tag210
);
5226 var233
= ((struct instance_kernel__Int
*)var231
)->value
; /* autounbox from nullable Object to Int */;
5227 var232
= abstract_compiler__AbstractCompiler__div(self
, var233
, var_count_type_test
);
5230 var235
= varonce234
;
5234 var238
= string__NativeString__to_s_with_length(var236
, var237
);
5236 varonce234
= var235
;
5238 var239
= NEW_array__Array(&type_array__Arraykernel__Object
);
5239 { /* var239 = array_instance Array[Object] */
5241 var241
= NEW_array__NativeArray(var240
, &type_array__NativeArraykernel__Object
);
5242 ((struct instance_array__NativeArray
*)var241
)->values
[0] = (val
*) var215
;
5243 ((struct instance_array__NativeArray
*)var241
)->values
[1] = (val
*) var222
;
5244 ((struct instance_array__NativeArray
*)var241
)->values
[2] = (val
*) var224
;
5245 ((struct instance_array__NativeArray
*)var241
)->values
[3] = (val
*) var232
;
5246 ((struct instance_array__NativeArray
*)var241
)->values
[4] = (val
*) var235
;
5248 ((void (*)(val
*, val
*, long))(var239
->class->vft
[COLOR_array__Array__with_native
]))(var239
, var241
, var240
) /* with_native on <var239:Array[Object]>*/;
5252 var242
= ((val
* (*)(val
*))(var239
->class->vft
[COLOR_string__Object__to_s
]))(var239
) /* to_s on <var239:Array[Object]>*/;
5254 var243
= NEW_array__Array(&type_array__Arraykernel__Object
);
5255 { /* var243 = array_instance Array[Object] */
5257 var245
= NEW_array__NativeArray(var244
, &type_array__NativeArraykernel__Object
);
5258 ((struct instance_array__NativeArray
*)var245
)->values
[0] = (val
*) var242
;
5260 ((void (*)(val
*, val
*, long))(var243
->class->vft
[COLOR_array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
5264 file__Object__printn(self
, var243
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5267 var247
= varonce246
;
5271 var250
= string__NativeString__to_s_with_length(var248
, var249
);
5273 varonce246
= var247
;
5276 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5277 var253
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5278 if (unlikely(var253
== NULL
)) {
5279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5280 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
5284 RET_LABEL252
:(void)0;
5288 var254
= hash_collection__HashMap___91d_93d(var251
, var_tag210
);
5291 var256
= varonce255
;
5295 var259
= string__NativeString__to_s_with_length(var257
, var258
);
5297 varonce255
= var256
;
5300 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5301 var262
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5302 if (unlikely(var262
== NULL
)) {
5303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5304 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
5308 RET_LABEL261
:(void)0;
5312 var263
= hash_collection__HashMap___91d_93d(var260
, var_tag210
);
5315 var265
= ((struct instance_kernel__Int
*)var263
)->value
; /* autounbox from nullable Object to Int */;
5316 var264
= abstract_compiler__AbstractCompiler__div(self
, var265
, var_count_type_test
);
5319 var267
= varonce266
;
5323 var270
= string__NativeString__to_s_with_length(var268
, var269
);
5325 varonce266
= var267
;
5327 var271
= NEW_array__Array(&type_array__Arraykernel__Object
);
5328 { /* var271 = array_instance Array[Object] */
5330 var273
= NEW_array__NativeArray(var272
, &type_array__NativeArraykernel__Object
);
5331 ((struct instance_array__NativeArray
*)var273
)->values
[0] = (val
*) var247
;
5332 ((struct instance_array__NativeArray
*)var273
)->values
[1] = (val
*) var254
;
5333 ((struct instance_array__NativeArray
*)var273
)->values
[2] = (val
*) var256
;
5334 ((struct instance_array__NativeArray
*)var273
)->values
[3] = (val
*) var264
;
5335 ((struct instance_array__NativeArray
*)var273
)->values
[4] = (val
*) var267
;
5337 ((void (*)(val
*, val
*, long))(var271
->class->vft
[COLOR_array__Array__with_native
]))(var271
, var273
, var272
) /* with_native on <var271:Array[Object]>*/;
5341 var274
= ((val
* (*)(val
*))(var271
->class->vft
[COLOR_string__Object__to_s
]))(var271
) /* to_s on <var271:Array[Object]>*/;
5343 var275
= NEW_array__Array(&type_array__Arraykernel__Object
);
5344 { /* var275 = array_instance Array[Object] */
5346 var277
= NEW_array__NativeArray(var276
, &type_array__NativeArraykernel__Object
);
5347 ((struct instance_array__NativeArray
*)var277
)->values
[0] = (val
*) var274
;
5349 ((void (*)(val
*, val
*, long))(var275
->class->vft
[COLOR_array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
5353 file__Object__printn(self
, var275
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5356 var279
= varonce278
;
5360 var282
= string__NativeString__to_s_with_length(var280
, var281
);
5362 varonce278
= var279
;
5365 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5366 var285
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5367 if (unlikely(var285
== NULL
)) {
5368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5369 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
5373 RET_LABEL284
:(void)0;
5377 var286
= hash_collection__HashMap___91d_93d(var283
, var_tag210
);
5380 var288
= varonce287
;
5384 var291
= string__NativeString__to_s_with_length(var289
, var290
);
5386 varonce287
= var288
;
5389 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5390 var294
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5391 if (unlikely(var294
== NULL
)) {
5392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5393 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
5397 RET_LABEL293
:(void)0;
5401 var295
= hash_collection__HashMap___91d_93d(var292
, var_tag210
);
5404 var297
= ((struct instance_kernel__Int
*)var295
)->value
; /* autounbox from nullable Object to Int */;
5405 var296
= abstract_compiler__AbstractCompiler__div(self
, var297
, var_count_type_test
);
5408 var299
= varonce298
;
5412 var302
= string__NativeString__to_s_with_length(var300
, var301
);
5414 varonce298
= var299
;
5416 var303
= NEW_array__Array(&type_array__Arraykernel__Object
);
5417 { /* var303 = array_instance Array[Object] */
5419 var305
= NEW_array__NativeArray(var304
, &type_array__NativeArraykernel__Object
);
5420 ((struct instance_array__NativeArray
*)var305
)->values
[0] = (val
*) var279
;
5421 ((struct instance_array__NativeArray
*)var305
)->values
[1] = (val
*) var286
;
5422 ((struct instance_array__NativeArray
*)var305
)->values
[2] = (val
*) var288
;
5423 ((struct instance_array__NativeArray
*)var305
)->values
[3] = (val
*) var296
;
5424 ((struct instance_array__NativeArray
*)var305
)->values
[4] = (val
*) var299
;
5426 ((void (*)(val
*, val
*, long))(var303
->class->vft
[COLOR_array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
5430 var306
= ((val
* (*)(val
*))(var303
->class->vft
[COLOR_string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
5432 var307
= NEW_array__Array(&type_array__Arraykernel__Object
);
5433 { /* var307 = array_instance Array[Object] */
5435 var309
= NEW_array__NativeArray(var308
, &type_array__NativeArraykernel__Object
);
5436 ((struct instance_array__NativeArray
*)var309
)->values
[0] = (val
*) var306
;
5438 ((void (*)(val
*, val
*, long))(var307
->class->vft
[COLOR_array__Array__with_native
]))(var307
, var309
, var308
) /* with_native on <var307:Array[Object]>*/;
5442 file__Object__printn(self
, var307
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5445 var311
= varonce310
;
5449 var314
= string__NativeString__to_s_with_length(var312
, var313
);
5451 varonce310
= var311
;
5454 var315
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag210
);
5457 var317
= varonce316
;
5461 var320
= string__NativeString__to_s_with_length(var318
, var319
);
5463 varonce316
= var317
;
5466 var321
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag210
);
5469 var323
= ((struct instance_kernel__Int
*)var321
)->value
; /* autounbox from nullable Object to Int */;
5470 var322
= abstract_compiler__AbstractCompiler__div(self
, var323
, var_count_type_test
);
5473 var325
= varonce324
;
5477 var328
= string__NativeString__to_s_with_length(var326
, var327
);
5479 varonce324
= var325
;
5481 var329
= NEW_array__Array(&type_array__Arraykernel__Object
);
5482 { /* var329 = array_instance Array[Object] */
5484 var331
= NEW_array__NativeArray(var330
, &type_array__NativeArraykernel__Object
);
5485 ((struct instance_array__NativeArray
*)var331
)->values
[0] = (val
*) var311
;
5486 ((struct instance_array__NativeArray
*)var331
)->values
[1] = (val
*) var315
;
5487 ((struct instance_array__NativeArray
*)var331
)->values
[2] = (val
*) var317
;
5488 ((struct instance_array__NativeArray
*)var331
)->values
[3] = (val
*) var322
;
5489 ((struct instance_array__NativeArray
*)var331
)->values
[4] = (val
*) var325
;
5491 ((void (*)(val
*, val
*, long))(var329
->class->vft
[COLOR_array__Array__with_native
]))(var329
, var331
, var330
) /* with_native on <var329:Array[Object]>*/;
5495 var332
= ((val
* (*)(val
*))(var329
->class->vft
[COLOR_string__Object__to_s
]))(var329
) /* to_s on <var329:Array[Object]>*/;
5497 var333
= NEW_array__Array(&type_array__Arraykernel__Object
);
5498 { /* var333 = array_instance Array[Object] */
5500 var335
= NEW_array__NativeArray(var334
, &type_array__NativeArraykernel__Object
);
5501 ((struct instance_array__NativeArray
*)var335
)->values
[0] = (val
*) var332
;
5503 ((void (*)(val
*, val
*, long))(var333
->class->vft
[COLOR_array__Array__with_native
]))(var333
, var335
, var334
) /* with_native on <var333:Array[Object]>*/;
5507 file__Object__printn(self
, var333
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5510 var337
= varonce336
;
5514 var340
= string__NativeString__to_s_with_length(var338
, var339
);
5516 varonce336
= var337
;
5519 file__Object__print(self
, var337
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
5522 array__ArrayIterator__next(var_207
); /* Direct call array#ArrayIterator#next on <var_207:ArrayIterator[String]>*/
5525 goto BREAK_label341
;
5528 BREAK_label341
: (void)0;
5530 { /* Inline abstract_collection#Iterator#finish (var_207) on <var_207:ArrayIterator[String]> */
5531 RET_LABEL342
:(void)0;
5538 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
5539 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5540 abstract_compiler__AbstractCompiler__display_stats(self
); /* Direct call abstract_compiler#AbstractCompiler#display_stats on <self:Object(AbstractCompiler)>*/
5543 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
5544 void abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
5545 val
* var_mmodule
/* var mmodule: MModule */;
5546 val
* var_c
/* var c: AbstractCompiler */;
5549 { /* Inline abstract_compiler#MModule#finalize_ffi (var_mmodule,self) on <var_mmodule:MModule> */
5556 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: Object, MModule) */
5557 void VIRTUAL_abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
5558 abstract_compiler__AbstractCompiler__finalize_ffi_for_module(self
, p0
); /* Direct call abstract_compiler#AbstractCompiler#finalize_ffi_for_module on <self:Object(AbstractCompiler)>*/
5561 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
5562 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
5563 val
* var
/* : String */;
5564 long var_a
/* var a: Int */;
5565 long var_b
/* var b: Int */;
5566 long var1
/* : Int */;
5567 short int var2
/* : Bool */;
5568 short int var3
/* : Bool */;
5569 short int var5
/* : Bool */;
5570 static val
* varonce
;
5571 val
* var6
/* : String */;
5572 char* var7
/* : NativeString */;
5573 long var8
/* : Int */;
5574 val
* var9
/* : FlatString */;
5575 long var10
/* : Int */;
5576 long var11
/* : Int */;
5577 short int var13
/* : Bool */;
5580 const char* var_class_name
;
5581 long var14
/* : Int */;
5582 long var15
/* : Int */;
5583 short int var17
/* : Bool */;
5586 const char* var_class_name20
;
5587 long var21
/* : Int */;
5588 double var22
/* : Float */;
5589 double var24
/* : Float */;
5590 double var25
/* : Float */;
5591 double var26
/* : Float */;
5592 short int var28
/* : Bool */;
5595 const char* var_class_name31
;
5596 double var32
/* : Float */;
5597 long var33
/* : Int */;
5598 val
* var34
/* : String */;
5603 { /* Inline kernel#Int#== (var_b,var1) on <var_b:Int> */
5604 var5
= var_b
== var1
;
5617 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5627 { /* Inline kernel#Int#* (var_a,var10) on <var_a:Int> */
5628 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
5629 /* <var10:Int> isa OTHER */
5630 var13
= 1; /* easy <var10:Int> isa OTHER*/
5631 if (unlikely(!var13
)) {
5632 var_class_name
= type_kernel__Int
.name
;
5633 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5634 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
5637 var14
= var_a
* var10
;
5640 RET_LABEL12
:(void)0;
5644 { /* Inline kernel#Int#/ (var11,var_b) on <var11:Int> */
5645 /* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
5646 /* <var_b:Int> isa OTHER */
5647 var17
= 1; /* easy <var_b:Int> isa OTHER*/
5648 if (unlikely(!var17
)) {
5649 var_class_name20
= type_kernel__Int
.name
;
5650 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
5651 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
5654 var21
= var11
/ var_b
;
5657 RET_LABEL16
:(void)0;
5661 { /* Inline kernel#Int#to_f (var15) on <var15:Int> */
5662 var24
= (double)var15
;
5665 RET_LABEL23
:(void)0;
5670 { /* Inline kernel#Float#/ (var22,var25) on <var22:Float> */
5671 /* Covariant cast for argument 0 (i) <var25:Float> isa OTHER */
5672 /* <var25:Float> isa OTHER */
5673 var28
= 1; /* easy <var25:Float> isa OTHER*/
5674 if (unlikely(!var28
)) {
5675 var_class_name31
= type_kernel__Float
.name
;
5676 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
5677 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 306);
5680 var32
= var22
/ var25
;
5683 RET_LABEL27
:(void)0;
5688 var34
= string__Float__to_precision(var26
, var33
);
5695 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
5696 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
5697 val
* var
/* : String */;
5698 val
* var1
/* : String */;
5699 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
5704 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
5705 val
* abstract_compiler__CodeFile__name(val
* self
) {
5706 val
* var
/* : String */;
5707 val
* var1
/* : String */;
5708 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
; /* _name on <self:CodeFile> */
5709 if (unlikely(var1
== NULL
)) {
5710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5711 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1011);
5718 /* method abstract_compiler#CodeFile#name for (self: Object): String */
5719 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
5720 val
* var
/* : String */;
5721 val
* var1
/* : String */;
5722 val
* var3
/* : String */;
5723 { /* Inline abstract_compiler#CodeFile#name (self) on <self:Object(CodeFile)> */
5724 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
; /* _name on <self:Object(CodeFile)> */
5725 if (unlikely(var3
== NULL
)) {
5726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5727 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1011);
5737 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
5738 void abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
5739 self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:CodeFile> */
5742 /* method abstract_compiler#CodeFile#name= for (self: Object, String) */
5743 void VIRTUAL_abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
5744 { /* Inline abstract_compiler#CodeFile#name= (self,p0) on <self:Object(CodeFile)> */
5745 self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:Object(CodeFile)> */
5750 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
5751 val
* abstract_compiler__CodeFile__writers(val
* self
) {
5752 val
* var
/* : Array[CodeWriter] */;
5753 val
* var1
/* : Array[CodeWriter] */;
5754 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:CodeFile> */
5755 if (unlikely(var1
== NULL
)) {
5756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5757 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
5764 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
5765 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
5766 val
* var
/* : Array[CodeWriter] */;
5767 val
* var1
/* : Array[CodeWriter] */;
5768 val
* var3
/* : Array[CodeWriter] */;
5769 { /* Inline abstract_compiler#CodeFile#writers (self) on <self:Object(CodeFile)> */
5770 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:Object(CodeFile)> */
5771 if (unlikely(var3
== NULL
)) {
5772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5773 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
5783 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
5784 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
5785 val
* var
/* : HashSet[String] */;
5786 val
* var1
/* : HashSet[String] */;
5787 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:CodeFile> */
5788 if (unlikely(var1
== NULL
)) {
5789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5790 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1013);
5797 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
5798 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
5799 val
* var
/* : HashSet[String] */;
5800 val
* var1
/* : HashSet[String] */;
5801 val
* var3
/* : HashSet[String] */;
5802 { /* Inline abstract_compiler#CodeFile#required_declarations (self) on <self:Object(CodeFile)> */
5803 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:Object(CodeFile)> */
5804 if (unlikely(var3
== NULL
)) {
5805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5806 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1013);
5816 /* method abstract_compiler#CodeFile#init for (self: CodeFile) */
5817 void abstract_compiler__CodeFile__init(val
* self
) {
5819 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(self
) /* init on <self:CodeFile>*/;
5823 /* method abstract_compiler#CodeFile#init for (self: Object) */
5824 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
) {
5825 { /* Inline abstract_compiler#CodeFile#init (self) on <self:Object(CodeFile)> */
5827 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(self
) /* init on <self:Object(CodeFile)>*/;
5833 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
5834 val
* abstract_compiler__CodeWriter__file(val
* self
) {
5835 val
* var
/* : CodeFile */;
5836 val
* var1
/* : CodeFile */;
5837 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5838 if (unlikely(var1
== NULL
)) {
5839 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5840 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1018);
5847 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
5848 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
5849 val
* var
/* : CodeFile */;
5850 val
* var1
/* : CodeFile */;
5851 val
* var3
/* : CodeFile */;
5852 { /* Inline abstract_compiler#CodeWriter#file (self) on <self:Object(CodeWriter)> */
5853 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <self:Object(CodeWriter)> */
5854 if (unlikely(var3
== NULL
)) {
5855 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5856 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1018);
5866 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
5867 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
5868 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:CodeWriter> */
5871 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
5872 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
5873 { /* Inline abstract_compiler#CodeWriter#file= (self,p0) on <self:Object(CodeWriter)> */
5874 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:Object(CodeWriter)> */
5879 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
5880 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
5881 val
* var
/* : List[String] */;
5882 val
* var1
/* : List[String] */;
5883 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:CodeWriter> */
5884 if (unlikely(var1
== NULL
)) {
5885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5886 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1019);
5893 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
5894 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
5895 val
* var
/* : List[String] */;
5896 val
* var1
/* : List[String] */;
5897 val
* var3
/* : List[String] */;
5898 { /* Inline abstract_compiler#CodeWriter#lines (self) on <self:Object(CodeWriter)> */
5899 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:Object(CodeWriter)> */
5900 if (unlikely(var3
== NULL
)) {
5901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5902 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1019);
5912 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
5913 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
5914 val
* var
/* : List[String] */;
5915 val
* var1
/* : List[String] */;
5916 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5917 if (unlikely(var1
== NULL
)) {
5918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5919 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
5926 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
5927 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
5928 val
* var
/* : List[String] */;
5929 val
* var1
/* : List[String] */;
5930 val
* var3
/* : List[String] */;
5931 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:Object(CodeWriter)> */
5932 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:Object(CodeWriter)> */
5933 if (unlikely(var3
== NULL
)) {
5934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5935 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
5945 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
5946 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
5947 val
* var_s
/* var s: String */;
5948 val
* var
/* : List[String] */;
5949 val
* var2
/* : List[String] */;
5952 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:CodeWriter> */
5953 var2
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5954 if (unlikely(var2
== NULL
)) {
5955 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5956 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
5964 abstract_collection__Sequence__add(var
, var_s
); /* Direct call abstract_collection#Sequence#add on <var:List[String]>*/
5968 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
5969 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
5970 abstract_compiler__CodeWriter__add_decl(self
, p0
); /* Direct call abstract_compiler#CodeWriter#add_decl on <self:Object(CodeWriter)>*/
5973 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
5974 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
5975 val
* var_file
/* var file: CodeFile */;
5976 val
* var
/* : Array[CodeWriter] */;
5977 val
* var3
/* : Array[CodeWriter] */;
5980 { /* Inline abstract_compiler#CodeWriter#file= (self,var_file) on <self:CodeWriter> */
5981 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= var_file
; /* _file on <self:CodeWriter> */
5986 { /* Inline abstract_compiler#CodeFile#writers (var_file) on <var_file:CodeFile> */
5987 var3
= var_file
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_file:CodeFile> */
5988 if (unlikely(var3
== NULL
)) {
5989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5990 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
5998 array__Array__add(var
, self
); /* Direct call array#Array#add on <var:Array[CodeWriter]>*/
6002 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
6003 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
6004 abstract_compiler__CodeWriter__init(self
, p0
); /* Direct call abstract_compiler#CodeWriter#init on <self:Object(CodeWriter)>*/
6007 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
6008 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6009 val
* var
/* : AbstractCompiler */;
6010 val
* var1
/* : AbstractCompiler */;
6011 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6012 if (unlikely(var1
== NULL
)) {
6013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6014 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6021 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
6022 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6023 val
* var
/* : AbstractCompiler */;
6024 val
* var1
/* : AbstractCompiler */;
6025 val
* var3
/* : AbstractCompiler */;
6026 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:Object(AbstractCompilerVisitor)> */
6027 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
6028 if (unlikely(var3
== NULL
)) {
6029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6030 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6040 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
6041 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6042 short int var
/* : Bool */;
6045 const struct type
* type_struct
;
6046 const char* var_class_name
;
6047 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6048 /* <p0:AbstractCompiler> isa COMPILER */
6049 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6050 cltype
= type_struct
->color
;
6051 idtype
= type_struct
->id
;
6052 if(cltype
>= p0
->type
->table_size
) {
6055 var
= p0
->type
->type_table
[cltype
] == idtype
;
6057 if (unlikely(!var
)) {
6058 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6059 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6060 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6063 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:AbstractCompilerVisitor> */
6066 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
6067 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6068 short int var
/* : Bool */;
6071 const struct type
* type_struct
;
6072 const char* var_class_name
;
6073 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
6074 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6075 /* <p0:AbstractCompiler> isa COMPILER */
6076 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6077 cltype
= type_struct
->color
;
6078 idtype
= type_struct
->id
;
6079 if(cltype
>= p0
->type
->table_size
) {
6082 var
= p0
->type
->type_table
[cltype
] == idtype
;
6084 if (unlikely(!var
)) {
6085 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6086 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6087 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6090 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
6095 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
6096 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6097 val
* var
/* : nullable ANode */;
6098 val
* var1
/* : nullable ANode */;
6099 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
6104 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
6105 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6106 val
* var
/* : nullable ANode */;
6107 val
* var1
/* : nullable ANode */;
6108 val
* var3
/* : nullable ANode */;
6109 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:Object(AbstractCompilerVisitor)> */
6110 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
6118 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
6119 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6120 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:AbstractCompilerVisitor> */
6123 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
6124 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6125 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
6126 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
6131 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
6132 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6133 val
* var
/* : nullable Frame */;
6134 val
* var1
/* : nullable Frame */;
6135 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
6140 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
6141 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6142 val
* var
/* : nullable Frame */;
6143 val
* var1
/* : nullable Frame */;
6144 val
* var3
/* : nullable Frame */;
6145 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:Object(AbstractCompilerVisitor)> */
6146 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:Object(AbstractCompilerVisitor)> */
6154 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
6155 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6156 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:AbstractCompilerVisitor> */
6159 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
6160 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6161 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
6162 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:Object(AbstractCompilerVisitor)> */
6167 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
6168 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6169 val
* var
/* : MClassType */;
6170 val
* var1
/* : AbstractCompiler */;
6171 val
* var3
/* : AbstractCompiler */;
6172 val
* var4
/* : MModule */;
6173 val
* var6
/* : MModule */;
6174 val
* var7
/* : MClassType */;
6176 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6177 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6178 if (unlikely(var3
== NULL
)) {
6179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6180 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6188 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6189 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6190 if (unlikely(var6
== NULL
)) {
6191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6192 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
6200 var7
= model__MModule__object_type(var4
);
6207 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
6208 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6209 val
* var
/* : MClassType */;
6210 val
* var1
/* : MClassType */;
6211 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
6216 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
6217 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6218 val
* var
/* : MClassType */;
6219 val
* var1
/* : AbstractCompiler */;
6220 val
* var3
/* : AbstractCompiler */;
6221 val
* var4
/* : MModule */;
6222 val
* var6
/* : MModule */;
6223 val
* var7
/* : MClassType */;
6225 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6226 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6227 if (unlikely(var3
== NULL
)) {
6228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6229 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6237 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6238 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6239 if (unlikely(var6
== NULL
)) {
6240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6241 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
6249 var7
= model__MModule__bool_type(var4
);
6256 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
6257 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6258 val
* var
/* : MClassType */;
6259 val
* var1
/* : MClassType */;
6260 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
6265 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
6266 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6267 val
* var
/* : CodeWriter */;
6268 val
* var1
/* : CodeWriter */;
6269 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
6270 if (unlikely(var1
== NULL
)) {
6271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
6272 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
6279 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
6280 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6281 val
* var
/* : CodeWriter */;
6282 val
* var1
/* : CodeWriter */;
6283 val
* var3
/* : CodeWriter */;
6284 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:Object(AbstractCompilerVisitor)> */
6285 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:Object(AbstractCompilerVisitor)> */
6286 if (unlikely(var3
== NULL
)) {
6287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
6288 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
6298 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
6299 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6300 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:AbstractCompilerVisitor> */
6303 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
6304 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6305 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
6306 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:Object(AbstractCompilerVisitor)> */
6311 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
6312 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6313 short int var
/* : Bool */;
6316 const struct type
* type_struct
;
6317 const char* var_class_name
;
6318 val
* var_compiler
/* var compiler: AbstractCompiler */;
6319 short int var2
/* : Bool */;
6322 const struct type
* type_struct5
;
6323 const char* var_class_name6
;
6324 val
* var7
/* : CodeWriter */;
6325 val
* var8
/* : List[CodeFile] */;
6326 val
* var10
/* : List[CodeFile] */;
6327 val
* var11
/* : nullable Object */;
6328 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6329 /* <p0:AbstractCompiler> isa COMPILER */
6330 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6331 cltype
= type_struct
->color
;
6332 idtype
= type_struct
->id
;
6333 if(cltype
>= p0
->type
->table_size
) {
6336 var
= p0
->type
->type_table
[cltype
] == idtype
;
6338 if (unlikely(!var
)) {
6339 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6341 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1058);
6346 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,var_compiler) on <self:AbstractCompilerVisitor> */
6347 /* Covariant cast for argument 0 (compiler) <var_compiler:AbstractCompiler> isa COMPILER */
6348 /* <var_compiler:AbstractCompiler> isa COMPILER */
6349 type_struct5
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6350 cltype3
= type_struct5
->color
;
6351 idtype4
= type_struct5
->id
;
6352 if(cltype3
>= var_compiler
->type
->table_size
) {
6355 var2
= var_compiler
->type
->type_table
[cltype3
] == idtype4
;
6357 if (unlikely(!var2
)) {
6358 var_class_name6
= var_compiler
== NULL ?
"null" : var_compiler
->type
->name
;
6359 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name6
);
6360 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6363 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= var_compiler
; /* _compiler on <self:AbstractCompilerVisitor> */
6367 var7
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
6369 { /* Inline abstract_compiler#AbstractCompiler#files (var_compiler) on <var_compiler:AbstractCompiler> */
6370 var10
= var_compiler
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var_compiler:AbstractCompiler> */
6371 if (unlikely(var10
== NULL
)) {
6372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6373 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 499);
6381 var11
= list__List__last(var8
);
6384 abstract_compiler__CodeWriter__init(var7
, var11
); /* Direct call abstract_compiler#CodeWriter#init on <var7:CodeWriter>*/
6387 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var7) on <self:AbstractCompilerVisitor> */
6388 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= var7
; /* _writer on <self:AbstractCompilerVisitor> */
6389 RET_LABEL12
:(void)0;
6394 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
6395 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6396 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#init on <self:Object(AbstractCompilerVisitor)>*/
6399 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
6400 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6401 val
* var
/* : MClass */;
6402 val
* var_name
/* var name: String */;
6403 val
* var1
/* : AbstractCompiler */;
6404 val
* var3
/* : AbstractCompiler */;
6405 val
* var4
/* : MModule */;
6406 val
* var6
/* : MModule */;
6407 val
* var7
/* : MClass */;
6410 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6411 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6412 if (unlikely(var3
== NULL
)) {
6413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6414 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6422 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6423 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6424 if (unlikely(var6
== NULL
)) {
6425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6426 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
6434 var7
= model__MModule__get_primitive_class(var4
, var_name
);
6441 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
6442 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6443 val
* var
/* : MClass */;
6444 val
* var1
/* : MClass */;
6445 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
6450 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
6451 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6452 val
* var
/* : MMethod */;
6453 val
* var_name
/* var name: String */;
6454 val
* var_recv
/* var recv: MType */;
6455 short int var1
/* : Bool */;
6458 val
* var2
/* : AbstractCompiler */;
6459 val
* var4
/* : AbstractCompiler */;
6460 val
* var5
/* : ModelBuilder */;
6461 val
* var7
/* : ModelBuilder */;
6462 val
* var8
/* : nullable ANode */;
6463 val
* var10
/* : nullable ANode */;
6464 val
* var11
/* : MClass */;
6465 val
* var13
/* : MClass */;
6466 val
* var14
/* : AbstractCompiler */;
6467 val
* var16
/* : AbstractCompiler */;
6468 val
* var17
/* : MModule */;
6469 val
* var19
/* : MModule */;
6470 val
* var20
/* : MMethod */;
6473 /* <var_recv:MType> isa MClassType */
6474 cltype
= type_model__MClassType
.color
;
6475 idtype
= type_model__MClassType
.id
;
6476 if(cltype
>= var_recv
->type
->table_size
) {
6479 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
6481 if (unlikely(!var1
)) {
6482 PRINT_ERROR("Runtime error: %s", "Assert failed");
6483 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1070);
6487 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6488 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6489 if (unlikely(var4
== NULL
)) {
6490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6491 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6499 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
6500 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
6501 if (unlikely(var7
== NULL
)) {
6502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6503 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
6511 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
6512 var10
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
6518 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MType(MClassType)> */
6519 var13
= var_recv
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_recv:MType(MClassType)> */
6520 if (unlikely(var13
== NULL
)) {
6521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6522 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
6526 RET_LABEL12
:(void)0;
6530 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6531 var16
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6532 if (unlikely(var16
== NULL
)) {
6533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6534 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
6538 RET_LABEL15
:(void)0;
6542 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler> */
6543 var19
= var14
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler> */
6544 if (unlikely(var19
== NULL
)) {
6545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6546 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
6550 RET_LABEL18
:(void)0;
6554 var20
= modelbuilder__ModelBuilder__force_get_primitive_method(var5
, var8
, var_name
, var11
, var17
);
6561 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
6562 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6563 val
* var
/* : MMethod */;
6564 val
* var1
/* : MMethod */;
6565 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
6570 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6571 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6572 val
* var
/* : nullable RuntimeVariable */;
6573 val
* var_callsite
/* var callsite: CallSite */;
6574 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6575 val
* var1
/* : MMethodDef */;
6576 val
* var3
/* : MMethodDef */;
6577 val
* var4
/* : Array[MProperty] */;
6578 val
* var6
/* : Array[MProperty] */;
6579 val
* var_initializers
/* var initializers: Array[MProperty] */;
6580 short int var7
/* : Bool */;
6581 short int var8
/* : Bool */;
6582 val
* var9
/* : nullable Object */;
6583 val
* var_recv
/* var recv: RuntimeVariable */;
6584 long var10
/* : Int */;
6585 long var_i
/* var i: Int */;
6586 val
* var_
/* var : Array[MProperty] */;
6587 val
* var11
/* : ArrayIterator[nullable Object] */;
6588 val
* var_12
/* var : ArrayIterator[MProperty] */;
6589 short int var13
/* : Bool */;
6590 val
* var14
/* : nullable Object */;
6591 val
* var_p
/* var p: MProperty */;
6592 short int var15
/* : Bool */;
6595 val
* var16
/* : Array[RuntimeVariable] */;
6596 long var17
/* : Int */;
6597 val
* var_18
/* var : Array[RuntimeVariable] */;
6598 val
* var_args
/* var args: Array[RuntimeVariable] */;
6599 val
* var19
/* : MPropDef */;
6600 val
* var21
/* : MPropDef */;
6601 val
* var22
/* : nullable MSignature */;
6602 val
* var24
/* : nullable MSignature */;
6603 val
* var25
/* : Array[MParameter] */;
6604 val
* var27
/* : Array[MParameter] */;
6605 val
* var_28
/* var : Array[MParameter] */;
6606 val
* var29
/* : ArrayIterator[nullable Object] */;
6607 val
* var_30
/* var : ArrayIterator[MParameter] */;
6608 short int var31
/* : Bool */;
6609 val
* var32
/* : nullable Object */;
6610 val
* var_x
/* var x: MParameter */;
6611 val
* var33
/* : nullable Object */;
6612 long var34
/* : Int */;
6613 long var35
/* : Int */;
6614 short int var37
/* : Bool */;
6617 const char* var_class_name
;
6618 long var40
/* : Int */;
6619 val
* var42
/* : nullable RuntimeVariable */;
6620 short int var43
/* : Bool */;
6623 val
* var46
/* : nullable Object */;
6624 long var47
/* : Int */;
6625 long var48
/* : Int */;
6626 short int var50
/* : Bool */;
6629 const char* var_class_name53
;
6630 long var54
/* : Int */;
6631 long var57
/* : Int */;
6632 long var59
/* : Int */;
6633 short int var60
/* : Bool */;
6634 short int var61
/* : Bool */;
6635 short int var63
/* : Bool */;
6636 val
* var64
/* : MMethod */;
6637 val
* var66
/* : MMethod */;
6638 val
* var67
/* : Array[RuntimeVariable] */;
6639 long var68
/* : Int */;
6640 val
* var_69
/* var : Array[RuntimeVariable] */;
6641 val
* var70
/* : nullable RuntimeVariable */;
6642 val
* var71
/* : MMethod */;
6643 val
* var73
/* : MMethod */;
6644 val
* var74
/* : nullable RuntimeVariable */;
6648 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
6649 var3
= var_callsite
->attrs
[COLOR_typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
6650 if (unlikely(var3
== NULL
)) {
6651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
6652 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
6660 { /* Inline model#MMethodDef#initializers (var1) on <var1:MMethodDef> */
6661 var6
= var1
->attrs
[COLOR_model__MMethodDef___initializers
].val
; /* _initializers on <var1:MMethodDef> */
6662 if (unlikely(var6
== NULL
)) {
6663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
6664 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
6671 var_initializers
= var4
;
6673 var7
= array__AbstractArrayRead__is_empty(var_initializers
);
6678 var9
= abstract_collection__SequenceRead__first(var_arguments
);
6683 var_
= var_initializers
;
6685 var11
= array__AbstractArrayRead__iterator(var_
);
6690 var13
= array__ArrayIterator__is_ok(var_12
);
6694 var14
= array__ArrayIterator__item(var_12
);
6697 /* <var_p:MProperty> isa MMethod */
6698 cltype
= type_model__MMethod
.color
;
6699 idtype
= type_model__MMethod
.id
;
6700 if(cltype
>= var_p
->type
->table_size
) {
6703 var15
= var_p
->type
->type_table
[cltype
] == idtype
;
6706 var16
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6709 array__Array__with_capacity(var16
, var17
); /* Direct call array#Array#with_capacity on <var16:Array[RuntimeVariable]>*/
6713 array__AbstractArray__push(var_18
, var_recv
); /* Direct call array#AbstractArray#push on <var_18:Array[RuntimeVariable]>*/
6717 { /* Inline model#MProperty#intro (var_p) on <var_p:MProperty(MMethod)> */
6718 var21
= var_p
->attrs
[COLOR_model__MProperty___intro
].val
; /* _intro on <var_p:MProperty(MMethod)> */
6719 if (unlikely(var21
== NULL
)) {
6720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6721 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
6725 RET_LABEL20
:(void)0;
6729 { /* Inline model#MMethodDef#msignature (var19) on <var19:MPropDef(MMethodDef)> */
6730 var24
= var19
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var19:MPropDef(MMethodDef)> */
6732 RET_LABEL23
:(void)0;
6735 if (var22
== NULL
) {
6736 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6737 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1084);
6740 { /* Inline model#MSignature#mparameters (var22) on <var22:nullable MSignature> */
6741 if (unlikely(var22
== NULL
)) {
6742 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6743 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6746 var27
= var22
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var22:nullable MSignature> */
6747 if (unlikely(var27
== NULL
)) {
6748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6749 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
6753 RET_LABEL26
:(void)0;
6758 var29
= array__AbstractArrayRead__iterator(var_28
);
6763 var31
= array__ArrayIterator__is_ok(var_30
);
6767 var32
= array__ArrayIterator__item(var_30
);
6771 var33
= array__Array___91d_93d(var_arguments
, var_i
);
6774 array__Array__add(var_args
, var33
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6778 { /* Inline kernel#Int#+ (var_i,var34) on <var_i:Int> */
6779 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
6780 /* <var34:Int> isa OTHER */
6781 var37
= 1; /* easy <var34:Int> isa OTHER*/
6782 if (unlikely(!var37
)) {
6783 var_class_name
= type_kernel__Int
.name
;
6784 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6785 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6788 var40
= var_i
+ var34
;
6791 RET_LABEL36
:(void)0;
6796 array__ArrayIterator__next(var_30
); /* Direct call array#ArrayIterator#next on <var_30:ArrayIterator[MParameter]>*/
6802 BREAK_label
: (void)0;
6804 { /* Inline abstract_collection#Iterator#finish (var_30) on <var_30:ArrayIterator[MParameter]> */
6805 RET_LABEL41
:(void)0;
6809 var42
= separate_compiler__SeparateCompilerVisitor__send(self
, var_p
, var_args
);
6812 /* <var_p:MProperty> isa MAttribute */
6813 cltype44
= type_model__MAttribute
.color
;
6814 idtype45
= type_model__MAttribute
.id
;
6815 if(cltype44
>= var_p
->type
->table_size
) {
6818 var43
= var_p
->type
->type_table
[cltype44
] == idtype45
;
6822 var46
= array__Array___91d_93d(var_arguments
, var_i
);
6825 separate_compiler__SeparateCompilerVisitor__write_attribute(self
, var_p
, var_recv
, var46
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:AbstractCompilerVisitor>*/
6829 { /* Inline kernel#Int#+ (var_i,var47) on <var_i:Int> */
6830 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
6831 /* <var47:Int> isa OTHER */
6832 var50
= 1; /* easy <var47:Int> isa OTHER*/
6833 if (unlikely(!var50
)) {
6834 var_class_name53
= type_kernel__Int
.name
;
6835 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53
);
6836 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
6839 var54
= var_i
+ var47
;
6842 RET_LABEL49
:(void)0;
6847 PRINT_ERROR("Runtime error: %s", "Aborted");
6848 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1092);
6853 array__ArrayIterator__next(var_12
); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[MProperty]>*/
6859 BREAK_label55
: (void)0;
6861 { /* Inline abstract_collection#Iterator#finish (var_12) on <var_12:ArrayIterator[MProperty]> */
6862 RET_LABEL56
:(void)0;
6866 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
6867 var59
= var_arguments
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
6869 RET_LABEL58
:(void)0;
6873 { /* Inline kernel#Int#== (var_i,var57) on <var_i:Int> */
6874 var63
= var_i
== var57
;
6877 RET_LABEL62
:(void)0;
6881 if (unlikely(!var60
)) {
6882 PRINT_ERROR("Runtime error: %s", "Assert failed");
6883 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1094);
6887 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
6888 var66
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
6889 if (unlikely(var66
== NULL
)) {
6890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6891 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
6895 RET_LABEL65
:(void)0;
6898 var67
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6901 array__Array__with_capacity(var67
, var68
); /* Direct call array#Array#with_capacity on <var67:Array[RuntimeVariable]>*/
6905 array__AbstractArray__push(var_69
, var_recv
); /* Direct call array#AbstractArray#push on <var_69:Array[RuntimeVariable]>*/
6908 var70
= separate_compiler__SeparateCompilerVisitor__send(self
, var64
, var_69
);
6915 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
6916 var73
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
6917 if (unlikely(var73
== NULL
)) {
6918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6919 PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
6923 RET_LABEL72
:(void)0;
6927 var74
= separate_compiler__SeparateCompilerVisitor__send(self
, var71
, var_arguments
);
6934 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6935 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6936 val
* var
/* : nullable RuntimeVariable */;
6937 val
* var1
/* : nullable RuntimeVariable */;
6938 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
6943 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
6944 val
* abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6945 val
* var
/* : Array[RuntimeVariable] */;
6946 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6947 val
* var_recv
/* var recv: RuntimeVariable */;
6948 val
* var_args
/* var args: SequenceRead[AExpr] */;
6949 val
* var1
/* : MSignature */;
6950 val
* var2
/* : nullable MSignature */;
6951 val
* var4
/* : nullable MSignature */;
6952 val
* var5
/* : nullable MSignature */;
6953 val
* var7
/* : nullable MSignature */;
6954 val
* var_msignature
/* var msignature: MSignature */;
6955 val
* var8
/* : Array[RuntimeVariable] */;
6956 val
* var_res
/* var res: Array[RuntimeVariable] */;
6957 short int var9
/* : Bool */;
6958 long var10
/* : Int */;
6959 long var12
/* : Int */;
6960 long var_vararg_rank
/* var vararg_rank: Int */;
6961 long var13
/* : Int */;
6962 long var14
/* : Int */;
6963 long var15
/* : Int */;
6964 short int var17
/* : Bool */;
6967 const char* var_class_name
;
6968 long var18
/* : Int */;
6969 long var_vararg_len
/* var vararg_len: Int */;
6970 long var19
/* : Int */;
6971 short int var20
/* : Bool */;
6972 short int var22
/* : Bool */;
6975 const char* var_class_name25
;
6976 short int var26
/* : Bool */;
6977 long var27
/* : Int */;
6978 long var28
/* : Int */;
6979 long var_i
/* var i: Int */;
6980 long var29
/* : Int */;
6981 long var_
/* var : Int */;
6982 short int var30
/* : Bool */;
6983 short int var32
/* : Bool */;
6986 const char* var_class_name35
;
6987 short int var36
/* : Bool */;
6988 short int var37
/* : Bool */;
6989 short int var38
/* : Bool */;
6990 short int var40
/* : Bool */;
6991 val
* var41
/* : nullable Object */;
6992 val
* var_ne
/* var ne: AExpr */;
6993 short int var42
/* : Bool */;
6996 val
* var45
/* : AExpr */;
6997 val
* var47
/* : AExpr */;
6998 val
* var48
/* : null */;
6999 val
* var49
/* : RuntimeVariable */;
7000 val
* var_e
/* var e: RuntimeVariable */;
7001 val
* var50
/* : Array[RuntimeVariable] */;
7002 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
7003 long var_j
/* var j: Int */;
7004 long var51
/* : Int */;
7005 short int var53
/* : Bool */;
7008 const char* var_class_name56
;
7009 long var57
/* : Int */;
7010 long var_58
/* var : Int */;
7011 short int var59
/* : Bool */;
7012 short int var61
/* : Bool */;
7015 const char* var_class_name64
;
7016 short int var65
/* : Bool */;
7017 val
* var66
/* : nullable Object */;
7018 val
* var67
/* : null */;
7019 val
* var68
/* : RuntimeVariable */;
7020 val
* var_e69
/* var e: RuntimeVariable */;
7021 long var70
/* : Int */;
7022 long var71
/* : Int */;
7023 val
* var73
/* : Array[MParameter] */;
7024 val
* var75
/* : Array[MParameter] */;
7025 val
* var76
/* : nullable Object */;
7026 val
* var77
/* : MType */;
7027 val
* var79
/* : MType */;
7028 val
* var_elttype
/* var elttype: MType */;
7029 val
* var80
/* : RuntimeVariable */;
7030 val
* var_arg
/* var arg: RuntimeVariable */;
7031 long var_j81
/* var j: Int */;
7032 short int var82
/* : Bool */;
7033 short int var84
/* : Bool */;
7036 const char* var_class_name87
;
7037 short int var88
/* : Bool */;
7038 long var89
/* : Int */;
7039 short int var91
/* : Bool */;
7042 const char* var_class_name94
;
7043 long var95
/* : Int */;
7044 val
* var96
/* : nullable Object */;
7045 val
* var97
/* : null */;
7046 val
* var98
/* : RuntimeVariable */;
7047 val
* var_e99
/* var e: RuntimeVariable */;
7048 long var100
/* : Int */;
7049 long var101
/* : Int */;
7054 { /* Inline model#MMethodDef#new_msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
7055 var4
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_mpropdef:MMethodDef> */
7064 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
7065 var7
= var_mpropdef
->attrs
[COLOR_model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
7070 if (unlikely(var5
== NULL
)) {
7071 PRINT_ERROR("Runtime error: %s", "Cast failed");
7072 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1113);
7077 var_msignature
= var1
;
7078 var8
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7080 ((void (*)(val
*))(var8
->class->vft
[COLOR_kernel__Object__init
]))(var8
) /* init on <var8:Array[RuntimeVariable]>*/;
7084 array__Array__add(var_res
, var_recv
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
7087 var9
= ((short int (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_args
) /* is_empty on <var_args:SequenceRead[AExpr]>*/;
7095 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
7096 var12
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
7098 RET_LABEL11
:(void)0;
7101 var_vararg_rank
= var10
;
7103 var13
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:SequenceRead[AExpr]>*/;
7106 var14
= model__MSignature__arity(var_msignature
);
7109 { /* Inline kernel#Int#- (var13,var14) on <var13:Int> */
7110 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
7111 /* <var14:Int> isa OTHER */
7112 var17
= 1; /* easy <var14:Int> isa OTHER*/
7113 if (unlikely(!var17
)) {
7114 var_class_name
= type_kernel__Int
.name
;
7115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7116 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
7119 var18
= var13
- var14
;
7122 RET_LABEL16
:(void)0;
7125 var_vararg_len
= var15
;
7128 { /* Inline kernel#Int#< (var_vararg_len,var19) on <var_vararg_len:Int> */
7129 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
7130 /* <var19:Int> isa OTHER */
7131 var22
= 1; /* easy <var19:Int> isa OTHER*/
7132 if (unlikely(!var22
)) {
7133 var_class_name25
= type_kernel__Int
.name
;
7134 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
7135 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
7138 var26
= var_vararg_len
< var19
;
7141 RET_LABEL21
:(void)0;
7146 var_vararg_len
= var27
;
7152 var29
= model__MSignature__arity(var_msignature
);
7157 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
7158 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
7159 /* <var_:Int> isa OTHER */
7160 var32
= 1; /* easy <var_:Int> isa OTHER*/
7161 if (unlikely(!var32
)) {
7162 var_class_name35
= type_kernel__Int
.name
;
7163 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
7164 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
7167 var36
= var_i
< var_
;
7170 RET_LABEL31
:(void)0;
7175 { /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
7176 var40
= var_i
== var_vararg_rank
;
7179 RET_LABEL39
:(void)0;
7185 var41
= ((val
* (*)(val
*, long))(var_args
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_i
) /* [] on <var_args:SequenceRead[AExpr]>*/;
7188 /* <var_ne:AExpr> isa AVarargExpr */
7189 cltype43
= type_parser_nodes__AVarargExpr
.color
;
7190 idtype44
= type_parser_nodes__AVarargExpr
.id
;
7191 if(cltype43
>= var_ne
->type
->table_size
) {
7194 var42
= var_ne
->type
->type_table
[cltype43
] == idtype44
;
7198 { /* Inline parser_nodes#AVarargExpr#n_expr (var_ne) on <var_ne:AExpr(AVarargExpr)> */
7199 var47
= var_ne
->attrs
[COLOR_parser_nodes__AVarargExpr___n_expr
].val
; /* _n_expr on <var_ne:AExpr(AVarargExpr)> */
7200 if (unlikely(var47
== NULL
)) {
7201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
7202 PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1902);
7206 RET_LABEL46
:(void)0;
7211 var49
= abstract_compiler__AbstractCompilerVisitor__expr(self
, var45
, var48
);
7215 array__Array__add(var_res
, var_e
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
7220 var50
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7222 ((void (*)(val
*))(var50
->class->vft
[COLOR_kernel__Object__init
]))(var50
) /* init on <var50:Array[RuntimeVariable]>*/;
7225 var_j
= var_vararg_rank
;
7227 { /* Inline kernel#Int#+ (var_vararg_rank,var_vararg_len) on <var_vararg_rank:Int> */
7228 /* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
7229 /* <var_vararg_len:Int> isa OTHER */
7230 var53
= 1; /* easy <var_vararg_len:Int> isa OTHER*/
7231 if (unlikely(!var53
)) {
7232 var_class_name56
= type_kernel__Int
.name
;
7233 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
7234 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7237 var57
= var_vararg_rank
+ var_vararg_len
;
7240 RET_LABEL52
:(void)0;
7246 { /* Inline kernel#Int#<= (var_j,var_58) on <var_j:Int> */
7247 /* Covariant cast for argument 0 (i) <var_58:Int> isa OTHER */
7248 /* <var_58:Int> isa OTHER */
7249 var61
= 1; /* easy <var_58:Int> isa OTHER*/
7250 if (unlikely(!var61
)) {
7251 var_class_name64
= type_kernel__Int
.name
;
7252 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64
);
7253 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
7256 var65
= var_j
<= var_58
;
7259 RET_LABEL60
:(void)0;
7264 var66
= ((val
* (*)(val
*, long))(var_args
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_j
) /* [] on <var_args:SequenceRead[AExpr]>*/;
7268 var68
= abstract_compiler__AbstractCompilerVisitor__expr(self
, var66
, var67
);
7272 array__Array__add(var_vararg
, var_e69
); /* Direct call array#Array#add on <var_vararg:Array[RuntimeVariable]>*/
7276 var71
= kernel__Int__successor(var_j
, var70
);
7283 BREAK_label72
: (void)0;
7285 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
7286 var75
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7287 if (unlikely(var75
== NULL
)) {
7288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7289 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
7293 RET_LABEL74
:(void)0;
7297 var76
= array__Array___91d_93d(var73
, var_vararg_rank
);
7300 { /* Inline model#MParameter#mtype (var76) on <var76:nullable Object(MParameter)> */
7301 var79
= var76
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var76:nullable Object(MParameter)> */
7302 if (unlikely(var79
== NULL
)) {
7303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7304 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
7308 RET_LABEL78
:(void)0;
7311 var_elttype
= var77
;
7313 var80
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, var_mpropdef
, var_recv
, var_vararg
, var_elttype
);
7317 array__Array__add(var_res
, var_arg
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
7322 { /* Inline kernel#Int#> (var_i,var_vararg_rank) on <var_i:Int> */
7323 /* Covariant cast for argument 0 (i) <var_vararg_rank:Int> isa OTHER */
7324 /* <var_vararg_rank:Int> isa OTHER */
7325 var84
= 1; /* easy <var_vararg_rank:Int> isa OTHER*/
7326 if (unlikely(!var84
)) {
7327 var_class_name87
= type_kernel__Int
.name
;
7328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
7329 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
7332 var88
= var_i
> var_vararg_rank
;
7335 RET_LABEL83
:(void)0;
7340 { /* Inline kernel#Int#+ (var_j81,var_vararg_len) on <var_j81:Int> */
7341 /* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
7342 /* <var_vararg_len:Int> isa OTHER */
7343 var91
= 1; /* easy <var_vararg_len:Int> isa OTHER*/
7344 if (unlikely(!var91
)) {
7345 var_class_name94
= type_kernel__Int
.name
;
7346 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94
);
7347 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
7350 var95
= var_j81
+ var_vararg_len
;
7353 RET_LABEL90
:(void)0;
7360 var96
= ((val
* (*)(val
*, long))(var_args
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_j81
) /* [] on <var_args:SequenceRead[AExpr]>*/;
7364 var98
= abstract_compiler__AbstractCompilerVisitor__expr(self
, var96
, var97
);
7368 array__Array__add(var_res
, var_e99
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
7371 BREAK_label
: (void)0;
7374 var101
= kernel__Int__successor(var_i
, var100
);
7378 goto BREAK_label102
;
7381 BREAK_label102
: (void)0;
7387 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
7388 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7389 val
* var
/* : Array[RuntimeVariable] */;
7390 val
* var1
/* : Array[RuntimeVariable] */;
7391 var1
= abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
);
7396 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
7397 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7398 val
* var
/* : MType */;
7399 val
* var_mtype
/* var mtype: MType */;
7400 short int var1
/* : Bool */;
7401 short int var2
/* : Bool */;
7402 val
* var3
/* : AbstractCompiler */;
7403 val
* var5
/* : AbstractCompiler */;
7404 val
* var6
/* : MModule */;
7405 val
* var8
/* : MModule */;
7406 val
* var9
/* : nullable Frame */;
7407 val
* var11
/* : nullable Frame */;
7408 val
* var12
/* : MClassType */;
7409 val
* var14
/* : MClassType */;
7410 val
* var15
/* : MType */;
7413 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7422 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7423 var5
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7424 if (unlikely(var5
== NULL
)) {
7425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7426 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7434 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
7435 var8
= var3
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
7436 if (unlikely(var8
== NULL
)) {
7437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7438 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7446 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7447 var11
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7449 RET_LABEL10
:(void)0;
7453 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7454 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1155);
7457 { /* Inline abstract_compiler#Frame#receiver (var9) on <var9:nullable Frame> */
7458 if (unlikely(var9
== NULL
)) {
7459 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7460 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
7463 var14
= var9
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <var9:nullable Frame> */
7464 if (unlikely(var14
== NULL
)) {
7465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7466 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
7470 RET_LABEL13
:(void)0;
7474 var15
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var6
, var12
) /* anchor_to on <var_mtype:MType>*/;
7481 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
7482 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7483 val
* var
/* : MType */;
7484 val
* var1
/* : MType */;
7485 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
7490 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
7491 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7492 val
* var
/* : MType */;
7493 val
* var_mtype
/* var mtype: MType */;
7494 val
* var_recv
/* var recv: RuntimeVariable */;
7495 short int var1
/* : Bool */;
7496 short int var2
/* : Bool */;
7497 val
* var3
/* : MType */;
7498 val
* var5
/* : MType */;
7499 val
* var6
/* : nullable Frame */;
7500 val
* var8
/* : nullable Frame */;
7501 val
* var9
/* : MClassType */;
7502 val
* var11
/* : MClassType */;
7503 val
* var12
/* : AbstractCompiler */;
7504 val
* var14
/* : AbstractCompiler */;
7505 val
* var15
/* : MModule */;
7506 val
* var17
/* : MModule */;
7507 short int var18
/* : Bool */;
7508 val
* var19
/* : MType */;
7512 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7521 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7522 var5
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7523 if (unlikely(var5
== NULL
)) {
7524 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7525 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
7533 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7534 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7540 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7541 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1161);
7544 { /* Inline abstract_compiler#Frame#receiver (var6) on <var6:nullable Frame> */
7545 if (unlikely(var6
== NULL
)) {
7546 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7547 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
7550 var11
= var6
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <var6:nullable Frame> */
7551 if (unlikely(var11
== NULL
)) {
7552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7553 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1685);
7557 RET_LABEL10
:(void)0;
7561 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7562 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7563 if (unlikely(var14
== NULL
)) {
7564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7565 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7569 RET_LABEL13
:(void)0;
7573 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var12) on <var12:AbstractCompiler> */
7574 var17
= var12
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var12:AbstractCompiler> */
7575 if (unlikely(var17
== NULL
)) {
7576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7577 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7581 RET_LABEL16
:(void)0;
7586 var19
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var3
, var9
, var15
, var18
) /* resolve_for on <var_mtype:MType>*/;
7593 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
7594 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7595 val
* var
/* : MType */;
7596 val
* var1
/* : MType */;
7597 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
7602 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7603 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7604 val
* var
/* : RuntimeVariable */;
7605 val
* var_value
/* var value: RuntimeVariable */;
7606 val
* var_mtype
/* var mtype: MType */;
7607 val
* var1
/* : MType */;
7608 val
* var2
/* : MType */;
7609 val
* var4
/* : MType */;
7610 val
* var_valmtype
/* var valmtype: MType */;
7611 val
* var5
/* : AbstractCompiler */;
7612 val
* var7
/* : AbstractCompiler */;
7613 val
* var8
/* : MModule */;
7614 val
* var10
/* : MModule */;
7615 val
* var11
/* : null */;
7616 short int var12
/* : Bool */;
7617 short int var13
/* : Bool */;
7618 short int var14
/* : Bool */;
7621 short int var_
/* var : Bool */;
7622 val
* var15
/* : MType */;
7623 val
* var17
/* : MType */;
7624 val
* var18
/* : AbstractCompiler */;
7625 val
* var20
/* : AbstractCompiler */;
7626 val
* var21
/* : MModule */;
7627 val
* var23
/* : MModule */;
7628 val
* var24
/* : null */;
7629 short int var25
/* : Bool */;
7630 val
* var26
/* : RuntimeVariable */;
7631 val
* var27
/* : String */;
7632 val
* var29
/* : String */;
7633 val
* var30
/* : MType */;
7634 val
* var32
/* : MType */;
7635 val
* var_res
/* var res: RuntimeVariable */;
7636 val
* var33
/* : RuntimeVariable */;
7637 val
* var34
/* : String */;
7638 val
* var36
/* : String */;
7639 val
* var_res37
/* var res: RuntimeVariable */;
7643 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
7647 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
7648 var4
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
7649 if (unlikely(var4
== NULL
)) {
7650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7651 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
7658 var_valmtype
= var2
;
7660 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7661 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7662 if (unlikely(var7
== NULL
)) {
7663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7664 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7672 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var5) on <var5:AbstractCompiler> */
7673 var10
= var5
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var5:AbstractCompiler> */
7674 if (unlikely(var10
== NULL
)) {
7675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7676 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7685 var12
= model__MType__is_subtype(var_valmtype
, var8
, var11
, var_mtype
);
7692 /* <var_valmtype:MType> isa MNullableType */
7693 cltype
= type_model__MNullableType
.color
;
7694 idtype
= type_model__MNullableType
.id
;
7695 if(cltype
>= var_valmtype
->type
->table_size
) {
7698 var14
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
7703 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7704 var17
= var_valmtype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7705 if (unlikely(var17
== NULL
)) {
7706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7707 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
7711 RET_LABEL16
:(void)0;
7715 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7716 var20
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7717 if (unlikely(var20
== NULL
)) {
7718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7719 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7723 RET_LABEL19
:(void)0;
7727 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var18) on <var18:AbstractCompiler> */
7728 var23
= var18
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var18:AbstractCompiler> */
7729 if (unlikely(var23
== NULL
)) {
7730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7731 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7735 RET_LABEL22
:(void)0;
7740 var25
= model__MType__is_subtype(var15
, var21
, var24
, var_mtype
);
7747 var26
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7749 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7750 var29
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7751 if (unlikely(var29
== NULL
)) {
7752 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7753 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
7757 RET_LABEL28
:(void)0;
7761 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7762 var32
= var_valmtype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7763 if (unlikely(var32
== NULL
)) {
7764 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7765 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1388);
7769 RET_LABEL31
:(void)0;
7773 abstract_compiler__RuntimeVariable__init(var26
, var27
, var_valmtype
, var30
); /* Direct call abstract_compiler#RuntimeVariable#init on <var26:RuntimeVariable>*/
7779 var33
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7781 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7782 var36
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7783 if (unlikely(var36
== NULL
)) {
7784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7785 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1631);
7789 RET_LABEL35
:(void)0;
7793 abstract_compiler__RuntimeVariable__init(var33
, var34
, var_valmtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var33:RuntimeVariable>*/
7802 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7803 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7804 val
* var
/* : RuntimeVariable */;
7805 val
* var1
/* : RuntimeVariable */;
7806 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
7811 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7812 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7813 val
* var
/* : nullable RuntimeVariable */;
7814 val
* var_m
/* var m: MMethod */;
7815 val
* var_t
/* var t: MType */;
7816 val
* var_args
/* var args: Array[RuntimeVariable] */;
7817 short int var1
/* : Bool */;
7820 val
* var2
/* : AbstractCompiler */;
7821 val
* var4
/* : AbstractCompiler */;
7822 val
* var5
/* : MModule */;
7823 val
* var7
/* : MModule */;
7824 val
* var8
/* : MPropDef */;
7825 val
* var_propdef
/* var propdef: MMethodDef */;
7826 val
* var9
/* : nullable RuntimeVariable */;
7830 /* <var_t:MType> isa MClassType */
7831 cltype
= type_model__MClassType
.color
;
7832 idtype
= type_model__MClassType
.id
;
7833 if(cltype
>= var_t
->type
->table_size
) {
7836 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7838 if (unlikely(!var1
)) {
7839 PRINT_ERROR("Runtime error: %s", "Assert failed");
7840 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1224);
7844 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7845 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7846 if (unlikely(var4
== NULL
)) {
7847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7848 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7856 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7857 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7858 if (unlikely(var7
== NULL
)) {
7859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7860 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7868 var8
= model__MProperty__lookup_first_definition(var_m
, var5
, var_t
);
7872 var9
= separate_compiler__SeparateCompilerVisitor__call(self
, var_propdef
, var_t
, var_args
);
7879 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7880 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7881 val
* var
/* : nullable RuntimeVariable */;
7882 val
* var1
/* : nullable RuntimeVariable */;
7883 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
7888 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7889 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7890 val
* var
/* : nullable RuntimeVariable */;
7891 val
* var_m
/* var m: MMethodDef */;
7892 val
* var_t
/* var t: MType */;
7893 val
* var_args
/* var args: Array[RuntimeVariable] */;
7894 short int var1
/* : Bool */;
7897 val
* var2
/* : AbstractCompiler */;
7898 val
* var4
/* : AbstractCompiler */;
7899 val
* var5
/* : MModule */;
7900 val
* var7
/* : MModule */;
7901 val
* var8
/* : MPropDef */;
7902 val
* var9
/* : nullable RuntimeVariable */;
7906 /* <var_t:MType> isa MClassType */
7907 cltype
= type_model__MClassType
.color
;
7908 idtype
= type_model__MClassType
.id
;
7909 if(cltype
>= var_t
->type
->table_size
) {
7912 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7914 if (unlikely(!var1
)) {
7915 PRINT_ERROR("Runtime error: %s", "Assert failed");
7916 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1232);
7920 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7921 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7922 if (unlikely(var4
== NULL
)) {
7923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7924 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
7932 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7933 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7934 if (unlikely(var7
== NULL
)) {
7935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7936 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
7944 var8
= model__MPropDef__lookup_next_definition(var_m
, var5
, var_t
);
7948 var9
= separate_compiler__SeparateCompilerVisitor__call(self
, var_m
, var_t
, var_args
);
7955 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: Object, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7956 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7957 val
* var
/* : nullable RuntimeVariable */;
7958 val
* var1
/* : nullable RuntimeVariable */;
7959 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, p0
, p1
, p2
);
7964 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
7965 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7966 val
* var_recv
/* var recv: RuntimeVariable */;
7967 val
* var
/* : AbstractCompiler */;
7968 val
* var2
/* : AbstractCompiler */;
7969 val
* var3
/* : ModelBuilder */;
7970 val
* var5
/* : ModelBuilder */;
7971 val
* var6
/* : ToolContext */;
7972 val
* var8
/* : ToolContext */;
7973 val
* var9
/* : OptionBool */;
7974 val
* var11
/* : OptionBool */;
7975 val
* var12
/* : nullable Object */;
7976 val
* var14
/* : nullable Object */;
7977 short int var15
/* : Bool */;
7978 short int var16
/* : Bool */;
7979 val
* var17
/* : MType */;
7980 val
* var19
/* : MType */;
7981 short int var20
/* : Bool */;
7984 short int var_
/* var : Bool */;
7985 val
* var21
/* : MType */;
7986 val
* var23
/* : MType */;
7987 short int var24
/* : Bool */;
7990 short int var_maybenull
/* var maybenull: Bool */;
7991 static val
* varonce
;
7992 val
* var27
/* : String */;
7993 char* var28
/* : NativeString */;
7994 long var29
/* : Int */;
7995 val
* var30
/* : FlatString */;
7996 static val
* varonce31
;
7997 val
* var32
/* : String */;
7998 char* var33
/* : NativeString */;
7999 long var34
/* : Int */;
8000 val
* var35
/* : FlatString */;
8001 val
* var36
/* : Array[Object] */;
8002 long var37
/* : Int */;
8003 val
* var38
/* : NativeArray[Object] */;
8004 val
* var39
/* : String */;
8005 static val
* varonce40
;
8006 val
* var41
/* : String */;
8007 char* var42
/* : NativeString */;
8008 long var43
/* : Int */;
8009 val
* var44
/* : FlatString */;
8010 static val
* varonce45
;
8011 val
* var46
/* : String */;
8012 char* var47
/* : NativeString */;
8013 long var48
/* : Int */;
8014 val
* var49
/* : FlatString */;
8017 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
8018 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
8019 if (unlikely(var2
== NULL
)) {
8020 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8021 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
8029 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
8030 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
8031 if (unlikely(var5
== NULL
)) {
8032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8033 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
8041 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
8042 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
8043 if (unlikely(var8
== NULL
)) {
8044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8045 PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
8053 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (var6) on <var6:ToolContext> */
8054 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <var6:ToolContext> */
8055 if (unlikely(var11
== NULL
)) {
8056 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
8057 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 57);
8061 RET_LABEL10
:(void)0;
8065 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
8066 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
8068 RET_LABEL13
:(void)0;
8071 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
8077 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
8078 var19
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
8079 if (unlikely(var19
== NULL
)) {
8080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
8081 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
8085 RET_LABEL18
:(void)0;
8088 /* <var17:MType> isa MNullableType */
8089 cltype
= type_model__MNullableType
.color
;
8090 idtype
= type_model__MNullableType
.id
;
8091 if(cltype
>= var17
->type
->table_size
) {
8094 var20
= var17
->type
->type_table
[cltype
] == idtype
;
8101 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
8102 var23
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
8103 if (unlikely(var23
== NULL
)) {
8104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
8105 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1637);
8109 RET_LABEL22
:(void)0;
8112 /* <var21:MType> isa MNullType */
8113 cltype25
= type_model__MNullType
.color
;
8114 idtype26
= type_model__MNullType
.id
;
8115 if(cltype25
>= var21
->type
->table_size
) {
8118 var24
= var21
->type
->type_table
[cltype25
] == idtype26
;
8122 var_maybenull
= var16
;
8127 var28
= "if (unlikely(";
8129 var30
= string__NativeString__to_s_with_length(var28
, var29
);
8136 var33
= " == NULL)) {";
8138 var35
= string__NativeString__to_s_with_length(var33
, var34
);
8142 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
8143 { /* var36 = array_instance Array[Object] */
8145 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
8146 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var27
;
8147 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var_recv
;
8148 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
8150 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
8154 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
8157 abstract_compiler__AbstractCompilerVisitor__add(self
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8162 var42
= "Receiver is null";
8164 var44
= string__NativeString__to_s_with_length(var42
, var43
);
8169 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:AbstractCompilerVisitor>*/
8176 var49
= string__NativeString__to_s_with_length(var47
, var48
);
8181 abstract_compiler__AbstractCompilerVisitor__add(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8187 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
8188 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
8189 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:Object(AbstractCompilerVisitor)>*/
8192 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
8193 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
8194 val
* var
/* : HashSet[String] */;
8195 val
* var1
/* : HashSet[String] */;
8196 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
8197 if (unlikely(var1
== NULL
)) {
8198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8199 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8206 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
8207 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
8208 val
* var
/* : HashSet[String] */;
8209 val
* var1
/* : HashSet[String] */;
8210 val
* var3
/* : HashSet[String] */;
8211 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:Object(AbstractCompilerVisitor)> */
8212 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:Object(AbstractCompilerVisitor)> */
8213 if (unlikely(var3
== NULL
)) {
8214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8215 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8225 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
8226 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
8227 long var
/* : Int */;
8228 long var1
/* : Int */;
8229 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
8234 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
8235 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
8236 long var
/* : Int */;
8237 long var1
/* : Int */;
8238 long var3
/* : Int */;
8239 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:Object(AbstractCompilerVisitor)> */
8240 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:Object(AbstractCompilerVisitor)> */
8248 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
8249 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
8250 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:AbstractCompilerVisitor> */
8253 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
8254 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
8255 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
8256 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:Object(AbstractCompilerVisitor)> */
8261 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
8262 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
8263 val
* var
/* : String */;
8264 val
* var_s
/* var s: String */;
8265 val
* var1
/* : HashSet[String] */;
8266 val
* var3
/* : HashSet[String] */;
8267 short int var4
/* : Bool */;
8268 short int var5
/* : Bool */;
8269 val
* var6
/* : HashSet[String] */;
8270 val
* var8
/* : HashSet[String] */;
8271 long var9
/* : Int */;
8272 long var11
/* : Int */;
8273 long var12
/* : Int */;
8274 long var13
/* : Int */;
8275 short int var15
/* : Bool */;
8278 const char* var_class_name
;
8279 long var16
/* : Int */;
8280 long var_i
/* var i: Int */;
8281 val
* var17
/* : String */;
8282 val
* var18
/* : String */;
8283 val
* var_s2
/* var s2: String */;
8284 val
* var19
/* : HashSet[String] */;
8285 val
* var21
/* : HashSet[String] */;
8286 short int var22
/* : Bool */;
8287 short int var23
/* : Bool */;
8288 val
* var25
/* : HashSet[String] */;
8289 val
* var27
/* : HashSet[String] */;
8290 long var28
/* : Int */;
8291 long var29
/* : Int */;
8292 short int var31
/* : Bool */;
8295 const char* var_class_name34
;
8296 long var35
/* : Int */;
8299 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
8300 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
8301 if (unlikely(var3
== NULL
)) {
8302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8303 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8311 var4
= hash_collection__HashSet__has(var1
, var_s
);
8316 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
8317 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
8318 if (unlikely(var8
== NULL
)) {
8319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8320 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8328 hash_collection__HashSet__add(var6
, var_s
); /* Direct call hash_collection#HashSet#add on <var6:HashSet[String]>*/
8335 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:AbstractCompilerVisitor> */
8336 var11
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
8338 RET_LABEL10
:(void)0;
8343 { /* Inline kernel#Int#+ (var9,var12) on <var9:Int> */
8344 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
8345 /* <var12:Int> isa OTHER */
8346 var15
= 1; /* easy <var12:Int> isa OTHER*/
8347 if (unlikely(!var15
)) {
8348 var_class_name
= type_kernel__Int
.name
;
8349 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8350 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8353 var16
= var9
+ var12
;
8356 RET_LABEL14
:(void)0;
8362 var17
= string__Int__to_s(var_i
);
8365 var18
= string__FlatString___43d(var_s
, var17
);
8369 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
8370 var21
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
8371 if (unlikely(var21
== NULL
)) {
8372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8373 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8377 RET_LABEL20
:(void)0;
8381 var22
= hash_collection__HashSet__has(var19
, var_s2
);
8386 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,var_i) on <self:AbstractCompilerVisitor> */
8387 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= var_i
; /* _last on <self:AbstractCompilerVisitor> */
8388 RET_LABEL24
:(void)0;
8392 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
8393 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
8394 if (unlikely(var27
== NULL
)) {
8395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8396 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1265);
8400 RET_LABEL26
:(void)0;
8404 hash_collection__HashSet__add(var25
, var_s2
); /* Direct call hash_collection#HashSet#add on <var25:HashSet[String]>*/
8412 { /* Inline kernel#Int#+ (var_i,var28) on <var_i:Int> */
8413 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
8414 /* <var28:Int> isa OTHER */
8415 var31
= 1; /* easy <var28:Int> isa OTHER*/
8416 if (unlikely(!var31
)) {
8417 var_class_name34
= type_kernel__Int
.name
;
8418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
8419 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
8422 var35
= var_i
+ var28
;
8425 RET_LABEL30
:(void)0;
8433 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
8434 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
8435 val
* var
/* : String */;
8436 val
* var1
/* : String */;
8437 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
8442 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
8443 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
8444 val
* var
/* : String */;
8445 val
* var_e
/* var e: nullable EscapeMark */;
8446 val
* var1
/* : null */;
8447 short int var2
/* : Bool */;
8448 short int var3
/* : Bool */;
8449 val
* var_other
/* var other: nullable Object */;
8450 short int var5
/* : Bool */;
8451 short int var6
/* : Bool */;
8452 short int var7
/* : Bool */;
8453 val
* var8
/* : HashMap[EscapeMark, String] */;
8454 val
* var10
/* : HashMap[EscapeMark, String] */;
8455 short int var11
/* : Bool */;
8456 val
* var12
/* : HashMap[EscapeMark, String] */;
8457 val
* var14
/* : HashMap[EscapeMark, String] */;
8458 val
* var15
/* : nullable Object */;
8459 val
* var16
/* : nullable String */;
8460 val
* var18
/* : nullable String */;
8461 val
* var_name
/* var name: nullable String */;
8462 val
* var19
/* : null */;
8463 short int var20
/* : Bool */;
8464 short int var21
/* : Bool */;
8465 static val
* varonce
;
8466 val
* var22
/* : String */;
8467 char* var23
/* : NativeString */;
8468 long var24
/* : Int */;
8469 val
* var25
/* : FlatString */;
8470 val
* var26
/* : String */;
8471 val
* var27
/* : HashMap[EscapeMark, String] */;
8472 val
* var29
/* : HashMap[EscapeMark, String] */;
8475 if (var_e
== NULL
) {
8476 var2
= 0; /* is null */
8478 var2
= 1; /* arg is null and recv is not */
8481 { /* Inline kernel#Object#!= (var_e,var1) on <var_e:nullable EscapeMark> */
8484 var6
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_e
, var_other
) /* == on <var_e:nullable EscapeMark(EscapeMark)>*/;
8494 if (unlikely(!var2
)) {
8495 PRINT_ERROR("Runtime error: %s", "Assert failed");
8496 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1290);
8500 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8501 var10
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8502 if (unlikely(var10
== NULL
)) {
8503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8504 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1307);
8512 var11
= abstract_collection__MapRead__has_key(var8
, var_e
);
8516 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8517 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8518 if (unlikely(var14
== NULL
)) {
8519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8520 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1307);
8524 RET_LABEL13
:(void)0;
8528 var15
= hash_collection__HashMap___91d_93d(var12
, var_e
);
8535 { /* Inline scope#EscapeMark#name (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
8536 var18
= var_e
->attrs
[COLOR_scope__EscapeMark___name
].val
; /* _name on <var_e:nullable EscapeMark(EscapeMark)> */
8538 RET_LABEL17
:(void)0;
8543 if (var_name
== NULL
) {
8544 var20
= 1; /* is null */
8546 var20
= 0; /* arg is null but recv is not */
8549 var21
= string__FlatString___61d_61d(var_name
, var19
);
8558 var25
= string__NativeString__to_s_with_length(var23
, var24
);
8566 var26
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var_name
);
8570 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8571 var29
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8572 if (unlikely(var29
== NULL
)) {
8573 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8574 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1307);
8578 RET_LABEL28
:(void)0;
8582 hash_collection__HashMap___91d_93d_61d(var27
, var_e
, var_name
); /* Direct call hash_collection#HashMap#[]= on <var27:HashMap[EscapeMark, String]>*/
8589 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
8590 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
8591 val
* var
/* : String */;
8592 val
* var1
/* : String */;
8593 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
8598 /* method abstract_compiler#AbstractCompilerVisitor#add_escape_label for (self: AbstractCompilerVisitor, nullable EscapeMark) */
8599 void abstract_compiler__AbstractCompilerVisitor__add_escape_label(val
* self
, val
* p0
) {
8600 val
* var_e
/* var e: nullable EscapeMark */;
8601 val
* var
/* : null */;
8602 short int var1
/* : Bool */;
8603 short int var2
/* : Bool */;
8604 val
* var_other
/* var other: nullable Object */;
8605 short int var4
/* : Bool */;
8606 short int var6
/* : Bool */;
8607 val
* var7
/* : Array[AEscapeExpr] */;
8608 val
* var9
/* : Array[AEscapeExpr] */;
8609 short int var10
/* : Bool */;
8610 static val
* varonce
;
8611 val
* var11
/* : String */;
8612 char* var12
/* : NativeString */;
8613 long var13
/* : Int */;
8614 val
* var14
/* : FlatString */;
8615 val
* var15
/* : String */;
8616 static val
* varonce16
;
8617 val
* var17
/* : String */;
8618 char* var18
/* : NativeString */;
8619 long var19
/* : Int */;
8620 val
* var20
/* : FlatString */;
8621 val
* var21
/* : Array[Object] */;
8622 long var22
/* : Int */;
8623 val
* var23
/* : NativeArray[Object] */;
8624 val
* var24
/* : String */;
8627 if (var_e
== NULL
) {
8628 var1
= 1; /* is null */
8630 var1
= 0; /* arg is null but recv is not */
8633 { /* Inline kernel#Object#== (var_e,var) on <var_e:nullable EscapeMark> */
8636 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable EscapeMark(EscapeMark)> */
8637 var6
= var_e
== var_other
;
8654 { /* Inline scope#EscapeMark#escapes (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
8655 var9
= var_e
->attrs
[COLOR_scope__EscapeMark___escapes
].val
; /* _escapes on <var_e:nullable EscapeMark(EscapeMark)> */
8656 if (unlikely(var9
== NULL
)) {
8657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
8658 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 57);
8666 var10
= array__AbstractArrayRead__is_empty(var7
);
8677 var14
= string__NativeString__to_s_with_length(var12
, var13
);
8682 var15
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, var_e
);
8687 var18
= ": (void)0;";
8689 var20
= string__NativeString__to_s_with_length(var18
, var19
);
8693 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
8694 { /* var21 = array_instance Array[Object] */
8696 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
8697 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var11
;
8698 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var15
;
8699 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
8701 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
8705 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
8708 abstract_compiler__AbstractCompilerVisitor__add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8712 /* method abstract_compiler#AbstractCompilerVisitor#add_escape_label for (self: Object, nullable EscapeMark) */
8713 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_escape_label(val
* self
, val
* p0
) {
8714 abstract_compiler__AbstractCompilerVisitor__add_escape_label(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_escape_label on <self:Object(AbstractCompilerVisitor)>*/
8717 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
8718 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8719 val
* var
/* : HashMap[EscapeMark, String] */;
8720 val
* var1
/* : HashMap[EscapeMark, String] */;
8721 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8722 if (unlikely(var1
== NULL
)) {
8723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8724 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1307);
8731 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
8732 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8733 val
* var
/* : HashMap[EscapeMark, String] */;
8734 val
* var1
/* : HashMap[EscapeMark, String] */;
8735 val
* var3
/* : HashMap[EscapeMark, String] */;
8736 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:Object(AbstractCompilerVisitor)> */
8737 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:Object(AbstractCompilerVisitor)> */
8738 if (unlikely(var3
== NULL
)) {
8739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8740 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1307);
8750 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
8751 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8752 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8753 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8754 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8755 if (unlikely(var1
== NULL
)) {
8756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8757 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1315);
8764 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
8765 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8766 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8767 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8768 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8769 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:Object(AbstractCompilerVisitor)> */
8770 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:Object(AbstractCompilerVisitor)> */
8771 if (unlikely(var3
== NULL
)) {
8772 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8773 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1315);
8783 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
8784 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8785 val
* var
/* : RuntimeVariable */;
8786 val
* var_variable
/* var variable: Variable */;
8787 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8788 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8789 short int var4
/* : Bool */;
8790 val
* var5
/* : HashMap[Variable, RuntimeVariable] */;
8791 val
* var7
/* : HashMap[Variable, RuntimeVariable] */;
8792 val
* var8
/* : nullable Object */;
8793 static val
* varonce
;
8794 val
* var9
/* : String */;
8795 char* var10
/* : NativeString */;
8796 long var11
/* : Int */;
8797 val
* var12
/* : FlatString */;
8798 val
* var13
/* : String */;
8799 val
* var15
/* : String */;
8800 val
* var16
/* : Array[Object] */;
8801 long var17
/* : Int */;
8802 val
* var18
/* : NativeArray[Object] */;
8803 val
* var19
/* : String */;
8804 val
* var20
/* : String */;
8805 val
* var_name
/* var name: String */;
8806 val
* var21
/* : nullable MType */;
8807 val
* var23
/* : nullable MType */;
8808 val
* var_mtype
/* var mtype: MType */;
8809 val
* var24
/* : MType */;
8810 val
* var25
/* : RuntimeVariable */;
8811 val
* var_res
/* var res: RuntimeVariable */;
8812 val
* var26
/* : String */;
8813 static val
* varonce27
;
8814 val
* var28
/* : String */;
8815 char* var29
/* : NativeString */;
8816 long var30
/* : Int */;
8817 val
* var31
/* : FlatString */;
8818 static val
* varonce32
;
8819 val
* var33
/* : String */;
8820 char* var34
/* : NativeString */;
8821 long var35
/* : Int */;
8822 val
* var36
/* : FlatString */;
8823 static val
* varonce37
;
8824 val
* var38
/* : String */;
8825 char* var39
/* : NativeString */;
8826 long var40
/* : Int */;
8827 val
* var41
/* : FlatString */;
8828 static val
* varonce42
;
8829 val
* var43
/* : String */;
8830 char* var44
/* : NativeString */;
8831 long var45
/* : Int */;
8832 val
* var46
/* : FlatString */;
8833 val
* var47
/* : Array[Object] */;
8834 long var48
/* : Int */;
8835 val
* var49
/* : NativeArray[Object] */;
8836 val
* var50
/* : String */;
8837 val
* var51
/* : HashMap[Variable, RuntimeVariable] */;
8838 val
* var53
/* : HashMap[Variable, RuntimeVariable] */;
8841 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8842 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8843 if (unlikely(var3
== NULL
)) {
8844 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8845 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1315);
8853 var4
= abstract_collection__MapRead__has_key(var1
, var_variable
);
8857 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8858 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8859 if (unlikely(var7
== NULL
)) {
8860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8861 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1315);
8869 var8
= hash_collection__HashMap___91d_93d(var5
, var_variable
);
8879 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8884 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
8885 var15
= var_variable
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
8886 if (unlikely(var15
== NULL
)) {
8887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8888 PRINT_ERROR(" (%s:%d)\n", "semantize/scope.nit", 34);
8892 RET_LABEL14
:(void)0;
8895 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
8896 { /* var16 = array_instance Array[Object] */
8898 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
8899 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var9
;
8900 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var13
;
8902 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
8906 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
8909 var20
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var19
);
8913 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
8914 var23
= var_variable
->attrs
[COLOR_typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8916 RET_LABEL22
:(void)0;
8919 if (unlikely(var21
== NULL
)) {
8920 PRINT_ERROR("Runtime error: %s", "Cast failed");
8921 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1324);
8926 var24
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
8929 var25
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8931 abstract_compiler__RuntimeVariable__init(var25
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var25:RuntimeVariable>*/
8935 var26
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8942 var31
= string__NativeString__to_s_with_length(var29
, var30
);
8951 var36
= string__NativeString__to_s_with_length(var34
, var35
);
8960 var41
= string__NativeString__to_s_with_length(var39
, var40
);
8969 var46
= string__NativeString__to_s_with_length(var44
, var45
);
8973 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
8974 { /* var47 = array_instance Array[Object] */
8976 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
8977 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var26
;
8978 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var28
;
8979 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var_name
;
8980 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var33
;
8981 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var_variable
;
8982 ((struct instance_array__NativeArray
*)var49
)->values
[5] = (val
*) var38
;
8983 ((struct instance_array__NativeArray
*)var49
)->values
[6] = (val
*) var_mtype
;
8984 ((struct instance_array__NativeArray
*)var49
)->values
[7] = (val
*) var43
;
8986 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
8990 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
8993 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8996 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8997 var53
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8998 if (unlikely(var53
== NULL
)) {
8999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
9000 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1315);
9004 RET_LABEL52
:(void)0;
9008 hash_collection__HashMap___91d_93d_61d(var51
, var_variable
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[Variable, RuntimeVariable]>*/
9016 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
9017 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
9018 val
* var
/* : RuntimeVariable */;
9019 val
* var1
/* : RuntimeVariable */;
9020 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
9025 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
9026 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
9027 val
* var
/* : RuntimeVariable */;
9028 val
* var_mtype
/* var mtype: MType */;
9029 val
* var1
/* : MType */;
9030 static val
* varonce
;
9031 val
* var2
/* : String */;
9032 char* var3
/* : NativeString */;
9033 long var4
/* : Int */;
9034 val
* var5
/* : FlatString */;
9035 val
* var6
/* : String */;
9036 val
* var_name
/* var name: String */;
9037 val
* var7
/* : RuntimeVariable */;
9038 val
* var_res
/* var res: RuntimeVariable */;
9039 val
* var8
/* : String */;
9040 static val
* varonce9
;
9041 val
* var10
/* : String */;
9042 char* var11
/* : NativeString */;
9043 long var12
/* : Int */;
9044 val
* var13
/* : FlatString */;
9045 static val
* varonce14
;
9046 val
* var15
/* : String */;
9047 char* var16
/* : NativeString */;
9048 long var17
/* : Int */;
9049 val
* var18
/* : FlatString */;
9050 static val
* varonce19
;
9051 val
* var20
/* : String */;
9052 char* var21
/* : NativeString */;
9053 long var22
/* : Int */;
9054 val
* var23
/* : FlatString */;
9055 val
* var24
/* : Array[Object] */;
9056 long var25
/* : Int */;
9057 val
* var26
/* : NativeArray[Object] */;
9058 val
* var27
/* : String */;
9061 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
9069 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9074 var6
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var2
);
9077 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9079 abstract_compiler__RuntimeVariable__init(var7
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var7:RuntimeVariable>*/
9083 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9090 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9099 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9108 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9112 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
9113 { /* var24 = array_instance Array[Object] */
9115 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
9116 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
9117 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
9118 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
9119 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
9120 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
9121 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
9123 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
9127 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
9130 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
9137 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
9138 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
9139 val
* var
/* : RuntimeVariable */;
9140 val
* var1
/* : RuntimeVariable */;
9141 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
9146 /* method abstract_compiler#AbstractCompilerVisitor#new_var_extern for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
9147 val
* abstract_compiler__AbstractCompilerVisitor__new_var_extern(val
* self
, val
* p0
) {
9148 val
* var
/* : RuntimeVariable */;
9149 val
* var_mtype
/* var mtype: MType */;
9150 val
* var1
/* : MType */;
9151 static val
* varonce
;
9152 val
* var2
/* : String */;
9153 char* var3
/* : NativeString */;
9154 long var4
/* : Int */;
9155 val
* var5
/* : FlatString */;
9156 val
* var6
/* : String */;
9157 val
* var_name
/* var name: String */;
9158 val
* var7
/* : RuntimeVariable */;
9159 val
* var_res
/* var res: RuntimeVariable */;
9160 val
* var8
/* : String */;
9161 static val
* varonce9
;
9162 val
* var10
/* : String */;
9163 char* var11
/* : NativeString */;
9164 long var12
/* : Int */;
9165 val
* var13
/* : FlatString */;
9166 static val
* varonce14
;
9167 val
* var15
/* : String */;
9168 char* var16
/* : NativeString */;
9169 long var17
/* : Int */;
9170 val
* var18
/* : FlatString */;
9171 static val
* varonce19
;
9172 val
* var20
/* : String */;
9173 char* var21
/* : NativeString */;
9174 long var22
/* : Int */;
9175 val
* var23
/* : FlatString */;
9176 val
* var24
/* : Array[Object] */;
9177 long var25
/* : Int */;
9178 val
* var26
/* : NativeArray[Object] */;
9179 val
* var27
/* : String */;
9182 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
9190 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9195 var6
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var2
);
9198 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9200 abstract_compiler__RuntimeVariable__init(var7
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var7:RuntimeVariable>*/
9204 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype_extern
]))(var_mtype
) /* ctype_extern on <var_mtype:MType>*/;
9211 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9220 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9227 var21
= " for extern */;";
9229 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9233 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
9234 { /* var24 = array_instance Array[Object] */
9236 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
9237 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
9238 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
9239 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
9240 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
9241 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
9242 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
9244 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
9248 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
9251 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
9258 /* method abstract_compiler#AbstractCompilerVisitor#new_var_extern for (self: Object, MType): RuntimeVariable */
9259 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var_extern(val
* self
, val
* p0
) {
9260 val
* var
/* : RuntimeVariable */;
9261 val
* var1
/* : RuntimeVariable */;
9262 var1
= abstract_compiler__AbstractCompilerVisitor__new_var_extern(self
, p0
);
9267 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
9268 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
9269 val
* var
/* : RuntimeVariable */;
9270 val
* var_mtype
/* var mtype: MType */;
9271 val
* var_name
/* var name: String */;
9272 val
* var1
/* : MType */;
9273 val
* var2
/* : RuntimeVariable */;
9274 val
* var_res
/* var res: RuntimeVariable */;
9275 val
* var3
/* : String */;
9276 static val
* varonce
;
9277 val
* var4
/* : String */;
9278 char* var5
/* : NativeString */;
9279 long var6
/* : Int */;
9280 val
* var7
/* : FlatString */;
9281 static val
* varonce8
;
9282 val
* var9
/* : String */;
9283 char* var10
/* : NativeString */;
9284 long var11
/* : Int */;
9285 val
* var12
/* : FlatString */;
9286 static val
* varonce13
;
9287 val
* var14
/* : String */;
9288 char* var15
/* : NativeString */;
9289 long var16
/* : Int */;
9290 val
* var17
/* : FlatString */;
9291 val
* var18
/* : Array[Object] */;
9292 long var19
/* : Int */;
9293 val
* var20
/* : NativeArray[Object] */;
9294 val
* var21
/* : String */;
9298 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
9301 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9303 abstract_compiler__RuntimeVariable__init(var2
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var2:RuntimeVariable>*/
9307 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9314 var7
= string__NativeString__to_s_with_length(var5
, var6
);
9323 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9332 var17
= string__NativeString__to_s_with_length(var15
, var16
);
9336 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
9337 { /* var18 = array_instance Array[Object] */
9339 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
9340 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
9341 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
9342 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
9343 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
9344 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
9345 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
9347 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
9351 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
9354 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
9361 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
9362 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
9363 val
* var
/* : RuntimeVariable */;
9364 val
* var1
/* : RuntimeVariable */;
9365 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
9370 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
9371 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
9372 val
* var_left
/* var left: RuntimeVariable */;
9373 val
* var_right
/* var right: RuntimeVariable */;
9374 val
* var
/* : MType */;
9375 val
* var2
/* : MType */;
9376 val
* var3
/* : RuntimeVariable */;
9377 static val
* varonce
;
9378 val
* var4
/* : String */;
9379 char* var5
/* : NativeString */;
9380 long var6
/* : Int */;
9381 val
* var7
/* : FlatString */;
9382 static val
* varonce8
;
9383 val
* var9
/* : String */;
9384 char* var10
/* : NativeString */;
9385 long var11
/* : Int */;
9386 val
* var12
/* : FlatString */;
9387 val
* var13
/* : Array[Object] */;
9388 long var14
/* : Int */;
9389 val
* var15
/* : NativeArray[Object] */;
9390 val
* var16
/* : String */;
9394 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_left) on <var_left:RuntimeVariable> */
9395 var2
= var_left
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_left:RuntimeVariable> */
9396 if (unlikely(var2
== NULL
)) {
9397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9398 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9406 var3
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_right
, var
);
9414 var7
= string__NativeString__to_s_with_length(var5
, var6
);
9423 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9427 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
9428 { /* var13 = array_instance Array[Object] */
9430 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
9431 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var_left
;
9432 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var4
;
9433 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var_right
;
9434 ((struct instance_array__NativeArray
*)var15
)->values
[3] = (val
*) var9
;
9436 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
9440 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
9443 abstract_compiler__AbstractCompilerVisitor__add(self
, var16
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9447 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
9448 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
9449 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:Object(AbstractCompilerVisitor)>*/
9452 /* method abstract_compiler#AbstractCompilerVisitor#set_finalizer for (self: AbstractCompilerVisitor, RuntimeVariable) */
9453 void abstract_compiler__AbstractCompilerVisitor__set_finalizer(val
* self
, val
* p0
) {
9454 val
* var_recv
/* var recv: RuntimeVariable */;
9455 val
* var
/* : MType */;
9456 val
* var2
/* : MType */;
9457 val
* var_mtype
/* var mtype: MType */;
9458 val
* var3
/* : AbstractCompiler */;
9459 val
* var5
/* : AbstractCompiler */;
9460 val
* var6
/* : MModule */;
9461 val
* var8
/* : MModule */;
9462 val
* var9
/* : nullable MClassType */;
9463 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
9464 short int var10
/* : Bool */;
9465 short int var11
/* : Bool */;
9466 val
* var12
/* : null */;
9467 short int var13
/* : Bool */;
9468 short int var14
/* : Bool */;
9469 val
* var_other
/* var other: nullable Object */;
9470 short int var16
/* : Bool */;
9471 short int var17
/* : Bool */;
9472 short int var18
/* : Bool */;
9473 short int var_
/* var : Bool */;
9474 short int var19
/* : Bool */;
9475 short int var20
/* : Bool */;
9476 short int var_21
/* var : Bool */;
9477 val
* var22
/* : AbstractCompiler */;
9478 val
* var24
/* : AbstractCompiler */;
9479 val
* var25
/* : MModule */;
9480 val
* var27
/* : MModule */;
9481 val
* var28
/* : null */;
9482 short int var29
/* : Bool */;
9483 static val
* varonce
;
9484 val
* var30
/* : String */;
9485 char* var31
/* : NativeString */;
9486 long var32
/* : Int */;
9487 val
* var33
/* : FlatString */;
9488 static val
* varonce34
;
9489 val
* var35
/* : String */;
9490 char* var36
/* : NativeString */;
9491 long var37
/* : Int */;
9492 val
* var38
/* : FlatString */;
9493 val
* var39
/* : Array[Object] */;
9494 long var40
/* : Int */;
9495 val
* var41
/* : NativeArray[Object] */;
9496 val
* var42
/* : String */;
9499 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
9500 var2
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
9501 if (unlikely(var2
== NULL
)) {
9502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9503 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1634);
9512 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9513 var5
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9514 if (unlikely(var5
== NULL
)) {
9515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9516 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9524 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
9525 var8
= var3
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
9526 if (unlikely(var8
== NULL
)) {
9527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9528 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
9536 var9
= model__MModule__finalizable_type(var6
);
9538 var_finalizable_type
= var9
;
9540 if (var_finalizable_type
== NULL
) {
9541 var13
= 0; /* is null */
9543 var13
= 1; /* arg is null and recv is not */
9546 { /* Inline kernel#Object#!= (var_finalizable_type,var12) on <var_finalizable_type:nullable MClassType> */
9549 var17
= ((short int (*)(val
*, val
*))(var_finalizable_type
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_finalizable_type
, var_other
) /* == on <var_finalizable_type:nullable MClassType(MClassType)>*/;
9555 RET_LABEL15
:(void)0;
9562 var19
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
9572 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9573 var24
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9574 if (unlikely(var24
== NULL
)) {
9575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9576 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
9580 RET_LABEL23
:(void)0;
9584 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var22) on <var22:AbstractCompiler> */
9585 var27
= var22
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var22:AbstractCompiler> */
9586 if (unlikely(var27
== NULL
)) {
9587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9588 PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
9592 RET_LABEL26
:(void)0;
9597 var29
= model__MType__is_subtype(var_mtype
, var25
, var28
, var_finalizable_type
);
9607 var31
= "gc_register_finalizer(";
9609 var33
= string__NativeString__to_s_with_length(var31
, var32
);
9618 var38
= string__NativeString__to_s_with_length(var36
, var37
);
9622 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
9623 { /* var39 = array_instance Array[Object] */
9625 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
9626 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var30
;
9627 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var_recv
;
9628 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var35
;
9630 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
9634 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
9637 abstract_compiler__AbstractCompilerVisitor__add(self
, var42
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9643 /* method abstract_compiler#AbstractCompilerVisitor#set_finalizer for (self: Object, RuntimeVariable) */
9644 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__set_finalizer(val
* self
, val
* p0
) {
9645 abstract_compiler__AbstractCompilerVisitor__set_finalizer(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#set_finalizer on <self:Object(AbstractCompilerVisitor)>*/
9648 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
9649 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
9650 val
* var
/* : RuntimeVariable */;
9651 long var_value
/* var value: Int */;
9652 static val
* varonce
;
9653 val
* var1
/* : String */;
9654 char* var2
/* : NativeString */;
9655 long var3
/* : Int */;
9656 val
* var4
/* : FlatString */;
9657 val
* var5
/* : MClass */;
9658 val
* var6
/* : MClassType */;
9659 val
* var8
/* : MClassType */;
9660 val
* var9
/* : RuntimeVariable */;
9661 val
* var_res
/* var res: RuntimeVariable */;
9662 static val
* varonce10
;
9663 val
* var11
/* : String */;
9664 char* var12
/* : NativeString */;
9665 long var13
/* : Int */;
9666 val
* var14
/* : FlatString */;
9667 static val
* varonce15
;
9668 val
* var16
/* : String */;
9669 char* var17
/* : NativeString */;
9670 long var18
/* : Int */;
9671 val
* var19
/* : FlatString */;
9672 val
* var20
/* : Array[Object] */;
9673 long var21
/* : Int */;
9674 val
* var22
/* : NativeArray[Object] */;
9675 val
* var23
/* : Object */;
9676 val
* var24
/* : String */;
9683 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9688 var5
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var1
);
9691 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9692 var8
= var5
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9693 if (unlikely(var8
== NULL
)) {
9694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9695 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
9703 var9
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var6
);
9711 var14
= string__NativeString__to_s_with_length(var12
, var13
);
9720 var19
= string__NativeString__to_s_with_length(var17
, var18
);
9724 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
9725 { /* var20 = array_instance Array[Object] */
9727 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
9728 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) var_res
;
9729 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var11
;
9730 var23
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
9731 ((struct instance_array__NativeArray
*)var22
)->values
[2] = (val
*) var23
;
9732 ((struct instance_array__NativeArray
*)var22
)->values
[3] = (val
*) var16
;
9734 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
9738 var24
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
9741 abstract_compiler__AbstractCompilerVisitor__add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9748 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
9749 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
9750 val
* var
/* : RuntimeVariable */;
9751 val
* var1
/* : RuntimeVariable */;
9752 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);
9757 /* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: AbstractCompilerVisitor, Bool): RuntimeVariable */
9758 val
* abstract_compiler__AbstractCompilerVisitor__bool_instance(val
* self
, short int p0
) {
9759 val
* var
/* : RuntimeVariable */;
9760 short int var_value
/* var value: Bool */;
9761 static val
* varonce
;
9762 val
* var1
/* : String */;
9763 char* var2
/* : NativeString */;
9764 long var3
/* : Int */;
9765 val
* var4
/* : FlatString */;
9766 val
* var5
/* : MClass */;
9767 val
* var6
/* : MClassType */;
9768 val
* var8
/* : MClassType */;
9769 val
* var9
/* : RuntimeVariable */;
9770 val
* var_res
/* var res: RuntimeVariable */;
9771 static val
* varonce10
;
9772 val
* var11
/* : String */;
9773 char* var12
/* : NativeString */;
9774 long var13
/* : Int */;
9775 val
* var14
/* : FlatString */;
9776 val
* var15
/* : Array[Object] */;
9777 long var16
/* : Int */;
9778 val
* var17
/* : NativeArray[Object] */;
9779 val
* var18
/* : String */;
9780 static val
* varonce19
;
9781 val
* var20
/* : String */;
9782 char* var21
/* : NativeString */;
9783 long var22
/* : Int */;
9784 val
* var23
/* : FlatString */;
9785 val
* var24
/* : Array[Object] */;
9786 long var25
/* : Int */;
9787 val
* var26
/* : NativeArray[Object] */;
9788 val
* var27
/* : String */;
9795 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9800 var5
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var1
);
9803 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9804 var8
= var5
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9805 if (unlikely(var8
== NULL
)) {
9806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9807 PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 435);
9815 var9
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var6
);
9824 var14
= string__NativeString__to_s_with_length(var12
, var13
);
9828 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
9829 { /* var15 = array_instance Array[Object] */
9831 var17
= NEW_array__NativeArray(var16
, &type_array__NativeArraykernel__Object
);
9832 ((struct instance_array__NativeArray
*)var17
)->values
[0] = (val
*) var_res
;
9833 ((struct instance_array__NativeArray
*)var17
)->values
[1] = (val
*) var11
;
9835 ((void (*)(val
*, val
*, long))(var15
->class->vft
[COLOR_array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
9839 var18
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
9842 abstract_compiler__AbstractCompilerVisitor__add(self
, var18
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9850 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9854 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
9855 { /* var24 = array_instance Array[Object] */
9857 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
9858 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var_res
;
9859 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var20
;
9861 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
9865 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
9868 abstract_compiler__AbstractCompilerVisitor__add(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9876 /* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: Object, Bool): RuntimeVariable */
9877 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_instance(val
* self
, short int p0
) {
9878 val
* var
/* : RuntimeVariable */;
9879 val
* var1
/* : RuntimeVariable */;
9880 var1
= abstract_compiler__AbstractCompilerVisitor__bool_instance(self
, p0
);