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
* var122
/* : ArrayIterator[nullable Object] */;
119 short int var123
/* : Bool */;
120 val
* var124
/* : nullable Object */;
121 val
* var_tag
/* var tag: String */;
122 static val
* varonce125
;
123 val
* var126
/* : String */;
124 char* var127
/* : NativeString */;
125 long var128
/* : Int */;
126 val
* var129
/* : FlatString */;
127 static val
* varonce130
;
128 val
* var131
/* : String */;
129 char* var132
/* : NativeString */;
130 long var133
/* : Int */;
131 val
* var134
/* : FlatString */;
132 val
* var135
/* : Array[Object] */;
133 long var136
/* : Int */;
134 val
* var137
/* : NativeArray[Object] */;
135 val
* var138
/* : String */;
136 static val
* varonce139
;
137 val
* var140
/* : String */;
138 char* var141
/* : NativeString */;
139 long var142
/* : Int */;
140 val
* var143
/* : FlatString */;
141 static val
* varonce144
;
142 val
* var145
/* : String */;
143 char* var146
/* : NativeString */;
144 long var147
/* : Int */;
145 val
* var148
/* : FlatString */;
146 val
* var149
/* : Array[Object] */;
147 long var150
/* : Int */;
148 val
* var151
/* : NativeArray[Object] */;
149 val
* var152
/* : String */;
150 static val
* varonce153
;
151 val
* var154
/* : String */;
152 char* var155
/* : NativeString */;
153 long var156
/* : Int */;
154 val
* var157
/* : FlatString */;
155 static val
* varonce158
;
156 val
* var159
/* : String */;
157 char* var160
/* : NativeString */;
158 long var161
/* : Int */;
159 val
* var162
/* : FlatString */;
160 val
* var163
/* : Array[Object] */;
161 long var164
/* : Int */;
162 val
* var165
/* : NativeArray[Object] */;
163 val
* var166
/* : String */;
164 val
* var167
/* : AbstractCompiler */;
165 val
* var169
/* : AbstractCompiler */;
166 val
* var170
/* : CodeWriter */;
167 val
* var172
/* : CodeWriter */;
168 static val
* varonce173
;
169 val
* var174
/* : String */;
170 char* var175
/* : NativeString */;
171 long var176
/* : Int */;
172 val
* var177
/* : FlatString */;
173 static val
* varonce178
;
174 val
* var179
/* : String */;
175 char* var180
/* : NativeString */;
176 long var181
/* : Int */;
177 val
* var182
/* : FlatString */;
178 val
* var183
/* : Array[Object] */;
179 long var184
/* : Int */;
180 val
* var185
/* : NativeArray[Object] */;
181 val
* var186
/* : String */;
182 val
* var187
/* : AbstractCompiler */;
183 val
* var189
/* : AbstractCompiler */;
184 val
* var190
/* : CodeWriter */;
185 val
* var192
/* : CodeWriter */;
186 static val
* varonce193
;
187 val
* var194
/* : String */;
188 char* var195
/* : NativeString */;
189 long var196
/* : Int */;
190 val
* var197
/* : FlatString */;
191 static val
* varonce198
;
192 val
* var199
/* : String */;
193 char* var200
/* : NativeString */;
194 long var201
/* : Int */;
195 val
* var202
/* : FlatString */;
196 val
* var203
/* : Array[Object] */;
197 long var204
/* : Int */;
198 val
* var205
/* : NativeArray[Object] */;
199 val
* var206
/* : String */;
200 val
* var207
/* : AbstractCompiler */;
201 val
* var209
/* : AbstractCompiler */;
202 val
* var210
/* : CodeWriter */;
203 val
* var212
/* : CodeWriter */;
204 static val
* varonce213
;
205 val
* var214
/* : String */;
206 char* var215
/* : NativeString */;
207 long var216
/* : Int */;
208 val
* var217
/* : FlatString */;
209 static val
* varonce218
;
210 val
* var219
/* : String */;
211 char* var220
/* : NativeString */;
212 long var221
/* : Int */;
213 val
* var222
/* : FlatString */;
214 val
* var223
/* : Array[Object] */;
215 long var224
/* : Int */;
216 val
* var225
/* : NativeArray[Object] */;
217 val
* var226
/* : String */;
218 val
* var227
/* : ModelBuilder */;
219 val
* var229
/* : ModelBuilder */;
220 val
* var230
/* : ToolContext */;
221 val
* var232
/* : ToolContext */;
222 val
* var233
/* : OptionBool */;
223 val
* var235
/* : OptionBool */;
224 val
* var236
/* : nullable Object */;
225 val
* var238
/* : nullable Object */;
226 short int var239
/* : Bool */;
227 static val
* varonce240
;
228 val
* var241
/* : String */;
229 char* var242
/* : NativeString */;
230 long var243
/* : Int */;
231 val
* var244
/* : FlatString */;
232 static val
* varonce245
;
233 val
* var246
/* : String */;
234 char* var247
/* : NativeString */;
235 long var248
/* : Int */;
236 val
* var249
/* : FlatString */;
237 static val
* varonce250
;
238 val
* var251
/* : String */;
239 char* var252
/* : NativeString */;
240 long var253
/* : Int */;
241 val
* var254
/* : FlatString */;
242 val
* var255
/* : AbstractCompiler */;
243 val
* var257
/* : AbstractCompiler */;
244 val
* var258
/* : CodeWriter */;
245 val
* var260
/* : CodeWriter */;
246 static val
* varonce261
;
247 val
* var262
/* : String */;
248 char* var263
/* : NativeString */;
249 long var264
/* : Int */;
250 val
* var265
/* : FlatString */;
251 val
* var266
/* : AbstractCompiler */;
252 val
* var268
/* : AbstractCompiler */;
253 val
* var269
/* : CodeWriter */;
254 val
* var271
/* : CodeWriter */;
255 static val
* varonce272
;
256 val
* var273
/* : String */;
257 char* var274
/* : NativeString */;
258 long var275
/* : Int */;
259 val
* var276
/* : FlatString */;
260 val
* var277
/* : AbstractCompiler */;
261 val
* var279
/* : AbstractCompiler */;
262 val
* var280
/* : CodeWriter */;
263 val
* var282
/* : CodeWriter */;
264 static val
* varonce283
;
265 val
* var284
/* : String */;
266 char* var285
/* : NativeString */;
267 long var286
/* : Int */;
268 val
* var287
/* : FlatString */;
269 val
* var288
/* : ModelBuilder */;
270 val
* var290
/* : ModelBuilder */;
271 val
* var291
/* : ToolContext */;
272 val
* var293
/* : ToolContext */;
273 val
* var294
/* : OptionBool */;
274 val
* var296
/* : OptionBool */;
275 val
* var297
/* : nullable Object */;
276 val
* var299
/* : nullable Object */;
277 short int var300
/* : Bool */;
278 static val
* varonce301
;
279 val
* var302
/* : String */;
280 char* var303
/* : NativeString */;
281 long var304
/* : Int */;
282 val
* var305
/* : FlatString */;
283 static val
* varonce306
;
284 val
* var307
/* : String */;
285 char* var308
/* : NativeString */;
286 long var309
/* : Int */;
287 val
* var310
/* : FlatString */;
288 val
* var311
/* : AbstractCompiler */;
289 val
* var313
/* : AbstractCompiler */;
290 val
* var314
/* : CodeWriter */;
291 val
* var316
/* : CodeWriter */;
292 static val
* varonce317
;
293 val
* var318
/* : String */;
294 char* var319
/* : NativeString */;
295 long var320
/* : Int */;
296 val
* var321
/* : FlatString */;
297 val
* var322
/* : AbstractCompiler */;
298 val
* var324
/* : AbstractCompiler */;
299 val
* var325
/* : CodeWriter */;
300 val
* var327
/* : CodeWriter */;
301 static val
* varonce328
;
302 val
* var329
/* : String */;
303 char* var330
/* : NativeString */;
304 long var331
/* : Int */;
305 val
* var332
/* : FlatString */;
306 static val
* varonce333
;
307 val
* var334
/* : String */;
308 char* var335
/* : NativeString */;
309 long var336
/* : Int */;
310 val
* var337
/* : FlatString */;
311 static val
* varonce338
;
312 val
* var339
/* : String */;
313 char* var340
/* : NativeString */;
314 long var341
/* : Int */;
315 val
* var342
/* : FlatString */;
316 static val
* varonce343
;
317 val
* var344
/* : String */;
318 char* var345
/* : NativeString */;
319 long var346
/* : Int */;
320 val
* var347
/* : FlatString */;
321 static val
* varonce348
;
322 val
* var349
/* : String */;
323 char* var350
/* : NativeString */;
324 long var351
/* : Int */;
325 val
* var352
/* : FlatString */;
326 static val
* varonce353
;
327 val
* var354
/* : String */;
328 char* var355
/* : NativeString */;
329 long var356
/* : Int */;
330 val
* var357
/* : FlatString */;
331 short int var358
/* : Bool */;
332 static val
* varonce359
;
333 val
* var360
/* : String */;
334 char* var361
/* : NativeString */;
335 long var362
/* : Int */;
336 val
* var363
/* : FlatString */;
337 short int var364
/* : Bool */;
338 short int var365
/* : Bool */;
339 short int var_366
/* var : Bool */;
340 static val
* varonce367
;
341 val
* var368
/* : String */;
342 char* var369
/* : NativeString */;
343 long var370
/* : Int */;
344 val
* var371
/* : FlatString */;
345 short int var372
/* : Bool */;
346 short int var373
/* : Bool */;
347 static val
* varonce374
;
348 val
* var375
/* : String */;
349 char* var376
/* : NativeString */;
350 long var377
/* : Int */;
351 val
* var378
/* : FlatString */;
352 static val
* varonce379
;
353 val
* var380
/* : String */;
354 char* var381
/* : NativeString */;
355 long var382
/* : Int */;
356 val
* var383
/* : FlatString */;
357 static val
* varonce384
;
358 val
* var385
/* : String */;
359 char* var386
/* : NativeString */;
360 long var387
/* : Int */;
361 val
* var388
/* : FlatString */;
362 static val
* varonce389
;
363 val
* var390
/* : String */;
364 char* var391
/* : NativeString */;
365 long var392
/* : Int */;
366 val
* var393
/* : FlatString */;
367 static val
* varonce394
;
368 val
* var395
/* : String */;
369 char* var396
/* : NativeString */;
370 long var397
/* : Int */;
371 val
* var398
/* : FlatString */;
372 static val
* varonce399
;
373 val
* var400
/* : String */;
374 char* var401
/* : NativeString */;
375 long var402
/* : Int */;
376 val
* var403
/* : FlatString */;
377 static val
* varonce404
;
378 val
* var405
/* : String */;
379 char* var406
/* : NativeString */;
380 long var407
/* : Int */;
381 val
* var408
/* : FlatString */;
382 static val
* varonce409
;
383 val
* var410
/* : String */;
384 char* var411
/* : NativeString */;
385 long var412
/* : Int */;
386 val
* var413
/* : FlatString */;
387 static val
* varonce414
;
388 val
* var415
/* : String */;
389 char* var416
/* : NativeString */;
390 long var417
/* : Int */;
391 val
* var418
/* : FlatString */;
392 static val
* varonce419
;
393 val
* var420
/* : String */;
394 char* var421
/* : NativeString */;
395 long var422
/* : Int */;
396 val
* var423
/* : FlatString */;
397 static val
* varonce424
;
398 val
* var425
/* : String */;
399 char* var426
/* : NativeString */;
400 long var427
/* : Int */;
401 val
* var428
/* : FlatString */;
402 static val
* varonce429
;
403 val
* var430
/* : String */;
404 char* var431
/* : NativeString */;
405 long var432
/* : Int */;
406 val
* var433
/* : FlatString */;
407 static val
* varonce434
;
408 val
* var435
/* : String */;
409 char* var436
/* : NativeString */;
410 long var437
/* : Int */;
411 val
* var438
/* : FlatString */;
412 static val
* varonce439
;
413 val
* var440
/* : String */;
414 char* var441
/* : NativeString */;
415 long var442
/* : Int */;
416 val
* var443
/* : FlatString */;
417 short int var444
/* : Bool */;
418 short int var445
/* : Bool */;
419 static val
* varonce446
;
420 val
* var447
/* : String */;
421 char* var448
/* : NativeString */;
422 long var449
/* : Int */;
423 val
* var450
/* : FlatString */;
424 static val
* varonce451
;
425 val
* var452
/* : String */;
426 char* var453
/* : NativeString */;
427 long var454
/* : Int */;
428 val
* var455
/* : FlatString */;
429 static val
* varonce456
;
430 val
* var457
/* : String */;
431 char* var458
/* : NativeString */;
432 long var459
/* : Int */;
433 val
* var460
/* : FlatString */;
434 static val
* varonce461
;
435 val
* var462
/* : String */;
436 char* var463
/* : NativeString */;
437 long var464
/* : Int */;
438 val
* var465
/* : FlatString */;
439 static val
* varonce466
;
440 val
* var467
/* : String */;
441 char* var468
/* : NativeString */;
442 long var469
/* : Int */;
443 val
* var470
/* : FlatString */;
444 static val
* varonce471
;
445 val
* var472
/* : String */;
446 char* var473
/* : NativeString */;
447 long var474
/* : Int */;
448 val
* var475
/* : FlatString */;
449 static val
* varonce476
;
450 val
* var477
/* : String */;
451 char* var478
/* : NativeString */;
452 long var479
/* : Int */;
453 val
* var480
/* : FlatString */;
454 static val
* varonce481
;
455 val
* var482
/* : String */;
456 char* var483
/* : NativeString */;
457 long var484
/* : Int */;
458 val
* var485
/* : FlatString */;
459 static val
* varonce486
;
460 val
* var487
/* : String */;
461 char* var488
/* : NativeString */;
462 long var489
/* : Int */;
463 val
* var490
/* : FlatString */;
464 static val
* varonce491
;
465 val
* var492
/* : String */;
466 char* var493
/* : NativeString */;
467 long var494
/* : Int */;
468 val
* var495
/* : FlatString */;
469 static val
* varonce496
;
470 val
* var497
/* : String */;
471 char* var498
/* : NativeString */;
472 long var499
/* : Int */;
473 val
* var500
/* : FlatString */;
474 static val
* varonce501
;
475 val
* var502
/* : String */;
476 char* var503
/* : NativeString */;
477 long var504
/* : Int */;
478 val
* var505
/* : FlatString */;
479 static val
* varonce506
;
480 val
* var507
/* : String */;
481 char* var508
/* : NativeString */;
482 long var509
/* : Int */;
483 val
* var510
/* : FlatString */;
484 static val
* varonce511
;
485 val
* var512
/* : String */;
486 char* var513
/* : NativeString */;
487 long var514
/* : Int */;
488 val
* var515
/* : FlatString */;
489 static val
* varonce516
;
490 val
* var517
/* : String */;
491 char* var518
/* : NativeString */;
492 long var519
/* : Int */;
493 val
* var520
/* : FlatString */;
494 static val
* varonce521
;
495 val
* var522
/* : String */;
496 char* var523
/* : NativeString */;
497 long var524
/* : Int */;
498 val
* var525
/* : FlatString */;
499 static val
* varonce526
;
500 val
* var527
/* : String */;
501 char* var528
/* : NativeString */;
502 long var529
/* : Int */;
503 val
* var530
/* : FlatString */;
504 static val
* varonce531
;
505 val
* var532
/* : String */;
506 char* var533
/* : NativeString */;
507 long var534
/* : Int */;
508 val
* var535
/* : FlatString */;
509 static val
* varonce536
;
510 val
* var537
/* : String */;
511 char* var538
/* : NativeString */;
512 long var539
/* : Int */;
513 val
* var540
/* : FlatString */;
514 static val
* varonce541
;
515 val
* var542
/* : String */;
516 char* var543
/* : NativeString */;
517 long var544
/* : Int */;
518 val
* var545
/* : FlatString */;
519 static val
* varonce546
;
520 val
* var547
/* : String */;
521 char* var548
/* : NativeString */;
522 long var549
/* : Int */;
523 val
* var550
/* : FlatString */;
524 static val
* varonce551
;
525 val
* var552
/* : String */;
526 char* var553
/* : NativeString */;
527 long var554
/* : Int */;
528 val
* var555
/* : FlatString */;
529 static val
* varonce556
;
530 val
* var557
/* : String */;
531 char* var558
/* : NativeString */;
532 long var559
/* : Int */;
533 val
* var560
/* : FlatString */;
534 static val
* varonce561
;
535 val
* var562
/* : String */;
536 char* var563
/* : NativeString */;
537 long var564
/* : Int */;
538 val
* var565
/* : FlatString */;
539 static val
* varonce566
;
540 val
* var567
/* : String */;
541 char* var568
/* : NativeString */;
542 long var569
/* : Int */;
543 val
* var570
/* : FlatString */;
544 val
* var571
/* : MModule */;
545 val
* var573
/* : MModule */;
546 val
* var574
/* : nullable MClassType */;
547 val
* var_main_type
/* var main_type: nullable MClassType */;
548 val
* var575
/* : null */;
549 short int var576
/* : Bool */;
550 short int var577
/* : Bool */;
551 val
* var_other
/* var other: nullable Object */;
552 short int var579
/* : Bool */;
553 short int var580
/* : Bool */;
554 short int var581
/* : Bool */;
555 val
* var582
/* : AbstractCompiler */;
556 val
* var584
/* : AbstractCompiler */;
557 val
* var585
/* : MModule */;
558 val
* var587
/* : MModule */;
559 val
* var_mainmodule
/* var mainmodule: MModule */;
560 val
* var588
/* : RuntimeVariable */;
561 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
562 static val
* varonce589
;
563 val
* var590
/* : String */;
564 char* var591
/* : NativeString */;
565 long var592
/* : Int */;
566 val
* var593
/* : FlatString */;
567 static val
* varonce594
;
568 val
* var595
/* : String */;
569 char* var596
/* : NativeString */;
570 long var597
/* : Int */;
571 val
* var598
/* : FlatString */;
572 val
* var599
/* : Array[Object] */;
573 long var600
/* : Int */;
574 val
* var601
/* : NativeArray[Object] */;
575 val
* var602
/* : String */;
576 static val
* varonce603
;
577 val
* var604
/* : String */;
578 char* var605
/* : NativeString */;
579 long var606
/* : Int */;
580 val
* var607
/* : FlatString */;
581 val
* var608
/* : MClass */;
582 val
* var610
/* : MClass */;
583 val
* var611
/* : nullable MMethod */;
584 val
* var_main_init
/* var main_init: nullable MMethod */;
585 val
* var612
/* : null */;
586 short int var613
/* : Bool */;
587 short int var614
/* : Bool */;
588 short int var616
/* : Bool */;
589 short int var617
/* : Bool */;
590 short int var618
/* : Bool */;
591 val
* var619
/* : Array[RuntimeVariable] */;
592 long var620
/* : Int */;
593 val
* var_621
/* var : Array[RuntimeVariable] */;
594 val
* var622
/* : nullable RuntimeVariable */;
595 static val
* varonce623
;
596 val
* var624
/* : String */;
597 char* var625
/* : NativeString */;
598 long var626
/* : Int */;
599 val
* var627
/* : FlatString */;
600 val
* var628
/* : MClass */;
601 val
* var630
/* : MClass */;
602 val
* var631
/* : nullable MMethod */;
603 val
* var_main_method
/* var main_method: nullable MMethod */;
604 val
* var632
/* : null */;
605 short int var633
/* : Bool */;
606 short int var634
/* : Bool */;
607 short int var636
/* : Bool */;
608 short int var637
/* : Bool */;
609 short int var638
/* : Bool */;
610 val
* var639
/* : Array[RuntimeVariable] */;
611 long var640
/* : Int */;
612 val
* var_641
/* var : Array[RuntimeVariable] */;
613 val
* var642
/* : nullable RuntimeVariable */;
614 val
* var643
/* : ModelBuilder */;
615 val
* var645
/* : ModelBuilder */;
616 val
* var646
/* : ToolContext */;
617 val
* var648
/* : ToolContext */;
618 val
* var649
/* : OptionBool */;
619 val
* var651
/* : OptionBool */;
620 val
* var652
/* : nullable Object */;
621 val
* var654
/* : nullable Object */;
622 short int var655
/* : Bool */;
623 static val
* varonce656
;
624 val
* var657
/* : String */;
625 char* var658
/* : NativeString */;
626 long var659
/* : Int */;
627 val
* var660
/* : FlatString */;
628 static val
* varonce661
;
629 val
* var662
/* : String */;
630 char* var663
/* : NativeString */;
631 long var664
/* : Int */;
632 val
* var665
/* : FlatString */;
633 static val
* varonce666
;
634 val
* var667
/* : String */;
635 char* var668
/* : NativeString */;
636 long var669
/* : Int */;
637 val
* var670
/* : FlatString */;
638 static val
* varonce671
;
639 val
* var672
/* : String */;
640 char* var673
/* : NativeString */;
641 long var674
/* : Int */;
642 val
* var675
/* : FlatString */;
643 val
* var676
/* : Array[String] */;
644 val
* var678
/* : Array[String] */;
645 val
* var679
/* : ArrayIterator[nullable Object] */;
646 short int var680
/* : Bool */;
647 val
* var681
/* : nullable Object */;
648 val
* var_tag682
/* var tag: String */;
649 static val
* varonce683
;
650 val
* var684
/* : String */;
651 char* var685
/* : NativeString */;
652 long var686
/* : Int */;
653 val
* var687
/* : FlatString */;
654 static val
* varonce688
;
655 val
* var689
/* : String */;
656 char* var690
/* : NativeString */;
657 long var691
/* : Int */;
658 val
* var692
/* : FlatString */;
659 val
* var693
/* : Array[Object] */;
660 long var694
/* : Int */;
661 val
* var695
/* : NativeArray[Object] */;
662 val
* var696
/* : String */;
663 static val
* varonce697
;
664 val
* var698
/* : String */;
665 char* var699
/* : NativeString */;
666 long var700
/* : Int */;
667 val
* var701
/* : FlatString */;
668 static val
* varonce702
;
669 val
* var703
/* : String */;
670 char* var704
/* : NativeString */;
671 long var705
/* : Int */;
672 val
* var706
/* : FlatString */;
673 static val
* varonce707
;
674 val
* var708
/* : String */;
675 char* var709
/* : NativeString */;
676 long var710
/* : Int */;
677 val
* var711
/* : FlatString */;
678 static val
* varonce712
;
679 val
* var713
/* : String */;
680 char* var714
/* : NativeString */;
681 long var715
/* : Int */;
682 val
* var716
/* : FlatString */;
683 static val
* varonce717
;
684 val
* var718
/* : String */;
685 char* var719
/* : NativeString */;
686 long var720
/* : Int */;
687 val
* var721
/* : FlatString */;
688 val
* var722
/* : Array[Object] */;
689 long var723
/* : Int */;
690 val
* var724
/* : NativeArray[Object] */;
691 val
* var725
/* : String */;
692 static val
* varonce726
;
693 val
* var727
/* : String */;
694 char* var728
/* : NativeString */;
695 long var729
/* : Int */;
696 val
* var730
/* : FlatString */;
697 static val
* varonce731
;
698 val
* var732
/* : String */;
699 char* var733
/* : NativeString */;
700 long var734
/* : Int */;
701 val
* var735
/* : FlatString */;
702 val
* var736
/* : Array[Object] */;
703 long var737
/* : Int */;
704 val
* var738
/* : NativeArray[Object] */;
705 val
* var739
/* : String */;
706 static val
* varonce740
;
707 val
* var741
/* : String */;
708 char* var742
/* : NativeString */;
709 long var743
/* : Int */;
710 val
* var744
/* : FlatString */;
711 static val
* varonce745
;
712 val
* var746
/* : String */;
713 char* var747
/* : NativeString */;
714 long var748
/* : Int */;
715 val
* var749
/* : FlatString */;
716 val
* var750
/* : Array[Object] */;
717 long var751
/* : Int */;
718 val
* var752
/* : NativeArray[Object] */;
719 val
* var753
/* : String */;
720 static val
* varonce754
;
721 val
* var755
/* : String */;
722 char* var756
/* : NativeString */;
723 long var757
/* : Int */;
724 val
* var758
/* : FlatString */;
725 static val
* varonce759
;
726 val
* var760
/* : String */;
727 char* var761
/* : NativeString */;
728 long var762
/* : Int */;
729 val
* var763
/* : FlatString */;
730 val
* var764
/* : Array[Object] */;
731 long var765
/* : Int */;
732 val
* var766
/* : NativeArray[Object] */;
733 val
* var767
/* : String */;
734 static val
* varonce768
;
735 val
* var769
/* : String */;
736 char* var770
/* : NativeString */;
737 long var771
/* : Int */;
738 val
* var772
/* : FlatString */;
739 static val
* varonce773
;
740 val
* var774
/* : String */;
741 char* var775
/* : NativeString */;
742 long var776
/* : Int */;
743 val
* var777
/* : FlatString */;
744 val
* var778
/* : Array[Object] */;
745 long var779
/* : Int */;
746 val
* var780
/* : NativeArray[Object] */;
747 val
* var781
/* : String */;
748 static val
* varonce783
;
749 val
* var784
/* : String */;
750 char* var785
/* : NativeString */;
751 long var786
/* : Int */;
752 val
* var787
/* : FlatString */;
753 static val
* varonce788
;
754 val
* var789
/* : String */;
755 char* var790
/* : NativeString */;
756 long var791
/* : Int */;
757 val
* var792
/* : FlatString */;
758 val
* var793
/* : Array[String] */;
759 val
* var795
/* : Array[String] */;
760 val
* var796
/* : Array[nullable Object] */;
761 val
* var_tags
/* var tags: Array[String] */;
762 static val
* varonce797
;
763 val
* var798
/* : String */;
764 char* var799
/* : NativeString */;
765 long var800
/* : Int */;
766 val
* var801
/* : FlatString */;
767 val
* var802
/* : ArrayIterator[nullable Object] */;
768 short int var803
/* : Bool */;
769 val
* var804
/* : nullable Object */;
770 val
* var_tag805
/* var tag: String */;
771 static val
* varonce806
;
772 val
* var807
/* : String */;
773 char* var808
/* : NativeString */;
774 long var809
/* : Int */;
775 val
* var810
/* : FlatString */;
776 static val
* varonce811
;
777 val
* var812
/* : String */;
778 char* var813
/* : NativeString */;
779 long var814
/* : Int */;
780 val
* var815
/* : FlatString */;
781 val
* var816
/* : Array[Object] */;
782 long var817
/* : Int */;
783 val
* var818
/* : NativeArray[Object] */;
784 val
* var819
/* : String */;
785 static val
* varonce820
;
786 val
* var821
/* : String */;
787 char* var822
/* : NativeString */;
788 long var823
/* : Int */;
789 val
* var824
/* : FlatString */;
790 static val
* varonce825
;
791 val
* var826
/* : String */;
792 char* var827
/* : NativeString */;
793 long var828
/* : Int */;
794 val
* var829
/* : FlatString */;
795 static val
* varonce830
;
796 val
* var831
/* : String */;
797 char* var832
/* : NativeString */;
798 long var833
/* : Int */;
799 val
* var834
/* : FlatString */;
800 val
* var835
/* : Array[Object] */;
801 long var836
/* : Int */;
802 val
* var837
/* : NativeArray[Object] */;
803 val
* var838
/* : String */;
804 static val
* varonce839
;
805 val
* var840
/* : String */;
806 char* var841
/* : NativeString */;
807 long var842
/* : Int */;
808 val
* var843
/* : FlatString */;
809 static val
* varonce844
;
810 val
* var845
/* : String */;
811 char* var846
/* : NativeString */;
812 long var847
/* : Int */;
813 val
* var848
/* : FlatString */;
814 static val
* varonce849
;
815 val
* var850
/* : String */;
816 char* var851
/* : NativeString */;
817 long var852
/* : Int */;
818 val
* var853
/* : FlatString */;
819 val
* var854
/* : Array[Object] */;
820 long var855
/* : Int */;
821 val
* var856
/* : NativeArray[Object] */;
822 val
* var857
/* : String */;
823 static val
* varonce858
;
824 val
* var859
/* : String */;
825 char* var860
/* : NativeString */;
826 long var861
/* : Int */;
827 val
* var862
/* : FlatString */;
828 static val
* varonce863
;
829 val
* var864
/* : String */;
830 char* var865
/* : NativeString */;
831 long var866
/* : Int */;
832 val
* var867
/* : FlatString */;
833 static val
* varonce868
;
834 val
* var869
/* : String */;
835 char* var870
/* : NativeString */;
836 long var871
/* : Int */;
837 val
* var872
/* : FlatString */;
838 val
* var873
/* : Array[Object] */;
839 long var874
/* : Int */;
840 val
* var875
/* : NativeArray[Object] */;
841 val
* var876
/* : String */;
842 static val
* varonce877
;
843 val
* var878
/* : String */;
844 char* var879
/* : NativeString */;
845 long var880
/* : Int */;
846 val
* var881
/* : FlatString */;
847 static val
* varonce882
;
848 val
* var883
/* : String */;
849 char* var884
/* : NativeString */;
850 long var885
/* : Int */;
851 val
* var886
/* : FlatString */;
852 static val
* varonce887
;
853 val
* var888
/* : String */;
854 char* var889
/* : NativeString */;
855 long var890
/* : Int */;
856 val
* var891
/* : FlatString */;
857 val
* var892
/* : Array[Object] */;
858 long var893
/* : Int */;
859 val
* var894
/* : NativeArray[Object] */;
860 val
* var895
/* : String */;
861 val
* var897
/* : ModelBuilder */;
862 val
* var899
/* : ModelBuilder */;
863 val
* var900
/* : ToolContext */;
864 val
* var902
/* : ToolContext */;
865 val
* var903
/* : OptionBool */;
866 val
* var905
/* : OptionBool */;
867 val
* var906
/* : nullable Object */;
868 val
* var908
/* : nullable Object */;
869 short int var909
/* : Bool */;
870 static val
* varonce910
;
871 val
* var911
/* : String */;
872 char* var912
/* : NativeString */;
873 long var913
/* : Int */;
874 val
* var914
/* : FlatString */;
875 static val
* varonce915
;
876 val
* var916
/* : String */;
877 char* var917
/* : NativeString */;
878 long var918
/* : Int */;
879 val
* var919
/* : FlatString */;
880 static val
* varonce920
;
881 val
* var921
/* : String */;
882 char* var922
/* : NativeString */;
883 long var923
/* : Int */;
884 val
* var924
/* : FlatString */;
885 static val
* varonce925
;
886 val
* var926
/* : String */;
887 char* var927
/* : NativeString */;
888 long var928
/* : Int */;
889 val
* var929
/* : FlatString */;
890 static val
* varonce930
;
891 val
* var931
/* : String */;
892 char* var932
/* : NativeString */;
893 long var933
/* : Int */;
894 val
* var934
/* : FlatString */;
895 static val
* varonce935
;
896 val
* var936
/* : String */;
897 char* var937
/* : NativeString */;
898 long var938
/* : Int */;
899 val
* var939
/* : FlatString */;
900 val
* var940
/* : ModelBuilder */;
901 val
* var942
/* : ModelBuilder */;
902 val
* var943
/* : ToolContext */;
903 val
* var945
/* : ToolContext */;
904 val
* var946
/* : OptionBool */;
905 val
* var948
/* : OptionBool */;
906 val
* var949
/* : nullable Object */;
907 val
* var951
/* : nullable Object */;
908 short int var952
/* : Bool */;
909 static val
* varonce953
;
910 val
* var954
/* : String */;
911 char* var955
/* : NativeString */;
912 long var956
/* : Int */;
913 val
* var957
/* : FlatString */;
914 static val
* varonce958
;
915 val
* var959
/* : String */;
916 char* var960
/* : NativeString */;
917 long var961
/* : Int */;
918 val
* var962
/* : FlatString */;
919 static val
* varonce963
;
920 val
* var964
/* : String */;
921 char* var965
/* : NativeString */;
922 long var966
/* : Int */;
923 val
* var967
/* : FlatString */;
924 static val
* varonce968
;
925 val
* var969
/* : String */;
926 char* var970
/* : NativeString */;
927 long var971
/* : Int */;
928 val
* var972
/* : FlatString */;
930 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
936 var2
= "#include <signal.h>";
938 var4
= string__NativeString__to_s_with_length(var2
, var3
);
943 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
946 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
947 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
948 if (unlikely(var7
== NULL
)) {
949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
950 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
958 { /* Inline modelbuilder#ModelBuilder#toolcontext (var5) on <var5:ModelBuilder> */
959 var10
= var5
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var5:ModelBuilder> */
960 if (unlikely(var10
== NULL
)) {
961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
962 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
970 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (var8) on <var8:ToolContext> */
971 var13
= var8
->attrs
[COLOR_abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <var8:ToolContext> */
972 if (unlikely(var13
== NULL
)) {
973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
974 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 62);
982 { /* Inline opts#Option#value (var11) on <var11:OptionString> */
983 var16
= var11
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var11:OptionString> */
990 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
991 var19
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
992 if (unlikely(var19
== NULL
)) {
993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
994 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
1002 var20
= platform__MModule__target_platform(var17
);
1004 var_platform
= var20
;
1006 if (var_platform
== NULL
) {
1007 var23
= 0; /* is null */
1009 var23
= 1; /* arg is null and recv is not */
1012 var24
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_platform
, var22
) /* != on <var_platform:nullable Platform>*/;
1018 var25
= ((short int (*)(val
*))(var_platform
->class->vft
[COLOR_platform__Platform__supports_libunwind
]))(var_platform
) /* supports_libunwind on <var_platform:nullable Platform(Platform)>*/;
1031 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1039 if (var_platform
== NULL
) {
1040 var35
= 0; /* is null */
1042 var35
= 1; /* arg is null and recv is not */
1045 var36
= ((short int (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_platform
, var34
) /* != on <var_platform:nullable Platform>*/;
1051 var38
= ((short int (*)(val
*))(var_platform
->class->vft
[COLOR_platform__Platform__no_main
]))(var_platform
) /* no_main on <var_platform:nullable Platform(Platform)>*/;
1062 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1063 var42
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1064 if (unlikely(var42
== NULL
)) {
1065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1066 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1070 RET_LABEL41
:(void)0;
1074 { /* Inline modelbuilder#ModelBuilder#toolcontext (var40) on <var40:ModelBuilder> */
1075 var45
= var40
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var40:ModelBuilder> */
1076 if (unlikely(var45
== NULL
)) {
1077 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1078 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1082 RET_LABEL44
:(void)0;
1086 { /* Inline abstract_compiler#ToolContext#opt_no_main (var43) on <var43:ToolContext> */
1087 var48
= var43
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <var43:ToolContext> */
1088 if (unlikely(var48
== NULL
)) {
1089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
1090 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 34);
1094 RET_LABEL47
:(void)0;
1098 { /* Inline opts#Option#value (var46) on <var46:OptionBool> */
1099 var51
= var46
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var46:OptionBool> */
1101 RET_LABEL50
:(void)0;
1104 var52
= ((struct instance_kernel__Bool
*)var49
)->value
; /* autounbox from nullable Object to Bool */;
1107 var_no_main
= var32
;
1113 var58
= string__NativeString__to_s_with_length(var56
, var57
);
1117 if (var_ost
== NULL
) {
1118 var59
= 0; /* <var55:String> cannot be null */
1120 var60
= string__FlatString___61d_61d(var_ost
, var55
);
1130 var64
= "libunwind";
1132 var66
= string__NativeString__to_s_with_length(var64
, var65
);
1136 if (var_ost
== NULL
) {
1137 var67
= 0; /* <var63:String> cannot be null */
1139 var68
= string__FlatString___61d_61d(var_ost
, var63
);
1148 var71
= "#define UNW_LOCAL_ONLY";
1150 var73
= string__NativeString__to_s_with_length(var71
, var72
);
1155 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var70
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1160 var76
= "#include <libunwind.h>";
1162 var78
= string__NativeString__to_s_with_length(var76
, var77
);
1167 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1174 var83
= string__NativeString__to_s_with_length(var81
, var82
);
1178 if (var_ost
== NULL
) {
1179 var84
= 0; /* <var80:String> cannot be null */
1181 var85
= string__FlatString___61d_61d(var_ost
, var80
);
1188 var88
= "#include \"c_functions_hash.h\"";
1190 var90
= string__NativeString__to_s_with_length(var88
, var89
);
1195 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var87
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1204 var93
= "int glob_argc;";
1206 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1211 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var92
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1216 var98
= "char **glob_argv;";
1218 var100
= string__NativeString__to_s_with_length(var98
, var99
);
1223 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1226 var102
= varonce101
;
1228 var103
= "val *glob_sys;";
1230 var105
= string__NativeString__to_s_with_length(var103
, var104
);
1232 varonce101
= var102
;
1235 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1238 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1239 var108
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1240 if (unlikely(var108
== NULL
)) {
1241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1242 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1246 RET_LABEL107
:(void)0;
1250 { /* Inline modelbuilder#ModelBuilder#toolcontext (var106) on <var106:ModelBuilder> */
1251 var111
= var106
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var106:ModelBuilder> */
1252 if (unlikely(var111
== NULL
)) {
1253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1254 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1258 RET_LABEL110
:(void)0;
1262 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var109) on <var109:ToolContext> */
1263 var114
= var109
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var109:ToolContext> */
1264 if (unlikely(var114
== NULL
)) {
1265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1266 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
1270 RET_LABEL113
:(void)0;
1274 { /* Inline opts#Option#value (var112) on <var112:OptionBool> */
1275 var117
= var112
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var112:OptionBool> */
1277 RET_LABEL116
:(void)0;
1280 var118
= ((struct instance_kernel__Bool
*)var115
)->value
; /* autounbox from nullable Object to Bool */;
1283 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
1284 var121
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
1285 if (unlikely(var121
== NULL
)) {
1286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
1287 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
1291 RET_LABEL120
:(void)0;
1295 var122
= array__AbstractArrayRead__iterator(var119
);
1299 var123
= array__ArrayIterator__is_ok(var122
);
1303 var124
= array__ArrayIterator__item(var122
);
1307 var126
= varonce125
;
1309 var127
= "long count_type_test_resolved_";
1311 var129
= string__NativeString__to_s_with_length(var127
, var128
);
1313 varonce125
= var126
;
1316 var131
= varonce130
;
1320 var134
= string__NativeString__to_s_with_length(var132
, var133
);
1322 varonce130
= var131
;
1324 var135
= NEW_array__Array(&type_array__Arraykernel__Object
);
1325 { /* var135 = array_instance Array[Object] */
1327 var137
= NEW_array__NativeArray(var136
, &type_array__NativeArraykernel__Object
);
1328 ((struct instance_array__NativeArray
*)var137
)->values
[0] = (val
*) var126
;
1329 ((struct instance_array__NativeArray
*)var137
)->values
[1] = (val
*) var_tag
;
1330 ((struct instance_array__NativeArray
*)var137
)->values
[2] = (val
*) var131
;
1332 ((void (*)(val
*, val
*, long))(var135
->class->vft
[COLOR_array__Array__with_native
]))(var135
, var137
, var136
) /* with_native on <var135:Array[Object]>*/;
1336 var138
= ((val
* (*)(val
*))(var135
->class->vft
[COLOR_string__Object__to_s
]))(var135
) /* to_s on <var135:Array[Object]>*/;
1339 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var138
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1342 var140
= varonce139
;
1344 var141
= "long count_type_test_unresolved_";
1346 var143
= string__NativeString__to_s_with_length(var141
, var142
);
1348 varonce139
= var140
;
1351 var145
= varonce144
;
1355 var148
= string__NativeString__to_s_with_length(var146
, var147
);
1357 varonce144
= var145
;
1359 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
1360 { /* var149 = array_instance Array[Object] */
1362 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
1363 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var140
;
1364 ((struct instance_array__NativeArray
*)var151
)->values
[1] = (val
*) var_tag
;
1365 ((struct instance_array__NativeArray
*)var151
)->values
[2] = (val
*) var145
;
1367 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
1371 var152
= ((val
* (*)(val
*))(var149
->class->vft
[COLOR_string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
1374 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1377 var154
= varonce153
;
1379 var155
= "long count_type_test_skipped_";
1381 var157
= string__NativeString__to_s_with_length(var155
, var156
);
1383 varonce153
= var154
;
1386 var159
= varonce158
;
1390 var162
= string__NativeString__to_s_with_length(var160
, var161
);
1392 varonce158
= var159
;
1394 var163
= NEW_array__Array(&type_array__Arraykernel__Object
);
1395 { /* var163 = array_instance Array[Object] */
1397 var165
= NEW_array__NativeArray(var164
, &type_array__NativeArraykernel__Object
);
1398 ((struct instance_array__NativeArray
*)var165
)->values
[0] = (val
*) var154
;
1399 ((struct instance_array__NativeArray
*)var165
)->values
[1] = (val
*) var_tag
;
1400 ((struct instance_array__NativeArray
*)var165
)->values
[2] = (val
*) var159
;
1402 ((void (*)(val
*, val
*, long))(var163
->class->vft
[COLOR_array__Array__with_native
]))(var163
, var165
, var164
) /* with_native on <var163:Array[Object]>*/;
1406 var166
= ((val
* (*)(val
*))(var163
->class->vft
[COLOR_string__Object__to_s
]))(var163
) /* to_s on <var163:Array[Object]>*/;
1409 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var166
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1412 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1413 var169
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1414 if (unlikely(var169
== NULL
)) {
1415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1416 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1420 RET_LABEL168
:(void)0;
1424 { /* Inline abstract_compiler#AbstractCompiler#header (var167) on <var167:AbstractCompiler> */
1425 var172
= var167
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var167:AbstractCompiler> */
1426 if (unlikely(var172
== NULL
)) {
1427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1428 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1432 RET_LABEL171
:(void)0;
1436 var174
= varonce173
;
1438 var175
= "extern long count_type_test_resolved_";
1440 var177
= string__NativeString__to_s_with_length(var175
, var176
);
1442 varonce173
= var174
;
1445 var179
= varonce178
;
1449 var182
= string__NativeString__to_s_with_length(var180
, var181
);
1451 varonce178
= var179
;
1453 var183
= NEW_array__Array(&type_array__Arraykernel__Object
);
1454 { /* var183 = array_instance Array[Object] */
1456 var185
= NEW_array__NativeArray(var184
, &type_array__NativeArraykernel__Object
);
1457 ((struct instance_array__NativeArray
*)var185
)->values
[0] = (val
*) var174
;
1458 ((struct instance_array__NativeArray
*)var185
)->values
[1] = (val
*) var_tag
;
1459 ((struct instance_array__NativeArray
*)var185
)->values
[2] = (val
*) var179
;
1461 ((void (*)(val
*, val
*, long))(var183
->class->vft
[COLOR_array__Array__with_native
]))(var183
, var185
, var184
) /* with_native on <var183:Array[Object]>*/;
1465 var186
= ((val
* (*)(val
*))(var183
->class->vft
[COLOR_string__Object__to_s
]))(var183
) /* to_s on <var183:Array[Object]>*/;
1468 abstract_compiler__CodeWriter__add_decl(var170
, var186
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var170:CodeWriter>*/
1471 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1472 var189
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1473 if (unlikely(var189
== NULL
)) {
1474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1475 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1479 RET_LABEL188
:(void)0;
1483 { /* Inline abstract_compiler#AbstractCompiler#header (var187) on <var187:AbstractCompiler> */
1484 var192
= var187
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var187:AbstractCompiler> */
1485 if (unlikely(var192
== NULL
)) {
1486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1487 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1491 RET_LABEL191
:(void)0;
1495 var194
= varonce193
;
1497 var195
= "extern long count_type_test_unresolved_";
1499 var197
= string__NativeString__to_s_with_length(var195
, var196
);
1501 varonce193
= var194
;
1504 var199
= varonce198
;
1508 var202
= string__NativeString__to_s_with_length(var200
, var201
);
1510 varonce198
= var199
;
1512 var203
= NEW_array__Array(&type_array__Arraykernel__Object
);
1513 { /* var203 = array_instance Array[Object] */
1515 var205
= NEW_array__NativeArray(var204
, &type_array__NativeArraykernel__Object
);
1516 ((struct instance_array__NativeArray
*)var205
)->values
[0] = (val
*) var194
;
1517 ((struct instance_array__NativeArray
*)var205
)->values
[1] = (val
*) var_tag
;
1518 ((struct instance_array__NativeArray
*)var205
)->values
[2] = (val
*) var199
;
1520 ((void (*)(val
*, val
*, long))(var203
->class->vft
[COLOR_array__Array__with_native
]))(var203
, var205
, var204
) /* with_native on <var203:Array[Object]>*/;
1524 var206
= ((val
* (*)(val
*))(var203
->class->vft
[COLOR_string__Object__to_s
]))(var203
) /* to_s on <var203:Array[Object]>*/;
1527 abstract_compiler__CodeWriter__add_decl(var190
, var206
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var190:CodeWriter>*/
1530 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1531 var209
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1532 if (unlikely(var209
== NULL
)) {
1533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1534 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1538 RET_LABEL208
:(void)0;
1542 { /* Inline abstract_compiler#AbstractCompiler#header (var207) on <var207:AbstractCompiler> */
1543 var212
= var207
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var207:AbstractCompiler> */
1544 if (unlikely(var212
== NULL
)) {
1545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1546 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1550 RET_LABEL211
:(void)0;
1554 var214
= varonce213
;
1556 var215
= "extern long count_type_test_skipped_";
1558 var217
= string__NativeString__to_s_with_length(var215
, var216
);
1560 varonce213
= var214
;
1563 var219
= varonce218
;
1567 var222
= string__NativeString__to_s_with_length(var220
, var221
);
1569 varonce218
= var219
;
1571 var223
= NEW_array__Array(&type_array__Arraykernel__Object
);
1572 { /* var223 = array_instance Array[Object] */
1574 var225
= NEW_array__NativeArray(var224
, &type_array__NativeArraykernel__Object
);
1575 ((struct instance_array__NativeArray
*)var225
)->values
[0] = (val
*) var214
;
1576 ((struct instance_array__NativeArray
*)var225
)->values
[1] = (val
*) var_tag
;
1577 ((struct instance_array__NativeArray
*)var225
)->values
[2] = (val
*) var219
;
1579 ((void (*)(val
*, val
*, long))(var223
->class->vft
[COLOR_array__Array__with_native
]))(var223
, var225
, var224
) /* with_native on <var223:Array[Object]>*/;
1583 var226
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_string__Object__to_s
]))(var223
) /* to_s on <var223:Array[Object]>*/;
1586 abstract_compiler__CodeWriter__add_decl(var210
, var226
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var210:CodeWriter>*/
1588 CONTINUE_label
: (void)0;
1590 array__ArrayIterator__next(var122
); /* Direct call array#ArrayIterator#next on <var122:ArrayIterator[nullable Object]>*/
1593 BREAK_label
: (void)0;
1597 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1598 var229
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1599 if (unlikely(var229
== NULL
)) {
1600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1601 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1605 RET_LABEL228
:(void)0;
1609 { /* Inline modelbuilder#ModelBuilder#toolcontext (var227) on <var227:ModelBuilder> */
1610 var232
= var227
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var227:ModelBuilder> */
1611 if (unlikely(var232
== NULL
)) {
1612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1613 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1617 RET_LABEL231
:(void)0;
1621 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var230) on <var230:ToolContext> */
1622 var235
= var230
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var230:ToolContext> */
1623 if (unlikely(var235
== NULL
)) {
1624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
1625 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 58);
1629 RET_LABEL234
:(void)0;
1633 { /* Inline opts#Option#value (var233) on <var233:OptionBool> */
1634 var238
= var233
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var233:OptionBool> */
1636 RET_LABEL237
:(void)0;
1639 var239
= ((struct instance_kernel__Bool
*)var236
)->value
; /* autounbox from nullable Object to Bool */;
1642 var241
= varonce240
;
1644 var242
= "long count_invoke_by_tables;";
1646 var244
= string__NativeString__to_s_with_length(var242
, var243
);
1648 varonce240
= var241
;
1651 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var241
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1654 var246
= varonce245
;
1656 var247
= "long count_invoke_by_direct;";
1658 var249
= string__NativeString__to_s_with_length(var247
, var248
);
1660 varonce245
= var246
;
1663 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var246
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1666 var251
= varonce250
;
1668 var252
= "long count_invoke_by_inline;";
1670 var254
= string__NativeString__to_s_with_length(var252
, var253
);
1672 varonce250
= var251
;
1675 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var251
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1678 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1679 var257
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1680 if (unlikely(var257
== NULL
)) {
1681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1682 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1686 RET_LABEL256
:(void)0;
1690 { /* Inline abstract_compiler#AbstractCompiler#header (var255) on <var255:AbstractCompiler> */
1691 var260
= var255
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var255:AbstractCompiler> */
1692 if (unlikely(var260
== NULL
)) {
1693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1694 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1698 RET_LABEL259
:(void)0;
1702 var262
= varonce261
;
1704 var263
= "extern long count_invoke_by_tables;";
1706 var265
= string__NativeString__to_s_with_length(var263
, var264
);
1708 varonce261
= var262
;
1711 abstract_compiler__CodeWriter__add_decl(var258
, var262
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var258:CodeWriter>*/
1714 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1715 var268
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1716 if (unlikely(var268
== NULL
)) {
1717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1718 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1722 RET_LABEL267
:(void)0;
1726 { /* Inline abstract_compiler#AbstractCompiler#header (var266) on <var266:AbstractCompiler> */
1727 var271
= var266
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var266:AbstractCompiler> */
1728 if (unlikely(var271
== NULL
)) {
1729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1730 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1734 RET_LABEL270
:(void)0;
1738 var273
= varonce272
;
1740 var274
= "extern long count_invoke_by_direct;";
1742 var276
= string__NativeString__to_s_with_length(var274
, var275
);
1744 varonce272
= var273
;
1747 abstract_compiler__CodeWriter__add_decl(var269
, var273
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var269:CodeWriter>*/
1750 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1751 var279
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1752 if (unlikely(var279
== NULL
)) {
1753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1754 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1758 RET_LABEL278
:(void)0;
1762 { /* Inline abstract_compiler#AbstractCompiler#header (var277) on <var277:AbstractCompiler> */
1763 var282
= var277
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var277:AbstractCompiler> */
1764 if (unlikely(var282
== NULL
)) {
1765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1766 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1770 RET_LABEL281
:(void)0;
1774 var284
= varonce283
;
1776 var285
= "extern long count_invoke_by_inline;";
1778 var287
= string__NativeString__to_s_with_length(var285
, var286
);
1780 varonce283
= var284
;
1783 abstract_compiler__CodeWriter__add_decl(var280
, var284
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var280:CodeWriter>*/
1788 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1789 var290
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1790 if (unlikely(var290
== NULL
)) {
1791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1792 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
1796 RET_LABEL289
:(void)0;
1800 { /* Inline modelbuilder#ModelBuilder#toolcontext (var288) on <var288:ModelBuilder> */
1801 var293
= var288
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var288:ModelBuilder> */
1802 if (unlikely(var293
== NULL
)) {
1803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1804 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
1808 RET_LABEL292
:(void)0;
1812 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var291) on <var291:ToolContext> */
1813 var296
= var291
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var291:ToolContext> */
1814 if (unlikely(var296
== NULL
)) {
1815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
1816 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 60);
1820 RET_LABEL295
:(void)0;
1824 { /* Inline opts#Option#value (var294) on <var294:OptionBool> */
1825 var299
= var294
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var294:OptionBool> */
1827 RET_LABEL298
:(void)0;
1830 var300
= ((struct instance_kernel__Bool
*)var297
)->value
; /* autounbox from nullable Object to Bool */;
1833 var302
= varonce301
;
1835 var303
= "long count_attr_reads = 0;";
1837 var305
= string__NativeString__to_s_with_length(var303
, var304
);
1839 varonce301
= var302
;
1842 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var302
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1845 var307
= varonce306
;
1847 var308
= "long count_isset_checks = 0;";
1849 var310
= string__NativeString__to_s_with_length(var308
, var309
);
1851 varonce306
= var307
;
1854 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var307
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1857 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1858 var313
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1859 if (unlikely(var313
== NULL
)) {
1860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1861 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1865 RET_LABEL312
:(void)0;
1869 { /* Inline abstract_compiler#AbstractCompiler#header (var311) on <var311:AbstractCompiler> */
1870 var316
= var311
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var311:AbstractCompiler> */
1871 if (unlikely(var316
== NULL
)) {
1872 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1873 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1877 RET_LABEL315
:(void)0;
1881 var318
= varonce317
;
1883 var319
= "extern long count_attr_reads;";
1885 var321
= string__NativeString__to_s_with_length(var319
, var320
);
1887 varonce317
= var318
;
1890 abstract_compiler__CodeWriter__add_decl(var314
, var318
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var314:CodeWriter>*/
1893 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1894 var324
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1895 if (unlikely(var324
== NULL
)) {
1896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1897 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
1901 RET_LABEL323
:(void)0;
1905 { /* Inline abstract_compiler#AbstractCompiler#header (var322) on <var322:AbstractCompiler> */
1906 var327
= var322
->attrs
[COLOR_abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var322:AbstractCompiler> */
1907 if (unlikely(var327
== NULL
)) {
1908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1909 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 472);
1913 RET_LABEL326
:(void)0;
1917 var329
= varonce328
;
1919 var330
= "extern long count_isset_checks;";
1921 var332
= string__NativeString__to_s_with_length(var330
, var331
);
1923 varonce328
= var329
;
1926 abstract_compiler__CodeWriter__add_decl(var325
, var329
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var325:CodeWriter>*/
1931 var334
= varonce333
;
1933 var335
= "void sig_handler(int signo){";
1935 var337
= string__NativeString__to_s_with_length(var335
, var336
);
1937 varonce333
= var334
;
1940 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var334
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1943 var339
= varonce338
;
1945 var340
= "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));";
1947 var342
= string__NativeString__to_s_with_length(var340
, var341
);
1949 varonce338
= var339
;
1952 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var339
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1955 var344
= varonce343
;
1957 var345
= "show_backtrace(signo);";
1959 var347
= string__NativeString__to_s_with_length(var345
, var346
);
1961 varonce343
= var344
;
1964 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var344
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1967 var349
= varonce348
;
1971 var352
= string__NativeString__to_s_with_length(var350
, var351
);
1973 varonce348
= var349
;
1976 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var349
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1979 var354
= varonce353
;
1981 var355
= "void show_backtrace (int signo) {";
1983 var357
= string__NativeString__to_s_with_length(var355
, var356
);
1985 varonce353
= var354
;
1988 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var354
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1991 var360
= varonce359
;
1993 var361
= "nitstack";
1995 var363
= string__NativeString__to_s_with_length(var361
, var362
);
1997 varonce359
= var360
;
1999 if (var_ost
== NULL
) {
2000 var364
= 0; /* <var360:String> cannot be null */
2002 var365
= string__FlatString___61d_61d(var_ost
, var360
);
2010 var368
= varonce367
;
2012 var369
= "libunwind";
2014 var371
= string__NativeString__to_s_with_length(var369
, var370
);
2016 varonce367
= var368
;
2018 if (var_ost
== NULL
) {
2019 var372
= 0; /* <var368:String> cannot be null */
2021 var373
= string__FlatString___61d_61d(var_ost
, var368
);
2028 var375
= varonce374
;
2030 var376
= "char* opt = getenv(\"NIT_NO_STACK\");";
2032 var378
= string__NativeString__to_s_with_length(var376
, var377
);
2034 varonce374
= var375
;
2037 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var375
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2040 var380
= varonce379
;
2042 var381
= "unw_cursor_t cursor;";
2044 var383
= string__NativeString__to_s_with_length(var381
, var382
);
2046 varonce379
= var380
;
2049 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var380
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2052 var385
= varonce384
;
2054 var386
= "if(opt==NULL){";
2056 var388
= string__NativeString__to_s_with_length(var386
, var387
);
2058 varonce384
= var385
;
2061 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var385
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2064 var390
= varonce389
;
2066 var391
= "unw_context_t uc;";
2068 var393
= string__NativeString__to_s_with_length(var391
, var392
);
2070 varonce389
= var390
;
2073 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var390
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2076 var395
= varonce394
;
2078 var396
= "unw_word_t ip;";
2080 var398
= string__NativeString__to_s_with_length(var396
, var397
);
2082 varonce394
= var395
;
2085 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var395
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2088 var400
= varonce399
;
2090 var401
= "char* procname = malloc(sizeof(char) * 100);";
2092 var403
= string__NativeString__to_s_with_length(var401
, var402
);
2094 varonce399
= var400
;
2097 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var400
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2100 var405
= varonce404
;
2102 var406
= "unw_getcontext(&uc);";
2104 var408
= string__NativeString__to_s_with_length(var406
, var407
);
2106 varonce404
= var405
;
2109 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var405
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2112 var410
= varonce409
;
2114 var411
= "unw_init_local(&cursor, &uc);";
2116 var413
= string__NativeString__to_s_with_length(var411
, var412
);
2118 varonce409
= var410
;
2121 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var410
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2124 var415
= varonce414
;
2126 var416
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2128 var418
= string__NativeString__to_s_with_length(var416
, var417
);
2130 varonce414
= var415
;
2133 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var415
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2136 var420
= varonce419
;
2138 var421
= "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");";
2140 var423
= string__NativeString__to_s_with_length(var421
, var422
);
2142 varonce419
= var420
;
2145 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var420
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2148 var425
= varonce424
;
2150 var426
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2152 var428
= string__NativeString__to_s_with_length(var426
, var427
);
2154 varonce424
= var425
;
2157 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var425
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2160 var430
= varonce429
;
2162 var431
= "while (unw_step(&cursor) > 0) {";
2164 var433
= string__NativeString__to_s_with_length(var431
, var432
);
2166 varonce429
= var430
;
2169 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var430
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2172 var435
= varonce434
;
2174 var436
= "\11unw_get_proc_name(&cursor, procname, 100, &ip);";
2176 var438
= string__NativeString__to_s_with_length(var436
, var437
);
2178 varonce434
= var435
;
2181 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var435
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2184 var440
= varonce439
;
2186 var441
= "nitstack";
2188 var443
= string__NativeString__to_s_with_length(var441
, var442
);
2190 varonce439
= var440
;
2192 if (var_ost
== NULL
) {
2193 var444
= 0; /* <var440:String> cannot be null */
2195 var445
= string__FlatString___61d_61d(var_ost
, var440
);
2200 var447
= varonce446
;
2202 var448
= "\11const char* recv = get_nit_name(procname, strlen(procname));";
2204 var450
= string__NativeString__to_s_with_length(var448
, var449
);
2206 varonce446
= var447
;
2209 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var447
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2212 var452
= varonce451
;
2214 var453
= "\11if (recv != NULL){";
2216 var455
= string__NativeString__to_s_with_length(var453
, var454
);
2218 varonce451
= var452
;
2221 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var452
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2224 var457
= varonce456
;
2226 var458
= "\11\11PRINT_ERROR(\"` %s\\n\", recv);";
2228 var460
= string__NativeString__to_s_with_length(var458
, var459
);
2230 varonce456
= var457
;
2233 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var457
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2236 var462
= varonce461
;
2238 var463
= "\11}else{";
2240 var465
= string__NativeString__to_s_with_length(var463
, var464
);
2242 varonce461
= var462
;
2245 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var462
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2248 var467
= varonce466
;
2250 var468
= "\11\11PRINT_ERROR(\"` %s\\n\", procname);";
2252 var470
= string__NativeString__to_s_with_length(var468
, var469
);
2254 varonce466
= var467
;
2257 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var467
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2260 var472
= varonce471
;
2264 var475
= string__NativeString__to_s_with_length(var473
, var474
);
2266 varonce471
= var472
;
2269 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var472
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2273 var477
= varonce476
;
2275 var478
= "\11PRINT_ERROR(\"` %s \\n\",procname);";
2277 var480
= string__NativeString__to_s_with_length(var478
, var479
);
2279 varonce476
= var477
;
2282 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var477
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2286 var482
= varonce481
;
2290 var485
= string__NativeString__to_s_with_length(var483
, var484
);
2292 varonce481
= var482
;
2295 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var482
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2298 var487
= varonce486
;
2300 var488
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2302 var490
= string__NativeString__to_s_with_length(var488
, var489
);
2304 varonce486
= var487
;
2307 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var487
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2310 var492
= varonce491
;
2312 var493
= "free(procname);";
2314 var495
= string__NativeString__to_s_with_length(var493
, var494
);
2316 varonce491
= var492
;
2319 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var492
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2322 var497
= varonce496
;
2326 var500
= string__NativeString__to_s_with_length(var498
, var499
);
2328 varonce496
= var497
;
2331 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var497
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2336 var502
= varonce501
;
2338 var503
= "exit(signo);";
2340 var505
= string__NativeString__to_s_with_length(var503
, var504
);
2342 varonce501
= var502
;
2345 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var502
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2348 var507
= varonce506
;
2352 var510
= string__NativeString__to_s_with_length(var508
, var509
);
2354 varonce506
= var507
;
2357 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var507
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2361 var512
= varonce511
;
2363 var513
= "int nit_main(int argc, char** argv) {";
2365 var515
= string__NativeString__to_s_with_length(var513
, var514
);
2367 varonce511
= var512
;
2370 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var512
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2374 var517
= varonce516
;
2376 var518
= "int main(int argc, char** argv) {";
2378 var520
= string__NativeString__to_s_with_length(var518
, var519
);
2380 varonce516
= var517
;
2383 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var517
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2387 var522
= varonce521
;
2389 var523
= "signal(SIGABRT, sig_handler);";
2391 var525
= string__NativeString__to_s_with_length(var523
, var524
);
2393 varonce521
= var522
;
2396 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var522
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2399 var527
= varonce526
;
2401 var528
= "signal(SIGFPE, sig_handler);";
2403 var530
= string__NativeString__to_s_with_length(var528
, var529
);
2405 varonce526
= var527
;
2408 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var527
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2411 var532
= varonce531
;
2413 var533
= "signal(SIGILL, sig_handler);";
2415 var535
= string__NativeString__to_s_with_length(var533
, var534
);
2417 varonce531
= var532
;
2420 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var532
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2423 var537
= varonce536
;
2425 var538
= "signal(SIGINT, sig_handler);";
2427 var540
= string__NativeString__to_s_with_length(var538
, var539
);
2429 varonce536
= var537
;
2432 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var537
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2435 var542
= varonce541
;
2437 var543
= "signal(SIGTERM, sig_handler);";
2439 var545
= string__NativeString__to_s_with_length(var543
, var544
);
2441 varonce541
= var542
;
2444 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var542
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2447 var547
= varonce546
;
2449 var548
= "signal(SIGSEGV, sig_handler);";
2451 var550
= string__NativeString__to_s_with_length(var548
, var549
);
2453 varonce546
= var547
;
2456 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var547
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2459 var552
= varonce551
;
2461 var553
= "signal(SIGPIPE, sig_handler);";
2463 var555
= string__NativeString__to_s_with_length(var553
, var554
);
2465 varonce551
= var552
;
2468 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var552
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2471 var557
= varonce556
;
2473 var558
= "glob_argc = argc; glob_argv = argv;";
2475 var560
= string__NativeString__to_s_with_length(var558
, var559
);
2477 varonce556
= var557
;
2480 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var557
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2483 var562
= varonce561
;
2485 var563
= "initialize_gc_option();";
2487 var565
= string__NativeString__to_s_with_length(var563
, var564
);
2489 varonce561
= var562
;
2492 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var562
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2495 var567
= varonce566
;
2497 var568
= "initialize_nitni_global_refs();";
2499 var570
= string__NativeString__to_s_with_length(var568
, var569
);
2501 varonce566
= var567
;
2504 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var567
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2507 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
2508 var573
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
2509 if (unlikely(var573
== NULL
)) {
2510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2511 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
2515 RET_LABEL572
:(void)0;
2519 var574
= model__MModule__sys_type(var571
);
2521 var_main_type
= var574
;
2523 if (var_main_type
== NULL
) {
2524 var576
= 0; /* is null */
2526 var576
= 1; /* arg is null and recv is not */
2529 { /* Inline kernel#Object#!= (var_main_type,var575) on <var_main_type:nullable MClassType> */
2532 var580
= ((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)>*/;
2538 RET_LABEL578
:(void)0;
2544 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
2545 var584
= var_v
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
2546 if (unlikely(var584
== NULL
)) {
2547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2548 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
2552 RET_LABEL583
:(void)0;
2556 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var582) on <var582:AbstractCompiler> */
2557 var587
= var582
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var582:AbstractCompiler> */
2558 if (unlikely(var587
== NULL
)) {
2559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2560 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
2564 RET_LABEL586
:(void)0;
2567 var_mainmodule
= var585
;
2569 var588
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
2571 var_glob_sys
= var588
;
2573 var590
= varonce589
;
2575 var591
= "glob_sys = ";
2577 var593
= string__NativeString__to_s_with_length(var591
, var592
);
2579 varonce589
= var590
;
2582 var595
= varonce594
;
2586 var598
= string__NativeString__to_s_with_length(var596
, var597
);
2588 varonce594
= var595
;
2590 var599
= NEW_array__Array(&type_array__Arraykernel__Object
);
2591 { /* var599 = array_instance Array[Object] */
2593 var601
= NEW_array__NativeArray(var600
, &type_array__NativeArraykernel__Object
);
2594 ((struct instance_array__NativeArray
*)var601
)->values
[0] = (val
*) var590
;
2595 ((struct instance_array__NativeArray
*)var601
)->values
[1] = (val
*) var_glob_sys
;
2596 ((struct instance_array__NativeArray
*)var601
)->values
[2] = (val
*) var595
;
2598 ((void (*)(val
*, val
*, long))(var599
->class->vft
[COLOR_array__Array__with_native
]))(var599
, var601
, var600
) /* with_native on <var599:Array[Object]>*/;
2602 var602
= ((val
* (*)(val
*))(var599
->class->vft
[COLOR_string__Object__to_s
]))(var599
) /* to_s on <var599:Array[Object]>*/;
2605 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var602
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2608 var604
= varonce603
;
2612 var607
= string__NativeString__to_s_with_length(var605
, var606
);
2614 varonce603
= var604
;
2617 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2618 var610
= var_main_type
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2619 if (unlikely(var610
== NULL
)) {
2620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2621 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2625 RET_LABEL609
:(void)0;
2629 var611
= model__MModule__try_get_primitive_method(var_mainmodule
, var604
, var608
);
2631 var_main_init
= var611
;
2633 if (var_main_init
== NULL
) {
2634 var613
= 0; /* is null */
2636 var613
= 1; /* arg is null and recv is not */
2639 { /* Inline kernel#Object#!= (var_main_init,var612) on <var_main_init:nullable MMethod> */
2642 var617
= ((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)>*/;
2648 RET_LABEL615
:(void)0;
2653 var619
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2656 array__Array__with_capacity(var619
, var620
); /* Direct call array#Array#with_capacity on <var619:Array[RuntimeVariable]>*/
2660 array__AbstractArray__push(var_621
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_621:Array[RuntimeVariable]>*/
2663 var622
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var_main_init
, var_621
);
2669 var624
= varonce623
;
2673 var627
= string__NativeString__to_s_with_length(var625
, var626
);
2675 varonce623
= var624
;
2678 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2679 var630
= var_main_type
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2680 if (unlikely(var630
== NULL
)) {
2681 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2682 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
2686 RET_LABEL629
:(void)0;
2690 var631
= model__MModule__try_get_primitive_method(var_mainmodule
, var624
, var628
);
2692 var_main_method
= var631
;
2694 if (var_main_method
== NULL
) {
2695 var633
= 0; /* is null */
2697 var633
= 1; /* arg is null and recv is not */
2700 { /* Inline kernel#Object#!= (var_main_method,var632) on <var_main_method:nullable MMethod> */
2703 var637
= ((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)>*/;
2709 RET_LABEL635
:(void)0;
2714 var639
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
2717 array__Array__with_capacity(var639
, var640
); /* Direct call array#Array#with_capacity on <var639:Array[RuntimeVariable]>*/
2721 array__AbstractArray__push(var_641
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_641:Array[RuntimeVariable]>*/
2724 var642
= separate_compiler__SeparateCompilerVisitor__send(var_v
, var_main_method
, var_641
);
2732 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
2733 var645
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
2734 if (unlikely(var645
== NULL
)) {
2735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2736 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
2740 RET_LABEL644
:(void)0;
2744 { /* Inline modelbuilder#ModelBuilder#toolcontext (var643) on <var643:ModelBuilder> */
2745 var648
= var643
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var643:ModelBuilder> */
2746 if (unlikely(var648
== NULL
)) {
2747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2748 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
2752 RET_LABEL647
:(void)0;
2756 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var646) on <var646:ToolContext> */
2757 var651
= var646
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var646:ToolContext> */
2758 if (unlikely(var651
== NULL
)) {
2759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
2760 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
2764 RET_LABEL650
:(void)0;
2768 { /* Inline opts#Option#value (var649) on <var649:OptionBool> */
2769 var654
= var649
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var649:OptionBool> */
2771 RET_LABEL653
:(void)0;
2774 var655
= ((struct instance_kernel__Bool
*)var652
)->value
; /* autounbox from nullable Object to Bool */;
2777 var657
= varonce656
;
2779 var658
= "long count_type_test_resolved_total = 0;";
2781 var660
= string__NativeString__to_s_with_length(var658
, var659
);
2783 varonce656
= var657
;
2786 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var657
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2789 var662
= varonce661
;
2791 var663
= "long count_type_test_unresolved_total = 0;";
2793 var665
= string__NativeString__to_s_with_length(var663
, var664
);
2795 varonce661
= var662
;
2798 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var662
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2801 var667
= varonce666
;
2803 var668
= "long count_type_test_skipped_total = 0;";
2805 var670
= string__NativeString__to_s_with_length(var668
, var669
);
2807 varonce666
= var667
;
2810 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var667
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2813 var672
= varonce671
;
2815 var673
= "long count_type_test_total_total = 0;";
2817 var675
= string__NativeString__to_s_with_length(var673
, var674
);
2819 varonce671
= var672
;
2822 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var672
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2825 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
2826 var678
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
2827 if (unlikely(var678
== NULL
)) {
2828 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
2829 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
2833 RET_LABEL677
:(void)0;
2837 var679
= array__AbstractArrayRead__iterator(var676
);
2841 var680
= array__ArrayIterator__is_ok(var679
);
2845 var681
= array__ArrayIterator__item(var679
);
2847 var_tag682
= var681
;
2849 var684
= varonce683
;
2851 var685
= "long count_type_test_total_";
2853 var687
= string__NativeString__to_s_with_length(var685
, var686
);
2855 varonce683
= var684
;
2858 var689
= varonce688
;
2862 var692
= string__NativeString__to_s_with_length(var690
, var691
);
2864 varonce688
= var689
;
2866 var693
= NEW_array__Array(&type_array__Arraykernel__Object
);
2867 { /* var693 = array_instance Array[Object] */
2869 var695
= NEW_array__NativeArray(var694
, &type_array__NativeArraykernel__Object
);
2870 ((struct instance_array__NativeArray
*)var695
)->values
[0] = (val
*) var684
;
2871 ((struct instance_array__NativeArray
*)var695
)->values
[1] = (val
*) var_tag682
;
2872 ((struct instance_array__NativeArray
*)var695
)->values
[2] = (val
*) var689
;
2874 ((void (*)(val
*, val
*, long))(var693
->class->vft
[COLOR_array__Array__with_native
]))(var693
, var695
, var694
) /* with_native on <var693:Array[Object]>*/;
2878 var696
= ((val
* (*)(val
*))(var693
->class->vft
[COLOR_string__Object__to_s
]))(var693
) /* to_s on <var693:Array[Object]>*/;
2881 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var696
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2884 var698
= varonce697
;
2886 var699
= "count_type_test_total_";
2888 var701
= string__NativeString__to_s_with_length(var699
, var700
);
2890 varonce697
= var698
;
2893 var703
= varonce702
;
2895 var704
= " = count_type_test_resolved_";
2897 var706
= string__NativeString__to_s_with_length(var704
, var705
);
2899 varonce702
= var703
;
2902 var708
= varonce707
;
2904 var709
= " + count_type_test_unresolved_";
2906 var711
= string__NativeString__to_s_with_length(var709
, var710
);
2908 varonce707
= var708
;
2911 var713
= varonce712
;
2913 var714
= " + count_type_test_skipped_";
2915 var716
= string__NativeString__to_s_with_length(var714
, var715
);
2917 varonce712
= var713
;
2920 var718
= varonce717
;
2924 var721
= string__NativeString__to_s_with_length(var719
, var720
);
2926 varonce717
= var718
;
2928 var722
= NEW_array__Array(&type_array__Arraykernel__Object
);
2929 { /* var722 = array_instance Array[Object] */
2931 var724
= NEW_array__NativeArray(var723
, &type_array__NativeArraykernel__Object
);
2932 ((struct instance_array__NativeArray
*)var724
)->values
[0] = (val
*) var698
;
2933 ((struct instance_array__NativeArray
*)var724
)->values
[1] = (val
*) var_tag682
;
2934 ((struct instance_array__NativeArray
*)var724
)->values
[2] = (val
*) var703
;
2935 ((struct instance_array__NativeArray
*)var724
)->values
[3] = (val
*) var_tag682
;
2936 ((struct instance_array__NativeArray
*)var724
)->values
[4] = (val
*) var708
;
2937 ((struct instance_array__NativeArray
*)var724
)->values
[5] = (val
*) var_tag682
;
2938 ((struct instance_array__NativeArray
*)var724
)->values
[6] = (val
*) var713
;
2939 ((struct instance_array__NativeArray
*)var724
)->values
[7] = (val
*) var_tag682
;
2940 ((struct instance_array__NativeArray
*)var724
)->values
[8] = (val
*) var718
;
2942 ((void (*)(val
*, val
*, long))(var722
->class->vft
[COLOR_array__Array__with_native
]))(var722
, var724
, var723
) /* with_native on <var722:Array[Object]>*/;
2946 var725
= ((val
* (*)(val
*))(var722
->class->vft
[COLOR_string__Object__to_s
]))(var722
) /* to_s on <var722:Array[Object]>*/;
2949 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var725
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2952 var727
= varonce726
;
2954 var728
= "count_type_test_resolved_total += count_type_test_resolved_";
2956 var730
= string__NativeString__to_s_with_length(var728
, var729
);
2958 varonce726
= var727
;
2961 var732
= varonce731
;
2965 var735
= string__NativeString__to_s_with_length(var733
, var734
);
2967 varonce731
= var732
;
2969 var736
= NEW_array__Array(&type_array__Arraykernel__Object
);
2970 { /* var736 = array_instance Array[Object] */
2972 var738
= NEW_array__NativeArray(var737
, &type_array__NativeArraykernel__Object
);
2973 ((struct instance_array__NativeArray
*)var738
)->values
[0] = (val
*) var727
;
2974 ((struct instance_array__NativeArray
*)var738
)->values
[1] = (val
*) var_tag682
;
2975 ((struct instance_array__NativeArray
*)var738
)->values
[2] = (val
*) var732
;
2977 ((void (*)(val
*, val
*, long))(var736
->class->vft
[COLOR_array__Array__with_native
]))(var736
, var738
, var737
) /* with_native on <var736:Array[Object]>*/;
2981 var739
= ((val
* (*)(val
*))(var736
->class->vft
[COLOR_string__Object__to_s
]))(var736
) /* to_s on <var736:Array[Object]>*/;
2984 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var739
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2987 var741
= varonce740
;
2989 var742
= "count_type_test_unresolved_total += count_type_test_unresolved_";
2991 var744
= string__NativeString__to_s_with_length(var742
, var743
);
2993 varonce740
= var741
;
2996 var746
= varonce745
;
3000 var749
= string__NativeString__to_s_with_length(var747
, var748
);
3002 varonce745
= var746
;
3004 var750
= NEW_array__Array(&type_array__Arraykernel__Object
);
3005 { /* var750 = array_instance Array[Object] */
3007 var752
= NEW_array__NativeArray(var751
, &type_array__NativeArraykernel__Object
);
3008 ((struct instance_array__NativeArray
*)var752
)->values
[0] = (val
*) var741
;
3009 ((struct instance_array__NativeArray
*)var752
)->values
[1] = (val
*) var_tag682
;
3010 ((struct instance_array__NativeArray
*)var752
)->values
[2] = (val
*) var746
;
3012 ((void (*)(val
*, val
*, long))(var750
->class->vft
[COLOR_array__Array__with_native
]))(var750
, var752
, var751
) /* with_native on <var750:Array[Object]>*/;
3016 var753
= ((val
* (*)(val
*))(var750
->class->vft
[COLOR_string__Object__to_s
]))(var750
) /* to_s on <var750:Array[Object]>*/;
3019 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var753
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3022 var755
= varonce754
;
3024 var756
= "count_type_test_skipped_total += count_type_test_skipped_";
3026 var758
= string__NativeString__to_s_with_length(var756
, var757
);
3028 varonce754
= var755
;
3031 var760
= varonce759
;
3035 var763
= string__NativeString__to_s_with_length(var761
, var762
);
3037 varonce759
= var760
;
3039 var764
= NEW_array__Array(&type_array__Arraykernel__Object
);
3040 { /* var764 = array_instance Array[Object] */
3042 var766
= NEW_array__NativeArray(var765
, &type_array__NativeArraykernel__Object
);
3043 ((struct instance_array__NativeArray
*)var766
)->values
[0] = (val
*) var755
;
3044 ((struct instance_array__NativeArray
*)var766
)->values
[1] = (val
*) var_tag682
;
3045 ((struct instance_array__NativeArray
*)var766
)->values
[2] = (val
*) var760
;
3047 ((void (*)(val
*, val
*, long))(var764
->class->vft
[COLOR_array__Array__with_native
]))(var764
, var766
, var765
) /* with_native on <var764:Array[Object]>*/;
3051 var767
= ((val
* (*)(val
*))(var764
->class->vft
[COLOR_string__Object__to_s
]))(var764
) /* to_s on <var764:Array[Object]>*/;
3054 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var767
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3057 var769
= varonce768
;
3059 var770
= "count_type_test_total_total += count_type_test_total_";
3061 var772
= string__NativeString__to_s_with_length(var770
, var771
);
3063 varonce768
= var769
;
3066 var774
= varonce773
;
3070 var777
= string__NativeString__to_s_with_length(var775
, var776
);
3072 varonce773
= var774
;
3074 var778
= NEW_array__Array(&type_array__Arraykernel__Object
);
3075 { /* var778 = array_instance Array[Object] */
3077 var780
= NEW_array__NativeArray(var779
, &type_array__NativeArraykernel__Object
);
3078 ((struct instance_array__NativeArray
*)var780
)->values
[0] = (val
*) var769
;
3079 ((struct instance_array__NativeArray
*)var780
)->values
[1] = (val
*) var_tag682
;
3080 ((struct instance_array__NativeArray
*)var780
)->values
[2] = (val
*) var774
;
3082 ((void (*)(val
*, val
*, long))(var778
->class->vft
[COLOR_array__Array__with_native
]))(var778
, var780
, var779
) /* with_native on <var778:Array[Object]>*/;
3086 var781
= ((val
* (*)(val
*))(var778
->class->vft
[COLOR_string__Object__to_s
]))(var778
) /* to_s on <var778:Array[Object]>*/;
3089 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var781
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3091 CONTINUE_label782
: (void)0;
3093 array__ArrayIterator__next(var679
); /* Direct call array#ArrayIterator#next on <var679:ArrayIterator[nullable Object]>*/
3096 BREAK_label782
: (void)0;
3098 var784
= varonce783
;
3100 var785
= "printf(\"# dynamic count_type_test: total %l\\n\");";
3102 var787
= string__NativeString__to_s_with_length(var785
, var786
);
3104 varonce783
= var784
;
3107 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var784
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3110 var789
= varonce788
;
3112 var790
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
3114 var792
= string__NativeString__to_s_with_length(var790
, var791
);
3116 varonce788
= var789
;
3119 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var789
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3122 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
3123 var795
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3124 if (unlikely(var795
== NULL
)) {
3125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3126 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
3130 RET_LABEL794
:(void)0;
3134 var796
= array__Collection__to_a(var793
);
3138 var798
= varonce797
;
3142 var801
= string__NativeString__to_s_with_length(var799
, var800
);
3144 varonce797
= var798
;
3147 array__Array__add(var_tags
, var798
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
3150 var802
= array__AbstractArrayRead__iterator(var_tags
);
3154 var803
= array__ArrayIterator__is_ok(var802
);
3158 var804
= array__ArrayIterator__item(var802
);
3160 var_tag805
= var804
;
3162 var807
= varonce806
;
3164 var808
= "printf(\"";
3166 var810
= string__NativeString__to_s_with_length(var808
, var809
);
3168 varonce806
= var807
;
3171 var812
= varonce811
;
3175 var815
= string__NativeString__to_s_with_length(var813
, var814
);
3177 varonce811
= var812
;
3179 var816
= NEW_array__Array(&type_array__Arraykernel__Object
);
3180 { /* var816 = array_instance Array[Object] */
3182 var818
= NEW_array__NativeArray(var817
, &type_array__NativeArraykernel__Object
);
3183 ((struct instance_array__NativeArray
*)var818
)->values
[0] = (val
*) var807
;
3184 ((struct instance_array__NativeArray
*)var818
)->values
[1] = (val
*) var_tag805
;
3185 ((struct instance_array__NativeArray
*)var818
)->values
[2] = (val
*) var812
;
3187 ((void (*)(val
*, val
*, long))(var816
->class->vft
[COLOR_array__Array__with_native
]))(var816
, var818
, var817
) /* with_native on <var816:Array[Object]>*/;
3191 var819
= ((val
* (*)(val
*))(var816
->class->vft
[COLOR_string__Object__to_s
]))(var816
) /* to_s on <var816:Array[Object]>*/;
3194 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var819
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3197 var821
= varonce820
;
3199 var822
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
3201 var824
= string__NativeString__to_s_with_length(var822
, var823
);
3203 varonce820
= var821
;
3206 var826
= varonce825
;
3208 var827
= ", 100.0*count_type_test_resolved_";
3210 var829
= string__NativeString__to_s_with_length(var827
, var828
);
3212 varonce825
= var826
;
3215 var831
= varonce830
;
3217 var832
= "/count_type_test_total_total);";
3219 var834
= string__NativeString__to_s_with_length(var832
, var833
);
3221 varonce830
= var831
;
3223 var835
= NEW_array__Array(&type_array__Arraykernel__Object
);
3224 { /* var835 = array_instance Array[Object] */
3226 var837
= NEW_array__NativeArray(var836
, &type_array__NativeArraykernel__Object
);
3227 ((struct instance_array__NativeArray
*)var837
)->values
[0] = (val
*) var821
;
3228 ((struct instance_array__NativeArray
*)var837
)->values
[1] = (val
*) var_tag805
;
3229 ((struct instance_array__NativeArray
*)var837
)->values
[2] = (val
*) var826
;
3230 ((struct instance_array__NativeArray
*)var837
)->values
[3] = (val
*) var_tag805
;
3231 ((struct instance_array__NativeArray
*)var837
)->values
[4] = (val
*) var831
;
3233 ((void (*)(val
*, val
*, long))(var835
->class->vft
[COLOR_array__Array__with_native
]))(var835
, var837
, var836
) /* with_native on <var835:Array[Object]>*/;
3237 var838
= ((val
* (*)(val
*))(var835
->class->vft
[COLOR_string__Object__to_s
]))(var835
) /* to_s on <var835:Array[Object]>*/;
3240 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var838
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3243 var840
= varonce839
;
3245 var841
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
3247 var843
= string__NativeString__to_s_with_length(var841
, var842
);
3249 varonce839
= var840
;
3252 var845
= varonce844
;
3254 var846
= ", 100.0*count_type_test_unresolved_";
3256 var848
= string__NativeString__to_s_with_length(var846
, var847
);
3258 varonce844
= var845
;
3261 var850
= varonce849
;
3263 var851
= "/count_type_test_total_total);";
3265 var853
= string__NativeString__to_s_with_length(var851
, var852
);
3267 varonce849
= var850
;
3269 var854
= NEW_array__Array(&type_array__Arraykernel__Object
);
3270 { /* var854 = array_instance Array[Object] */
3272 var856
= NEW_array__NativeArray(var855
, &type_array__NativeArraykernel__Object
);
3273 ((struct instance_array__NativeArray
*)var856
)->values
[0] = (val
*) var840
;
3274 ((struct instance_array__NativeArray
*)var856
)->values
[1] = (val
*) var_tag805
;
3275 ((struct instance_array__NativeArray
*)var856
)->values
[2] = (val
*) var845
;
3276 ((struct instance_array__NativeArray
*)var856
)->values
[3] = (val
*) var_tag805
;
3277 ((struct instance_array__NativeArray
*)var856
)->values
[4] = (val
*) var850
;
3279 ((void (*)(val
*, val
*, long))(var854
->class->vft
[COLOR_array__Array__with_native
]))(var854
, var856
, var855
) /* with_native on <var854:Array[Object]>*/;
3283 var857
= ((val
* (*)(val
*))(var854
->class->vft
[COLOR_string__Object__to_s
]))(var854
) /* to_s on <var854:Array[Object]>*/;
3286 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var857
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3289 var859
= varonce858
;
3291 var860
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
3293 var862
= string__NativeString__to_s_with_length(var860
, var861
);
3295 varonce858
= var859
;
3298 var864
= varonce863
;
3300 var865
= ", 100.0*count_type_test_skipped_";
3302 var867
= string__NativeString__to_s_with_length(var865
, var866
);
3304 varonce863
= var864
;
3307 var869
= varonce868
;
3309 var870
= "/count_type_test_total_total);";
3311 var872
= string__NativeString__to_s_with_length(var870
, var871
);
3313 varonce868
= var869
;
3315 var873
= NEW_array__Array(&type_array__Arraykernel__Object
);
3316 { /* var873 = array_instance Array[Object] */
3318 var875
= NEW_array__NativeArray(var874
, &type_array__NativeArraykernel__Object
);
3319 ((struct instance_array__NativeArray
*)var875
)->values
[0] = (val
*) var859
;
3320 ((struct instance_array__NativeArray
*)var875
)->values
[1] = (val
*) var_tag805
;
3321 ((struct instance_array__NativeArray
*)var875
)->values
[2] = (val
*) var864
;
3322 ((struct instance_array__NativeArray
*)var875
)->values
[3] = (val
*) var_tag805
;
3323 ((struct instance_array__NativeArray
*)var875
)->values
[4] = (val
*) var869
;
3325 ((void (*)(val
*, val
*, long))(var873
->class->vft
[COLOR_array__Array__with_native
]))(var873
, var875
, var874
) /* with_native on <var873:Array[Object]>*/;
3329 var876
= ((val
* (*)(val
*))(var873
->class->vft
[COLOR_string__Object__to_s
]))(var873
) /* to_s on <var873:Array[Object]>*/;
3332 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var876
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3335 var878
= varonce877
;
3337 var879
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
3339 var881
= string__NativeString__to_s_with_length(var879
, var880
);
3341 varonce877
= var878
;
3344 var883
= varonce882
;
3346 var884
= ", 100.0*count_type_test_total_";
3348 var886
= string__NativeString__to_s_with_length(var884
, var885
);
3350 varonce882
= var883
;
3353 var888
= varonce887
;
3355 var889
= "/count_type_test_total_total);";
3357 var891
= string__NativeString__to_s_with_length(var889
, var890
);
3359 varonce887
= var888
;
3361 var892
= NEW_array__Array(&type_array__Arraykernel__Object
);
3362 { /* var892 = array_instance Array[Object] */
3364 var894
= NEW_array__NativeArray(var893
, &type_array__NativeArraykernel__Object
);
3365 ((struct instance_array__NativeArray
*)var894
)->values
[0] = (val
*) var878
;
3366 ((struct instance_array__NativeArray
*)var894
)->values
[1] = (val
*) var_tag805
;
3367 ((struct instance_array__NativeArray
*)var894
)->values
[2] = (val
*) var883
;
3368 ((struct instance_array__NativeArray
*)var894
)->values
[3] = (val
*) var_tag805
;
3369 ((struct instance_array__NativeArray
*)var894
)->values
[4] = (val
*) var888
;
3371 ((void (*)(val
*, val
*, long))(var892
->class->vft
[COLOR_array__Array__with_native
]))(var892
, var894
, var893
) /* with_native on <var892:Array[Object]>*/;
3375 var895
= ((val
* (*)(val
*))(var892
->class->vft
[COLOR_string__Object__to_s
]))(var892
) /* to_s on <var892:Array[Object]>*/;
3378 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var895
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3380 CONTINUE_label896
: (void)0;
3382 array__ArrayIterator__next(var802
); /* Direct call array#ArrayIterator#next on <var802:ArrayIterator[nullable Object]>*/
3385 BREAK_label896
: (void)0;
3389 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3390 var899
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3391 if (unlikely(var899
== NULL
)) {
3392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3393 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
3397 RET_LABEL898
:(void)0;
3401 { /* Inline modelbuilder#ModelBuilder#toolcontext (var897) on <var897:ModelBuilder> */
3402 var902
= var897
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var897:ModelBuilder> */
3403 if (unlikely(var902
== NULL
)) {
3404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3405 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
3409 RET_LABEL901
:(void)0;
3413 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var900) on <var900:ToolContext> */
3414 var905
= var900
->attrs
[COLOR_abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var900:ToolContext> */
3415 if (unlikely(var905
== NULL
)) {
3416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3417 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 58);
3421 RET_LABEL904
:(void)0;
3425 { /* Inline opts#Option#value (var903) on <var903:OptionBool> */
3426 var908
= var903
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var903:OptionBool> */
3428 RET_LABEL907
:(void)0;
3431 var909
= ((struct instance_kernel__Bool
*)var906
)->value
; /* autounbox from nullable Object to Bool */;
3434 var911
= varonce910
;
3436 var912
= "long count_invoke_total;";
3438 var914
= string__NativeString__to_s_with_length(var912
, var913
);
3440 varonce910
= var911
;
3443 abstract_compiler__AbstractCompilerVisitor__add_decl(var_v
, var911
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3446 var916
= varonce915
;
3448 var917
= "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;";
3450 var919
= string__NativeString__to_s_with_length(var917
, var918
);
3452 varonce915
= var916
;
3455 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var916
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3458 var921
= varonce920
;
3460 var922
= "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);";
3462 var924
= string__NativeString__to_s_with_length(var922
, var923
);
3464 varonce920
= var921
;
3467 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var921
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3470 var926
= varonce925
;
3472 var927
= "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);";
3474 var929
= string__NativeString__to_s_with_length(var927
, var928
);
3476 varonce925
= var926
;
3479 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var926
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3482 var931
= varonce930
;
3484 var932
= "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);";
3486 var934
= string__NativeString__to_s_with_length(var932
, var933
);
3488 varonce930
= var931
;
3491 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var931
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3494 var936
= varonce935
;
3496 var937
= "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);";
3498 var939
= string__NativeString__to_s_with_length(var937
, var938
);
3500 varonce935
= var936
;
3503 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var936
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3508 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3509 var942
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3510 if (unlikely(var942
== NULL
)) {
3511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3512 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
3516 RET_LABEL941
:(void)0;
3520 { /* Inline modelbuilder#ModelBuilder#toolcontext (var940) on <var940:ModelBuilder> */
3521 var945
= var940
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var940:ModelBuilder> */
3522 if (unlikely(var945
== NULL
)) {
3523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3524 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
3528 RET_LABEL944
:(void)0;
3532 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var943) on <var943:ToolContext> */
3533 var948
= var943
->attrs
[COLOR_abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var943:ToolContext> */
3534 if (unlikely(var948
== NULL
)) {
3535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
3536 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 60);
3540 RET_LABEL947
:(void)0;
3544 { /* Inline opts#Option#value (var946) on <var946:OptionBool> */
3545 var951
= var946
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var946:OptionBool> */
3547 RET_LABEL950
:(void)0;
3550 var952
= ((struct instance_kernel__Bool
*)var949
)->value
; /* autounbox from nullable Object to Bool */;
3553 var954
= varonce953
;
3555 var955
= "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);";
3557 var957
= string__NativeString__to_s_with_length(var955
, var956
);
3559 varonce953
= var954
;
3562 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var954
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3565 var959
= varonce958
;
3567 var960
= "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);";
3569 var962
= string__NativeString__to_s_with_length(var960
, var961
);
3571 varonce958
= var959
;
3574 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var959
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3579 var964
= varonce963
;
3581 var965
= "return 0;";
3583 var967
= string__NativeString__to_s_with_length(var965
, var966
);
3585 varonce963
= var964
;
3588 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var964
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3591 var969
= varonce968
;
3595 var972
= string__NativeString__to_s_with_length(var970
, var971
);
3597 varonce968
= var969
;
3600 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var969
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3604 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
3605 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
3606 abstract_compiler__AbstractCompiler__compile_main_function(self
); /* Direct call abstract_compiler#AbstractCompiler#compile_main_function on <self:Object(AbstractCompiler)>*/
3609 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: AbstractCompiler) */
3610 void abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(val
* self
) {
3611 val
* var
/* : AbstractCompilerVisitor */;
3612 val
* var_v
/* var v: AbstractCompilerVisitor */;
3613 static val
* varonce
;
3614 val
* var1
/* : String */;
3615 char* var2
/* : NativeString */;
3616 long var3
/* : Int */;
3617 val
* var4
/* : FlatString */;
3619 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
3625 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";
3627 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3632 abstract_compiler__AbstractCompilerVisitor__add(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3636 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: Object) */
3637 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(val
* self
) {
3638 abstract_compiler__AbstractCompiler__compile_nitni_global_ref_functions(self
); /* Direct call abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions on <self:Object(AbstractCompiler)>*/
3641 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
3642 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
3643 val
* var
/* : Array[ExternFile] */;
3644 val
* var1
/* : Array[ExternFile] */;
3645 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
3646 if (unlikely(var1
== NULL
)) {
3647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3648 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 847);
3655 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternFile] */
3656 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
3657 val
* var
/* : Array[ExternFile] */;
3658 val
* var1
/* : Array[ExternFile] */;
3659 val
* var3
/* : Array[ExternFile] */;
3660 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (self) on <self:Object(AbstractCompiler)> */
3661 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:Object(AbstractCompiler)> */
3662 if (unlikely(var3
== NULL
)) {
3663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3664 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 847);
3674 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: AbstractCompiler): Array[String] */
3675 val
* abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
3676 val
* var
/* : Array[String] */;
3677 val
* var1
/* : Array[String] */;
3678 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:AbstractCompiler> */
3679 if (unlikely(var1
== NULL
)) {
3680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3681 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 850);
3688 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: Object): Array[String] */
3689 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
3690 val
* var
/* : Array[String] */;
3691 val
* var1
/* : Array[String] */;
3692 val
* var3
/* : Array[String] */;
3693 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (self) on <self:Object(AbstractCompiler)> */
3694 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:Object(AbstractCompiler)> */
3695 if (unlikely(var3
== NULL
)) {
3696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3697 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 850);
3707 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
3708 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
3709 val
* var
/* : ArraySet[String] */;
3710 val
* var1
/* : ArraySet[String] */;
3711 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:AbstractCompiler> */
3712 if (unlikely(var1
== NULL
)) {
3713 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3714 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 853);
3721 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
3722 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
3723 val
* var
/* : ArraySet[String] */;
3724 val
* var1
/* : ArraySet[String] */;
3725 val
* var3
/* : ArraySet[String] */;
3726 { /* Inline abstract_compiler#AbstractCompiler#seen_extern (self) on <self:Object(AbstractCompiler)> */
3727 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:Object(AbstractCompiler)> */
3728 if (unlikely(var3
== NULL
)) {
3729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3730 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 853);
3740 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
3741 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3742 short int var
/* : Bool */;
3745 const struct type
* type_struct
;
3746 const char* var_class_name
;
3747 val
* var_v
/* var v: AbstractCompilerVisitor */;
3748 val
* var_recv
/* var recv: RuntimeVariable */;
3749 val
* var_mtype
/* var mtype: MClassType */;
3750 val
* var1
/* : MModule */;
3751 val
* var3
/* : MModule */;
3752 val
* var4
/* : Set[MClassDef] */;
3753 val
* var5
/* : Array[nullable Object] */;
3754 val
* var_cds
/* var cds: Array[MClassDef] */;
3755 val
* var6
/* : MModule */;
3756 val
* var8
/* : MModule */;
3757 val
* var9
/* : ArrayIterator[nullable Object] */;
3758 short int var10
/* : Bool */;
3759 val
* var11
/* : nullable Object */;
3760 val
* var_cd
/* var cd: MClassDef */;
3761 val
* var12
/* : ModelBuilder */;
3762 val
* var14
/* : ModelBuilder */;
3763 val
* var15
/* : HashMap[MClassDef, AClassdef] */;
3764 val
* var17
/* : HashMap[MClassDef, AClassdef] */;
3765 val
* var18
/* : nullable Object */;
3766 val
* var_n
/* var n: AClassdef */;
3767 val
* var19
/* : ANodes[APropdef] */;
3768 val
* var21
/* : ANodes[APropdef] */;
3769 val
* var22
/* : Iterator[ANode] */;
3770 short int var23
/* : Bool */;
3771 val
* var24
/* : nullable Object */;
3772 val
* var_npropdef
/* var npropdef: APropdef */;
3773 short int var25
/* : Bool */;
3776 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
3777 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3778 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
3779 cltype
= type_struct
->color
;
3780 idtype
= type_struct
->id
;
3781 if(cltype
>= p0
->type
->table_size
) {
3784 var
= p0
->type
->type_table
[cltype
] == idtype
;
3786 if (unlikely(!var
)) {
3787 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3788 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3789 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 856);
3796 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3797 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3798 if (unlikely(var3
== NULL
)) {
3799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3800 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
3808 var4
= model__MClassType__collect_mclassdefs(var_mtype
, var1
);
3811 var5
= array__Collection__to_a(var4
);
3815 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3816 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3817 if (unlikely(var8
== NULL
)) {
3818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3819 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
3827 model__MModule__linearize_mclassdefs(var6
, var_cds
); /* Direct call model#MModule#linearize_mclassdefs on <var6:MModule>*/
3830 var9
= array__AbstractArrayRead__iterator(var_cds
);
3834 var10
= array__ArrayIterator__is_ok(var9
);
3838 var11
= array__ArrayIterator__item(var9
);
3842 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3843 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3844 if (unlikely(var14
== NULL
)) {
3845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3846 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
3850 RET_LABEL13
:(void)0;
3854 { /* Inline modelize_class#ModelBuilder#mclassdef2nclassdef (var12) on <var12:ModelBuilder> */
3855 var17
= var12
->attrs
[COLOR_modelize_class__ModelBuilder___mclassdef2nclassdef
].val
; /* _mclassdef2nclassdef on <var12:ModelBuilder> */
3856 if (unlikely(var17
== NULL
)) {
3857 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef2nclassdef");
3858 PRINT_ERROR(" (%s:%d)\n", "src/modelize_class.nit", 399);
3862 RET_LABEL16
:(void)0;
3866 var18
= hash_collection__HashMap___91d_93d(var15
, var_cd
);
3870 { /* Inline parser_nodes#AClassdef#n_propdefs (var_n) on <var_n:AClassdef> */
3871 var21
= var_n
->attrs
[COLOR_parser_nodes__AClassdef___n_propdefs
].val
; /* _n_propdefs on <var_n:AClassdef> */
3872 if (unlikely(var21
== NULL
)) {
3873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_propdefs");
3874 PRINT_ERROR(" (%s:%d)\n", "src/parser/parser_nodes.nit", 802);
3878 RET_LABEL20
:(void)0;
3882 var22
= parser_nodes__ANodes__iterator(var19
);
3886 var23
= ((short int (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var22
) /* is_ok on <var22:Iterator[ANode]>*/;
3890 var24
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var22
) /* item on <var22:Iterator[ANode]>*/;
3892 var_npropdef
= var24
;
3893 /* <var_npropdef:APropdef> isa AAttrPropdef */
3894 cltype26
= type_parser_nodes__AAttrPropdef
.color
;
3895 idtype27
= type_parser_nodes__AAttrPropdef
.id
;
3896 if(cltype26
>= var_npropdef
->type
->table_size
) {
3899 var25
= var_npropdef
->type
->type_table
[cltype26
] == idtype27
;
3903 abstract_compiler__AAttrPropdef__init_expr(var_npropdef
, var_v
, var_recv
); /* Direct call abstract_compiler#AAttrPropdef#init_expr on <var_npropdef:APropdef(AAttrPropdef)>*/
3907 CONTINUE_label
: (void)0;
3909 ((void (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var22
) /* next on <var22:Iterator[ANode]>*/;
3912 BREAK_label
: (void)0;
3913 CONTINUE_label28
: (void)0;
3915 array__ArrayIterator__next(var9
); /* Direct call array#ArrayIterator#next on <var9:ArrayIterator[nullable Object]>*/
3918 BREAK_label28
: (void)0;
3921 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
3922 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3923 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:Object(AbstractCompiler)>*/
3926 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
3927 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
3928 val
* var
/* : Array[String] */;
3929 val
* var1
/* : Array[String] */;
3930 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3931 if (unlikely(var1
== NULL
)) {
3932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3933 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
3940 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
3941 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
3942 val
* var
/* : Array[String] */;
3943 val
* var1
/* : Array[String] */;
3944 val
* var3
/* : Array[String] */;
3945 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:Object(AbstractCompiler)> */
3946 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:Object(AbstractCompiler)> */
3947 if (unlikely(var3
== NULL
)) {
3948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3949 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
3959 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
3960 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
3961 val
* var
/* : HashMap[String, Int] */;
3962 val
* var1
/* : HashMap[String, Int] */;
3963 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
3964 if (unlikely(var1
== NULL
)) {
3965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
3966 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
3973 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
3974 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
3975 val
* var
/* : HashMap[String, Int] */;
3976 val
* var1
/* : HashMap[String, Int] */;
3977 val
* var3
/* : HashMap[String, Int] */;
3978 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:Object(AbstractCompiler)> */
3979 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:Object(AbstractCompiler)> */
3980 if (unlikely(var3
== NULL
)) {
3981 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
3982 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
3992 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
3993 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
3994 val
* var
/* : HashMap[String, Int] */;
3995 val
* var1
/* : HashMap[String, Int] */;
3996 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
3997 if (unlikely(var1
== NULL
)) {
3998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
3999 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4006 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
4007 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
4008 val
* var
/* : HashMap[String, Int] */;
4009 val
* var1
/* : HashMap[String, Int] */;
4010 val
* var3
/* : HashMap[String, Int] */;
4011 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:Object(AbstractCompiler)> */
4012 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:Object(AbstractCompiler)> */
4013 if (unlikely(var3
== NULL
)) {
4014 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4015 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4025 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
4026 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
4027 val
* var
/* : HashMap[String, Int] */;
4028 val
* var1
/* : HashMap[String, Int] */;
4029 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4030 if (unlikely(var1
== NULL
)) {
4031 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4032 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4039 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
4040 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
4041 val
* var
/* : HashMap[String, Int] */;
4042 val
* var1
/* : HashMap[String, Int] */;
4043 val
* var3
/* : HashMap[String, Int] */;
4044 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:Object(AbstractCompiler)> */
4045 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:Object(AbstractCompiler)> */
4046 if (unlikely(var3
== NULL
)) {
4047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4048 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4058 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
4059 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
4060 val
* var
/* : HashMap[String, Int] */;
4061 val
* var1
/* : HashMap[String, Int] */;
4062 val
* var_res
/* var res: HashMap[String, Int] */;
4063 val
* var2
/* : Array[String] */;
4064 val
* var4
/* : Array[String] */;
4065 val
* var5
/* : ArrayIterator[nullable Object] */;
4066 short int var6
/* : Bool */;
4067 val
* var7
/* : nullable Object */;
4068 val
* var_tag
/* var tag: String */;
4069 long var8
/* : Int */;
4070 val
* var9
/* : nullable Object */;
4071 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
4073 hash_collection__HashMap__init(var1
); /* Direct call hash_collection#HashMap#init on <var1:HashMap[String, Int]>*/
4077 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4078 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4079 if (unlikely(var4
== NULL
)) {
4080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4081 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
4089 var5
= array__AbstractArrayRead__iterator(var2
);
4093 var6
= array__ArrayIterator__is_ok(var5
);
4097 var7
= array__ArrayIterator__item(var5
);
4102 var9
= BOX_kernel__Int(var8
); /* autobox from Int to nullable Object */
4103 hash_collection__HashMap___91d_93d_61d(var_res
, var_tag
, var9
); /* Direct call hash_collection#HashMap#[]= on <var_res:HashMap[String, Int]>*/
4105 CONTINUE_label
: (void)0;
4107 array__ArrayIterator__next(var5
); /* Direct call array#ArrayIterator#next on <var5:ArrayIterator[nullable Object]>*/
4110 BREAK_label
: (void)0;
4116 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
4117 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
4118 val
* var
/* : HashMap[String, Int] */;
4119 val
* var1
/* : HashMap[String, Int] */;
4120 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
4125 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
4126 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
4127 val
* var
/* : ModelBuilder */;
4128 val
* var2
/* : ModelBuilder */;
4129 val
* var3
/* : ToolContext */;
4130 val
* var5
/* : ToolContext */;
4131 val
* var6
/* : OptionBool */;
4132 val
* var8
/* : OptionBool */;
4133 val
* var9
/* : nullable Object */;
4134 val
* var11
/* : nullable Object */;
4135 short int var12
/* : Bool */;
4136 static val
* varonce
;
4137 val
* var13
/* : String */;
4138 char* var14
/* : NativeString */;
4139 long var15
/* : Int */;
4140 val
* var16
/* : FlatString */;
4141 static val
* varonce17
;
4142 val
* var18
/* : String */;
4143 char* var19
/* : NativeString */;
4144 long var20
/* : Int */;
4145 val
* var21
/* : FlatString */;
4146 val
* var22
/* : HashMap[String, Int] */;
4147 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
4148 val
* var23
/* : HashMap[String, Int] */;
4149 val
* var25
/* : HashMap[String, Int] */;
4150 static val
* varonce26
;
4151 val
* var27
/* : String */;
4152 char* var28
/* : NativeString */;
4153 long var29
/* : Int */;
4154 val
* var30
/* : FlatString */;
4155 long var31
/* : Int */;
4156 val
* var32
/* : nullable Object */;
4157 val
* var33
/* : HashMap[String, Int] */;
4158 val
* var35
/* : HashMap[String, Int] */;
4159 static val
* varonce36
;
4160 val
* var37
/* : String */;
4161 char* var38
/* : NativeString */;
4162 long var39
/* : Int */;
4163 val
* var40
/* : FlatString */;
4164 long var41
/* : Int */;
4165 val
* var42
/* : nullable Object */;
4166 val
* var43
/* : HashMap[String, Int] */;
4167 val
* var45
/* : HashMap[String, Int] */;
4168 static val
* varonce46
;
4169 val
* var47
/* : String */;
4170 char* var48
/* : NativeString */;
4171 long var49
/* : Int */;
4172 val
* var50
/* : FlatString */;
4173 long var51
/* : Int */;
4174 val
* var52
/* : nullable Object */;
4175 static val
* varonce53
;
4176 val
* var54
/* : String */;
4177 char* var55
/* : NativeString */;
4178 long var56
/* : Int */;
4179 val
* var57
/* : FlatString */;
4180 long var58
/* : Int */;
4181 val
* var59
/* : nullable Object */;
4182 val
* var60
/* : Array[String] */;
4183 val
* var62
/* : Array[String] */;
4184 val
* var63
/* : ArrayIterator[nullable Object] */;
4185 short int var64
/* : Bool */;
4186 val
* var65
/* : nullable Object */;
4187 val
* var_tag
/* var tag: String */;
4188 val
* var66
/* : HashMap[String, Int] */;
4189 val
* var68
/* : HashMap[String, Int] */;
4190 val
* var69
/* : nullable Object */;
4191 val
* var70
/* : HashMap[String, Int] */;
4192 val
* var72
/* : HashMap[String, Int] */;
4193 val
* var73
/* : nullable Object */;
4194 long var74
/* : Int */;
4195 short int var76
/* : Bool */;
4198 const char* var_class_name
;
4199 long var77
/* : Int */;
4200 long var78
/* : Int */;
4201 long var79
/* : Int */;
4202 val
* var80
/* : HashMap[String, Int] */;
4203 val
* var82
/* : HashMap[String, Int] */;
4204 val
* var83
/* : nullable Object */;
4205 long var84
/* : Int */;
4206 short int var86
/* : Bool */;
4209 const char* var_class_name89
;
4210 long var90
/* : Int */;
4211 long var91
/* : Int */;
4212 val
* var92
/* : nullable Object */;
4213 val
* var93
/* : HashMap[String, Int] */;
4214 val
* var95
/* : HashMap[String, Int] */;
4215 val
* var_
/* var : HashMap[String, Int] */;
4216 static val
* varonce96
;
4217 val
* var97
/* : String */;
4218 char* var98
/* : NativeString */;
4219 long var99
/* : Int */;
4220 val
* var100
/* : FlatString */;
4221 val
* var_101
/* var : String */;
4222 val
* var102
/* : nullable Object */;
4223 val
* var103
/* : HashMap[String, Int] */;
4224 val
* var105
/* : HashMap[String, Int] */;
4225 val
* var106
/* : nullable Object */;
4226 long var107
/* : Int */;
4227 short int var109
/* : Bool */;
4230 const char* var_class_name112
;
4231 long var113
/* : Int */;
4232 long var114
/* : Int */;
4233 long var115
/* : Int */;
4234 val
* var116
/* : nullable Object */;
4235 val
* var117
/* : HashMap[String, Int] */;
4236 val
* var119
/* : HashMap[String, Int] */;
4237 val
* var_120
/* var : HashMap[String, Int] */;
4238 static val
* varonce121
;
4239 val
* var122
/* : String */;
4240 char* var123
/* : NativeString */;
4241 long var124
/* : Int */;
4242 val
* var125
/* : FlatString */;
4243 val
* var_126
/* var : String */;
4244 val
* var127
/* : nullable Object */;
4245 val
* var128
/* : HashMap[String, Int] */;
4246 val
* var130
/* : HashMap[String, Int] */;
4247 val
* var131
/* : nullable Object */;
4248 long var132
/* : Int */;
4249 short int var134
/* : Bool */;
4252 const char* var_class_name137
;
4253 long var138
/* : Int */;
4254 long var139
/* : Int */;
4255 long var140
/* : Int */;
4256 val
* var141
/* : nullable Object */;
4257 val
* var142
/* : HashMap[String, Int] */;
4258 val
* var144
/* : HashMap[String, Int] */;
4259 val
* var_145
/* var : HashMap[String, Int] */;
4260 static val
* varonce146
;
4261 val
* var147
/* : String */;
4262 char* var148
/* : NativeString */;
4263 long var149
/* : Int */;
4264 val
* var150
/* : FlatString */;
4265 val
* var_151
/* var : String */;
4266 val
* var152
/* : nullable Object */;
4267 val
* var153
/* : HashMap[String, Int] */;
4268 val
* var155
/* : HashMap[String, Int] */;
4269 val
* var156
/* : nullable Object */;
4270 long var157
/* : Int */;
4271 short int var159
/* : Bool */;
4274 const char* var_class_name162
;
4275 long var163
/* : Int */;
4276 long var164
/* : Int */;
4277 long var165
/* : Int */;
4278 val
* var166
/* : nullable Object */;
4279 val
* var_167
/* var : HashMap[String, Int] */;
4280 static val
* varonce168
;
4281 val
* var169
/* : String */;
4282 char* var170
/* : NativeString */;
4283 long var171
/* : Int */;
4284 val
* var172
/* : FlatString */;
4285 val
* var_173
/* var : String */;
4286 val
* var174
/* : nullable Object */;
4287 val
* var175
/* : nullable Object */;
4288 long var176
/* : Int */;
4289 short int var178
/* : Bool */;
4292 const char* var_class_name181
;
4293 long var182
/* : Int */;
4294 long var183
/* : Int */;
4295 long var184
/* : Int */;
4296 val
* var185
/* : nullable Object */;
4297 static val
* varonce186
;
4298 val
* var187
/* : String */;
4299 char* var188
/* : NativeString */;
4300 long var189
/* : Int */;
4301 val
* var190
/* : FlatString */;
4302 val
* var191
/* : nullable Object */;
4303 long var192
/* : Int */;
4304 long var_count_type_test
/* var count_type_test: Int */;
4305 val
* var193
/* : Array[String] */;
4306 val
* var195
/* : Array[String] */;
4307 val
* var196
/* : Array[nullable Object] */;
4308 val
* var_tags
/* var tags: Array[String] */;
4309 static val
* varonce197
;
4310 val
* var198
/* : String */;
4311 char* var199
/* : NativeString */;
4312 long var200
/* : Int */;
4313 val
* var201
/* : FlatString */;
4314 val
* var202
/* : ArrayIterator[nullable Object] */;
4315 short int var203
/* : Bool */;
4316 val
* var204
/* : nullable Object */;
4317 val
* var_tag205
/* var tag: String */;
4318 val
* var206
/* : Array[Object] */;
4319 long var207
/* : Int */;
4320 val
* var208
/* : NativeArray[Object] */;
4321 static val
* varonce209
;
4322 val
* var210
/* : String */;
4323 char* var211
/* : NativeString */;
4324 long var212
/* : Int */;
4325 val
* var213
/* : FlatString */;
4326 val
* var214
/* : HashMap[String, Int] */;
4327 val
* var216
/* : HashMap[String, Int] */;
4328 val
* var217
/* : nullable Object */;
4329 static val
* varonce218
;
4330 val
* var219
/* : String */;
4331 char* var220
/* : NativeString */;
4332 long var221
/* : Int */;
4333 val
* var222
/* : FlatString */;
4334 val
* var223
/* : HashMap[String, Int] */;
4335 val
* var225
/* : HashMap[String, Int] */;
4336 val
* var226
/* : nullable Object */;
4337 val
* var227
/* : String */;
4338 long var228
/* : Int */;
4339 static val
* varonce229
;
4340 val
* var230
/* : String */;
4341 char* var231
/* : NativeString */;
4342 long var232
/* : Int */;
4343 val
* var233
/* : FlatString */;
4344 val
* var234
/* : Array[Object] */;
4345 long var235
/* : Int */;
4346 val
* var236
/* : NativeArray[Object] */;
4347 val
* var237
/* : String */;
4348 val
* var238
/* : Array[Object] */;
4349 long var239
/* : Int */;
4350 val
* var240
/* : NativeArray[Object] */;
4351 static val
* varonce241
;
4352 val
* var242
/* : String */;
4353 char* var243
/* : NativeString */;
4354 long var244
/* : Int */;
4355 val
* var245
/* : FlatString */;
4356 val
* var246
/* : HashMap[String, Int] */;
4357 val
* var248
/* : HashMap[String, Int] */;
4358 val
* var249
/* : nullable Object */;
4359 static val
* varonce250
;
4360 val
* var251
/* : String */;
4361 char* var252
/* : NativeString */;
4362 long var253
/* : Int */;
4363 val
* var254
/* : FlatString */;
4364 val
* var255
/* : HashMap[String, Int] */;
4365 val
* var257
/* : HashMap[String, Int] */;
4366 val
* var258
/* : nullable Object */;
4367 val
* var259
/* : String */;
4368 long var260
/* : Int */;
4369 static val
* varonce261
;
4370 val
* var262
/* : String */;
4371 char* var263
/* : NativeString */;
4372 long var264
/* : Int */;
4373 val
* var265
/* : FlatString */;
4374 val
* var266
/* : Array[Object] */;
4375 long var267
/* : Int */;
4376 val
* var268
/* : NativeArray[Object] */;
4377 val
* var269
/* : String */;
4378 val
* var270
/* : Array[Object] */;
4379 long var271
/* : Int */;
4380 val
* var272
/* : NativeArray[Object] */;
4381 static val
* varonce273
;
4382 val
* var274
/* : String */;
4383 char* var275
/* : NativeString */;
4384 long var276
/* : Int */;
4385 val
* var277
/* : FlatString */;
4386 val
* var278
/* : HashMap[String, Int] */;
4387 val
* var280
/* : HashMap[String, Int] */;
4388 val
* var281
/* : nullable Object */;
4389 static val
* varonce282
;
4390 val
* var283
/* : String */;
4391 char* var284
/* : NativeString */;
4392 long var285
/* : Int */;
4393 val
* var286
/* : FlatString */;
4394 val
* var287
/* : HashMap[String, Int] */;
4395 val
* var289
/* : HashMap[String, Int] */;
4396 val
* var290
/* : nullable Object */;
4397 val
* var291
/* : String */;
4398 long var292
/* : Int */;
4399 static val
* varonce293
;
4400 val
* var294
/* : String */;
4401 char* var295
/* : NativeString */;
4402 long var296
/* : Int */;
4403 val
* var297
/* : FlatString */;
4404 val
* var298
/* : Array[Object] */;
4405 long var299
/* : Int */;
4406 val
* var300
/* : NativeArray[Object] */;
4407 val
* var301
/* : String */;
4408 val
* var302
/* : Array[Object] */;
4409 long var303
/* : Int */;
4410 val
* var304
/* : NativeArray[Object] */;
4411 static val
* varonce305
;
4412 val
* var306
/* : String */;
4413 char* var307
/* : NativeString */;
4414 long var308
/* : Int */;
4415 val
* var309
/* : FlatString */;
4416 val
* var310
/* : nullable Object */;
4417 static val
* varonce311
;
4418 val
* var312
/* : String */;
4419 char* var313
/* : NativeString */;
4420 long var314
/* : Int */;
4421 val
* var315
/* : FlatString */;
4422 val
* var316
/* : nullable Object */;
4423 val
* var317
/* : String */;
4424 long var318
/* : Int */;
4425 static val
* varonce319
;
4426 val
* var320
/* : String */;
4427 char* var321
/* : NativeString */;
4428 long var322
/* : Int */;
4429 val
* var323
/* : FlatString */;
4430 val
* var324
/* : Array[Object] */;
4431 long var325
/* : Int */;
4432 val
* var326
/* : NativeArray[Object] */;
4433 val
* var327
/* : String */;
4434 val
* var328
/* : Array[Object] */;
4435 long var329
/* : Int */;
4436 val
* var330
/* : NativeArray[Object] */;
4437 static val
* varonce331
;
4438 val
* var332
/* : String */;
4439 char* var333
/* : NativeString */;
4440 long var334
/* : Int */;
4441 val
* var335
/* : FlatString */;
4443 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
4444 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
4445 if (unlikely(var2
== NULL
)) {
4446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4447 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
4455 { /* Inline modelbuilder#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
4456 var5
= var
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
4457 if (unlikely(var5
== NULL
)) {
4458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4459 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
4467 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var3) on <var3:ToolContext> */
4468 var8
= var3
->attrs
[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var3:ToolContext> */
4469 if (unlikely(var8
== NULL
)) {
4470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4471 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 56);
4479 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
4480 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
4482 RET_LABEL10
:(void)0;
4485 var12
= ((struct instance_kernel__Bool
*)var9
)->value
; /* autounbox from nullable Object to Bool */;
4490 var14
= "# static count_type_test";
4492 var16
= string__NativeString__to_s_with_length(var14
, var15
);
4497 file__Object__print(self
, var13
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4502 var19
= "\11resolved:\11unresolved\11skipped\11total";
4504 var21
= string__NativeString__to_s_with_length(var19
, var20
);
4509 file__Object__print(self
, var18
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4512 var22
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
4514 var_count_type_test_total
= var22
;
4516 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4517 var25
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4518 if (unlikely(var25
== NULL
)) {
4519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4520 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
4524 RET_LABEL24
:(void)0;
4532 var30
= string__NativeString__to_s_with_length(var28
, var29
);
4538 var32
= BOX_kernel__Int(var31
); /* autobox from Int to nullable Object */
4539 hash_collection__HashMap___91d_93d_61d(var23
, var27
, var32
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, Int]>*/
4542 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4543 var35
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4544 if (unlikely(var35
== NULL
)) {
4545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4546 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4550 RET_LABEL34
:(void)0;
4558 var40
= string__NativeString__to_s_with_length(var38
, var39
);
4564 var42
= BOX_kernel__Int(var41
); /* autobox from Int to nullable Object */
4565 hash_collection__HashMap___91d_93d_61d(var33
, var37
, var42
); /* Direct call hash_collection#HashMap#[]= on <var33:HashMap[String, Int]>*/
4568 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4569 var45
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4570 if (unlikely(var45
== NULL
)) {
4571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4572 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4576 RET_LABEL44
:(void)0;
4584 var50
= string__NativeString__to_s_with_length(var48
, var49
);
4590 var52
= BOX_kernel__Int(var51
); /* autobox from Int to nullable Object */
4591 hash_collection__HashMap___91d_93d_61d(var43
, var47
, var52
); /* Direct call hash_collection#HashMap#[]= on <var43:HashMap[String, Int]>*/
4598 var57
= string__NativeString__to_s_with_length(var55
, var56
);
4604 var59
= BOX_kernel__Int(var58
); /* autobox from Int to nullable Object */
4605 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]>*/
4608 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4609 var62
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4610 if (unlikely(var62
== NULL
)) {
4611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4612 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
4616 RET_LABEL61
:(void)0;
4620 var63
= array__AbstractArrayRead__iterator(var60
);
4624 var64
= array__ArrayIterator__is_ok(var63
);
4628 var65
= array__ArrayIterator__item(var63
);
4632 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4633 var68
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4634 if (unlikely(var68
== NULL
)) {
4635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4636 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
4640 RET_LABEL67
:(void)0;
4644 var69
= hash_collection__HashMap___91d_93d(var66
, var_tag
);
4647 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4648 var72
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4649 if (unlikely(var72
== NULL
)) {
4650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4651 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4655 RET_LABEL71
:(void)0;
4659 var73
= hash_collection__HashMap___91d_93d(var70
, var_tag
);
4662 { /* Inline kernel#Int#+ (var69,var73) on <var69:nullable Object(Int)> */
4663 /* Covariant cast for argument 0 (i) <var73:nullable Object(Int)> isa OTHER */
4664 /* <var73:nullable Object(Int)> isa OTHER */
4665 var76
= 1; /* easy <var73:nullable Object(Int)> isa OTHER*/
4666 if (unlikely(!var76
)) {
4667 var_class_name
= var73
== NULL ?
"null" : var73
->type
->name
;
4668 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4669 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4672 var77
= ((struct instance_kernel__Int
*)var69
)->value
; /* autounbox from nullable Object to Int */;
4673 var78
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
4674 var79
= var77
+ var78
;
4677 RET_LABEL75
:(void)0;
4681 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4682 var82
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4683 if (unlikely(var82
== NULL
)) {
4684 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4685 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4689 RET_LABEL81
:(void)0;
4693 var83
= hash_collection__HashMap___91d_93d(var80
, var_tag
);
4696 { /* Inline kernel#Int#+ (var74,var83) on <var74:Int> */
4697 /* Covariant cast for argument 0 (i) <var83:nullable Object(Int)> isa OTHER */
4698 /* <var83:nullable Object(Int)> isa OTHER */
4699 var86
= 1; /* easy <var83:nullable Object(Int)> isa OTHER*/
4700 if (unlikely(!var86
)) {
4701 var_class_name89
= var83
== NULL ?
"null" : var83
->type
->name
;
4702 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
4703 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4706 var90
= ((struct instance_kernel__Int
*)var83
)->value
; /* autounbox from nullable Object to Int */;
4707 var91
= var74
+ var90
;
4710 RET_LABEL85
:(void)0;
4714 var92
= BOX_kernel__Int(var84
); /* autobox from Int to nullable Object */
4715 hash_collection__HashMap___91d_93d_61d(var_count_type_test_total
, var_tag
, var92
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4718 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4719 var95
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4720 if (unlikely(var95
== NULL
)) {
4721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4722 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
4726 RET_LABEL94
:(void)0;
4735 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4741 var102
= hash_collection__HashMap___91d_93d(var_
, var_101
);
4744 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4745 var105
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4746 if (unlikely(var105
== NULL
)) {
4747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4748 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
4752 RET_LABEL104
:(void)0;
4756 var106
= hash_collection__HashMap___91d_93d(var103
, var_tag
);
4759 { /* Inline kernel#Int#+ (var102,var106) on <var102:nullable Object(Int)> */
4760 /* Covariant cast for argument 0 (i) <var106:nullable Object(Int)> isa OTHER */
4761 /* <var106:nullable Object(Int)> isa OTHER */
4762 var109
= 1; /* easy <var106:nullable Object(Int)> isa OTHER*/
4763 if (unlikely(!var109
)) {
4764 var_class_name112
= var106
== NULL ?
"null" : var106
->type
->name
;
4765 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112
);
4766 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4769 var113
= ((struct instance_kernel__Int
*)var102
)->value
; /* autounbox from nullable Object to Int */;
4770 var114
= ((struct instance_kernel__Int
*)var106
)->value
; /* autounbox from nullable Object to Int */;
4771 var115
= var113
+ var114
;
4774 RET_LABEL108
:(void)0;
4778 var116
= BOX_kernel__Int(var107
); /* autobox from Int to nullable Object */
4779 hash_collection__HashMap___91d_93d_61d(var_
, var_101
, var116
); /* Direct call hash_collection#HashMap#[]= on <var_:HashMap[String, Int]>*/
4782 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4783 var119
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4784 if (unlikely(var119
== NULL
)) {
4785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4786 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4790 RET_LABEL118
:(void)0;
4795 var122
= varonce121
;
4799 var125
= string__NativeString__to_s_with_length(var123
, var124
);
4801 varonce121
= var122
;
4805 var127
= hash_collection__HashMap___91d_93d(var_120
, var_126
);
4808 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4809 var130
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4810 if (unlikely(var130
== NULL
)) {
4811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4812 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
4816 RET_LABEL129
:(void)0;
4820 var131
= hash_collection__HashMap___91d_93d(var128
, var_tag
);
4823 { /* Inline kernel#Int#+ (var127,var131) on <var127:nullable Object(Int)> */
4824 /* Covariant cast for argument 0 (i) <var131:nullable Object(Int)> isa OTHER */
4825 /* <var131:nullable Object(Int)> isa OTHER */
4826 var134
= 1; /* easy <var131:nullable Object(Int)> isa OTHER*/
4827 if (unlikely(!var134
)) {
4828 var_class_name137
= var131
== NULL ?
"null" : var131
->type
->name
;
4829 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name137
);
4830 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4833 var138
= ((struct instance_kernel__Int
*)var127
)->value
; /* autounbox from nullable Object to Int */;
4834 var139
= ((struct instance_kernel__Int
*)var131
)->value
; /* autounbox from nullable Object to Int */;
4835 var140
= var138
+ var139
;
4838 RET_LABEL133
:(void)0;
4842 var141
= BOX_kernel__Int(var132
); /* autobox from Int to nullable Object */
4843 hash_collection__HashMap___91d_93d_61d(var_120
, var_126
, var141
); /* Direct call hash_collection#HashMap#[]= on <var_120:HashMap[String, Int]>*/
4846 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4847 var144
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4848 if (unlikely(var144
== NULL
)) {
4849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4850 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4854 RET_LABEL143
:(void)0;
4859 var147
= varonce146
;
4863 var150
= string__NativeString__to_s_with_length(var148
, var149
);
4865 varonce146
= var147
;
4869 var152
= hash_collection__HashMap___91d_93d(var_145
, var_151
);
4872 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4873 var155
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4874 if (unlikely(var155
== NULL
)) {
4875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4876 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
4880 RET_LABEL154
:(void)0;
4884 var156
= hash_collection__HashMap___91d_93d(var153
, var_tag
);
4887 { /* Inline kernel#Int#+ (var152,var156) on <var152:nullable Object(Int)> */
4888 /* Covariant cast for argument 0 (i) <var156:nullable Object(Int)> isa OTHER */
4889 /* <var156:nullable Object(Int)> isa OTHER */
4890 var159
= 1; /* easy <var156:nullable Object(Int)> isa OTHER*/
4891 if (unlikely(!var159
)) {
4892 var_class_name162
= var156
== NULL ?
"null" : var156
->type
->name
;
4893 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name162
);
4894 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4897 var163
= ((struct instance_kernel__Int
*)var152
)->value
; /* autounbox from nullable Object to Int */;
4898 var164
= ((struct instance_kernel__Int
*)var156
)->value
; /* autounbox from nullable Object to Int */;
4899 var165
= var163
+ var164
;
4902 RET_LABEL158
:(void)0;
4906 var166
= BOX_kernel__Int(var157
); /* autobox from Int to nullable Object */
4907 hash_collection__HashMap___91d_93d_61d(var_145
, var_151
, var166
); /* Direct call hash_collection#HashMap#[]= on <var_145:HashMap[String, Int]>*/
4909 var_167
= var_count_type_test_total
;
4911 var169
= varonce168
;
4915 var172
= string__NativeString__to_s_with_length(var170
, var171
);
4917 varonce168
= var169
;
4921 var174
= hash_collection__HashMap___91d_93d(var_167
, var_173
);
4924 var175
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag
);
4927 { /* Inline kernel#Int#+ (var174,var175) on <var174:nullable Object(Int)> */
4928 /* Covariant cast for argument 0 (i) <var175:nullable Object(Int)> isa OTHER */
4929 /* <var175:nullable Object(Int)> isa OTHER */
4930 var178
= 1; /* easy <var175:nullable Object(Int)> isa OTHER*/
4931 if (unlikely(!var178
)) {
4932 var_class_name181
= var175
== NULL ?
"null" : var175
->type
->name
;
4933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name181
);
4934 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4937 var182
= ((struct instance_kernel__Int
*)var174
)->value
; /* autounbox from nullable Object to Int */;
4938 var183
= ((struct instance_kernel__Int
*)var175
)->value
; /* autounbox from nullable Object to Int */;
4939 var184
= var182
+ var183
;
4942 RET_LABEL177
:(void)0;
4946 var185
= BOX_kernel__Int(var176
); /* autobox from Int to nullable Object */
4947 hash_collection__HashMap___91d_93d_61d(var_167
, var_173
, var185
); /* Direct call hash_collection#HashMap#[]= on <var_167:HashMap[String, Int]>*/
4949 CONTINUE_label
: (void)0;
4951 array__ArrayIterator__next(var63
); /* Direct call array#ArrayIterator#next on <var63:ArrayIterator[nullable Object]>*/
4954 BREAK_label
: (void)0;
4956 var187
= varonce186
;
4960 var190
= string__NativeString__to_s_with_length(var188
, var189
);
4962 varonce186
= var187
;
4965 var191
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var187
);
4967 var192
= ((struct instance_kernel__Int
*)var191
)->value
; /* autounbox from nullable Object to Int */;
4968 var_count_type_test
= var192
;
4970 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4971 var195
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4972 if (unlikely(var195
== NULL
)) {
4973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4974 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 888);
4978 RET_LABEL194
:(void)0;
4982 var196
= array__Collection__to_a(var193
);
4986 var198
= varonce197
;
4990 var201
= string__NativeString__to_s_with_length(var199
, var200
);
4992 varonce197
= var198
;
4995 array__Array__add(var_tags
, var198
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
4998 var202
= array__AbstractArrayRead__iterator(var_tags
);
5002 var203
= array__ArrayIterator__is_ok(var202
);
5006 var204
= array__ArrayIterator__item(var202
);
5008 var_tag205
= var204
;
5009 var206
= NEW_array__Array(&type_array__Arraykernel__Object
);
5010 { /* var206 = array_instance Array[Object] */
5012 var208
= NEW_array__NativeArray(var207
, &type_array__NativeArraykernel__Object
);
5013 ((struct instance_array__NativeArray
*)var208
)->values
[0] = (val
*) var_tag205
;
5015 ((void (*)(val
*, val
*, long))(var206
->class->vft
[COLOR_array__Array__with_native
]))(var206
, var208
, var207
) /* with_native on <var206:Array[Object]>*/;
5019 file__Object__printn(self
, var206
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5022 var210
= varonce209
;
5026 var213
= string__NativeString__to_s_with_length(var211
, var212
);
5028 varonce209
= var210
;
5031 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5032 var216
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5033 if (unlikely(var216
== NULL
)) {
5034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5035 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
5039 RET_LABEL215
:(void)0;
5043 var217
= hash_collection__HashMap___91d_93d(var214
, var_tag205
);
5046 var219
= varonce218
;
5050 var222
= string__NativeString__to_s_with_length(var220
, var221
);
5052 varonce218
= var219
;
5055 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5056 var225
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5057 if (unlikely(var225
== NULL
)) {
5058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5059 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 889);
5063 RET_LABEL224
:(void)0;
5067 var226
= hash_collection__HashMap___91d_93d(var223
, var_tag205
);
5070 var228
= ((struct instance_kernel__Int
*)var226
)->value
; /* autounbox from nullable Object to Int */;
5071 var227
= abstract_compiler__AbstractCompiler__div(self
, var228
, var_count_type_test
);
5074 var230
= varonce229
;
5078 var233
= string__NativeString__to_s_with_length(var231
, var232
);
5080 varonce229
= var230
;
5082 var234
= NEW_array__Array(&type_array__Arraykernel__Object
);
5083 { /* var234 = array_instance Array[Object] */
5085 var236
= NEW_array__NativeArray(var235
, &type_array__NativeArraykernel__Object
);
5086 ((struct instance_array__NativeArray
*)var236
)->values
[0] = (val
*) var210
;
5087 ((struct instance_array__NativeArray
*)var236
)->values
[1] = (val
*) var217
;
5088 ((struct instance_array__NativeArray
*)var236
)->values
[2] = (val
*) var219
;
5089 ((struct instance_array__NativeArray
*)var236
)->values
[3] = (val
*) var227
;
5090 ((struct instance_array__NativeArray
*)var236
)->values
[4] = (val
*) var230
;
5092 ((void (*)(val
*, val
*, long))(var234
->class->vft
[COLOR_array__Array__with_native
]))(var234
, var236
, var235
) /* with_native on <var234:Array[Object]>*/;
5096 var237
= ((val
* (*)(val
*))(var234
->class->vft
[COLOR_string__Object__to_s
]))(var234
) /* to_s on <var234:Array[Object]>*/;
5098 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
5099 { /* var238 = array_instance Array[Object] */
5101 var240
= NEW_array__NativeArray(var239
, &type_array__NativeArraykernel__Object
);
5102 ((struct instance_array__NativeArray
*)var240
)->values
[0] = (val
*) var237
;
5104 ((void (*)(val
*, val
*, long))(var238
->class->vft
[COLOR_array__Array__with_native
]))(var238
, var240
, var239
) /* with_native on <var238:Array[Object]>*/;
5108 file__Object__printn(self
, var238
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5111 var242
= varonce241
;
5115 var245
= string__NativeString__to_s_with_length(var243
, var244
);
5117 varonce241
= var242
;
5120 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5121 var248
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5122 if (unlikely(var248
== NULL
)) {
5123 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5124 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
5128 RET_LABEL247
:(void)0;
5132 var249
= hash_collection__HashMap___91d_93d(var246
, var_tag205
);
5135 var251
= varonce250
;
5139 var254
= string__NativeString__to_s_with_length(var252
, var253
);
5141 varonce250
= var251
;
5144 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5145 var257
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5146 if (unlikely(var257
== NULL
)) {
5147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5148 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 890);
5152 RET_LABEL256
:(void)0;
5156 var258
= hash_collection__HashMap___91d_93d(var255
, var_tag205
);
5159 var260
= ((struct instance_kernel__Int
*)var258
)->value
; /* autounbox from nullable Object to Int */;
5160 var259
= abstract_compiler__AbstractCompiler__div(self
, var260
, var_count_type_test
);
5163 var262
= varonce261
;
5167 var265
= string__NativeString__to_s_with_length(var263
, var264
);
5169 varonce261
= var262
;
5171 var266
= NEW_array__Array(&type_array__Arraykernel__Object
);
5172 { /* var266 = array_instance Array[Object] */
5174 var268
= NEW_array__NativeArray(var267
, &type_array__NativeArraykernel__Object
);
5175 ((struct instance_array__NativeArray
*)var268
)->values
[0] = (val
*) var242
;
5176 ((struct instance_array__NativeArray
*)var268
)->values
[1] = (val
*) var249
;
5177 ((struct instance_array__NativeArray
*)var268
)->values
[2] = (val
*) var251
;
5178 ((struct instance_array__NativeArray
*)var268
)->values
[3] = (val
*) var259
;
5179 ((struct instance_array__NativeArray
*)var268
)->values
[4] = (val
*) var262
;
5181 ((void (*)(val
*, val
*, long))(var266
->class->vft
[COLOR_array__Array__with_native
]))(var266
, var268
, var267
) /* with_native on <var266:Array[Object]>*/;
5185 var269
= ((val
* (*)(val
*))(var266
->class->vft
[COLOR_string__Object__to_s
]))(var266
) /* to_s on <var266:Array[Object]>*/;
5187 var270
= NEW_array__Array(&type_array__Arraykernel__Object
);
5188 { /* var270 = array_instance Array[Object] */
5190 var272
= NEW_array__NativeArray(var271
, &type_array__NativeArraykernel__Object
);
5191 ((struct instance_array__NativeArray
*)var272
)->values
[0] = (val
*) var269
;
5193 ((void (*)(val
*, val
*, long))(var270
->class->vft
[COLOR_array__Array__with_native
]))(var270
, var272
, var271
) /* with_native on <var270:Array[Object]>*/;
5197 file__Object__printn(self
, var270
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5200 var274
= varonce273
;
5204 var277
= string__NativeString__to_s_with_length(var275
, var276
);
5206 varonce273
= var274
;
5209 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5210 var280
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5211 if (unlikely(var280
== NULL
)) {
5212 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5213 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
5217 RET_LABEL279
:(void)0;
5221 var281
= hash_collection__HashMap___91d_93d(var278
, var_tag205
);
5224 var283
= varonce282
;
5228 var286
= string__NativeString__to_s_with_length(var284
, var285
);
5230 varonce282
= var283
;
5233 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5234 var289
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5235 if (unlikely(var289
== NULL
)) {
5236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5237 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 891);
5241 RET_LABEL288
:(void)0;
5245 var290
= hash_collection__HashMap___91d_93d(var287
, var_tag205
);
5248 var292
= ((struct instance_kernel__Int
*)var290
)->value
; /* autounbox from nullable Object to Int */;
5249 var291
= abstract_compiler__AbstractCompiler__div(self
, var292
, var_count_type_test
);
5252 var294
= varonce293
;
5256 var297
= string__NativeString__to_s_with_length(var295
, var296
);
5258 varonce293
= var294
;
5260 var298
= NEW_array__Array(&type_array__Arraykernel__Object
);
5261 { /* var298 = array_instance Array[Object] */
5263 var300
= NEW_array__NativeArray(var299
, &type_array__NativeArraykernel__Object
);
5264 ((struct instance_array__NativeArray
*)var300
)->values
[0] = (val
*) var274
;
5265 ((struct instance_array__NativeArray
*)var300
)->values
[1] = (val
*) var281
;
5266 ((struct instance_array__NativeArray
*)var300
)->values
[2] = (val
*) var283
;
5267 ((struct instance_array__NativeArray
*)var300
)->values
[3] = (val
*) var291
;
5268 ((struct instance_array__NativeArray
*)var300
)->values
[4] = (val
*) var294
;
5270 ((void (*)(val
*, val
*, long))(var298
->class->vft
[COLOR_array__Array__with_native
]))(var298
, var300
, var299
) /* with_native on <var298:Array[Object]>*/;
5274 var301
= ((val
* (*)(val
*))(var298
->class->vft
[COLOR_string__Object__to_s
]))(var298
) /* to_s on <var298:Array[Object]>*/;
5276 var302
= NEW_array__Array(&type_array__Arraykernel__Object
);
5277 { /* var302 = array_instance Array[Object] */
5279 var304
= NEW_array__NativeArray(var303
, &type_array__NativeArraykernel__Object
);
5280 ((struct instance_array__NativeArray
*)var304
)->values
[0] = (val
*) var301
;
5282 ((void (*)(val
*, val
*, long))(var302
->class->vft
[COLOR_array__Array__with_native
]))(var302
, var304
, var303
) /* with_native on <var302:Array[Object]>*/;
5286 file__Object__printn(self
, var302
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5289 var306
= varonce305
;
5293 var309
= string__NativeString__to_s_with_length(var307
, var308
);
5295 varonce305
= var306
;
5298 var310
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag205
);
5301 var312
= varonce311
;
5305 var315
= string__NativeString__to_s_with_length(var313
, var314
);
5307 varonce311
= var312
;
5310 var316
= hash_collection__HashMap___91d_93d(var_count_type_test_total
, var_tag205
);
5313 var318
= ((struct instance_kernel__Int
*)var316
)->value
; /* autounbox from nullable Object to Int */;
5314 var317
= abstract_compiler__AbstractCompiler__div(self
, var318
, var_count_type_test
);
5317 var320
= varonce319
;
5321 var323
= string__NativeString__to_s_with_length(var321
, var322
);
5323 varonce319
= var320
;
5325 var324
= NEW_array__Array(&type_array__Arraykernel__Object
);
5326 { /* var324 = array_instance Array[Object] */
5328 var326
= NEW_array__NativeArray(var325
, &type_array__NativeArraykernel__Object
);
5329 ((struct instance_array__NativeArray
*)var326
)->values
[0] = (val
*) var306
;
5330 ((struct instance_array__NativeArray
*)var326
)->values
[1] = (val
*) var310
;
5331 ((struct instance_array__NativeArray
*)var326
)->values
[2] = (val
*) var312
;
5332 ((struct instance_array__NativeArray
*)var326
)->values
[3] = (val
*) var317
;
5333 ((struct instance_array__NativeArray
*)var326
)->values
[4] = (val
*) var320
;
5335 ((void (*)(val
*, val
*, long))(var324
->class->vft
[COLOR_array__Array__with_native
]))(var324
, var326
, var325
) /* with_native on <var324:Array[Object]>*/;
5339 var327
= ((val
* (*)(val
*))(var324
->class->vft
[COLOR_string__Object__to_s
]))(var324
) /* to_s on <var324:Array[Object]>*/;
5341 var328
= NEW_array__Array(&type_array__Arraykernel__Object
);
5342 { /* var328 = array_instance Array[Object] */
5344 var330
= NEW_array__NativeArray(var329
, &type_array__NativeArraykernel__Object
);
5345 ((struct instance_array__NativeArray
*)var330
)->values
[0] = (val
*) var327
;
5347 ((void (*)(val
*, val
*, long))(var328
->class->vft
[COLOR_array__Array__with_native
]))(var328
, var330
, var329
) /* with_native on <var328:Array[Object]>*/;
5351 file__Object__printn(self
, var328
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5354 var332
= varonce331
;
5358 var335
= string__NativeString__to_s_with_length(var333
, var334
);
5360 varonce331
= var332
;
5363 file__Object__print(self
, var332
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
5365 CONTINUE_label336
: (void)0;
5367 array__ArrayIterator__next(var202
); /* Direct call array#ArrayIterator#next on <var202:ArrayIterator[nullable Object]>*/
5370 BREAK_label336
: (void)0;
5375 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
5376 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5377 abstract_compiler__AbstractCompiler__display_stats(self
); /* Direct call abstract_compiler#AbstractCompiler#display_stats on <self:Object(AbstractCompiler)>*/
5380 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
5381 void abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
5382 val
* var_mmodule
/* var mmodule: MModule */;
5383 val
* var_c
/* var c: AbstractCompiler */;
5386 { /* Inline abstract_compiler#MModule#finalize_ffi (var_mmodule,self) on <var_mmodule:MModule> */
5393 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: Object, MModule) */
5394 void VIRTUAL_abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
5395 abstract_compiler__AbstractCompiler__finalize_ffi_for_module(self
, p0
); /* Direct call abstract_compiler#AbstractCompiler#finalize_ffi_for_module on <self:Object(AbstractCompiler)>*/
5398 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
5399 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
5400 val
* var
/* : String */;
5401 long var_a
/* var a: Int */;
5402 long var_b
/* var b: Int */;
5403 long var1
/* : Int */;
5404 short int var2
/* : Bool */;
5405 short int var3
/* : Bool */;
5406 short int var5
/* : Bool */;
5407 static val
* varonce
;
5408 val
* var6
/* : String */;
5409 char* var7
/* : NativeString */;
5410 long var8
/* : Int */;
5411 val
* var9
/* : FlatString */;
5412 long var10
/* : Int */;
5413 long var11
/* : Int */;
5414 short int var13
/* : Bool */;
5417 const char* var_class_name
;
5418 long var14
/* : Int */;
5419 long var15
/* : Int */;
5420 short int var17
/* : Bool */;
5423 const char* var_class_name20
;
5424 long var21
/* : Int */;
5425 double var22
/* : Float */;
5426 double var24
/* : Float */;
5427 double var25
/* : Float */;
5428 double var26
/* : Float */;
5429 short int var28
/* : Bool */;
5432 const char* var_class_name31
;
5433 double var32
/* : Float */;
5434 long var33
/* : Int */;
5435 val
* var34
/* : String */;
5440 { /* Inline kernel#Int#== (var_b,var1) on <var_b:Int> */
5441 var5
= var_b
== var1
;
5454 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5464 { /* Inline kernel#Int#* (var_a,var10) on <var_a:Int> */
5465 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
5466 /* <var10:Int> isa OTHER */
5467 var13
= 1; /* easy <var10:Int> isa OTHER*/
5468 if (unlikely(!var13
)) {
5469 var_class_name
= type_kernel__Int
.name
;
5470 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5471 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332);
5474 var14
= var_a
* var10
;
5477 RET_LABEL12
:(void)0;
5481 { /* Inline kernel#Int#/ (var11,var_b) on <var11:Int> */
5482 /* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
5483 /* <var_b:Int> isa OTHER */
5484 var17
= 1; /* easy <var_b:Int> isa OTHER*/
5485 if (unlikely(!var17
)) {
5486 var_class_name20
= type_kernel__Int
.name
;
5487 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
5488 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 333);
5491 var21
= var11
/ var_b
;
5494 RET_LABEL16
:(void)0;
5498 { /* Inline kernel#Int#to_f (var15) on <var15:Int> */
5499 var24
= (double)var15
;
5502 RET_LABEL23
:(void)0;
5507 { /* Inline kernel#Float#/ (var22,var25) on <var22:Float> */
5508 /* Covariant cast for argument 0 (i) <var25:Float> isa OTHER */
5509 /* <var25:Float> isa OTHER */
5510 var28
= 1; /* easy <var25:Float> isa OTHER*/
5511 if (unlikely(!var28
)) {
5512 var_class_name31
= type_kernel__Float
.name
;
5513 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
5514 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 298);
5517 var32
= var22
/ var25
;
5520 RET_LABEL27
:(void)0;
5525 var34
= string__Float__to_precision(var26
, var33
);
5532 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
5533 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
5534 val
* var
/* : String */;
5535 val
* var1
/* : String */;
5536 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
5541 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
5542 val
* abstract_compiler__CodeFile__name(val
* self
) {
5543 val
* var
/* : String */;
5544 val
* var1
/* : String */;
5545 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
; /* _name on <self:CodeFile> */
5546 if (unlikely(var1
== NULL
)) {
5547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5548 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 954);
5555 /* method abstract_compiler#CodeFile#name for (self: Object): String */
5556 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
5557 val
* var
/* : String */;
5558 val
* var1
/* : String */;
5559 val
* var3
/* : String */;
5560 { /* Inline abstract_compiler#CodeFile#name (self) on <self:Object(CodeFile)> */
5561 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
; /* _name on <self:Object(CodeFile)> */
5562 if (unlikely(var3
== NULL
)) {
5563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5564 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 954);
5574 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
5575 val
* abstract_compiler__CodeFile__writers(val
* self
) {
5576 val
* var
/* : Array[CodeWriter] */;
5577 val
* var1
/* : Array[CodeWriter] */;
5578 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:CodeFile> */
5579 if (unlikely(var1
== NULL
)) {
5580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5581 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 955);
5588 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
5589 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
5590 val
* var
/* : Array[CodeWriter] */;
5591 val
* var1
/* : Array[CodeWriter] */;
5592 val
* var3
/* : Array[CodeWriter] */;
5593 { /* Inline abstract_compiler#CodeFile#writers (self) on <self:Object(CodeFile)> */
5594 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:Object(CodeFile)> */
5595 if (unlikely(var3
== NULL
)) {
5596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5597 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 955);
5607 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
5608 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
5609 val
* var
/* : HashSet[String] */;
5610 val
* var1
/* : HashSet[String] */;
5611 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:CodeFile> */
5612 if (unlikely(var1
== NULL
)) {
5613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5614 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 956);
5621 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
5622 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
5623 val
* var
/* : HashSet[String] */;
5624 val
* var1
/* : HashSet[String] */;
5625 val
* var3
/* : HashSet[String] */;
5626 { /* Inline abstract_compiler#CodeFile#required_declarations (self) on <self:Object(CodeFile)> */
5627 var3
= self
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:Object(CodeFile)> */
5628 if (unlikely(var3
== NULL
)) {
5629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5630 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 956);
5640 /* method abstract_compiler#CodeFile#init for (self: CodeFile, String) */
5641 void abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
5642 self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:CodeFile> */
5645 /* method abstract_compiler#CodeFile#init for (self: Object, String) */
5646 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
5647 { /* Inline abstract_compiler#CodeFile#init (self,p0) on <self:Object(CodeFile)> */
5648 self
->attrs
[COLOR_abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:Object(CodeFile)> */
5653 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
5654 val
* abstract_compiler__CodeWriter__file(val
* self
) {
5655 val
* var
/* : CodeFile */;
5656 val
* var1
/* : CodeFile */;
5657 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5658 if (unlikely(var1
== NULL
)) {
5659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5660 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 961);
5667 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
5668 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
5669 val
* var
/* : CodeFile */;
5670 val
* var1
/* : CodeFile */;
5671 val
* var3
/* : CodeFile */;
5672 { /* Inline abstract_compiler#CodeWriter#file (self) on <self:Object(CodeWriter)> */
5673 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <self:Object(CodeWriter)> */
5674 if (unlikely(var3
== NULL
)) {
5675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5676 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 961);
5686 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
5687 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
5688 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:CodeWriter> */
5691 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
5692 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
5693 { /* Inline abstract_compiler#CodeWriter#file= (self,p0) on <self:Object(CodeWriter)> */
5694 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:Object(CodeWriter)> */
5699 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
5700 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
5701 val
* var
/* : List[String] */;
5702 val
* var1
/* : List[String] */;
5703 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:CodeWriter> */
5704 if (unlikely(var1
== NULL
)) {
5705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5706 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 962);
5713 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
5714 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
5715 val
* var
/* : List[String] */;
5716 val
* var1
/* : List[String] */;
5717 val
* var3
/* : List[String] */;
5718 { /* Inline abstract_compiler#CodeWriter#lines (self) on <self:Object(CodeWriter)> */
5719 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:Object(CodeWriter)> */
5720 if (unlikely(var3
== NULL
)) {
5721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5722 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 962);
5732 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
5733 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
5734 val
* var
/* : List[String] */;
5735 val
* var1
/* : List[String] */;
5736 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5737 if (unlikely(var1
== NULL
)) {
5738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5739 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 963);
5746 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
5747 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
5748 val
* var
/* : List[String] */;
5749 val
* var1
/* : List[String] */;
5750 val
* var3
/* : List[String] */;
5751 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:Object(CodeWriter)> */
5752 var3
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:Object(CodeWriter)> */
5753 if (unlikely(var3
== NULL
)) {
5754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5755 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 963);
5765 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
5766 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
5767 val
* var_s
/* var s: String */;
5768 val
* var
/* : List[String] */;
5769 val
* var2
/* : List[String] */;
5772 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:CodeWriter> */
5773 var2
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5774 if (unlikely(var2
== NULL
)) {
5775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5776 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 963);
5784 abstract_collection__Sequence__add(var
, var_s
); /* Direct call abstract_collection#Sequence#add on <var:List[String]>*/
5788 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
5789 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
5790 abstract_compiler__CodeWriter__add_decl(self
, p0
); /* Direct call abstract_compiler#CodeWriter#add_decl on <self:Object(CodeWriter)>*/
5793 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
5794 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
5795 val
* var_file
/* var file: CodeFile */;
5796 val
* var
/* : Array[CodeWriter] */;
5797 val
* var3
/* : Array[CodeWriter] */;
5800 { /* Inline abstract_compiler#CodeWriter#file= (self,var_file) on <self:CodeWriter> */
5801 self
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
= var_file
; /* _file on <self:CodeWriter> */
5806 { /* Inline abstract_compiler#CodeFile#writers (var_file) on <var_file:CodeFile> */
5807 var3
= var_file
->attrs
[COLOR_abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_file:CodeFile> */
5808 if (unlikely(var3
== NULL
)) {
5809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5810 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 955);
5818 array__Array__add(var
, self
); /* Direct call array#Array#add on <var:Array[CodeWriter]>*/
5822 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
5823 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
5824 abstract_compiler__CodeWriter__init(self
, p0
); /* Direct call abstract_compiler#CodeWriter#init on <self:Object(CodeWriter)>*/
5827 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
5828 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
5829 val
* var
/* : AbstractCompiler */;
5830 val
* var1
/* : AbstractCompiler */;
5831 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5832 if (unlikely(var1
== NULL
)) {
5833 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5834 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5841 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
5842 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
5843 val
* var
/* : AbstractCompiler */;
5844 val
* var1
/* : AbstractCompiler */;
5845 val
* var3
/* : AbstractCompiler */;
5846 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:Object(AbstractCompilerVisitor)> */
5847 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
5848 if (unlikely(var3
== NULL
)) {
5849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5850 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5860 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
5861 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
5862 short int var
/* : Bool */;
5865 const struct type
* type_struct
;
5866 const char* var_class_name
;
5867 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
5868 /* <p0:AbstractCompiler> isa COMPILER */
5869 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
5870 cltype
= type_struct
->color
;
5871 idtype
= type_struct
->id
;
5872 if(cltype
>= p0
->type
->table_size
) {
5875 var
= p0
->type
->type_table
[cltype
] == idtype
;
5877 if (unlikely(!var
)) {
5878 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5879 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
5880 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5883 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:AbstractCompilerVisitor> */
5886 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
5887 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
5888 short int var
/* : Bool */;
5891 const struct type
* type_struct
;
5892 const char* var_class_name
;
5893 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
5894 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
5895 /* <p0:AbstractCompiler> isa COMPILER */
5896 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
5897 cltype
= type_struct
->color
;
5898 idtype
= type_struct
->id
;
5899 if(cltype
>= p0
->type
->table_size
) {
5902 var
= p0
->type
->type_table
[cltype
] == idtype
;
5904 if (unlikely(!var
)) {
5905 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5906 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
5907 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
5910 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
5915 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
5916 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
5917 val
* var
/* : nullable ANode */;
5918 val
* var1
/* : nullable ANode */;
5919 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
5924 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
5925 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
5926 val
* var
/* : nullable ANode */;
5927 val
* var1
/* : nullable ANode */;
5928 val
* var3
/* : nullable ANode */;
5929 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:Object(AbstractCompilerVisitor)> */
5930 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
5938 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
5939 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
5940 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:AbstractCompilerVisitor> */
5943 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
5944 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
5945 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
5946 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
5951 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
5952 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
5953 val
* var
/* : nullable Frame */;
5954 val
* var1
/* : nullable Frame */;
5955 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
5960 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
5961 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
5962 val
* var
/* : nullable Frame */;
5963 val
* var1
/* : nullable Frame */;
5964 val
* var3
/* : nullable Frame */;
5965 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:Object(AbstractCompilerVisitor)> */
5966 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:Object(AbstractCompilerVisitor)> */
5974 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
5975 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
5976 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:AbstractCompilerVisitor> */
5979 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
5980 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
5981 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
5982 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:Object(AbstractCompilerVisitor)> */
5987 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
5988 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
5989 val
* var
/* : MClassType */;
5990 val
* var1
/* : AbstractCompiler */;
5991 val
* var3
/* : AbstractCompiler */;
5992 val
* var4
/* : MModule */;
5993 val
* var6
/* : MModule */;
5994 val
* var7
/* : MClassType */;
5996 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5997 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5998 if (unlikely(var3
== NULL
)) {
5999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6000 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6008 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6009 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6010 if (unlikely(var6
== NULL
)) {
6011 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6012 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
6020 var7
= model__MModule__object_type(var4
);
6027 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
6028 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6029 val
* var
/* : MClassType */;
6030 val
* var1
/* : MClassType */;
6031 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
6036 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
6037 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6038 val
* var
/* : MClassType */;
6039 val
* var1
/* : AbstractCompiler */;
6040 val
* var3
/* : AbstractCompiler */;
6041 val
* var4
/* : MModule */;
6042 val
* var6
/* : MModule */;
6043 val
* var7
/* : MClassType */;
6045 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6046 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6047 if (unlikely(var3
== NULL
)) {
6048 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6049 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6057 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6058 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6059 if (unlikely(var6
== NULL
)) {
6060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6061 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
6069 var7
= model__MModule__bool_type(var4
);
6076 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
6077 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6078 val
* var
/* : MClassType */;
6079 val
* var1
/* : MClassType */;
6080 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
6085 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
6086 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6087 val
* var
/* : CodeWriter */;
6088 val
* var1
/* : CodeWriter */;
6089 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
6090 if (unlikely(var1
== NULL
)) {
6091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
6092 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 999);
6099 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
6100 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6101 val
* var
/* : CodeWriter */;
6102 val
* var1
/* : CodeWriter */;
6103 val
* var3
/* : CodeWriter */;
6104 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:Object(AbstractCompilerVisitor)> */
6105 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:Object(AbstractCompilerVisitor)> */
6106 if (unlikely(var3
== NULL
)) {
6107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
6108 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 999);
6118 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
6119 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6120 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:AbstractCompilerVisitor> */
6123 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
6124 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6125 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
6126 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:Object(AbstractCompilerVisitor)> */
6131 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
6132 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6133 short int var
/* : Bool */;
6136 const struct type
* type_struct
;
6137 const char* var_class_name
;
6138 val
* var_compiler
/* var compiler: AbstractCompiler */;
6139 short int var2
/* : Bool */;
6142 const struct type
* type_struct5
;
6143 const char* var_class_name6
;
6144 val
* var7
/* : CodeWriter */;
6145 val
* var8
/* : List[CodeFile] */;
6146 val
* var10
/* : List[CodeFile] */;
6147 val
* var11
/* : nullable Object */;
6148 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6149 /* <p0:AbstractCompiler> isa COMPILER */
6150 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6151 cltype
= type_struct
->color
;
6152 idtype
= type_struct
->id
;
6153 if(cltype
>= p0
->type
->table_size
) {
6156 var
= p0
->type
->type_table
[cltype
] == idtype
;
6158 if (unlikely(!var
)) {
6159 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6160 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6161 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1001);
6166 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,var_compiler) on <self:AbstractCompilerVisitor> */
6167 /* Covariant cast for argument 0 (compiler) <var_compiler:AbstractCompiler> isa COMPILER */
6168 /* <var_compiler:AbstractCompiler> isa COMPILER */
6169 type_struct5
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6170 cltype3
= type_struct5
->color
;
6171 idtype4
= type_struct5
->id
;
6172 if(cltype3
>= var_compiler
->type
->table_size
) {
6175 var2
= var_compiler
->type
->type_table
[cltype3
] == idtype4
;
6177 if (unlikely(!var2
)) {
6178 var_class_name6
= var_compiler
== NULL ?
"null" : var_compiler
->type
->name
;
6179 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name6
);
6180 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6183 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
= var_compiler
; /* _compiler on <self:AbstractCompilerVisitor> */
6187 var7
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
6189 { /* Inline abstract_compiler#AbstractCompiler#files (var_compiler) on <var_compiler:AbstractCompiler> */
6190 var10
= var_compiler
->attrs
[COLOR_abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var_compiler:AbstractCompiler> */
6191 if (unlikely(var10
== NULL
)) {
6192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6193 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 465);
6201 var11
= list__List__last(var8
);
6204 abstract_compiler__CodeWriter__init(var7
, var11
); /* Direct call abstract_compiler#CodeWriter#init on <var7:CodeWriter>*/
6207 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var7) on <self:AbstractCompilerVisitor> */
6208 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
= var7
; /* _writer on <self:AbstractCompilerVisitor> */
6209 RET_LABEL12
:(void)0;
6214 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
6215 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6216 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#init on <self:Object(AbstractCompilerVisitor)>*/
6219 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
6220 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6221 val
* var
/* : MClass */;
6222 val
* var_name
/* var name: String */;
6223 val
* var1
/* : AbstractCompiler */;
6224 val
* var3
/* : AbstractCompiler */;
6225 val
* var4
/* : MModule */;
6226 val
* var6
/* : MModule */;
6227 val
* var7
/* : MClass */;
6230 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6231 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6232 if (unlikely(var3
== NULL
)) {
6233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6234 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6242 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6243 var6
= var1
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6244 if (unlikely(var6
== NULL
)) {
6245 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6246 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
6254 var7
= model__MModule__get_primitive_class(var4
, var_name
);
6261 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
6262 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6263 val
* var
/* : MClass */;
6264 val
* var1
/* : MClass */;
6265 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
6270 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
6271 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6272 val
* var
/* : MMethod */;
6273 val
* var_name
/* var name: String */;
6274 val
* var_recv
/* var recv: MType */;
6275 short int var1
/* : Bool */;
6278 val
* var2
/* : AbstractCompiler */;
6279 val
* var4
/* : AbstractCompiler */;
6280 val
* var5
/* : ModelBuilder */;
6281 val
* var7
/* : ModelBuilder */;
6282 val
* var8
/* : nullable ANode */;
6283 val
* var10
/* : nullable ANode */;
6284 val
* var11
/* : MClass */;
6285 val
* var13
/* : MClass */;
6286 val
* var14
/* : AbstractCompiler */;
6287 val
* var16
/* : AbstractCompiler */;
6288 val
* var17
/* : MModule */;
6289 val
* var19
/* : MModule */;
6290 val
* var20
/* : MMethod */;
6293 /* <var_recv:MType> isa MClassType */
6294 cltype
= type_model__MClassType
.color
;
6295 idtype
= type_model__MClassType
.id
;
6296 if(cltype
>= var_recv
->type
->table_size
) {
6299 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
6301 if (unlikely(!var1
)) {
6302 PRINT_ERROR("Runtime error: %s", "Assert failed");
6303 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1013);
6307 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6308 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6309 if (unlikely(var4
== NULL
)) {
6310 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6311 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6319 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
6320 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
6321 if (unlikely(var7
== NULL
)) {
6322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6323 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
6331 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
6332 var10
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
6337 if (unlikely(var8
== NULL
)) {
6338 PRINT_ERROR("Runtime error: %s", "Cast failed");
6339 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1014);
6343 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MType(MClassType)> */
6344 var13
= var_recv
->attrs
[COLOR_model__MClassType___mclass
].val
; /* _mclass on <var_recv:MType(MClassType)> */
6345 if (unlikely(var13
== NULL
)) {
6346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6347 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 969);
6351 RET_LABEL12
:(void)0;
6355 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6356 var16
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6357 if (unlikely(var16
== NULL
)) {
6358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6359 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6363 RET_LABEL15
:(void)0;
6367 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler> */
6368 var19
= var14
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler> */
6369 if (unlikely(var19
== NULL
)) {
6370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6371 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
6375 RET_LABEL18
:(void)0;
6379 var20
= modelbuilder__ModelBuilder__force_get_primitive_method(var5
, var8
, var_name
, var11
, var17
);
6386 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
6387 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6388 val
* var
/* : MMethod */;
6389 val
* var1
/* : MMethod */;
6390 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
6395 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6396 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6397 val
* var
/* : nullable RuntimeVariable */;
6398 val
* var_callsite
/* var callsite: CallSite */;
6399 val
* var_args
/* var args: Array[RuntimeVariable] */;
6400 val
* var1
/* : MMethod */;
6401 val
* var3
/* : MMethod */;
6402 val
* var4
/* : nullable RuntimeVariable */;
6406 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
6407 var3
= var_callsite
->attrs
[COLOR_typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
6408 if (unlikely(var3
== NULL
)) {
6409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6410 PRINT_ERROR(" (%s:%d)\n", "src/typing.nit", 422);
6418 var4
= separate_compiler__SeparateCompilerVisitor__send(self
, var1
, var_args
);
6425 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6426 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6427 val
* var
/* : nullable RuntimeVariable */;
6428 val
* var1
/* : nullable RuntimeVariable */;
6429 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
6434 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MPropDef, MSignature, Array[RuntimeVariable]) */
6435 void abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6436 val
* var_mpropdef
/* var mpropdef: MPropDef */;
6437 val
* var_msignature
/* var msignature: MSignature */;
6438 val
* var_args
/* var args: Array[RuntimeVariable] */;
6439 val
* var
/* : nullable Object */;
6440 val
* var_recv
/* var recv: RuntimeVariable */;
6441 long var1
/* : Int */;
6442 long var3
/* : Int */;
6443 long var_vararg_rank
/* var vararg_rank: Int */;
6444 long var4
/* : Int */;
6445 short int var5
/* : Bool */;
6446 short int var7
/* : Bool */;
6449 const char* var_class_name
;
6450 short int var8
/* : Bool */;
6451 long var9
/* : Int */;
6452 long var10
/* : Int */;
6453 long var11
/* : Int */;
6454 long var12
/* : Int */;
6455 short int var14
/* : Bool */;
6458 const char* var_class_name17
;
6459 long var18
/* : Int */;
6460 short int var19
/* : Bool */;
6461 short int var21
/* : Bool */;
6464 const char* var_class_name24
;
6465 short int var25
/* : Bool */;
6466 val
* var_rawargs
/* var rawargs: Array[RuntimeVariable] */;
6467 val
* var26
/* : Array[RuntimeVariable] */;
6468 val
* var27
/* : nullable Object */;
6469 val
* var28
/* : Range[Int] */;
6470 long var29
/* : Int */;
6471 val
* var30
/* : Discrete */;
6472 val
* var31
/* : Discrete */;
6473 val
* var32
/* : Iterator[Discrete] */;
6474 short int var33
/* : Bool */;
6475 val
* var34
/* : nullable Object */;
6476 long var_i
/* var i: Int */;
6477 long var35
/* : Int */;
6478 long var36
/* : Int */;
6479 long var37
/* : Int */;
6480 short int var39
/* : Bool */;
6483 const char* var_class_name42
;
6484 long var43
/* : Int */;
6485 val
* var44
/* : nullable Object */;
6486 long var45
/* : Int */;
6487 long var46
/* : Int */;
6488 short int var48
/* : Bool */;
6491 const char* var_class_name51
;
6492 long var52
/* : Int */;
6493 long var53
/* : Int */;
6494 long var54
/* : Int */;
6495 short int var56
/* : Bool */;
6498 const char* var_class_name59
;
6499 long var60
/* : Int */;
6500 long var61
/* : Int */;
6501 long var62
/* : Int */;
6502 short int var64
/* : Bool */;
6505 const char* var_class_name67
;
6506 long var68
/* : Int */;
6507 long var_vararg_lastrank
/* var vararg_lastrank: Int */;
6508 val
* var69
/* : Array[RuntimeVariable] */;
6509 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
6510 val
* var70
/* : Range[Int] */;
6511 val
* var71
/* : Discrete */;
6512 val
* var72
/* : Discrete */;
6513 val
* var73
/* : Iterator[Discrete] */;
6514 short int var74
/* : Bool */;
6515 val
* var75
/* : nullable Object */;
6516 long var_i76
/* var i: Int */;
6517 long var77
/* : Int */;
6518 long var78
/* : Int */;
6519 long var79
/* : Int */;
6520 short int var81
/* : Bool */;
6523 const char* var_class_name84
;
6524 long var85
/* : Int */;
6525 val
* var86
/* : nullable Object */;
6526 val
* var88
/* : Array[MParameter] */;
6527 val
* var90
/* : Array[MParameter] */;
6528 val
* var91
/* : nullable Object */;
6529 val
* var92
/* : MType */;
6530 val
* var94
/* : MType */;
6531 val
* var_elttype
/* var elttype: MType */;
6532 val
* var95
/* : RuntimeVariable */;
6533 val
* var96
/* : Range[Int] */;
6534 long var97
/* : Int */;
6535 long var98
/* : Int */;
6536 short int var100
/* : Bool */;
6539 const char* var_class_name103
;
6540 long var104
/* : Int */;
6541 long var105
/* : Int */;
6542 long var106
/* : Int */;
6543 long var107
/* : Int */;
6544 short int var109
/* : Bool */;
6547 const char* var_class_name112
;
6548 long var113
/* : Int */;
6549 val
* var114
/* : Discrete */;
6550 val
* var115
/* : Discrete */;
6551 val
* var116
/* : Iterator[Discrete] */;
6552 short int var117
/* : Bool */;
6553 val
* var118
/* : nullable Object */;
6554 long var_i119
/* var i: Int */;
6555 long var120
/* : Int */;
6556 long var121
/* : Int */;
6557 long var122
/* : Int */;
6558 short int var124
/* : Bool */;
6561 const char* var_class_name127
;
6562 long var128
/* : Int */;
6563 val
* var129
/* : nullable Object */;
6565 var_msignature
= p1
;
6568 var
= abstract_collection__SequenceRead__first(var_args
);
6572 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
6573 var3
= var_msignature
->attrs
[COLOR_model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
6578 var_vararg_rank
= var1
;
6581 { /* Inline kernel#Int#>= (var_vararg_rank,var4) on <var_vararg_rank:Int> */
6582 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
6583 /* <var4:Int> isa OTHER */
6584 var7
= 1; /* easy <var4:Int> isa OTHER*/
6585 if (unlikely(!var7
)) {
6586 var_class_name
= type_kernel__Int
.name
;
6587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6588 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
6591 var8
= var_vararg_rank
>= var4
;
6599 var9
= array__AbstractArrayRead__length(var_args
);
6602 var10
= model__MSignature__arity(var_msignature
);
6606 { /* Inline kernel#Int#+ (var10,var11) on <var10:Int> */
6607 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
6608 /* <var11:Int> isa OTHER */
6609 var14
= 1; /* easy <var11:Int> isa OTHER*/
6610 if (unlikely(!var14
)) {
6611 var_class_name17
= type_kernel__Int
.name
;
6612 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
6613 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6616 var18
= var10
+ var11
;
6619 RET_LABEL13
:(void)0;
6623 { /* Inline kernel#Int#>= (var9,var12) on <var9:Int> */
6624 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
6625 /* <var12:Int> isa OTHER */
6626 var21
= 1; /* easy <var12:Int> isa OTHER*/
6627 if (unlikely(!var21
)) {
6628 var_class_name24
= type_kernel__Int
.name
;
6629 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
6630 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
6633 var25
= var9
>= var12
;
6636 RET_LABEL20
:(void)0;
6639 if (unlikely(!var19
)) {
6640 PRINT_ERROR("Runtime error: %s", "Assert failed");
6641 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1036);
6644 var_rawargs
= var_args
;
6645 var26
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6647 array__Array__init(var26
); /* Direct call array#Array#init on <var26:Array[RuntimeVariable]>*/
6651 var27
= abstract_collection__SequenceRead__first(var_rawargs
);
6654 array__Array__add(var_args
, var27
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6656 var28
= NEW_range__Range(&type_range__Rangekernel__Int
);
6659 var30
= BOX_kernel__Int(var29
); /* autobox from Int to Discrete */
6660 var31
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
6661 range__Range__without_last(var28
, var30
, var31
); /* Direct call range#Range#without_last on <var28:Range[Int]>*/
6664 var32
= range__Range__iterator(var28
);
6668 var33
= ((short int (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var32
) /* is_ok on <var32:Iterator[Discrete]>*/;
6672 var34
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var32
) /* item on <var32:Iterator[Discrete]>*/;
6674 var35
= ((struct instance_kernel__Int
*)var34
)->value
; /* autounbox from nullable Object to Int */;
6678 { /* Inline kernel#Int#+ (var_i,var36) on <var_i:Int> */
6679 /* Covariant cast for argument 0 (i) <var36:Int> isa OTHER */
6680 /* <var36:Int> isa OTHER */
6681 var39
= 1; /* easy <var36:Int> isa OTHER*/
6682 if (unlikely(!var39
)) {
6683 var_class_name42
= type_kernel__Int
.name
;
6684 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
6685 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6688 var43
= var_i
+ var36
;
6691 RET_LABEL38
:(void)0;
6695 var44
= array__Array___91d_93d(var_rawargs
, var37
);
6698 array__Array__add(var_args
, var44
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6700 CONTINUE_label
: (void)0;
6702 ((void (*)(val
*))(var32
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var32
) /* next on <var32:Iterator[Discrete]>*/;
6705 BREAK_label
: (void)0;
6707 var45
= array__AbstractArrayRead__length(var_rawargs
);
6710 { /* Inline kernel#Int#+ (var_vararg_rank,var45) on <var_vararg_rank:Int> */
6711 /* Covariant cast for argument 0 (i) <var45:Int> isa OTHER */
6712 /* <var45:Int> isa OTHER */
6713 var48
= 1; /* easy <var45:Int> isa OTHER*/
6714 if (unlikely(!var48
)) {
6715 var_class_name51
= type_kernel__Int
.name
;
6716 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51
);
6717 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6720 var52
= var_vararg_rank
+ var45
;
6723 RET_LABEL47
:(void)0;
6728 { /* Inline kernel#Int#- (var46,var53) on <var46:Int> */
6729 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
6730 /* <var53:Int> isa OTHER */
6731 var56
= 1; /* easy <var53:Int> isa OTHER*/
6732 if (unlikely(!var56
)) {
6733 var_class_name59
= type_kernel__Int
.name
;
6734 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59
);
6735 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
6738 var60
= var46
- var53
;
6741 RET_LABEL55
:(void)0;
6745 var61
= model__MSignature__arity(var_msignature
);
6748 { /* Inline kernel#Int#- (var54,var61) on <var54:Int> */
6749 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
6750 /* <var61:Int> isa OTHER */
6751 var64
= 1; /* easy <var61:Int> isa OTHER*/
6752 if (unlikely(!var64
)) {
6753 var_class_name67
= type_kernel__Int
.name
;
6754 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
6755 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
6758 var68
= var54
- var61
;
6761 RET_LABEL63
:(void)0;
6764 var_vararg_lastrank
= var62
;
6765 var69
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6767 array__Array__init(var69
); /* Direct call array#Array#init on <var69:Array[RuntimeVariable]>*/
6770 var70
= NEW_range__Range(&type_range__Rangekernel__Int
);
6772 var71
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
6773 var72
= BOX_kernel__Int(var_vararg_lastrank
); /* autobox from Int to Discrete */
6774 range__Range__init(var70
, var71
, var72
); /* Direct call range#Range#init on <var70:Range[Int]>*/
6777 var73
= range__Range__iterator(var70
);
6781 var74
= ((short int (*)(val
*))(var73
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var73
) /* is_ok on <var73:Iterator[Discrete]>*/;
6785 var75
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var73
) /* item on <var73:Iterator[Discrete]>*/;
6787 var77
= ((struct instance_kernel__Int
*)var75
)->value
; /* autounbox from nullable Object to Int */;
6791 { /* Inline kernel#Int#+ (var_i76,var78) on <var_i76:Int> */
6792 /* Covariant cast for argument 0 (i) <var78:Int> isa OTHER */
6793 /* <var78:Int> isa OTHER */
6794 var81
= 1; /* easy <var78:Int> isa OTHER*/
6795 if (unlikely(!var81
)) {
6796 var_class_name84
= type_kernel__Int
.name
;
6797 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84
);
6798 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6801 var85
= var_i76
+ var78
;
6804 RET_LABEL80
:(void)0;
6808 var86
= array__Array___91d_93d(var_rawargs
, var79
);
6811 array__Array__add(var_vararg
, var86
); /* Direct call array#Array#add on <var_vararg:Array[RuntimeVariable]>*/
6813 CONTINUE_label87
: (void)0;
6815 ((void (*)(val
*))(var73
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var73
) /* next on <var73:Iterator[Discrete]>*/;
6818 BREAK_label87
: (void)0;
6820 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
6821 var90
= var_msignature
->attrs
[COLOR_model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6822 if (unlikely(var90
== NULL
)) {
6823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6824 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1452);
6828 RET_LABEL89
:(void)0;
6832 var91
= array__Array___91d_93d(var88
, var_vararg_rank
);
6835 { /* Inline model#MParameter#mtype (var91) on <var91:nullable Object(MParameter)> */
6836 var94
= var91
->attrs
[COLOR_model__MParameter___mtype
].val
; /* _mtype on <var91:nullable Object(MParameter)> */
6837 if (unlikely(var94
== NULL
)) {
6838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6839 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1552);
6843 RET_LABEL93
:(void)0;
6846 var_elttype
= var92
;
6848 var95
= separate_compiler__SeparateCompilerVisitor__vararg_instance(self
, var_mpropdef
, var_recv
, var_vararg
, var_elttype
);
6851 array__Array__add(var_args
, var95
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6853 var96
= NEW_range__Range(&type_range__Rangekernel__Int
);
6856 { /* Inline kernel#Int#+ (var_vararg_lastrank,var97) on <var_vararg_lastrank:Int> */
6857 /* Covariant cast for argument 0 (i) <var97:Int> isa OTHER */
6858 /* <var97:Int> isa OTHER */
6859 var100
= 1; /* easy <var97:Int> isa OTHER*/
6860 if (unlikely(!var100
)) {
6861 var_class_name103
= type_kernel__Int
.name
;
6862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103
);
6863 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6866 var104
= var_vararg_lastrank
+ var97
;
6869 RET_LABEL99
:(void)0;
6873 var105
= array__AbstractArrayRead__length(var_rawargs
);
6877 { /* Inline kernel#Int#- (var105,var106) on <var105:Int> */
6878 /* Covariant cast for argument 0 (i) <var106:Int> isa OTHER */
6879 /* <var106:Int> isa OTHER */
6880 var109
= 1; /* easy <var106:Int> isa OTHER*/
6881 if (unlikely(!var109
)) {
6882 var_class_name112
= type_kernel__Int
.name
;
6883 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112
);
6884 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
6887 var113
= var105
- var106
;
6890 RET_LABEL108
:(void)0;
6894 var114
= BOX_kernel__Int(var98
); /* autobox from Int to Discrete */
6895 var115
= BOX_kernel__Int(var107
); /* autobox from Int to Discrete */
6896 range__Range__without_last(var96
, var114
, var115
); /* Direct call range#Range#without_last on <var96:Range[Int]>*/
6899 var116
= range__Range__iterator(var96
);
6903 var117
= ((short int (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var116
) /* is_ok on <var116:Iterator[Discrete]>*/;
6907 var118
= ((val
* (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var116
) /* item on <var116:Iterator[Discrete]>*/;
6909 var120
= ((struct instance_kernel__Int
*)var118
)->value
; /* autounbox from nullable Object to Int */;
6913 { /* Inline kernel#Int#+ (var_i119,var121) on <var_i119:Int> */
6914 /* Covariant cast for argument 0 (i) <var121:Int> isa OTHER */
6915 /* <var121:Int> isa OTHER */
6916 var124
= 1; /* easy <var121:Int> isa OTHER*/
6917 if (unlikely(!var124
)) {
6918 var_class_name127
= type_kernel__Int
.name
;
6919 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name127
);
6920 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6923 var128
= var_i119
+ var121
;
6926 RET_LABEL123
:(void)0;
6930 var129
= array__Array___91d_93d(var_rawargs
, var122
);
6933 array__Array__add(var_args
, var129
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6935 CONTINUE_label130
: (void)0;
6937 ((void (*)(val
*))(var116
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var116
) /* next on <var116:Iterator[Discrete]>*/;
6940 BREAK_label130
: (void)0;
6942 array__AbstractArray__clear(var_rawargs
); /* Direct call array#AbstractArray#clear on <var_rawargs:Array[RuntimeVariable]>*/
6945 abstract_collection__SimpleCollection__add_all(var_rawargs
, var_args
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_rawargs:Array[RuntimeVariable]>*/
6951 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MPropDef, MSignature, Array[RuntimeVariable]) */
6952 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6953 abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
); /* Direct call abstract_compiler#AbstractCompilerVisitor#varargize on <self:Object(AbstractCompilerVisitor)>*/
6956 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
6957 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
6958 val
* var
/* : MType */;
6959 val
* var_mtype
/* var mtype: MType */;
6960 short int var1
/* : Bool */;
6961 short int var2
/* : Bool */;
6962 val
* var3
/* : AbstractCompiler */;
6963 val
* var5
/* : AbstractCompiler */;
6964 val
* var6
/* : MModule */;
6965 val
* var8
/* : MModule */;
6966 val
* var9
/* : nullable Frame */;
6967 val
* var11
/* : nullable Frame */;
6968 val
* var12
/* : MClassType */;
6969 val
* var14
/* : MClassType */;
6970 val
* var15
/* : MType */;
6973 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
6982 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6983 var5
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6984 if (unlikely(var5
== NULL
)) {
6985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6986 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
6994 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
6995 var8
= var3
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
6996 if (unlikely(var8
== NULL
)) {
6997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6998 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7006 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7007 var11
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7009 RET_LABEL10
:(void)0;
7013 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7014 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1069);
7017 { /* Inline abstract_compiler#Frame#receiver (var9) on <var9:nullable Frame> */
7018 if (unlikely(var9
== NULL
)) {
7019 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7020 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
7023 var14
= var9
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <var9:nullable Frame> */
7024 if (unlikely(var14
== NULL
)) {
7025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7026 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
7030 RET_LABEL13
:(void)0;
7034 var15
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var6
, var12
) /* anchor_to on <var_mtype:MType>*/;
7041 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
7042 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7043 val
* var
/* : MType */;
7044 val
* var1
/* : MType */;
7045 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
7050 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
7051 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7052 val
* var
/* : MType */;
7053 val
* var_mtype
/* var mtype: MType */;
7054 val
* var_recv
/* var recv: RuntimeVariable */;
7055 short int var1
/* : Bool */;
7056 short int var2
/* : Bool */;
7057 val
* var3
/* : MType */;
7058 val
* var5
/* : MType */;
7059 val
* var6
/* : nullable Frame */;
7060 val
* var8
/* : nullable Frame */;
7061 val
* var9
/* : MClassType */;
7062 val
* var11
/* : MClassType */;
7063 val
* var12
/* : AbstractCompiler */;
7064 val
* var14
/* : AbstractCompiler */;
7065 val
* var15
/* : MModule */;
7066 val
* var17
/* : MModule */;
7067 short int var18
/* : Bool */;
7068 val
* var19
/* : MType */;
7072 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7081 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7082 var5
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7083 if (unlikely(var5
== NULL
)) {
7084 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7085 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
7093 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7094 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7100 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7101 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1075);
7104 { /* Inline abstract_compiler#Frame#receiver (var6) on <var6:nullable Frame> */
7105 if (unlikely(var6
== NULL
)) {
7106 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7107 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
7110 var11
= var6
->attrs
[COLOR_abstract_compiler__Frame___receiver
].val
; /* _receiver on <var6:nullable Frame> */
7111 if (unlikely(var11
== NULL
)) {
7112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7113 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1535);
7117 RET_LABEL10
:(void)0;
7121 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7122 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7123 if (unlikely(var14
== NULL
)) {
7124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7125 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7129 RET_LABEL13
:(void)0;
7133 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var12) on <var12:AbstractCompiler> */
7134 var17
= var12
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var12:AbstractCompiler> */
7135 if (unlikely(var17
== NULL
)) {
7136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7137 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7141 RET_LABEL16
:(void)0;
7146 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>*/;
7153 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
7154 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7155 val
* var
/* : MType */;
7156 val
* var1
/* : MType */;
7157 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
7162 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7163 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7164 val
* var
/* : RuntimeVariable */;
7165 val
* var_value
/* var value: RuntimeVariable */;
7166 val
* var_mtype
/* var mtype: MType */;
7167 val
* var1
/* : MType */;
7168 val
* var2
/* : MType */;
7169 val
* var4
/* : MType */;
7170 val
* var_valmtype
/* var valmtype: MType */;
7171 val
* var5
/* : AbstractCompiler */;
7172 val
* var7
/* : AbstractCompiler */;
7173 val
* var8
/* : MModule */;
7174 val
* var10
/* : MModule */;
7175 val
* var11
/* : null */;
7176 short int var12
/* : Bool */;
7177 short int var13
/* : Bool */;
7178 short int var14
/* : Bool */;
7181 short int var_
/* var : Bool */;
7182 val
* var15
/* : MType */;
7183 val
* var17
/* : MType */;
7184 val
* var18
/* : AbstractCompiler */;
7185 val
* var20
/* : AbstractCompiler */;
7186 val
* var21
/* : MModule */;
7187 val
* var23
/* : MModule */;
7188 val
* var24
/* : null */;
7189 short int var25
/* : Bool */;
7190 val
* var26
/* : RuntimeVariable */;
7191 val
* var27
/* : String */;
7192 val
* var29
/* : String */;
7193 val
* var30
/* : MType */;
7194 val
* var32
/* : MType */;
7195 val
* var_res
/* var res: RuntimeVariable */;
7196 val
* var33
/* : RuntimeVariable */;
7197 val
* var34
/* : String */;
7198 val
* var36
/* : String */;
7199 val
* var_res37
/* var res: RuntimeVariable */;
7203 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
7207 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
7208 var4
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
7209 if (unlikely(var4
== NULL
)) {
7210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7211 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
7218 var_valmtype
= var2
;
7220 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7221 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7222 if (unlikely(var7
== NULL
)) {
7223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7224 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7232 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var5) on <var5:AbstractCompiler> */
7233 var10
= var5
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var5:AbstractCompiler> */
7234 if (unlikely(var10
== NULL
)) {
7235 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7236 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7245 var12
= model__MType__is_subtype(var_valmtype
, var8
, var11
, var_mtype
);
7252 /* <var_valmtype:MType> isa MNullableType */
7253 cltype
= type_model__MNullableType
.color
;
7254 idtype
= type_model__MNullableType
.id
;
7255 if(cltype
>= var_valmtype
->type
->table_size
) {
7258 var14
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
7263 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7264 var17
= var_valmtype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7265 if (unlikely(var17
== NULL
)) {
7266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7267 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
7271 RET_LABEL16
:(void)0;
7275 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7276 var20
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7277 if (unlikely(var20
== NULL
)) {
7278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7279 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7283 RET_LABEL19
:(void)0;
7287 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var18) on <var18:AbstractCompiler> */
7288 var23
= var18
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var18:AbstractCompiler> */
7289 if (unlikely(var23
== NULL
)) {
7290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7291 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7295 RET_LABEL22
:(void)0;
7300 var25
= model__MType__is_subtype(var15
, var21
, var24
, var_mtype
);
7307 var26
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7309 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7310 var29
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7311 if (unlikely(var29
== NULL
)) {
7312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7313 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
7317 RET_LABEL28
:(void)0;
7321 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7322 var32
= var_valmtype
->attrs
[COLOR_model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7323 if (unlikely(var32
== NULL
)) {
7324 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7325 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 1375);
7329 RET_LABEL31
:(void)0;
7333 abstract_compiler__RuntimeVariable__init(var26
, var27
, var_valmtype
, var30
); /* Direct call abstract_compiler#RuntimeVariable#init on <var26:RuntimeVariable>*/
7339 var33
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7341 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7342 var36
= var_value
->attrs
[COLOR_abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7343 if (unlikely(var36
== NULL
)) {
7344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7345 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1481);
7349 RET_LABEL35
:(void)0;
7353 abstract_compiler__RuntimeVariable__init(var33
, var34
, var_valmtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var33:RuntimeVariable>*/
7362 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7363 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7364 val
* var
/* : RuntimeVariable */;
7365 val
* var1
/* : RuntimeVariable */;
7366 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
7371 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7372 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7373 val
* var
/* : nullable RuntimeVariable */;
7374 val
* var_m
/* var m: MMethod */;
7375 val
* var_t
/* var t: MType */;
7376 val
* var_args
/* var args: Array[RuntimeVariable] */;
7377 short int var1
/* : Bool */;
7380 val
* var2
/* : AbstractCompiler */;
7381 val
* var4
/* : AbstractCompiler */;
7382 val
* var5
/* : MModule */;
7383 val
* var7
/* : MModule */;
7384 val
* var8
/* : MPropDef */;
7385 val
* var_propdef
/* var propdef: MMethodDef */;
7386 val
* var9
/* : nullable RuntimeVariable */;
7390 /* <var_t:MType> isa MClassType */
7391 cltype
= type_model__MClassType
.color
;
7392 idtype
= type_model__MClassType
.id
;
7393 if(cltype
>= var_t
->type
->table_size
) {
7396 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7398 if (unlikely(!var1
)) {
7399 PRINT_ERROR("Runtime error: %s", "Assert failed");
7400 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1128);
7404 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7405 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7406 if (unlikely(var4
== NULL
)) {
7407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7408 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7416 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7417 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7418 if (unlikely(var7
== NULL
)) {
7419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7420 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7428 var8
= model__MProperty__lookup_first_definition(var_m
, var5
, var_t
);
7432 var9
= separate_compiler__SeparateCompilerVisitor__call(self
, var_propdef
, var_t
, var_args
);
7439 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7440 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7441 val
* var
/* : nullable RuntimeVariable */;
7442 val
* var1
/* : nullable RuntimeVariable */;
7443 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
7448 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7449 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7450 val
* var
/* : nullable RuntimeVariable */;
7451 val
* var_m
/* var m: MMethodDef */;
7452 val
* var_t
/* var t: MType */;
7453 val
* var_args
/* var args: Array[RuntimeVariable] */;
7454 short int var1
/* : Bool */;
7457 val
* var2
/* : AbstractCompiler */;
7458 val
* var4
/* : AbstractCompiler */;
7459 val
* var5
/* : MModule */;
7460 val
* var7
/* : MModule */;
7461 val
* var8
/* : MPropDef */;
7462 val
* var9
/* : nullable RuntimeVariable */;
7466 /* <var_t:MType> isa MClassType */
7467 cltype
= type_model__MClassType
.color
;
7468 idtype
= type_model__MClassType
.id
;
7469 if(cltype
>= var_t
->type
->table_size
) {
7472 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7474 if (unlikely(!var1
)) {
7475 PRINT_ERROR("Runtime error: %s", "Assert failed");
7476 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1136);
7480 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7481 var4
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7482 if (unlikely(var4
== NULL
)) {
7483 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7484 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7492 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7493 var7
= var2
->attrs
[COLOR_abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7494 if (unlikely(var7
== NULL
)) {
7495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7496 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 436);
7504 var8
= model__MPropDef__lookup_next_definition(var_m
, var5
, var_t
);
7508 var9
= separate_compiler__SeparateCompilerVisitor__call(self
, var_m
, var_t
, var_args
);
7515 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: Object, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7516 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7517 val
* var
/* : nullable RuntimeVariable */;
7518 val
* var1
/* : nullable RuntimeVariable */;
7519 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, p0
, p1
, p2
);
7524 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
7525 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7526 val
* var_recv
/* var recv: RuntimeVariable */;
7527 val
* var
/* : AbstractCompiler */;
7528 val
* var2
/* : AbstractCompiler */;
7529 val
* var3
/* : ModelBuilder */;
7530 val
* var5
/* : ModelBuilder */;
7531 val
* var6
/* : ToolContext */;
7532 val
* var8
/* : ToolContext */;
7533 val
* var9
/* : OptionBool */;
7534 val
* var11
/* : OptionBool */;
7535 val
* var12
/* : nullable Object */;
7536 val
* var14
/* : nullable Object */;
7537 short int var15
/* : Bool */;
7538 short int var16
/* : Bool */;
7539 val
* var17
/* : MType */;
7540 val
* var19
/* : MType */;
7541 short int var20
/* : Bool */;
7544 short int var_
/* var : Bool */;
7545 val
* var21
/* : MType */;
7546 val
* var23
/* : MType */;
7547 short int var24
/* : Bool */;
7550 short int var_maybenull
/* var maybenull: Bool */;
7551 static val
* varonce
;
7552 val
* var27
/* : String */;
7553 char* var28
/* : NativeString */;
7554 long var29
/* : Int */;
7555 val
* var30
/* : FlatString */;
7556 static val
* varonce31
;
7557 val
* var32
/* : String */;
7558 char* var33
/* : NativeString */;
7559 long var34
/* : Int */;
7560 val
* var35
/* : FlatString */;
7561 val
* var36
/* : Array[Object] */;
7562 long var37
/* : Int */;
7563 val
* var38
/* : NativeArray[Object] */;
7564 val
* var39
/* : String */;
7565 static val
* varonce40
;
7566 val
* var41
/* : String */;
7567 char* var42
/* : NativeString */;
7568 long var43
/* : Int */;
7569 val
* var44
/* : FlatString */;
7570 static val
* varonce45
;
7571 val
* var46
/* : String */;
7572 char* var47
/* : NativeString */;
7573 long var48
/* : Int */;
7574 val
* var49
/* : FlatString */;
7577 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7578 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7579 if (unlikely(var2
== NULL
)) {
7580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7581 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
7589 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
7590 var5
= var
->attrs
[COLOR_abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
7591 if (unlikely(var5
== NULL
)) {
7592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7593 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 443);
7601 { /* Inline modelbuilder#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
7602 var8
= var3
->attrs
[COLOR_modelbuilder__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
7603 if (unlikely(var8
== NULL
)) {
7604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7605 PRINT_ERROR(" (%s:%d)\n", "src/modelbuilder.nit", 101);
7613 { /* Inline abstract_compiler#ToolContext#opt_no_check_other (var6) on <var6:ToolContext> */
7614 var11
= var6
->attrs
[COLOR_abstract_compiler__ToolContext___opt_no_check_other
].val
; /* _opt_no_check_other on <var6:ToolContext> */
7615 if (unlikely(var11
== NULL
)) {
7616 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_other");
7617 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 54);
7621 RET_LABEL10
:(void)0;
7625 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
7626 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
7628 RET_LABEL13
:(void)0;
7631 var15
= ((struct instance_kernel__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
7637 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7638 var19
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7639 if (unlikely(var19
== NULL
)) {
7640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7641 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
7645 RET_LABEL18
:(void)0;
7648 /* <var17:MType> isa MNullableType */
7649 cltype
= type_model__MNullableType
.color
;
7650 idtype
= type_model__MNullableType
.id
;
7651 if(cltype
>= var17
->type
->table_size
) {
7654 var20
= var17
->type
->type_table
[cltype
] == idtype
;
7661 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7662 var23
= var_recv
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7663 if (unlikely(var23
== NULL
)) {
7664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7665 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1487);
7669 RET_LABEL22
:(void)0;
7672 /* <var21:MType> isa MNullType */
7673 cltype25
= type_model__MNullType
.color
;
7674 idtype26
= type_model__MNullType
.id
;
7675 if(cltype25
>= var21
->type
->table_size
) {
7678 var24
= var21
->type
->type_table
[cltype25
] == idtype26
;
7682 var_maybenull
= var16
;
7687 var28
= "if (unlikely(";
7689 var30
= string__NativeString__to_s_with_length(var28
, var29
);
7696 var33
= " == NULL)) {";
7698 var35
= string__NativeString__to_s_with_length(var33
, var34
);
7702 var36
= NEW_array__Array(&type_array__Arraykernel__Object
);
7703 { /* var36 = array_instance Array[Object] */
7705 var38
= NEW_array__NativeArray(var37
, &type_array__NativeArraykernel__Object
);
7706 ((struct instance_array__NativeArray
*)var38
)->values
[0] = (val
*) var27
;
7707 ((struct instance_array__NativeArray
*)var38
)->values
[1] = (val
*) var_recv
;
7708 ((struct instance_array__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
7710 ((void (*)(val
*, val
*, long))(var36
->class->vft
[COLOR_array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
7714 var39
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
7717 abstract_compiler__AbstractCompilerVisitor__add(self
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7722 var42
= "Receiver is null";
7724 var44
= string__NativeString__to_s_with_length(var42
, var43
);
7729 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:AbstractCompilerVisitor>*/
7736 var49
= string__NativeString__to_s_with_length(var47
, var48
);
7741 abstract_compiler__AbstractCompilerVisitor__add(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7747 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
7748 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7749 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#check_recv_notnull on <self:Object(AbstractCompilerVisitor)>*/
7752 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
7753 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7754 val
* var
/* : HashSet[String] */;
7755 val
* var1
/* : HashSet[String] */;
7756 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7757 if (unlikely(var1
== NULL
)) {
7758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7759 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7766 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
7767 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7768 val
* var
/* : HashSet[String] */;
7769 val
* var1
/* : HashSet[String] */;
7770 val
* var3
/* : HashSet[String] */;
7771 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:Object(AbstractCompilerVisitor)> */
7772 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:Object(AbstractCompilerVisitor)> */
7773 if (unlikely(var3
== NULL
)) {
7774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7775 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7785 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
7786 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7787 long var
/* : Int */;
7788 long var1
/* : Int */;
7789 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7794 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
7795 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7796 long var
/* : Int */;
7797 long var1
/* : Int */;
7798 long var3
/* : Int */;
7799 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:Object(AbstractCompilerVisitor)> */
7800 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:Object(AbstractCompilerVisitor)> */
7808 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
7809 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7810 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:AbstractCompilerVisitor> */
7813 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
7814 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7815 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
7816 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:Object(AbstractCompilerVisitor)> */
7821 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
7822 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7823 val
* var
/* : String */;
7824 val
* var_s
/* var s: String */;
7825 val
* var1
/* : HashSet[String] */;
7826 val
* var3
/* : HashSet[String] */;
7827 short int var4
/* : Bool */;
7828 short int var5
/* : Bool */;
7829 val
* var6
/* : HashSet[String] */;
7830 val
* var8
/* : HashSet[String] */;
7831 long var9
/* : Int */;
7832 long var11
/* : Int */;
7833 long var12
/* : Int */;
7834 long var13
/* : Int */;
7835 short int var15
/* : Bool */;
7838 const char* var_class_name
;
7839 long var16
/* : Int */;
7840 long var_i
/* var i: Int */;
7841 val
* var17
/* : String */;
7842 val
* var18
/* : String */;
7843 val
* var_s2
/* var s2: String */;
7844 val
* var19
/* : HashSet[String] */;
7845 val
* var21
/* : HashSet[String] */;
7846 short int var22
/* : Bool */;
7847 short int var23
/* : Bool */;
7848 val
* var25
/* : HashSet[String] */;
7849 val
* var27
/* : HashSet[String] */;
7850 long var28
/* : Int */;
7851 long var29
/* : Int */;
7852 short int var31
/* : Bool */;
7855 const char* var_class_name34
;
7856 long var35
/* : Int */;
7859 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7860 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7861 if (unlikely(var3
== NULL
)) {
7862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7863 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7871 var4
= hash_collection__HashSet__has(var1
, var_s
);
7876 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7877 var8
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7878 if (unlikely(var8
== NULL
)) {
7879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7880 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7888 hash_collection__HashSet__add(var6
, var_s
); /* Direct call hash_collection#HashSet#add on <var6:HashSet[String]>*/
7895 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:AbstractCompilerVisitor> */
7896 var11
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7898 RET_LABEL10
:(void)0;
7903 { /* Inline kernel#Int#+ (var9,var12) on <var9:Int> */
7904 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
7905 /* <var12:Int> isa OTHER */
7906 var15
= 1; /* easy <var12:Int> isa OTHER*/
7907 if (unlikely(!var15
)) {
7908 var_class_name
= type_kernel__Int
.name
;
7909 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7910 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7913 var16
= var9
+ var12
;
7916 RET_LABEL14
:(void)0;
7922 var17
= string__Int__to_s(var_i
);
7925 var18
= string__FlatString___43d(var_s
, var17
);
7929 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7930 var21
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7931 if (unlikely(var21
== NULL
)) {
7932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7933 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7937 RET_LABEL20
:(void)0;
7941 var22
= hash_collection__HashSet__has(var19
, var_s2
);
7946 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,var_i) on <self:AbstractCompilerVisitor> */
7947 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___last
].l
= var_i
; /* _last on <self:AbstractCompilerVisitor> */
7948 RET_LABEL24
:(void)0;
7952 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7953 var27
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7954 if (unlikely(var27
== NULL
)) {
7955 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7956 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1169);
7960 RET_LABEL26
:(void)0;
7964 hash_collection__HashSet__add(var25
, var_s2
); /* Direct call hash_collection#HashSet#add on <var25:HashSet[String]>*/
7972 { /* Inline kernel#Int#+ (var_i,var28) on <var_i:Int> */
7973 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
7974 /* <var28:Int> isa OTHER */
7975 var31
= 1; /* easy <var28:Int> isa OTHER*/
7976 if (unlikely(!var31
)) {
7977 var_class_name34
= type_kernel__Int
.name
;
7978 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
7979 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7982 var35
= var_i
+ var28
;
7985 RET_LABEL30
:(void)0;
7989 CONTINUE_label
: (void)0;
7991 BREAK_label
: (void)0;
7995 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
7996 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7997 val
* var
/* : String */;
7998 val
* var1
/* : String */;
7999 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
8004 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
8005 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
8006 val
* var
/* : String */;
8007 val
* var_e
/* var e: nullable EscapeMark */;
8008 val
* var1
/* : null */;
8009 short int var2
/* : Bool */;
8010 short int var3
/* : Bool */;
8011 val
* var_other
/* var other: nullable Object */;
8012 short int var5
/* : Bool */;
8013 short int var6
/* : Bool */;
8014 short int var7
/* : Bool */;
8015 val
* var8
/* : HashMap[EscapeMark, String] */;
8016 val
* var10
/* : HashMap[EscapeMark, String] */;
8017 short int var11
/* : Bool */;
8018 val
* var12
/* : HashMap[EscapeMark, String] */;
8019 val
* var14
/* : HashMap[EscapeMark, String] */;
8020 val
* var15
/* : nullable Object */;
8021 val
* var16
/* : nullable String */;
8022 val
* var18
/* : nullable String */;
8023 val
* var_name
/* var name: nullable String */;
8024 val
* var19
/* : null */;
8025 short int var20
/* : Bool */;
8026 short int var21
/* : Bool */;
8027 static val
* varonce
;
8028 val
* var22
/* : String */;
8029 char* var23
/* : NativeString */;
8030 long var24
/* : Int */;
8031 val
* var25
/* : FlatString */;
8032 val
* var26
/* : String */;
8033 val
* var27
/* : HashMap[EscapeMark, String] */;
8034 val
* var29
/* : HashMap[EscapeMark, String] */;
8037 if (var_e
== NULL
) {
8038 var2
= 0; /* is null */
8040 var2
= 1; /* arg is null and recv is not */
8043 { /* Inline kernel#Object#!= (var_e,var1) on <var_e:nullable EscapeMark> */
8046 var6
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_e
, var_other
) /* == on <var_e:nullable EscapeMark(EscapeMark)>*/;
8056 if (unlikely(!var2
)) {
8057 PRINT_ERROR("Runtime error: %s", "Assert failed");
8058 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1194);
8062 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8063 var10
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8064 if (unlikely(var10
== NULL
)) {
8065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8066 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1203);
8074 var11
= abstract_collection__MapRead__has_key(var8
, var_e
);
8078 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8079 var14
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8080 if (unlikely(var14
== NULL
)) {
8081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8082 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1203);
8086 RET_LABEL13
:(void)0;
8090 var15
= hash_collection__HashMap___91d_93d(var12
, var_e
);
8097 { /* Inline scope#EscapeMark#name (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
8098 var18
= var_e
->attrs
[COLOR_scope__EscapeMark___name
].val
; /* _name on <var_e:nullable EscapeMark(EscapeMark)> */
8100 RET_LABEL17
:(void)0;
8105 if (var_name
== NULL
) {
8106 var20
= 1; /* is null */
8108 var20
= 0; /* arg is null but recv is not */
8111 var21
= string__FlatString___61d_61d(var_name
, var19
);
8120 var25
= string__NativeString__to_s_with_length(var23
, var24
);
8128 var26
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var_name
);
8132 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:AbstractCompilerVisitor> */
8133 var29
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8134 if (unlikely(var29
== NULL
)) {
8135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8136 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1203);
8140 RET_LABEL28
:(void)0;
8144 hash_collection__HashMap___91d_93d_61d(var27
, var_e
, var_name
); /* Direct call hash_collection#HashMap#[]= on <var27:HashMap[EscapeMark, String]>*/
8151 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
8152 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
8153 val
* var
/* : String */;
8154 val
* var1
/* : String */;
8155 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
8160 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
8161 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8162 val
* var
/* : HashMap[EscapeMark, String] */;
8163 val
* var1
/* : HashMap[EscapeMark, String] */;
8164 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:AbstractCompilerVisitor> */
8165 if (unlikely(var1
== NULL
)) {
8166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8167 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1203);
8174 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
8175 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8176 val
* var
/* : HashMap[EscapeMark, String] */;
8177 val
* var1
/* : HashMap[EscapeMark, String] */;
8178 val
* var3
/* : HashMap[EscapeMark, String] */;
8179 { /* Inline abstract_compiler#AbstractCompilerVisitor#escapemark_names (self) on <self:Object(AbstractCompilerVisitor)> */
8180 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___escapemark_names
].val
; /* _escapemark_names on <self:Object(AbstractCompilerVisitor)> */
8181 if (unlikely(var3
== NULL
)) {
8182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8183 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1203);
8193 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
8194 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8195 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8196 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8197 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8198 if (unlikely(var1
== NULL
)) {
8199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8200 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1211);
8207 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
8208 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8209 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8210 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8211 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8212 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:Object(AbstractCompilerVisitor)> */
8213 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:Object(AbstractCompilerVisitor)> */
8214 if (unlikely(var3
== NULL
)) {
8215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8216 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1211);
8226 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
8227 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8228 val
* var
/* : RuntimeVariable */;
8229 val
* var_variable
/* var variable: Variable */;
8230 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8231 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8232 short int var4
/* : Bool */;
8233 val
* var5
/* : HashMap[Variable, RuntimeVariable] */;
8234 val
* var7
/* : HashMap[Variable, RuntimeVariable] */;
8235 val
* var8
/* : nullable Object */;
8236 static val
* varonce
;
8237 val
* var9
/* : String */;
8238 char* var10
/* : NativeString */;
8239 long var11
/* : Int */;
8240 val
* var12
/* : FlatString */;
8241 val
* var13
/* : String */;
8242 val
* var15
/* : String */;
8243 val
* var16
/* : Array[Object] */;
8244 long var17
/* : Int */;
8245 val
* var18
/* : NativeArray[Object] */;
8246 val
* var19
/* : String */;
8247 val
* var20
/* : String */;
8248 val
* var_name
/* var name: String */;
8249 val
* var21
/* : nullable MType */;
8250 val
* var23
/* : nullable MType */;
8251 val
* var_mtype
/* var mtype: MType */;
8252 val
* var24
/* : MType */;
8253 val
* var25
/* : RuntimeVariable */;
8254 val
* var_res
/* var res: RuntimeVariable */;
8255 val
* var26
/* : String */;
8256 static val
* varonce27
;
8257 val
* var28
/* : String */;
8258 char* var29
/* : NativeString */;
8259 long var30
/* : Int */;
8260 val
* var31
/* : FlatString */;
8261 static val
* varonce32
;
8262 val
* var33
/* : String */;
8263 char* var34
/* : NativeString */;
8264 long var35
/* : Int */;
8265 val
* var36
/* : FlatString */;
8266 static val
* varonce37
;
8267 val
* var38
/* : String */;
8268 char* var39
/* : NativeString */;
8269 long var40
/* : Int */;
8270 val
* var41
/* : FlatString */;
8271 static val
* varonce42
;
8272 val
* var43
/* : String */;
8273 char* var44
/* : NativeString */;
8274 long var45
/* : Int */;
8275 val
* var46
/* : FlatString */;
8276 val
* var47
/* : Array[Object] */;
8277 long var48
/* : Int */;
8278 val
* var49
/* : NativeArray[Object] */;
8279 val
* var50
/* : String */;
8280 val
* var51
/* : HashMap[Variable, RuntimeVariable] */;
8281 val
* var53
/* : HashMap[Variable, RuntimeVariable] */;
8284 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8285 var3
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8286 if (unlikely(var3
== NULL
)) {
8287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8288 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1211);
8296 var4
= abstract_collection__MapRead__has_key(var1
, var_variable
);
8300 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8301 var7
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8302 if (unlikely(var7
== NULL
)) {
8303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8304 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1211);
8312 var8
= hash_collection__HashMap___91d_93d(var5
, var_variable
);
8322 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8327 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
8328 var15
= var_variable
->attrs
[COLOR_scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
8329 if (unlikely(var15
== NULL
)) {
8330 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8331 PRINT_ERROR(" (%s:%d)\n", "src/scope.nit", 36);
8335 RET_LABEL14
:(void)0;
8338 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
8339 { /* var16 = array_instance Array[Object] */
8341 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
8342 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var9
;
8343 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var13
;
8345 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
8349 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
8352 var20
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var19
);
8356 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
8357 var23
= var_variable
->attrs
[COLOR_typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8359 RET_LABEL22
:(void)0;
8362 if (unlikely(var21
== NULL
)) {
8363 PRINT_ERROR("Runtime error: %s", "Cast failed");
8364 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1220);
8369 var24
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
8372 var25
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8374 abstract_compiler__RuntimeVariable__init(var25
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var25:RuntimeVariable>*/
8378 var26
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8385 var31
= string__NativeString__to_s_with_length(var29
, var30
);
8394 var36
= string__NativeString__to_s_with_length(var34
, var35
);
8403 var41
= string__NativeString__to_s_with_length(var39
, var40
);
8412 var46
= string__NativeString__to_s_with_length(var44
, var45
);
8416 var47
= NEW_array__Array(&type_array__Arraykernel__Object
);
8417 { /* var47 = array_instance Array[Object] */
8419 var49
= NEW_array__NativeArray(var48
, &type_array__NativeArraykernel__Object
);
8420 ((struct instance_array__NativeArray
*)var49
)->values
[0] = (val
*) var26
;
8421 ((struct instance_array__NativeArray
*)var49
)->values
[1] = (val
*) var28
;
8422 ((struct instance_array__NativeArray
*)var49
)->values
[2] = (val
*) var_name
;
8423 ((struct instance_array__NativeArray
*)var49
)->values
[3] = (val
*) var33
;
8424 ((struct instance_array__NativeArray
*)var49
)->values
[4] = (val
*) var_variable
;
8425 ((struct instance_array__NativeArray
*)var49
)->values
[5] = (val
*) var38
;
8426 ((struct instance_array__NativeArray
*)var49
)->values
[6] = (val
*) var_mtype
;
8427 ((struct instance_array__NativeArray
*)var49
)->values
[7] = (val
*) var43
;
8429 ((void (*)(val
*, val
*, long))(var47
->class->vft
[COLOR_array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
8433 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
8436 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8439 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8440 var53
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8441 if (unlikely(var53
== NULL
)) {
8442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8443 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1211);
8447 RET_LABEL52
:(void)0;
8451 hash_collection__HashMap___91d_93d_61d(var51
, var_variable
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[Variable, RuntimeVariable]>*/
8459 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
8460 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8461 val
* var
/* : RuntimeVariable */;
8462 val
* var1
/* : RuntimeVariable */;
8463 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
8468 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
8469 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8470 val
* var
/* : RuntimeVariable */;
8471 val
* var_mtype
/* var mtype: MType */;
8472 val
* var1
/* : MType */;
8473 static val
* varonce
;
8474 val
* var2
/* : String */;
8475 char* var3
/* : NativeString */;
8476 long var4
/* : Int */;
8477 val
* var5
/* : FlatString */;
8478 val
* var6
/* : String */;
8479 val
* var_name
/* var name: String */;
8480 val
* var7
/* : RuntimeVariable */;
8481 val
* var_res
/* var res: RuntimeVariable */;
8482 val
* var8
/* : String */;
8483 static val
* varonce9
;
8484 val
* var10
/* : String */;
8485 char* var11
/* : NativeString */;
8486 long var12
/* : Int */;
8487 val
* var13
/* : FlatString */;
8488 static val
* varonce14
;
8489 val
* var15
/* : String */;
8490 char* var16
/* : NativeString */;
8491 long var17
/* : Int */;
8492 val
* var18
/* : FlatString */;
8493 static val
* varonce19
;
8494 val
* var20
/* : String */;
8495 char* var21
/* : NativeString */;
8496 long var22
/* : Int */;
8497 val
* var23
/* : FlatString */;
8498 val
* var24
/* : Array[Object] */;
8499 long var25
/* : Int */;
8500 val
* var26
/* : NativeArray[Object] */;
8501 val
* var27
/* : String */;
8504 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
8512 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8517 var6
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var2
);
8520 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8522 abstract_compiler__RuntimeVariable__init(var7
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var7:RuntimeVariable>*/
8526 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8533 var13
= string__NativeString__to_s_with_length(var11
, var12
);
8542 var18
= string__NativeString__to_s_with_length(var16
, var17
);
8551 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8555 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
8556 { /* var24 = array_instance Array[Object] */
8558 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
8559 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
8560 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
8561 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
8562 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
8563 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
8564 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
8566 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
8570 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
8573 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8580 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
8581 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8582 val
* var
/* : RuntimeVariable */;
8583 val
* var1
/* : RuntimeVariable */;
8584 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
8589 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
8590 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8591 val
* var
/* : RuntimeVariable */;
8592 val
* var_mtype
/* var mtype: MType */;
8593 val
* var_name
/* var name: String */;
8594 val
* var1
/* : MType */;
8595 val
* var2
/* : RuntimeVariable */;
8596 val
* var_res
/* var res: RuntimeVariable */;
8597 val
* var3
/* : String */;
8598 static val
* varonce
;
8599 val
* var4
/* : String */;
8600 char* var5
/* : NativeString */;
8601 long var6
/* : Int */;
8602 val
* var7
/* : FlatString */;
8603 static val
* varonce8
;
8604 val
* var9
/* : String */;
8605 char* var10
/* : NativeString */;
8606 long var11
/* : Int */;
8607 val
* var12
/* : FlatString */;
8608 static val
* varonce13
;
8609 val
* var14
/* : String */;
8610 char* var15
/* : NativeString */;
8611 long var16
/* : Int */;
8612 val
* var17
/* : FlatString */;
8613 val
* var18
/* : Array[Object] */;
8614 long var19
/* : Int */;
8615 val
* var20
/* : NativeArray[Object] */;
8616 val
* var21
/* : String */;
8620 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, var_mtype
);
8623 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8625 abstract_compiler__RuntimeVariable__init(var2
, var_name
, var_mtype
, var_mtype
); /* Direct call abstract_compiler#RuntimeVariable#init on <var2:RuntimeVariable>*/
8629 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8636 var7
= string__NativeString__to_s_with_length(var5
, var6
);
8645 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8654 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8658 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8659 { /* var18 = array_instance Array[Object] */
8661 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
8662 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
8663 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
8664 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
8665 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
8666 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
8667 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
8669 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8673 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8676 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8683 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
8684 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8685 val
* var
/* : RuntimeVariable */;
8686 val
* var1
/* : RuntimeVariable */;
8687 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
8692 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
8693 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8694 val
* var_left
/* var left: RuntimeVariable */;
8695 val
* var_right
/* var right: RuntimeVariable */;
8696 val
* var
/* : MType */;
8697 val
* var2
/* : MType */;
8698 val
* var3
/* : RuntimeVariable */;
8699 static val
* varonce
;
8700 val
* var4
/* : String */;
8701 char* var5
/* : NativeString */;
8702 long var6
/* : Int */;
8703 val
* var7
/* : FlatString */;
8704 static val
* varonce8
;
8705 val
* var9
/* : String */;
8706 char* var10
/* : NativeString */;
8707 long var11
/* : Int */;
8708 val
* var12
/* : FlatString */;
8709 val
* var13
/* : Array[Object] */;
8710 long var14
/* : Int */;
8711 val
* var15
/* : NativeArray[Object] */;
8712 val
* var16
/* : String */;
8716 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_left) on <var_left:RuntimeVariable> */
8717 var2
= var_left
->attrs
[COLOR_abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_left:RuntimeVariable> */
8718 if (unlikely(var2
== NULL
)) {
8719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8720 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1484);
8728 var3
= separate_compiler__SeparateCompilerVisitor__autobox(self
, var_right
, var
);
8736 var7
= string__NativeString__to_s_with_length(var5
, var6
);
8745 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8749 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
8750 { /* var13 = array_instance Array[Object] */
8752 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
8753 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var_left
;
8754 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var4
;
8755 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var_right
;
8756 ((struct instance_array__NativeArray
*)var15
)->values
[3] = (val
*) var9
;
8758 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
8762 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
8765 abstract_compiler__AbstractCompilerVisitor__add(self
, var16
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8769 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
8770 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8771 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#assign on <self:Object(AbstractCompilerVisitor)>*/
8774 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
8775 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8776 val
* var
/* : RuntimeVariable */;
8777 long var_value
/* var value: Int */;
8778 static val
* varonce
;
8779 val
* var1
/* : String */;
8780 char* var2
/* : NativeString */;
8781 long var3
/* : Int */;
8782 val
* var4
/* : FlatString */;
8783 val
* var5
/* : MClass */;
8784 val
* var6
/* : MClassType */;
8785 val
* var8
/* : MClassType */;
8786 val
* var9
/* : RuntimeVariable */;
8787 val
* var_res
/* var res: RuntimeVariable */;
8788 static val
* varonce10
;
8789 val
* var11
/* : String */;
8790 char* var12
/* : NativeString */;
8791 long var13
/* : Int */;
8792 val
* var14
/* : FlatString */;
8793 static val
* varonce15
;
8794 val
* var16
/* : String */;
8795 char* var17
/* : NativeString */;
8796 long var18
/* : Int */;
8797 val
* var19
/* : FlatString */;
8798 val
* var20
/* : Array[Object] */;
8799 long var21
/* : Int */;
8800 val
* var22
/* : NativeArray[Object] */;
8801 val
* var23
/* : Object */;
8802 val
* var24
/* : String */;
8809 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8814 var5
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var1
);
8817 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
8818 var8
= var5
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
8819 if (unlikely(var8
== NULL
)) {
8820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
8821 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
8829 var9
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var6
);
8837 var14
= string__NativeString__to_s_with_length(var12
, var13
);
8846 var19
= string__NativeString__to_s_with_length(var17
, var18
);
8850 var20
= NEW_array__Array(&type_array__Arraykernel__Object
);
8851 { /* var20 = array_instance Array[Object] */
8853 var22
= NEW_array__NativeArray(var21
, &type_array__NativeArraykernel__Object
);
8854 ((struct instance_array__NativeArray
*)var22
)->values
[0] = (val
*) var_res
;
8855 ((struct instance_array__NativeArray
*)var22
)->values
[1] = (val
*) var11
;
8856 var23
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
8857 ((struct instance_array__NativeArray
*)var22
)->values
[2] = (val
*) var23
;
8858 ((struct instance_array__NativeArray
*)var22
)->values
[3] = (val
*) var16
;
8860 ((void (*)(val
*, val
*, long))(var20
->class->vft
[COLOR_array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
8864 var24
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
8867 abstract_compiler__AbstractCompilerVisitor__add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8874 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
8875 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8876 val
* var
/* : RuntimeVariable */;
8877 val
* var1
/* : RuntimeVariable */;
8878 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);
8883 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
8884 val
* abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
8885 val
* var
/* : RuntimeVariable */;
8886 val
* var_string
/* var string: String */;
8887 static val
* varonce
;
8888 val
* var1
/* : String */;
8889 char* var2
/* : NativeString */;
8890 long var3
/* : Int */;
8891 val
* var4
/* : FlatString */;
8892 val
* var5
/* : MClass */;
8893 val
* var6
/* : MClassType */;
8894 val
* var8
/* : MClassType */;
8895 val
* var_mtype
/* var mtype: MClassType */;
8896 static val
* varonce9
;
8897 val
* var10
/* : String */;
8898 char* var11
/* : NativeString */;
8899 long var12
/* : Int */;
8900 val
* var13
/* : FlatString */;
8901 val
* var14
/* : String */;
8902 val
* var_name
/* var name: String */;
8903 static val
* varonce15
;
8904 val
* var16
/* : String */;
8905 char* var17
/* : NativeString */;
8906 long var18
/* : Int */;
8907 val
* var19
/* : FlatString */;
8908 val
* var20
/* : String */;
8909 static val
* varonce21
;
8910 val
* var22
/* : String */;
8911 char* var23
/* : NativeString */;
8912 long var24
/* : Int */;
8913 val
* var25
/* : FlatString */;
8914 static val
* varonce26
;
8915 val
* var27
/* : String */;
8916 char* var28
/* : NativeString */;
8917 long var29
/* : Int */;
8918 val
* var30
/* : FlatString */;
8919 val
* var31
/* : Array[Object] */;
8920 long var32
/* : Int */;
8921 val
* var33
/* : NativeArray[Object] */;
8922 val
* var34
/* : String */;
8923 val
* var35
/* : RuntimeVariable */;
8924 val
* var_res
/* var res: RuntimeVariable */;
8925 static val
* varonce36
;
8926 val
* var37
/* : String */;
8927 char* var38
/* : NativeString */;
8928 long var39
/* : Int */;
8929 val
* var40
/* : FlatString */;
8930 static val
* varonce41
;
8931 val
* var42
/* : String */;
8932 char* var43
/* : NativeString */;
8933 long var44
/* : Int */;
8934 val
* var45
/* : FlatString */;
8935 val
* var46
/* : Array[Object] */;
8936 long var47
/* : Int */;
8937 val
* var48
/* : NativeArray[Object] */;
8938 val
* var49
/* : String */;
8939 static val
* varonce50
;
8940 val
* var51
/* : String */;
8941 char* var52
/* : NativeString */;
8942 long var53
/* : Int */;
8943 val
* var54
/* : FlatString */;
8944 static val
* varonce55
;
8945 val
* var56
/* : String */;
8946 char* var57
/* : NativeString */;
8947 long var58
/* : Int */;
8948 val
* var59
/* : FlatString */;
8949 val
* var60
/* : Array[Object] */;
8950 long var61
/* : Int */;
8951 val
* var62
/* : NativeArray[Object] */;
8952 val
* var63
/* : String */;
8953 static val
* varonce64
;
8954 val
* var65
/* : String */;
8955 char* var66
/* : NativeString */;
8956 long var67
/* : Int */;
8957 val
* var68
/* : FlatString */;
8958 static val
* varonce69
;
8959 val
* var70
/* : String */;
8960 char* var71
/* : NativeString */;
8961 long var72
/* : Int */;
8962 val
* var73
/* : FlatString */;
8963 val
* var74
/* : MClass */;
8964 val
* var75
/* : MClassType */;
8965 val
* var77
/* : MClassType */;
8966 val
* var_native_mtype
/* var native_mtype: MClassType */;
8967 val
* var78
/* : RuntimeVariable */;
8968 val
* var_nat
/* var nat: RuntimeVariable */;
8969 static val
* varonce79
;
8970 val
* var80
/* : String */;
8971 char* var81
/* : NativeString */;
8972 long var82
/* : Int */;
8973 val
* var83
/* : FlatString */;
8974 val
* var84
/* : String */;
8975 static val
* varonce85
;
8976 val
* var86
/* : String */;
8977 char* var87
/* : NativeString */;
8978 long var88
/* : Int */;
8979 val
* var89
/* : FlatString */;
8980 val
* var90
/* : Array[Object] */;
8981 long var91
/* : Int */;
8982 val
* var92
/* : NativeArray[Object] */;
8983 val
* var93
/* : String */;
8984 long var94
/* : Int */;
8985 long var96
/* : Int */;
8986 val
* var97
/* : RuntimeVariable */;
8987 val
* var_length
/* var length: RuntimeVariable */;
8988 static val
* varonce98
;
8989 val
* var99
/* : String */;
8990 char* var100
/* : NativeString */;
8991 long var101
/* : Int */;
8992 val
* var102
/* : FlatString */;
8993 static val
* varonce103
;
8994 val
* var104
/* : String */;
8995 char* var105
/* : NativeString */;
8996 long var106
/* : Int */;
8997 val
* var107
/* : FlatString */;
8998 val
* var108
/* : MMethod */;
8999 val
* var109
/* : Array[RuntimeVariable] */;
9000 long var110
/* : Int */;
9001 val
* var_
/* var : Array[RuntimeVariable] */;
9002 val
* var111
/* : nullable RuntimeVariable */;
9003 static val
* varonce112
;
9004 val
* var113
/* : String */;
9005 char* var114
/* : NativeString */;
9006 long var115
/* : Int */;
9007 val
* var116
/* : FlatString */;
9008 val
* var117
/* : Array[Object] */;
9009 long var118
/* : Int */;
9010 val
* var119
/* : NativeArray[Object] */;
9011 val
* var120
/* : String */;
9012 static val
* varonce121
;
9013 val
* var122
/* : String */;
9014 char* var123
/* : NativeString */;
9015 long var124
/* : Int */;
9016 val
* var125
/* : FlatString */;
9017 static val
* varonce126
;
9018 val
* var127
/* : String */;
9019 char* var128
/* : NativeString */;
9020 long var129
/* : Int */;
9021 val
* var130
/* : FlatString */;
9022 val
* var131
/* : Array[Object] */;
9023 long var132
/* : Int */;
9024 val
* var133
/* : NativeArray[Object] */;
9025 val
* var134
/* : String */;
9026 static val
* varonce135
;
9027 val
* var136
/* : String */;
9028 char* var137
/* : NativeString */;
9029 long var138
/* : Int */;
9030 val
* var139
/* : FlatString */;
9037 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9042 var5
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var1
);
9045 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9046 var8
= var5
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9047 if (unlikely(var8
== NULL
)) {
9048 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9049 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
9062 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9067 var14
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, var10
);
9075 var19
= string__NativeString__to_s_with_length(var17
, var18
);
9080 var20
= abstract_compiler__MClassType__ctype(var_mtype
);
9087 var25
= string__NativeString__to_s_with_length(var23
, var24
);
9096 var30
= string__NativeString__to_s_with_length(var28
, var29
);
9100 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
9101 { /* var31 = array_instance Array[Object] */
9103 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
9104 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var16
;
9105 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var20
;
9106 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
9107 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var_name
;
9108 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
9110 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
9114 var34
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
9117 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
9120 var35
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_mtype
);
9128 var40
= string__NativeString__to_s_with_length(var38
, var39
);
9137 var45
= string__NativeString__to_s_with_length(var43
, var44
);
9141 var46
= NEW_array__Array(&type_array__Arraykernel__Object
);
9142 { /* var46 = array_instance Array[Object] */
9144 var48
= NEW_array__NativeArray(var47
, &type_array__NativeArraykernel__Object
);
9145 ((struct instance_array__NativeArray
*)var48
)->values
[0] = (val
*) var37
;
9146 ((struct instance_array__NativeArray
*)var48
)->values
[1] = (val
*) var_name
;
9147 ((struct instance_array__NativeArray
*)var48
)->values
[2] = (val
*) var42
;
9149 ((void (*)(val
*, val
*, long))(var46
->class->vft
[COLOR_array__Array__with_native
]))(var46
, var48
, var47
) /* with_native on <var46:Array[Object]>*/;
9153 var49
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_string__Object__to_s
]))(var46
) /* to_s on <var46:Array[Object]>*/;
9156 abstract_compiler__AbstractCompilerVisitor__add(self
, var49
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9163 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9172 var59
= string__NativeString__to_s_with_length(var57
, var58
);
9176 var60
= NEW_array__Array(&type_array__Arraykernel__Object
);
9177 { /* var60 = array_instance Array[Object] */
9179 var62
= NEW_array__NativeArray(var61
, &type_array__NativeArraykernel__Object
);
9180 ((struct instance_array__NativeArray
*)var62
)->values
[0] = (val
*) var_res
;
9181 ((struct instance_array__NativeArray
*)var62
)->values
[1] = (val
*) var51
;
9182 ((struct instance_array__NativeArray
*)var62
)->values
[2] = (val
*) var_name
;
9183 ((struct instance_array__NativeArray
*)var62
)->values
[3] = (val
*) var56
;
9185 ((void (*)(val
*, val
*, long))(var60
->class->vft
[COLOR_array__Array__with_native
]))(var60
, var62
, var61
) /* with_native on <var60:Array[Object]>*/;
9189 var63
= ((val
* (*)(val
*))(var60
->class->vft
[COLOR_string__Object__to_s
]))(var60
) /* to_s on <var60:Array[Object]>*/;
9192 abstract_compiler__AbstractCompilerVisitor__add(self
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9199 var68
= string__NativeString__to_s_with_length(var66
, var67
);
9204 abstract_compiler__AbstractCompilerVisitor__add(self
, var65
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9209 var71
= "NativeString";
9211 var73
= string__NativeString__to_s_with_length(var71
, var72
);
9216 var74
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, var70
);
9219 { /* Inline model#MClass#mclass_type (var74) on <var74:MClass> */
9220 var77
= var74
->attrs
[COLOR_model__MClass___mclass_type
].val
; /* _mclass_type on <var74:MClass> */
9221 if (unlikely(var77
== NULL
)) {
9222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9223 PRINT_ERROR(" (%s:%d)\n", "src/model/model.nit", 417);
9227 RET_LABEL76
:(void)0;
9230 var_native_mtype
= var75
;
9232 var78
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, var_native_mtype
);
9240 var83
= string__NativeString__to_s_with_length(var81
, var82
);
9245 var84
= string__Text__escape_to_c(var_string
);
9252 var89
= string__NativeString__to_s_with_length(var87
, var88
);
9256 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
9257 { /* var90 = array_instance Array[Object] */
9259 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
9260 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var_nat
;
9261 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var80
;
9262 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var84
;
9263 ((struct instance_array__NativeArray
*)var92
)->values
[3] = (val
*) var86
;
9265 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
9269 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
9272 abstract_compiler__AbstractCompilerVisitor__add(self
, var93
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9275 { /* Inline string#FlatText#length (var_string) on <var_string:String> */
9276 var96
= var_string
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_string:String> */
9278 RET_LABEL95
:(void)0;
9282 var97
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, var94
);
9290 var102
= string__NativeString__to_s_with_length(var100
, var101
);
9295 var104
= varonce103
;
9297 var105
= "to_s_with_length";
9299 var107
= string__NativeString__to_s_with_length(var105
, var106
);
9301 varonce103
= var104
;
9304 var108
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, var104
, var_native_mtype
);
9306 var109
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
9309 array__Array__with_capacity(var109
, var110
); /* Direct call array#Array#with_capacity on <var109:Array[RuntimeVariable]>*/
9313 array__AbstractArray__push(var_
, var_nat
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9316 array__AbstractArray__push(var_
, var_length
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9319 var111
= separate_compiler__SeparateCompilerVisitor__send(self
, var108
, var_
);
9321 if (unlikely(var111
== NULL
)) {
9322 PRINT_ERROR("Runtime error: %s", "Cast failed");
9323 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 1283);
9327 var113
= varonce112
;
9331 var116
= string__NativeString__to_s_with_length(var114
, var115
);
9333 varonce112
= var113
;
9335 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
9336 { /* var117 = array_instance Array[Object] */
9338 var119
= NEW_array__NativeArray(var118
, &type_array__NativeArraykernel__Object
);
9339 ((struct instance_array__NativeArray
*)var119
)->values
[0] = (val
*) var_res
;
9340 ((struct instance_array__NativeArray
*)var119
)->values
[1] = (val
*) var99
;
9341 ((struct instance_array__NativeArray
*)var119
)->values
[2] = (val
*) var111
;
9342 ((struct instance_array__NativeArray
*)var119
)->values
[3] = (val
*) var113
;
9344 ((void (*)(val
*, val
*, long))(var117
->class->vft
[COLOR_array__Array__with_native
]))(var117
, var119
, var118
) /* with_native on <var117:Array[Object]>*/;
9348 var120
= ((val
* (*)(val
*))(var117
->class->vft
[COLOR_string__Object__to_s
]))(var117
) /* to_s on <var117:Array[Object]>*/;
9351 abstract_compiler__AbstractCompilerVisitor__add(self
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9354 var122
= varonce121
;
9358 var125
= string__NativeString__to_s_with_length(var123
, var124
);
9360 varonce121
= var122
;
9363 var127
= varonce126
;
9367 var130
= string__NativeString__to_s_with_length(var128
, var129
);
9369 varonce126
= var127
;
9371 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
9372 { /* var131 = array_instance Array[Object] */
9374 var133
= NEW_array__NativeArray(var132
, &type_array__NativeArraykernel__Object
);
9375 ((struct instance_array__NativeArray
*)var133
)->values
[0] = (val
*) var_name
;
9376 ((struct instance_array__NativeArray
*)var133
)->values
[1] = (val
*) var122
;
9377 ((struct instance_array__NativeArray
*)var133
)->values
[2] = (val
*) var_res
;
9378 ((struct instance_array__NativeArray
*)var133
)->values
[3] = (val
*) var127
;
9380 ((void (*)(val
*, val
*, long))(var131
->class->vft
[COLOR_array__Array__with_native
]))(var131
, var133
, var132
) /* with_native on <var131:Array[Object]>*/;
9384 var134
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_string__Object__to_s
]))(var131
) /* to_s on <var131:Array[Object]>*/;
9387 abstract_compiler__AbstractCompilerVisitor__add(self
, var134
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9390 var136
= varonce135
;
9394 var139
= string__NativeString__to_s_with_length(var137
, var138
);
9396 varonce135
= var136
;
9399 abstract_compiler__AbstractCompilerVisitor__add(self
, var136
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9406 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: Object, String): RuntimeVariable */
9407 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
9408 val
* var
/* : RuntimeVariable */;
9409 val
* var1
/* : RuntimeVariable */;
9410 var1
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, p0
);
9415 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
9416 void abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
9417 val
* var_s
/* var s: String */;
9418 val
* var
/* : CodeWriter */;
9419 val
* var2
/* : CodeWriter */;
9420 val
* var3
/* : List[String] */;
9421 val
* var5
/* : List[String] */;
9424 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9425 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9426 if (unlikely(var2
== NULL
)) {
9427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9428 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 999);
9436 { /* Inline abstract_compiler#CodeWriter#lines (var) on <var:CodeWriter> */
9437 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var:CodeWriter> */
9438 if (unlikely(var5
== NULL
)) {
9439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
9440 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 962);
9448 abstract_collection__Sequence__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
9452 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: Object, String) */
9453 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
9454 abstract_compiler__AbstractCompilerVisitor__add(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:Object(AbstractCompilerVisitor)>*/
9457 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
9458 void abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9459 val
* var_s
/* var s: String */;
9460 val
* var
/* : CodeWriter */;
9461 val
* var2
/* : CodeWriter */;
9462 val
* var3
/* : List[String] */;
9463 val
* var5
/* : List[String] */;
9466 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9467 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9468 if (unlikely(var2
== NULL
)) {
9469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9470 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 999);
9478 { /* Inline abstract_compiler#CodeWriter#decl_lines (var) on <var:CodeWriter> */
9479 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var:CodeWriter> */
9480 if (unlikely(var5
== NULL
)) {
9481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
9482 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 963);
9490 abstract_collection__Sequence__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
9494 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: Object, String) */
9495 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9496 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:Object(AbstractCompilerVisitor)>*/
9499 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
9500 void abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9501 val
* var_key
/* var key: String */;
9502 val
* var
/* : CodeWriter */;
9503 val
* var2
/* : CodeWriter */;
9504 val
* var3
/* : CodeFile */;
9505 val
* var5
/* : CodeFile */;
9506 val
* var6
/* : HashSet[String] */;
9507 val
* var8
/* : HashSet[String] */;
9508 val
* var_reqs
/* var reqs: HashSet[String] */;
9509 short int var9
/* : Bool */;
9510 val
* var10
/* : nullable ANode */;
9511 val
* var12
/* : nullable ANode */;
9512 val
* var_node
/* var node: nullable ANode */;
9513 val
* var13
/* : null */;
9514 short int var14
/* : Bool */;
9515 short int var15
/* : Bool */;
9516 val
* var_other
/* var other: nullable Object */;
9517 short int var17
/* : Bool */;
9518 short int var18
/* : Bool */;
9519 short int var19
/* : Bool */;
9520 val
* var20
/* : AbstractCompiler */;
9521 val
* var22
/* : AbstractCompiler */;
9522 val
* var23
/* : HashMap[String, ANode] */;
9523 val
* var25
/* : HashMap[String, ANode] */;
9526 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9527 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9528 if (unlikely(var2
== NULL
)) {
9529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9530 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 999);
9538 { /* Inline abstract_compiler#CodeWriter#file (var) on <var:CodeWriter> */
9539 var5
= var
->attrs
[COLOR_abstract_compiler__CodeWriter___file
].val
; /* _file on <var:CodeWriter> */
9540 if (unlikely(var5
== NULL
)) {
9541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
9542 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 961);
9550 { /* Inline abstract_compiler#CodeFile#required_declarations (var3) on <var3:CodeFile> */
9551 var8
= var3
->attrs
[COLOR_abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var3:CodeFile> */
9552 if (unlikely(var8
== NULL
)) {
9553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
9554 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 956);
9563 var9
= hash_collection__HashSet__has(var_reqs
, var_key
);
9570 hash_collection__HashSet__add(var_reqs
, var_key
); /* Direct call hash_collection#HashSet#add on <var_reqs:HashSet[String]>*/
9573 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
9574 var12
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
9576 RET_LABEL11
:(void)0;
9581 if (var_node
== NULL
) {
9582 var14
= 0; /* is null */
9584 var14
= 1; /* arg is null and recv is not */
9587 { /* Inline kernel#Object#!= (var_node,var13) on <var_node:nullable ANode> */
9590 var18
= ((short int (*)(val
*, val
*))(var_node
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_node
, var_other
) /* == on <var_node:nullable ANode(ANode)>*/;
9596 RET_LABEL16
:(void)0;
9602 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9603 var22
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9604 if (unlikely(var22
== NULL
)) {
9605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9606 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
9610 RET_LABEL21
:(void)0;
9614 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var20) on <var20:AbstractCompiler> */
9615 var25
= var20
->attrs
[COLOR_abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var20:AbstractCompiler> */
9616 if (unlikely(var25
== NULL
)) {
9617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
9618 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 486);
9622 RET_LABEL24
:(void)0;
9626 hash_collection__HashMap___91d_93d_61d(var23
, var_key
, var_node
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, ANode]>*/
9632 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: Object, String) */
9633 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9634 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:Object(AbstractCompilerVisitor)>*/
9637 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
9638 void abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9639 val
* var_s
/* var s: String */;
9640 val
* var
/* : AbstractCompiler */;
9641 val
* var2
/* : AbstractCompiler */;
9644 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9645 var2
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9646 if (unlikely(var2
== NULL
)) {
9647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9648 PRINT_ERROR(" (%s:%d)\n", "src/abstract_compiler.nit", 984);
9656 abstract_compiler__AbstractCompiler__provide_declaration(var
, var_s
, var_s
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <var:AbstractCompiler>*/
9659 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:AbstractCompilerVisitor>*/
9663 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: Object, String) */
9664 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9665 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, p0
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <self:Object(AbstractCompilerVisitor)>*/