1 #include "nit__abstract_compiler.sep.0.h"
2 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
3 void nit___nit__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
/* : Platform */;
21 val
* var19
/* : Platform */;
22 val
* var_platform
/* var platform: Platform */;
23 short int var20
/* : Bool */;
24 short int var21
/* : Bool */;
25 static val
* varonce22
;
26 val
* var23
/* : String */;
27 char* var24
/* : NativeString */;
28 long var25
/* : Int */;
29 val
* var26
/* : FlatString */;
30 short int var27
/* : Bool */;
31 short int var28
/* : Bool */;
32 short int var_
/* var : Bool */;
33 val
* var29
/* : ModelBuilder */;
34 val
* var31
/* : ModelBuilder */;
35 val
* var32
/* : ToolContext */;
36 val
* var34
/* : ToolContext */;
37 val
* var35
/* : OptionBool */;
38 val
* var37
/* : OptionBool */;
39 val
* var38
/* : nullable Object */;
40 val
* var40
/* : nullable Object */;
41 short int var41
/* : Bool */;
42 short int var_no_main
/* var no_main: Bool */;
43 short int var42
/* : Bool */;
44 static val
* varonce43
;
45 val
* var44
/* : String */;
46 char* var45
/* : NativeString */;
47 long var46
/* : Int */;
48 val
* var47
/* : FlatString */;
49 short int var48
/* : Bool */;
50 short int var49
/* : Bool */;
51 short int var_50
/* var : Bool */;
52 static val
* varonce51
;
53 val
* var52
/* : String */;
54 char* var53
/* : NativeString */;
55 long var54
/* : Int */;
56 val
* var55
/* : FlatString */;
57 short int var56
/* : Bool */;
58 short int var57
/* : Bool */;
59 static val
* varonce58
;
60 val
* var59
/* : String */;
61 char* var60
/* : NativeString */;
62 long var61
/* : Int */;
63 val
* var62
/* : FlatString */;
64 static val
* varonce63
;
65 val
* var64
/* : String */;
66 char* var65
/* : NativeString */;
67 long var66
/* : Int */;
68 val
* var67
/* : FlatString */;
69 static val
* varonce68
;
70 val
* var69
/* : String */;
71 char* var70
/* : NativeString */;
72 long var71
/* : Int */;
73 val
* var72
/* : FlatString */;
74 short int var73
/* : Bool */;
75 short int var74
/* : Bool */;
76 static val
* varonce75
;
77 val
* var76
/* : String */;
78 char* var77
/* : NativeString */;
79 long var78
/* : Int */;
80 val
* var79
/* : FlatString */;
81 static val
* varonce80
;
82 val
* var81
/* : String */;
83 char* var82
/* : NativeString */;
84 long var83
/* : Int */;
85 val
* var84
/* : FlatString */;
86 static val
* varonce85
;
87 val
* var86
/* : String */;
88 char* var87
/* : NativeString */;
89 long var88
/* : Int */;
90 val
* var89
/* : FlatString */;
91 static val
* varonce90
;
92 val
* var91
/* : String */;
93 char* var92
/* : NativeString */;
94 long var93
/* : Int */;
95 val
* var94
/* : FlatString */;
96 val
* var95
/* : ModelBuilder */;
97 val
* var97
/* : ModelBuilder */;
98 val
* var98
/* : ToolContext */;
99 val
* var100
/* : ToolContext */;
100 val
* var101
/* : OptionBool */;
101 val
* var103
/* : OptionBool */;
102 val
* var104
/* : nullable Object */;
103 val
* var106
/* : nullable Object */;
104 short int var107
/* : Bool */;
105 val
* var108
/* : Array[String] */;
106 val
* var110
/* : Array[String] */;
107 val
* var_111
/* var : Array[String] */;
108 val
* var112
/* : ArrayIterator[nullable Object] */;
109 val
* var_113
/* var : ArrayIterator[String] */;
110 short int var114
/* : Bool */;
111 val
* var115
/* : nullable Object */;
112 val
* var_tag
/* var tag: String */;
113 static val
* varonce116
;
114 val
* var117
/* : String */;
115 char* var118
/* : NativeString */;
116 long var119
/* : Int */;
117 val
* var120
/* : FlatString */;
118 static val
* varonce121
;
119 val
* var122
/* : String */;
120 char* var123
/* : NativeString */;
121 long var124
/* : Int */;
122 val
* var125
/* : FlatString */;
123 val
* var126
/* : Array[Object] */;
124 long var127
/* : Int */;
125 val
* var128
/* : NativeArray[Object] */;
126 val
* var129
/* : String */;
127 static val
* varonce130
;
128 val
* var131
/* : String */;
129 char* var132
/* : NativeString */;
130 long var133
/* : Int */;
131 val
* var134
/* : FlatString */;
132 static val
* varonce135
;
133 val
* var136
/* : String */;
134 char* var137
/* : NativeString */;
135 long var138
/* : Int */;
136 val
* var139
/* : FlatString */;
137 val
* var140
/* : Array[Object] */;
138 long var141
/* : Int */;
139 val
* var142
/* : NativeArray[Object] */;
140 val
* var143
/* : String */;
141 static val
* varonce144
;
142 val
* var145
/* : String */;
143 char* var146
/* : NativeString */;
144 long var147
/* : Int */;
145 val
* var148
/* : FlatString */;
146 static val
* varonce149
;
147 val
* var150
/* : String */;
148 char* var151
/* : NativeString */;
149 long var152
/* : Int */;
150 val
* var153
/* : FlatString */;
151 val
* var154
/* : Array[Object] */;
152 long var155
/* : Int */;
153 val
* var156
/* : NativeArray[Object] */;
154 val
* var157
/* : String */;
155 val
* var158
/* : AbstractCompiler */;
156 val
* var160
/* : AbstractCompiler */;
157 val
* var161
/* : CodeWriter */;
158 val
* var163
/* : CodeWriter */;
159 static val
* varonce164
;
160 val
* var165
/* : String */;
161 char* var166
/* : NativeString */;
162 long var167
/* : Int */;
163 val
* var168
/* : FlatString */;
164 static val
* varonce169
;
165 val
* var170
/* : String */;
166 char* var171
/* : NativeString */;
167 long var172
/* : Int */;
168 val
* var173
/* : FlatString */;
169 val
* var174
/* : Array[Object] */;
170 long var175
/* : Int */;
171 val
* var176
/* : NativeArray[Object] */;
172 val
* var177
/* : String */;
173 val
* var178
/* : AbstractCompiler */;
174 val
* var180
/* : AbstractCompiler */;
175 val
* var181
/* : CodeWriter */;
176 val
* var183
/* : CodeWriter */;
177 static val
* varonce184
;
178 val
* var185
/* : String */;
179 char* var186
/* : NativeString */;
180 long var187
/* : Int */;
181 val
* var188
/* : FlatString */;
182 static val
* varonce189
;
183 val
* var190
/* : String */;
184 char* var191
/* : NativeString */;
185 long var192
/* : Int */;
186 val
* var193
/* : FlatString */;
187 val
* var194
/* : Array[Object] */;
188 long var195
/* : Int */;
189 val
* var196
/* : NativeArray[Object] */;
190 val
* var197
/* : String */;
191 val
* var198
/* : AbstractCompiler */;
192 val
* var200
/* : AbstractCompiler */;
193 val
* var201
/* : CodeWriter */;
194 val
* var203
/* : CodeWriter */;
195 static val
* varonce204
;
196 val
* var205
/* : String */;
197 char* var206
/* : NativeString */;
198 long var207
/* : Int */;
199 val
* var208
/* : FlatString */;
200 static val
* varonce209
;
201 val
* var210
/* : String */;
202 char* var211
/* : NativeString */;
203 long var212
/* : Int */;
204 val
* var213
/* : FlatString */;
205 val
* var214
/* : Array[Object] */;
206 long var215
/* : Int */;
207 val
* var216
/* : NativeArray[Object] */;
208 val
* var217
/* : String */;
209 val
* var219
/* : ModelBuilder */;
210 val
* var221
/* : ModelBuilder */;
211 val
* var222
/* : ToolContext */;
212 val
* var224
/* : ToolContext */;
213 val
* var225
/* : OptionBool */;
214 val
* var227
/* : OptionBool */;
215 val
* var228
/* : nullable Object */;
216 val
* var230
/* : nullable Object */;
217 short int var231
/* : Bool */;
218 static val
* varonce232
;
219 val
* var233
/* : String */;
220 char* var234
/* : NativeString */;
221 long var235
/* : Int */;
222 val
* var236
/* : FlatString */;
223 static val
* varonce237
;
224 val
* var238
/* : String */;
225 char* var239
/* : NativeString */;
226 long var240
/* : Int */;
227 val
* var241
/* : FlatString */;
228 static val
* varonce242
;
229 val
* var243
/* : String */;
230 char* var244
/* : NativeString */;
231 long var245
/* : Int */;
232 val
* var246
/* : FlatString */;
233 val
* var247
/* : AbstractCompiler */;
234 val
* var249
/* : AbstractCompiler */;
235 val
* var250
/* : CodeWriter */;
236 val
* var252
/* : CodeWriter */;
237 static val
* varonce253
;
238 val
* var254
/* : String */;
239 char* var255
/* : NativeString */;
240 long var256
/* : Int */;
241 val
* var257
/* : FlatString */;
242 val
* var258
/* : AbstractCompiler */;
243 val
* var260
/* : AbstractCompiler */;
244 val
* var261
/* : CodeWriter */;
245 val
* var263
/* : CodeWriter */;
246 static val
* varonce264
;
247 val
* var265
/* : String */;
248 char* var266
/* : NativeString */;
249 long var267
/* : Int */;
250 val
* var268
/* : FlatString */;
251 val
* var269
/* : AbstractCompiler */;
252 val
* var271
/* : AbstractCompiler */;
253 val
* var272
/* : CodeWriter */;
254 val
* var274
/* : CodeWriter */;
255 static val
* varonce275
;
256 val
* var276
/* : String */;
257 char* var277
/* : NativeString */;
258 long var278
/* : Int */;
259 val
* var279
/* : FlatString */;
260 val
* var280
/* : ModelBuilder */;
261 val
* var282
/* : ModelBuilder */;
262 val
* var283
/* : ToolContext */;
263 val
* var285
/* : ToolContext */;
264 val
* var286
/* : OptionBool */;
265 val
* var288
/* : OptionBool */;
266 val
* var289
/* : nullable Object */;
267 val
* var291
/* : nullable Object */;
268 short int var292
/* : Bool */;
269 static val
* varonce293
;
270 val
* var294
/* : String */;
271 char* var295
/* : NativeString */;
272 long var296
/* : Int */;
273 val
* var297
/* : FlatString */;
274 static val
* varonce298
;
275 val
* var299
/* : String */;
276 char* var300
/* : NativeString */;
277 long var301
/* : Int */;
278 val
* var302
/* : FlatString */;
279 val
* var303
/* : AbstractCompiler */;
280 val
* var305
/* : AbstractCompiler */;
281 val
* var306
/* : CodeWriter */;
282 val
* var308
/* : CodeWriter */;
283 static val
* varonce309
;
284 val
* var310
/* : String */;
285 char* var311
/* : NativeString */;
286 long var312
/* : Int */;
287 val
* var313
/* : FlatString */;
288 val
* var314
/* : AbstractCompiler */;
289 val
* var316
/* : AbstractCompiler */;
290 val
* var317
/* : CodeWriter */;
291 val
* var319
/* : CodeWriter */;
292 static val
* varonce320
;
293 val
* var321
/* : String */;
294 char* var322
/* : NativeString */;
295 long var323
/* : Int */;
296 val
* var324
/* : FlatString */;
297 static val
* varonce325
;
298 val
* var326
/* : String */;
299 char* var327
/* : NativeString */;
300 long var328
/* : Int */;
301 val
* var329
/* : FlatString */;
302 static val
* varonce330
;
303 val
* var331
/* : String */;
304 char* var332
/* : NativeString */;
305 long var333
/* : Int */;
306 val
* var334
/* : FlatString */;
307 static val
* varonce335
;
308 val
* var336
/* : String */;
309 char* var337
/* : NativeString */;
310 long var338
/* : Int */;
311 val
* var339
/* : FlatString */;
312 static val
* varonce340
;
313 val
* var341
/* : String */;
314 char* var342
/* : NativeString */;
315 long var343
/* : Int */;
316 val
* var344
/* : FlatString */;
317 static val
* varonce345
;
318 val
* var346
/* : String */;
319 char* var347
/* : NativeString */;
320 long var348
/* : Int */;
321 val
* var349
/* : FlatString */;
322 short int var350
/* : Bool */;
323 static val
* varonce351
;
324 val
* var352
/* : String */;
325 char* var353
/* : NativeString */;
326 long var354
/* : Int */;
327 val
* var355
/* : FlatString */;
328 short int var356
/* : Bool */;
329 short int var357
/* : Bool */;
330 short int var_358
/* var : Bool */;
331 static val
* varonce359
;
332 val
* var360
/* : String */;
333 char* var361
/* : NativeString */;
334 long var362
/* : Int */;
335 val
* var363
/* : FlatString */;
336 short int var364
/* : Bool */;
337 short int var365
/* : Bool */;
338 static val
* varonce366
;
339 val
* var367
/* : String */;
340 char* var368
/* : NativeString */;
341 long var369
/* : Int */;
342 val
* var370
/* : FlatString */;
343 static val
* varonce371
;
344 val
* var372
/* : String */;
345 char* var373
/* : NativeString */;
346 long var374
/* : Int */;
347 val
* var375
/* : FlatString */;
348 static val
* varonce376
;
349 val
* var377
/* : String */;
350 char* var378
/* : NativeString */;
351 long var379
/* : Int */;
352 val
* var380
/* : FlatString */;
353 static val
* varonce381
;
354 val
* var382
/* : String */;
355 char* var383
/* : NativeString */;
356 long var384
/* : Int */;
357 val
* var385
/* : FlatString */;
358 static val
* varonce386
;
359 val
* var387
/* : String */;
360 char* var388
/* : NativeString */;
361 long var389
/* : Int */;
362 val
* var390
/* : FlatString */;
363 static val
* varonce391
;
364 val
* var392
/* : String */;
365 char* var393
/* : NativeString */;
366 long var394
/* : Int */;
367 val
* var395
/* : FlatString */;
368 static val
* varonce396
;
369 val
* var397
/* : String */;
370 char* var398
/* : NativeString */;
371 long var399
/* : Int */;
372 val
* var400
/* : FlatString */;
373 static val
* varonce401
;
374 val
* var402
/* : String */;
375 char* var403
/* : NativeString */;
376 long var404
/* : Int */;
377 val
* var405
/* : FlatString */;
378 static val
* varonce406
;
379 val
* var407
/* : String */;
380 char* var408
/* : NativeString */;
381 long var409
/* : Int */;
382 val
* var410
/* : FlatString */;
383 static val
* varonce411
;
384 val
* var412
/* : String */;
385 char* var413
/* : NativeString */;
386 long var414
/* : Int */;
387 val
* var415
/* : FlatString */;
388 static val
* varonce416
;
389 val
* var417
/* : String */;
390 char* var418
/* : NativeString */;
391 long var419
/* : Int */;
392 val
* var420
/* : FlatString */;
393 static val
* varonce421
;
394 val
* var422
/* : String */;
395 char* var423
/* : NativeString */;
396 long var424
/* : Int */;
397 val
* var425
/* : FlatString */;
398 static val
* varonce426
;
399 val
* var427
/* : String */;
400 char* var428
/* : NativeString */;
401 long var429
/* : Int */;
402 val
* var430
/* : FlatString */;
403 static val
* varonce431
;
404 val
* var432
/* : String */;
405 char* var433
/* : NativeString */;
406 long var434
/* : Int */;
407 val
* var435
/* : FlatString */;
408 short int var436
/* : Bool */;
409 short int var437
/* : Bool */;
410 static val
* varonce438
;
411 val
* var439
/* : String */;
412 char* var440
/* : NativeString */;
413 long var441
/* : Int */;
414 val
* var442
/* : FlatString */;
415 static val
* varonce443
;
416 val
* var444
/* : String */;
417 char* var445
/* : NativeString */;
418 long var446
/* : Int */;
419 val
* var447
/* : FlatString */;
420 static val
* varonce448
;
421 val
* var449
/* : String */;
422 char* var450
/* : NativeString */;
423 long var451
/* : Int */;
424 val
* var452
/* : FlatString */;
425 static val
* varonce453
;
426 val
* var454
/* : String */;
427 char* var455
/* : NativeString */;
428 long var456
/* : Int */;
429 val
* var457
/* : FlatString */;
430 static val
* varonce458
;
431 val
* var459
/* : String */;
432 char* var460
/* : NativeString */;
433 long var461
/* : Int */;
434 val
* var462
/* : FlatString */;
435 static val
* varonce463
;
436 val
* var464
/* : String */;
437 char* var465
/* : NativeString */;
438 long var466
/* : Int */;
439 val
* var467
/* : FlatString */;
440 static val
* varonce468
;
441 val
* var469
/* : String */;
442 char* var470
/* : NativeString */;
443 long var471
/* : Int */;
444 val
* var472
/* : FlatString */;
445 static val
* varonce473
;
446 val
* var474
/* : String */;
447 char* var475
/* : NativeString */;
448 long var476
/* : Int */;
449 val
* var477
/* : FlatString */;
450 static val
* varonce478
;
451 val
* var479
/* : String */;
452 char* var480
/* : NativeString */;
453 long var481
/* : Int */;
454 val
* var482
/* : FlatString */;
455 static val
* varonce483
;
456 val
* var484
/* : String */;
457 char* var485
/* : NativeString */;
458 long var486
/* : Int */;
459 val
* var487
/* : FlatString */;
460 static val
* varonce488
;
461 val
* var489
/* : String */;
462 char* var490
/* : NativeString */;
463 long var491
/* : Int */;
464 val
* var492
/* : FlatString */;
465 static val
* varonce493
;
466 val
* var494
/* : String */;
467 char* var495
/* : NativeString */;
468 long var496
/* : Int */;
469 val
* var497
/* : FlatString */;
470 static val
* varonce498
;
471 val
* var499
/* : String */;
472 char* var500
/* : NativeString */;
473 long var501
/* : Int */;
474 val
* var502
/* : FlatString */;
475 static val
* varonce503
;
476 val
* var504
/* : String */;
477 char* var505
/* : NativeString */;
478 long var506
/* : Int */;
479 val
* var507
/* : FlatString */;
480 static val
* varonce508
;
481 val
* var509
/* : String */;
482 char* var510
/* : NativeString */;
483 long var511
/* : Int */;
484 val
* var512
/* : FlatString */;
485 static val
* varonce513
;
486 val
* var514
/* : String */;
487 char* var515
/* : NativeString */;
488 long var516
/* : Int */;
489 val
* var517
/* : FlatString */;
490 static val
* varonce518
;
491 val
* var519
/* : String */;
492 char* var520
/* : NativeString */;
493 long var521
/* : Int */;
494 val
* var522
/* : FlatString */;
495 static val
* varonce523
;
496 val
* var524
/* : String */;
497 char* var525
/* : NativeString */;
498 long var526
/* : Int */;
499 val
* var527
/* : FlatString */;
500 static val
* varonce528
;
501 val
* var529
/* : String */;
502 char* var530
/* : NativeString */;
503 long var531
/* : Int */;
504 val
* var532
/* : FlatString */;
505 static val
* varonce533
;
506 val
* var534
/* : String */;
507 char* var535
/* : NativeString */;
508 long var536
/* : Int */;
509 val
* var537
/* : FlatString */;
510 static val
* varonce538
;
511 val
* var539
/* : String */;
512 char* var540
/* : NativeString */;
513 long var541
/* : Int */;
514 val
* var542
/* : FlatString */;
515 static val
* varonce543
;
516 val
* var544
/* : String */;
517 char* var545
/* : NativeString */;
518 long var546
/* : Int */;
519 val
* var547
/* : FlatString */;
520 static val
* varonce548
;
521 val
* var549
/* : String */;
522 char* var550
/* : NativeString */;
523 long var551
/* : Int */;
524 val
* var552
/* : FlatString */;
525 static val
* varonce553
;
526 val
* var554
/* : String */;
527 char* var555
/* : NativeString */;
528 long var556
/* : Int */;
529 val
* var557
/* : FlatString */;
530 static val
* varonce558
;
531 val
* var559
/* : String */;
532 char* var560
/* : NativeString */;
533 long var561
/* : Int */;
534 val
* var562
/* : FlatString */;
535 val
* var563
/* : MModule */;
536 val
* var565
/* : MModule */;
537 val
* var566
/* : nullable MClassType */;
538 val
* var_main_type
/* var main_type: nullable MClassType */;
539 val
* var567
/* : null */;
540 short int var568
/* : Bool */;
541 short int var569
/* : Bool */;
542 val
* var_other
/* var other: nullable Object */;
543 short int var571
/* : Bool */;
544 short int var572
/* : Bool */;
545 val
* var573
/* : AbstractCompiler */;
546 val
* var575
/* : AbstractCompiler */;
547 val
* var576
/* : MModule */;
548 val
* var578
/* : MModule */;
549 val
* var_mainmodule
/* var mainmodule: MModule */;
550 val
* var579
/* : RuntimeVariable */;
551 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
552 static val
* varonce580
;
553 val
* var581
/* : String */;
554 char* var582
/* : NativeString */;
555 long var583
/* : Int */;
556 val
* var584
/* : FlatString */;
557 static val
* varonce585
;
558 val
* var586
/* : String */;
559 char* var587
/* : NativeString */;
560 long var588
/* : Int */;
561 val
* var589
/* : FlatString */;
562 val
* var590
/* : Array[Object] */;
563 long var591
/* : Int */;
564 val
* var592
/* : NativeArray[Object] */;
565 val
* var593
/* : String */;
566 static val
* varonce594
;
567 val
* var595
/* : String */;
568 char* var596
/* : NativeString */;
569 long var597
/* : Int */;
570 val
* var598
/* : FlatString */;
571 val
* var599
/* : MClass */;
572 val
* var601
/* : MClass */;
573 val
* var602
/* : nullable MMethod */;
574 val
* var_main_init
/* var main_init: nullable MMethod */;
575 val
* var603
/* : null */;
576 short int var604
/* : Bool */;
577 short int var605
/* : Bool */;
578 short int var607
/* : Bool */;
579 short int var608
/* : Bool */;
580 val
* var609
/* : Array[RuntimeVariable] */;
581 long var610
/* : Int */;
582 val
* var_611
/* var : Array[RuntimeVariable] */;
583 val
* var612
/* : nullable RuntimeVariable */;
584 val
* var613
/* : nullable MMethod */;
585 static val
* varonce614
;
586 val
* var615
/* : String */;
587 char* var616
/* : NativeString */;
588 long var617
/* : Int */;
589 val
* var618
/* : FlatString */;
590 val
* var619
/* : MClass */;
591 val
* var621
/* : MClass */;
592 val
* var622
/* : nullable MMethod */;
593 static val
* varonce623
;
594 val
* var624
/* : String */;
595 char* var625
/* : NativeString */;
596 long var626
/* : Int */;
597 val
* var627
/* : FlatString */;
598 val
* var628
/* : MClass */;
599 val
* var630
/* : MClass */;
600 val
* var631
/* : nullable MMethod */;
601 val
* var_main_method
/* var main_method: nullable MMethod */;
602 val
* var632
/* : null */;
603 short int var633
/* : Bool */;
604 short int var634
/* : Bool */;
605 short int var636
/* : Bool */;
606 short int var637
/* : Bool */;
607 val
* var638
/* : Array[RuntimeVariable] */;
608 long var639
/* : Int */;
609 val
* var_640
/* var : Array[RuntimeVariable] */;
610 val
* var641
/* : nullable RuntimeVariable */;
611 val
* var642
/* : ModelBuilder */;
612 val
* var644
/* : ModelBuilder */;
613 val
* var645
/* : ToolContext */;
614 val
* var647
/* : ToolContext */;
615 val
* var648
/* : OptionBool */;
616 val
* var650
/* : OptionBool */;
617 val
* var651
/* : nullable Object */;
618 val
* var653
/* : nullable Object */;
619 short int var654
/* : Bool */;
620 static val
* varonce655
;
621 val
* var656
/* : String */;
622 char* var657
/* : NativeString */;
623 long var658
/* : Int */;
624 val
* var659
/* : FlatString */;
625 static val
* varonce660
;
626 val
* var661
/* : String */;
627 char* var662
/* : NativeString */;
628 long var663
/* : Int */;
629 val
* var664
/* : FlatString */;
630 static val
* varonce665
;
631 val
* var666
/* : String */;
632 char* var667
/* : NativeString */;
633 long var668
/* : Int */;
634 val
* var669
/* : FlatString */;
635 static val
* varonce670
;
636 val
* var671
/* : String */;
637 char* var672
/* : NativeString */;
638 long var673
/* : Int */;
639 val
* var674
/* : FlatString */;
640 val
* var675
/* : Array[String] */;
641 val
* var677
/* : Array[String] */;
642 val
* var_678
/* var : Array[String] */;
643 val
* var679
/* : ArrayIterator[nullable Object] */;
644 val
* var_680
/* var : ArrayIterator[String] */;
645 short int var681
/* : Bool */;
646 val
* var682
/* : nullable Object */;
647 val
* var_tag683
/* var tag: String */;
648 static val
* varonce684
;
649 val
* var685
/* : String */;
650 char* var686
/* : NativeString */;
651 long var687
/* : Int */;
652 val
* var688
/* : FlatString */;
653 static val
* varonce689
;
654 val
* var690
/* : String */;
655 char* var691
/* : NativeString */;
656 long var692
/* : Int */;
657 val
* var693
/* : FlatString */;
658 val
* var694
/* : Array[Object] */;
659 long var695
/* : Int */;
660 val
* var696
/* : NativeArray[Object] */;
661 val
* var697
/* : String */;
662 static val
* varonce698
;
663 val
* var699
/* : String */;
664 char* var700
/* : NativeString */;
665 long var701
/* : Int */;
666 val
* var702
/* : FlatString */;
667 static val
* varonce703
;
668 val
* var704
/* : String */;
669 char* var705
/* : NativeString */;
670 long var706
/* : Int */;
671 val
* var707
/* : FlatString */;
672 static val
* varonce708
;
673 val
* var709
/* : String */;
674 char* var710
/* : NativeString */;
675 long var711
/* : Int */;
676 val
* var712
/* : FlatString */;
677 static val
* varonce713
;
678 val
* var714
/* : String */;
679 char* var715
/* : NativeString */;
680 long var716
/* : Int */;
681 val
* var717
/* : FlatString */;
682 static val
* varonce718
;
683 val
* var719
/* : String */;
684 char* var720
/* : NativeString */;
685 long var721
/* : Int */;
686 val
* var722
/* : FlatString */;
687 val
* var723
/* : Array[Object] */;
688 long var724
/* : Int */;
689 val
* var725
/* : NativeArray[Object] */;
690 val
* var726
/* : String */;
691 static val
* varonce727
;
692 val
* var728
/* : String */;
693 char* var729
/* : NativeString */;
694 long var730
/* : Int */;
695 val
* var731
/* : FlatString */;
696 static val
* varonce732
;
697 val
* var733
/* : String */;
698 char* var734
/* : NativeString */;
699 long var735
/* : Int */;
700 val
* var736
/* : FlatString */;
701 val
* var737
/* : Array[Object] */;
702 long var738
/* : Int */;
703 val
* var739
/* : NativeArray[Object] */;
704 val
* var740
/* : String */;
705 static val
* varonce741
;
706 val
* var742
/* : String */;
707 char* var743
/* : NativeString */;
708 long var744
/* : Int */;
709 val
* var745
/* : FlatString */;
710 static val
* varonce746
;
711 val
* var747
/* : String */;
712 char* var748
/* : NativeString */;
713 long var749
/* : Int */;
714 val
* var750
/* : FlatString */;
715 val
* var751
/* : Array[Object] */;
716 long var752
/* : Int */;
717 val
* var753
/* : NativeArray[Object] */;
718 val
* var754
/* : String */;
719 static val
* varonce755
;
720 val
* var756
/* : String */;
721 char* var757
/* : NativeString */;
722 long var758
/* : Int */;
723 val
* var759
/* : FlatString */;
724 static val
* varonce760
;
725 val
* var761
/* : String */;
726 char* var762
/* : NativeString */;
727 long var763
/* : Int */;
728 val
* var764
/* : FlatString */;
729 val
* var765
/* : Array[Object] */;
730 long var766
/* : Int */;
731 val
* var767
/* : NativeArray[Object] */;
732 val
* var768
/* : String */;
733 static val
* varonce769
;
734 val
* var770
/* : String */;
735 char* var771
/* : NativeString */;
736 long var772
/* : Int */;
737 val
* var773
/* : FlatString */;
738 static val
* varonce774
;
739 val
* var775
/* : String */;
740 char* var776
/* : NativeString */;
741 long var777
/* : Int */;
742 val
* var778
/* : FlatString */;
743 val
* var779
/* : Array[Object] */;
744 long var780
/* : Int */;
745 val
* var781
/* : NativeArray[Object] */;
746 val
* var782
/* : String */;
747 static val
* varonce785
;
748 val
* var786
/* : String */;
749 char* var787
/* : NativeString */;
750 long var788
/* : Int */;
751 val
* var789
/* : FlatString */;
752 static val
* varonce790
;
753 val
* var791
/* : String */;
754 char* var792
/* : NativeString */;
755 long var793
/* : Int */;
756 val
* var794
/* : FlatString */;
757 val
* var795
/* : Array[String] */;
758 val
* var797
/* : Array[String] */;
759 val
* var798
/* : Array[nullable Object] */;
760 val
* var_tags
/* var tags: Array[String] */;
761 static val
* varonce799
;
762 val
* var800
/* : String */;
763 char* var801
/* : NativeString */;
764 long var802
/* : Int */;
765 val
* var803
/* : FlatString */;
766 val
* var_804
/* var : Array[String] */;
767 val
* var805
/* : ArrayIterator[nullable Object] */;
768 val
* var_806
/* var : ArrayIterator[String] */;
769 short int var807
/* : Bool */;
770 val
* var808
/* : nullable Object */;
771 val
* var_tag809
/* var tag: String */;
772 static val
* varonce810
;
773 val
* var811
/* : String */;
774 char* var812
/* : NativeString */;
775 long var813
/* : Int */;
776 val
* var814
/* : FlatString */;
777 static val
* varonce815
;
778 val
* var816
/* : String */;
779 char* var817
/* : NativeString */;
780 long var818
/* : Int */;
781 val
* var819
/* : FlatString */;
782 val
* var820
/* : Array[Object] */;
783 long var821
/* : Int */;
784 val
* var822
/* : NativeArray[Object] */;
785 val
* var823
/* : String */;
786 static val
* varonce824
;
787 val
* var825
/* : String */;
788 char* var826
/* : NativeString */;
789 long var827
/* : Int */;
790 val
* var828
/* : FlatString */;
791 static val
* varonce829
;
792 val
* var830
/* : String */;
793 char* var831
/* : NativeString */;
794 long var832
/* : Int */;
795 val
* var833
/* : FlatString */;
796 static val
* varonce834
;
797 val
* var835
/* : String */;
798 char* var836
/* : NativeString */;
799 long var837
/* : Int */;
800 val
* var838
/* : FlatString */;
801 val
* var839
/* : Array[Object] */;
802 long var840
/* : Int */;
803 val
* var841
/* : NativeArray[Object] */;
804 val
* var842
/* : String */;
805 static val
* varonce843
;
806 val
* var844
/* : String */;
807 char* var845
/* : NativeString */;
808 long var846
/* : Int */;
809 val
* var847
/* : FlatString */;
810 static val
* varonce848
;
811 val
* var849
/* : String */;
812 char* var850
/* : NativeString */;
813 long var851
/* : Int */;
814 val
* var852
/* : FlatString */;
815 static val
* varonce853
;
816 val
* var854
/* : String */;
817 char* var855
/* : NativeString */;
818 long var856
/* : Int */;
819 val
* var857
/* : FlatString */;
820 val
* var858
/* : Array[Object] */;
821 long var859
/* : Int */;
822 val
* var860
/* : NativeArray[Object] */;
823 val
* var861
/* : String */;
824 static val
* varonce862
;
825 val
* var863
/* : String */;
826 char* var864
/* : NativeString */;
827 long var865
/* : Int */;
828 val
* var866
/* : FlatString */;
829 static val
* varonce867
;
830 val
* var868
/* : String */;
831 char* var869
/* : NativeString */;
832 long var870
/* : Int */;
833 val
* var871
/* : FlatString */;
834 static val
* varonce872
;
835 val
* var873
/* : String */;
836 char* var874
/* : NativeString */;
837 long var875
/* : Int */;
838 val
* var876
/* : FlatString */;
839 val
* var877
/* : Array[Object] */;
840 long var878
/* : Int */;
841 val
* var879
/* : NativeArray[Object] */;
842 val
* var880
/* : String */;
843 static val
* varonce881
;
844 val
* var882
/* : String */;
845 char* var883
/* : NativeString */;
846 long var884
/* : Int */;
847 val
* var885
/* : FlatString */;
848 static val
* varonce886
;
849 val
* var887
/* : String */;
850 char* var888
/* : NativeString */;
851 long var889
/* : Int */;
852 val
* var890
/* : FlatString */;
853 static val
* varonce891
;
854 val
* var892
/* : String */;
855 char* var893
/* : NativeString */;
856 long var894
/* : Int */;
857 val
* var895
/* : FlatString */;
858 val
* var896
/* : Array[Object] */;
859 long var897
/* : Int */;
860 val
* var898
/* : NativeArray[Object] */;
861 val
* var899
/* : String */;
862 val
* var902
/* : ModelBuilder */;
863 val
* var904
/* : ModelBuilder */;
864 val
* var905
/* : ToolContext */;
865 val
* var907
/* : ToolContext */;
866 val
* var908
/* : OptionBool */;
867 val
* var910
/* : OptionBool */;
868 val
* var911
/* : nullable Object */;
869 val
* var913
/* : nullable Object */;
870 short int var914
/* : Bool */;
871 static val
* varonce915
;
872 val
* var916
/* : String */;
873 char* var917
/* : NativeString */;
874 long var918
/* : Int */;
875 val
* var919
/* : FlatString */;
876 static val
* varonce920
;
877 val
* var921
/* : String */;
878 char* var922
/* : NativeString */;
879 long var923
/* : Int */;
880 val
* var924
/* : FlatString */;
881 static val
* varonce925
;
882 val
* var926
/* : String */;
883 char* var927
/* : NativeString */;
884 long var928
/* : Int */;
885 val
* var929
/* : FlatString */;
886 static val
* varonce930
;
887 val
* var931
/* : String */;
888 char* var932
/* : NativeString */;
889 long var933
/* : Int */;
890 val
* var934
/* : FlatString */;
891 static val
* varonce935
;
892 val
* var936
/* : String */;
893 char* var937
/* : NativeString */;
894 long var938
/* : Int */;
895 val
* var939
/* : FlatString */;
896 static val
* varonce940
;
897 val
* var941
/* : String */;
898 char* var942
/* : NativeString */;
899 long var943
/* : Int */;
900 val
* var944
/* : FlatString */;
901 val
* var945
/* : ModelBuilder */;
902 val
* var947
/* : ModelBuilder */;
903 val
* var948
/* : ToolContext */;
904 val
* var950
/* : ToolContext */;
905 val
* var951
/* : OptionBool */;
906 val
* var953
/* : OptionBool */;
907 val
* var954
/* : nullable Object */;
908 val
* var956
/* : nullable Object */;
909 short int var957
/* : Bool */;
910 static val
* varonce958
;
911 val
* var959
/* : String */;
912 char* var960
/* : NativeString */;
913 long var961
/* : Int */;
914 val
* var962
/* : FlatString */;
915 static val
* varonce963
;
916 val
* var964
/* : String */;
917 char* var965
/* : NativeString */;
918 long var966
/* : Int */;
919 val
* var967
/* : FlatString */;
920 static val
* varonce968
;
921 val
* var969
/* : String */;
922 char* var970
/* : NativeString */;
923 long var971
/* : Int */;
924 val
* var972
/* : FlatString */;
925 static val
* varonce973
;
926 val
* var974
/* : String */;
927 char* var975
/* : NativeString */;
928 long var976
/* : Int */;
929 val
* var977
/* : FlatString */;
930 val
* var978
/* : MModule */;
931 val
* var980
/* : MModule */;
932 val
* var981
/* : POSetElement[MModule] */;
933 val
* var983
/* : POSetElement[MModule] */;
934 val
* var984
/* : Collection[nullable Object] */;
935 val
* var_985
/* var : Collection[MModule] */;
936 val
* var986
/* : Iterator[nullable Object] */;
937 val
* var_987
/* var : Iterator[MModule] */;
938 short int var988
/* : Bool */;
939 val
* var989
/* : nullable Object */;
940 val
* var_m
/* var m: MModule */;
941 static val
* varonce990
;
942 val
* var991
/* : String */;
943 char* var992
/* : NativeString */;
944 long var993
/* : Int */;
945 val
* var994
/* : FlatString */;
946 val
* var995
/* : String */;
947 val
* var996
/* : String */;
948 val
* var_f
/* var f: String */;
949 static val
* varonce997
;
950 val
* var998
/* : String */;
951 char* var999
/* : NativeString */;
952 long var1000
/* : Int */;
953 val
* var1001
/* : FlatString */;
954 static val
* varonce1002
;
955 val
* var1003
/* : String */;
956 char* var1004
/* : NativeString */;
957 long var1005
/* : Int */;
958 val
* var1006
/* : FlatString */;
959 val
* var1007
/* : Location */;
960 val
* var1009
/* : Location */;
961 val
* var1010
/* : nullable SourceFile */;
962 val
* var1012
/* : nullable SourceFile */;
963 val
* var1013
/* : String */;
964 val
* var1015
/* : String */;
965 val
* var1016
/* : String */;
966 static val
* varonce1017
;
967 val
* var1018
/* : String */;
968 char* var1019
/* : NativeString */;
969 long var1020
/* : Int */;
970 val
* var1021
/* : FlatString */;
971 val
* var1022
/* : Array[Object] */;
972 long var1023
/* : Int */;
973 val
* var1024
/* : NativeArray[Object] */;
974 val
* var1025
/* : String */;
975 static val
* varonce1026
;
976 val
* var1027
/* : String */;
977 char* var1028
/* : NativeString */;
978 long var1029
/* : Int */;
979 val
* var1030
/* : FlatString */;
980 static val
* varonce1031
;
981 val
* var1032
/* : String */;
982 char* var1033
/* : NativeString */;
983 long var1034
/* : Int */;
984 val
* var1035
/* : FlatString */;
985 val
* var1036
/* : Array[Object] */;
986 long var1037
/* : Int */;
987 val
* var1038
/* : NativeArray[Object] */;
988 val
* var1039
/* : String */;
990 var
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
996 var2
= "#include <signal.h>";
998 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
1003 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1006 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1007 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1008 if (unlikely(var7
== NULL
)) {
1009 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1010 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1018 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var5) on <var5:ModelBuilder> */
1019 var10
= var5
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var5:ModelBuilder> */
1020 if (unlikely(var10
== NULL
)) {
1021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1030 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (var8) on <var8:ToolContext> */
1031 var13
= var8
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <var8:ToolContext> */
1032 if (unlikely(var13
== NULL
)) {
1033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
1034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
1038 RET_LABEL12
:(void)0;
1042 { /* Inline opts#Option#value (var11) on <var11:OptionString> */
1043 var16
= var11
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var11:OptionString> */
1045 RET_LABEL15
:(void)0;
1050 { /* Inline abstract_compiler#AbstractCompiler#target_platform (self) on <self:AbstractCompiler> */
1051 var19
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
1052 if (unlikely(var19
== NULL
)) {
1053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
1054 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 487);
1058 RET_LABEL18
:(void)0;
1061 var_platform
= var17
;
1063 var20
= nit___nit__Platform___supports_libunwind(var_platform
);
1072 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
1080 var28
= nit___nit__Platform___no_main(var_platform
);
1087 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1088 var31
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1089 if (unlikely(var31
== NULL
)) {
1090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1095 RET_LABEL30
:(void)0;
1099 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var29) on <var29:ModelBuilder> */
1100 var34
= var29
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var29:ModelBuilder> */
1101 if (unlikely(var34
== NULL
)) {
1102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1107 RET_LABEL33
:(void)0;
1111 { /* Inline abstract_compiler#ToolContext#opt_no_main (var32) on <var32:ToolContext> */
1112 var37
= var32
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <var32:ToolContext> */
1113 if (unlikely(var37
== NULL
)) {
1114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 35);
1119 RET_LABEL36
:(void)0;
1123 { /* Inline opts#Option#value (var35) on <var35:OptionBool> */
1124 var40
= var35
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var35:OptionBool> */
1126 RET_LABEL39
:(void)0;
1129 var41
= ((struct instance_standard__Bool
*)var38
)->value
; /* autounbox from nullable Object to Bool */;
1132 var_no_main
= var27
;
1138 var47
= standard___standard__NativeString___to_s_with_length(var45
, var46
);
1142 if (var_ost
== NULL
) {
1143 var48
= 0; /* <var44:String> cannot be null */
1145 var49
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var44
) /* == on <var_ost:nullable String>*/;
1155 var53
= "libunwind";
1157 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
1161 if (var_ost
== NULL
) {
1162 var56
= 0; /* <var52:String> cannot be null */
1164 var57
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var52
) /* == on <var_ost:nullable String>*/;
1173 var60
= "#define UNW_LOCAL_ONLY";
1175 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
1180 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var59
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1185 var65
= "#include <libunwind.h>";
1187 var67
= standard___standard__NativeString___to_s_with_length(var65
, var66
);
1192 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var64
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1199 var72
= standard___standard__NativeString___to_s_with_length(var70
, var71
);
1203 if (var_ost
== NULL
) {
1204 var73
= 0; /* <var69:String> cannot be null */
1206 var74
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var69
) /* == on <var_ost:nullable String>*/;
1213 var77
= "#include \"c_functions_hash.h\"";
1215 var79
= standard___standard__NativeString___to_s_with_length(var77
, var78
);
1220 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var76
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1229 var82
= "int glob_argc;";
1231 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
1236 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1241 var87
= "char **glob_argv;";
1243 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
1248 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var86
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1253 var92
= "val *glob_sys;";
1255 var94
= standard___standard__NativeString___to_s_with_length(var92
, var93
);
1260 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var91
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1263 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1264 var97
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1265 if (unlikely(var97
== NULL
)) {
1266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1271 RET_LABEL96
:(void)0;
1275 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var95) on <var95:ModelBuilder> */
1276 var100
= var95
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var95:ModelBuilder> */
1277 if (unlikely(var100
== NULL
)) {
1278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1283 RET_LABEL99
:(void)0;
1287 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var98) on <var98:ToolContext> */
1288 var103
= var98
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var98:ToolContext> */
1289 if (unlikely(var103
== NULL
)) {
1290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
1295 RET_LABEL102
:(void)0;
1299 { /* Inline opts#Option#value (var101) on <var101:OptionBool> */
1300 var106
= var101
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var101:OptionBool> */
1302 RET_LABEL105
:(void)0;
1305 var107
= ((struct instance_standard__Bool
*)var104
)->value
; /* autounbox from nullable Object to Bool */;
1308 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
1309 var110
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
1310 if (unlikely(var110
== NULL
)) {
1311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
1312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
1316 RET_LABEL109
:(void)0;
1321 var112
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_111
);
1326 var114
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_113
);
1330 var115
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_113
);
1334 var117
= varonce116
;
1336 var118
= "long count_type_test_resolved_";
1338 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
1340 varonce116
= var117
;
1343 var122
= varonce121
;
1347 var125
= standard___standard__NativeString___to_s_with_length(var123
, var124
);
1349 varonce121
= var122
;
1351 var126
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1352 { /* var126 = array_instance Array[Object] */
1354 var128
= NEW_standard__NativeArray(var127
, &type_standard__NativeArray__standard__Object
);
1355 ((struct instance_standard__NativeArray
*)var128
)->values
[0] = (val
*) var117
;
1356 ((struct instance_standard__NativeArray
*)var128
)->values
[1] = (val
*) var_tag
;
1357 ((struct instance_standard__NativeArray
*)var128
)->values
[2] = (val
*) var122
;
1359 ((void (*)(val
* self
, val
* p0
, long p1
))(var126
->class->vft
[COLOR_standard__array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
1363 var129
= ((val
* (*)(val
* self
))(var126
->class->vft
[COLOR_standard__string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
1366 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var129
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1369 var131
= varonce130
;
1371 var132
= "long count_type_test_unresolved_";
1373 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
1375 varonce130
= var131
;
1378 var136
= varonce135
;
1382 var139
= standard___standard__NativeString___to_s_with_length(var137
, var138
);
1384 varonce135
= var136
;
1386 var140
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1387 { /* var140 = array_instance Array[Object] */
1389 var142
= NEW_standard__NativeArray(var141
, &type_standard__NativeArray__standard__Object
);
1390 ((struct instance_standard__NativeArray
*)var142
)->values
[0] = (val
*) var131
;
1391 ((struct instance_standard__NativeArray
*)var142
)->values
[1] = (val
*) var_tag
;
1392 ((struct instance_standard__NativeArray
*)var142
)->values
[2] = (val
*) var136
;
1394 ((void (*)(val
* self
, val
* p0
, long p1
))(var140
->class->vft
[COLOR_standard__array__Array__with_native
]))(var140
, var142
, var141
) /* with_native on <var140:Array[Object]>*/;
1398 var143
= ((val
* (*)(val
* self
))(var140
->class->vft
[COLOR_standard__string__Object__to_s
]))(var140
) /* to_s on <var140:Array[Object]>*/;
1401 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var143
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1404 var145
= varonce144
;
1406 var146
= "long count_type_test_skipped_";
1408 var148
= standard___standard__NativeString___to_s_with_length(var146
, var147
);
1410 varonce144
= var145
;
1413 var150
= varonce149
;
1417 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
1419 varonce149
= var150
;
1421 var154
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1422 { /* var154 = array_instance Array[Object] */
1424 var156
= NEW_standard__NativeArray(var155
, &type_standard__NativeArray__standard__Object
);
1425 ((struct instance_standard__NativeArray
*)var156
)->values
[0] = (val
*) var145
;
1426 ((struct instance_standard__NativeArray
*)var156
)->values
[1] = (val
*) var_tag
;
1427 ((struct instance_standard__NativeArray
*)var156
)->values
[2] = (val
*) var150
;
1429 ((void (*)(val
* self
, val
* p0
, long p1
))(var154
->class->vft
[COLOR_standard__array__Array__with_native
]))(var154
, var156
, var155
) /* with_native on <var154:Array[Object]>*/;
1433 var157
= ((val
* (*)(val
* self
))(var154
->class->vft
[COLOR_standard__string__Object__to_s
]))(var154
) /* to_s on <var154:Array[Object]>*/;
1436 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var157
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1439 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1440 var160
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1441 if (unlikely(var160
== NULL
)) {
1442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1447 RET_LABEL159
:(void)0;
1451 { /* Inline abstract_compiler#AbstractCompiler#header (var158) on <var158:AbstractCompiler> */
1452 var163
= var158
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var158:AbstractCompiler> */
1453 if (unlikely(var163
== NULL
)) {
1454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1455 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1459 RET_LABEL162
:(void)0;
1463 var165
= varonce164
;
1465 var166
= "extern long count_type_test_resolved_";
1467 var168
= standard___standard__NativeString___to_s_with_length(var166
, var167
);
1469 varonce164
= var165
;
1472 var170
= varonce169
;
1476 var173
= standard___standard__NativeString___to_s_with_length(var171
, var172
);
1478 varonce169
= var170
;
1480 var174
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1481 { /* var174 = array_instance Array[Object] */
1483 var176
= NEW_standard__NativeArray(var175
, &type_standard__NativeArray__standard__Object
);
1484 ((struct instance_standard__NativeArray
*)var176
)->values
[0] = (val
*) var165
;
1485 ((struct instance_standard__NativeArray
*)var176
)->values
[1] = (val
*) var_tag
;
1486 ((struct instance_standard__NativeArray
*)var176
)->values
[2] = (val
*) var170
;
1488 ((void (*)(val
* self
, val
* p0
, long p1
))(var174
->class->vft
[COLOR_standard__array__Array__with_native
]))(var174
, var176
, var175
) /* with_native on <var174:Array[Object]>*/;
1492 var177
= ((val
* (*)(val
* self
))(var174
->class->vft
[COLOR_standard__string__Object__to_s
]))(var174
) /* to_s on <var174:Array[Object]>*/;
1495 nit___nit__CodeWriter___add_decl(var161
, var177
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var161:CodeWriter>*/
1498 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1499 var180
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1500 if (unlikely(var180
== NULL
)) {
1501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1506 RET_LABEL179
:(void)0;
1510 { /* Inline abstract_compiler#AbstractCompiler#header (var178) on <var178:AbstractCompiler> */
1511 var183
= var178
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var178:AbstractCompiler> */
1512 if (unlikely(var183
== NULL
)) {
1513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1518 RET_LABEL182
:(void)0;
1522 var185
= varonce184
;
1524 var186
= "extern long count_type_test_unresolved_";
1526 var188
= standard___standard__NativeString___to_s_with_length(var186
, var187
);
1528 varonce184
= var185
;
1531 var190
= varonce189
;
1535 var193
= standard___standard__NativeString___to_s_with_length(var191
, var192
);
1537 varonce189
= var190
;
1539 var194
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1540 { /* var194 = array_instance Array[Object] */
1542 var196
= NEW_standard__NativeArray(var195
, &type_standard__NativeArray__standard__Object
);
1543 ((struct instance_standard__NativeArray
*)var196
)->values
[0] = (val
*) var185
;
1544 ((struct instance_standard__NativeArray
*)var196
)->values
[1] = (val
*) var_tag
;
1545 ((struct instance_standard__NativeArray
*)var196
)->values
[2] = (val
*) var190
;
1547 ((void (*)(val
* self
, val
* p0
, long p1
))(var194
->class->vft
[COLOR_standard__array__Array__with_native
]))(var194
, var196
, var195
) /* with_native on <var194:Array[Object]>*/;
1551 var197
= ((val
* (*)(val
* self
))(var194
->class->vft
[COLOR_standard__string__Object__to_s
]))(var194
) /* to_s on <var194:Array[Object]>*/;
1554 nit___nit__CodeWriter___add_decl(var181
, var197
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var181:CodeWriter>*/
1557 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1558 var200
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1559 if (unlikely(var200
== NULL
)) {
1560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1565 RET_LABEL199
:(void)0;
1569 { /* Inline abstract_compiler#AbstractCompiler#header (var198) on <var198:AbstractCompiler> */
1570 var203
= var198
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var198:AbstractCompiler> */
1571 if (unlikely(var203
== NULL
)) {
1572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1573 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1577 RET_LABEL202
:(void)0;
1581 var205
= varonce204
;
1583 var206
= "extern long count_type_test_skipped_";
1585 var208
= standard___standard__NativeString___to_s_with_length(var206
, var207
);
1587 varonce204
= var205
;
1590 var210
= varonce209
;
1594 var213
= standard___standard__NativeString___to_s_with_length(var211
, var212
);
1596 varonce209
= var210
;
1598 var214
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1599 { /* var214 = array_instance Array[Object] */
1601 var216
= NEW_standard__NativeArray(var215
, &type_standard__NativeArray__standard__Object
);
1602 ((struct instance_standard__NativeArray
*)var216
)->values
[0] = (val
*) var205
;
1603 ((struct instance_standard__NativeArray
*)var216
)->values
[1] = (val
*) var_tag
;
1604 ((struct instance_standard__NativeArray
*)var216
)->values
[2] = (val
*) var210
;
1606 ((void (*)(val
* self
, val
* p0
, long p1
))(var214
->class->vft
[COLOR_standard__array__Array__with_native
]))(var214
, var216
, var215
) /* with_native on <var214:Array[Object]>*/;
1610 var217
= ((val
* (*)(val
* self
))(var214
->class->vft
[COLOR_standard__string__Object__to_s
]))(var214
) /* to_s on <var214:Array[Object]>*/;
1613 nit___nit__CodeWriter___add_decl(var201
, var217
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var201:CodeWriter>*/
1616 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_113
); /* Direct call array#ArrayIterator#next on <var_113:ArrayIterator[String]>*/
1622 BREAK_label
: (void)0;
1624 { /* Inline abstract_collection#Iterator#finish (var_113) on <var_113:ArrayIterator[String]> */
1625 RET_LABEL218
:(void)0;
1631 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1632 var221
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1633 if (unlikely(var221
== NULL
)) {
1634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1639 RET_LABEL220
:(void)0;
1643 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var219) on <var219:ModelBuilder> */
1644 var224
= var219
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var219:ModelBuilder> */
1645 if (unlikely(var224
== NULL
)) {
1646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1651 RET_LABEL223
:(void)0;
1655 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var222) on <var222:ToolContext> */
1656 var227
= var222
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var222:ToolContext> */
1657 if (unlikely(var227
== NULL
)) {
1658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
1659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
1663 RET_LABEL226
:(void)0;
1667 { /* Inline opts#Option#value (var225) on <var225:OptionBool> */
1668 var230
= var225
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var225:OptionBool> */
1670 RET_LABEL229
:(void)0;
1673 var231
= ((struct instance_standard__Bool
*)var228
)->value
; /* autounbox from nullable Object to Bool */;
1676 var233
= varonce232
;
1678 var234
= "long count_invoke_by_tables;";
1680 var236
= standard___standard__NativeString___to_s_with_length(var234
, var235
);
1682 varonce232
= var233
;
1685 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var233
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1688 var238
= varonce237
;
1690 var239
= "long count_invoke_by_direct;";
1692 var241
= standard___standard__NativeString___to_s_with_length(var239
, var240
);
1694 varonce237
= var238
;
1697 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var238
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1700 var243
= varonce242
;
1702 var244
= "long count_invoke_by_inline;";
1704 var246
= standard___standard__NativeString___to_s_with_length(var244
, var245
);
1706 varonce242
= var243
;
1709 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var243
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1712 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1713 var249
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1714 if (unlikely(var249
== NULL
)) {
1715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1720 RET_LABEL248
:(void)0;
1724 { /* Inline abstract_compiler#AbstractCompiler#header (var247) on <var247:AbstractCompiler> */
1725 var252
= var247
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var247:AbstractCompiler> */
1726 if (unlikely(var252
== NULL
)) {
1727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1728 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1732 RET_LABEL251
:(void)0;
1736 var254
= varonce253
;
1738 var255
= "extern long count_invoke_by_tables;";
1740 var257
= standard___standard__NativeString___to_s_with_length(var255
, var256
);
1742 varonce253
= var254
;
1745 nit___nit__CodeWriter___add_decl(var250
, var254
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var250:CodeWriter>*/
1748 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1749 var260
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1750 if (unlikely(var260
== NULL
)) {
1751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1756 RET_LABEL259
:(void)0;
1760 { /* Inline abstract_compiler#AbstractCompiler#header (var258) on <var258:AbstractCompiler> */
1761 var263
= var258
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var258:AbstractCompiler> */
1762 if (unlikely(var263
== NULL
)) {
1763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1764 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1768 RET_LABEL262
:(void)0;
1772 var265
= varonce264
;
1774 var266
= "extern long count_invoke_by_direct;";
1776 var268
= standard___standard__NativeString___to_s_with_length(var266
, var267
);
1778 varonce264
= var265
;
1781 nit___nit__CodeWriter___add_decl(var261
, var265
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var261:CodeWriter>*/
1784 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1785 var271
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1786 if (unlikely(var271
== NULL
)) {
1787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1788 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1792 RET_LABEL270
:(void)0;
1796 { /* Inline abstract_compiler#AbstractCompiler#header (var269) on <var269:AbstractCompiler> */
1797 var274
= var269
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var269:AbstractCompiler> */
1798 if (unlikely(var274
== NULL
)) {
1799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1800 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1804 RET_LABEL273
:(void)0;
1808 var276
= varonce275
;
1810 var277
= "extern long count_invoke_by_inline;";
1812 var279
= standard___standard__NativeString___to_s_with_length(var277
, var278
);
1814 varonce275
= var276
;
1817 nit___nit__CodeWriter___add_decl(var272
, var276
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var272:CodeWriter>*/
1822 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1823 var282
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1824 if (unlikely(var282
== NULL
)) {
1825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1830 RET_LABEL281
:(void)0;
1834 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var280) on <var280:ModelBuilder> */
1835 var285
= var280
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var280:ModelBuilder> */
1836 if (unlikely(var285
== NULL
)) {
1837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1842 RET_LABEL284
:(void)0;
1846 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var283) on <var283:ToolContext> */
1847 var288
= var283
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var283:ToolContext> */
1848 if (unlikely(var288
== NULL
)) {
1849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
1850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
1854 RET_LABEL287
:(void)0;
1858 { /* Inline opts#Option#value (var286) on <var286:OptionBool> */
1859 var291
= var286
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var286:OptionBool> */
1861 RET_LABEL290
:(void)0;
1864 var292
= ((struct instance_standard__Bool
*)var289
)->value
; /* autounbox from nullable Object to Bool */;
1867 var294
= varonce293
;
1869 var295
= "long count_attr_reads = 0;";
1871 var297
= standard___standard__NativeString___to_s_with_length(var295
, var296
);
1873 varonce293
= var294
;
1876 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var294
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1879 var299
= varonce298
;
1881 var300
= "long count_isset_checks = 0;";
1883 var302
= standard___standard__NativeString___to_s_with_length(var300
, var301
);
1885 varonce298
= var299
;
1888 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var299
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1891 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1892 var305
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1893 if (unlikely(var305
== NULL
)) {
1894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1899 RET_LABEL304
:(void)0;
1903 { /* Inline abstract_compiler#AbstractCompiler#header (var303) on <var303:AbstractCompiler> */
1904 var308
= var303
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var303:AbstractCompiler> */
1905 if (unlikely(var308
== NULL
)) {
1906 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1907 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1911 RET_LABEL307
:(void)0;
1915 var310
= varonce309
;
1917 var311
= "extern long count_attr_reads;";
1919 var313
= standard___standard__NativeString___to_s_with_length(var311
, var312
);
1921 varonce309
= var310
;
1924 nit___nit__CodeWriter___add_decl(var306
, var310
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var306:CodeWriter>*/
1927 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1928 var316
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1929 if (unlikely(var316
== NULL
)) {
1930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1935 RET_LABEL315
:(void)0;
1939 { /* Inline abstract_compiler#AbstractCompiler#header (var314) on <var314:AbstractCompiler> */
1940 var319
= var314
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var314:AbstractCompiler> */
1941 if (unlikely(var319
== NULL
)) {
1942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1943 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
1947 RET_LABEL318
:(void)0;
1951 var321
= varonce320
;
1953 var322
= "extern long count_isset_checks;";
1955 var324
= standard___standard__NativeString___to_s_with_length(var322
, var323
);
1957 varonce320
= var321
;
1960 nit___nit__CodeWriter___add_decl(var317
, var321
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var317:CodeWriter>*/
1965 var326
= varonce325
;
1967 var327
= "void sig_handler(int signo){";
1969 var329
= standard___standard__NativeString___to_s_with_length(var327
, var328
);
1971 varonce325
= var326
;
1974 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var326
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1977 var331
= varonce330
;
1979 var332
= "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));";
1981 var334
= standard___standard__NativeString___to_s_with_length(var332
, var333
);
1983 varonce330
= var331
;
1986 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var331
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1989 var336
= varonce335
;
1991 var337
= "show_backtrace(signo);";
1993 var339
= standard___standard__NativeString___to_s_with_length(var337
, var338
);
1995 varonce335
= var336
;
1998 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var336
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2001 var341
= varonce340
;
2005 var344
= standard___standard__NativeString___to_s_with_length(var342
, var343
);
2007 varonce340
= var341
;
2010 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var341
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2013 var346
= varonce345
;
2015 var347
= "void show_backtrace (int signo) {";
2017 var349
= standard___standard__NativeString___to_s_with_length(var347
, var348
);
2019 varonce345
= var346
;
2022 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var346
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2025 var352
= varonce351
;
2027 var353
= "nitstack";
2029 var355
= standard___standard__NativeString___to_s_with_length(var353
, var354
);
2031 varonce351
= var352
;
2033 if (var_ost
== NULL
) {
2034 var356
= 0; /* <var352:String> cannot be null */
2036 var357
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var352
) /* == on <var_ost:nullable String>*/;
2044 var360
= varonce359
;
2046 var361
= "libunwind";
2048 var363
= standard___standard__NativeString___to_s_with_length(var361
, var362
);
2050 varonce359
= var360
;
2052 if (var_ost
== NULL
) {
2053 var364
= 0; /* <var360:String> cannot be null */
2055 var365
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var360
) /* == on <var_ost:nullable String>*/;
2062 var367
= varonce366
;
2064 var368
= "char* opt = getenv(\"NIT_NO_STACK\");";
2066 var370
= standard___standard__NativeString___to_s_with_length(var368
, var369
);
2068 varonce366
= var367
;
2071 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var367
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2074 var372
= varonce371
;
2076 var373
= "unw_cursor_t cursor;";
2078 var375
= standard___standard__NativeString___to_s_with_length(var373
, var374
);
2080 varonce371
= var372
;
2083 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var372
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2086 var377
= varonce376
;
2088 var378
= "if(opt==NULL){";
2090 var380
= standard___standard__NativeString___to_s_with_length(var378
, var379
);
2092 varonce376
= var377
;
2095 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var377
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2098 var382
= varonce381
;
2100 var383
= "unw_context_t uc;";
2102 var385
= standard___standard__NativeString___to_s_with_length(var383
, var384
);
2104 varonce381
= var382
;
2107 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var382
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2110 var387
= varonce386
;
2112 var388
= "unw_word_t ip;";
2114 var390
= standard___standard__NativeString___to_s_with_length(var388
, var389
);
2116 varonce386
= var387
;
2119 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var387
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2122 var392
= varonce391
;
2124 var393
= "char* procname = malloc(sizeof(char) * 100);";
2126 var395
= standard___standard__NativeString___to_s_with_length(var393
, var394
);
2128 varonce391
= var392
;
2131 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var392
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2134 var397
= varonce396
;
2136 var398
= "unw_getcontext(&uc);";
2138 var400
= standard___standard__NativeString___to_s_with_length(var398
, var399
);
2140 varonce396
= var397
;
2143 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var397
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2146 var402
= varonce401
;
2148 var403
= "unw_init_local(&cursor, &uc);";
2150 var405
= standard___standard__NativeString___to_s_with_length(var403
, var404
);
2152 varonce401
= var402
;
2155 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var402
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2158 var407
= varonce406
;
2160 var408
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2162 var410
= standard___standard__NativeString___to_s_with_length(var408
, var409
);
2164 varonce406
= var407
;
2167 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var407
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2170 var412
= varonce411
;
2172 var413
= "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");";
2174 var415
= standard___standard__NativeString___to_s_with_length(var413
, var414
);
2176 varonce411
= var412
;
2179 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var412
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2182 var417
= varonce416
;
2184 var418
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2186 var420
= standard___standard__NativeString___to_s_with_length(var418
, var419
);
2188 varonce416
= var417
;
2191 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var417
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2194 var422
= varonce421
;
2196 var423
= "while (unw_step(&cursor) > 0) {";
2198 var425
= standard___standard__NativeString___to_s_with_length(var423
, var424
);
2200 varonce421
= var422
;
2203 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var422
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2206 var427
= varonce426
;
2208 var428
= "\11unw_get_proc_name(&cursor, procname, 100, &ip);";
2210 var430
= standard___standard__NativeString___to_s_with_length(var428
, var429
);
2212 varonce426
= var427
;
2215 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var427
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2218 var432
= varonce431
;
2220 var433
= "nitstack";
2222 var435
= standard___standard__NativeString___to_s_with_length(var433
, var434
);
2224 varonce431
= var432
;
2226 if (var_ost
== NULL
) {
2227 var436
= 0; /* <var432:String> cannot be null */
2229 var437
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var432
) /* == on <var_ost:nullable String>*/;
2234 var439
= varonce438
;
2236 var440
= "\11const char* recv = get_nit_name(procname, strlen(procname));";
2238 var442
= standard___standard__NativeString___to_s_with_length(var440
, var441
);
2240 varonce438
= var439
;
2243 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var439
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2246 var444
= varonce443
;
2248 var445
= "\11if (recv != NULL){";
2250 var447
= standard___standard__NativeString___to_s_with_length(var445
, var446
);
2252 varonce443
= var444
;
2255 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var444
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2258 var449
= varonce448
;
2260 var450
= "\11\11PRINT_ERROR(\"` %s\\n\", recv);";
2262 var452
= standard___standard__NativeString___to_s_with_length(var450
, var451
);
2264 varonce448
= var449
;
2267 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var449
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2270 var454
= varonce453
;
2272 var455
= "\11}else{";
2274 var457
= standard___standard__NativeString___to_s_with_length(var455
, var456
);
2276 varonce453
= var454
;
2279 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var454
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2282 var459
= varonce458
;
2284 var460
= "\11\11PRINT_ERROR(\"` %s\\n\", procname);";
2286 var462
= standard___standard__NativeString___to_s_with_length(var460
, var461
);
2288 varonce458
= var459
;
2291 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var459
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2294 var464
= varonce463
;
2298 var467
= standard___standard__NativeString___to_s_with_length(var465
, var466
);
2300 varonce463
= var464
;
2303 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var464
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2307 var469
= varonce468
;
2309 var470
= "\11PRINT_ERROR(\"` %s \\n\",procname);";
2311 var472
= standard___standard__NativeString___to_s_with_length(var470
, var471
);
2313 varonce468
= var469
;
2316 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var469
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2320 var474
= varonce473
;
2324 var477
= standard___standard__NativeString___to_s_with_length(var475
, var476
);
2326 varonce473
= var474
;
2329 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var474
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2332 var479
= varonce478
;
2334 var480
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
2336 var482
= standard___standard__NativeString___to_s_with_length(var480
, var481
);
2338 varonce478
= var479
;
2341 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var479
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2344 var484
= varonce483
;
2346 var485
= "free(procname);";
2348 var487
= standard___standard__NativeString___to_s_with_length(var485
, var486
);
2350 varonce483
= var484
;
2353 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var484
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2356 var489
= varonce488
;
2360 var492
= standard___standard__NativeString___to_s_with_length(var490
, var491
);
2362 varonce488
= var489
;
2365 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var489
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2370 var494
= varonce493
;
2372 var495
= "exit(signo);";
2374 var497
= standard___standard__NativeString___to_s_with_length(var495
, var496
);
2376 varonce493
= var494
;
2379 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var494
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2382 var499
= varonce498
;
2386 var502
= standard___standard__NativeString___to_s_with_length(var500
, var501
);
2388 varonce498
= var499
;
2391 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var499
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2395 var504
= varonce503
;
2397 var505
= "int nit_main(int argc, char** argv) {";
2399 var507
= standard___standard__NativeString___to_s_with_length(var505
, var506
);
2401 varonce503
= var504
;
2404 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var504
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2408 var509
= varonce508
;
2410 var510
= "int main(int argc, char** argv) {";
2412 var512
= standard___standard__NativeString___to_s_with_length(var510
, var511
);
2414 varonce508
= var509
;
2417 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var509
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2421 var514
= varonce513
;
2423 var515
= "signal(SIGABRT, sig_handler);";
2425 var517
= standard___standard__NativeString___to_s_with_length(var515
, var516
);
2427 varonce513
= var514
;
2430 nit___nit__AbstractCompilerVisitor___add(var_v
, var514
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2433 var519
= varonce518
;
2435 var520
= "signal(SIGFPE, sig_handler);";
2437 var522
= standard___standard__NativeString___to_s_with_length(var520
, var521
);
2439 varonce518
= var519
;
2442 nit___nit__AbstractCompilerVisitor___add(var_v
, var519
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2445 var524
= varonce523
;
2447 var525
= "signal(SIGILL, sig_handler);";
2449 var527
= standard___standard__NativeString___to_s_with_length(var525
, var526
);
2451 varonce523
= var524
;
2454 nit___nit__AbstractCompilerVisitor___add(var_v
, var524
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2457 var529
= varonce528
;
2459 var530
= "signal(SIGINT, sig_handler);";
2461 var532
= standard___standard__NativeString___to_s_with_length(var530
, var531
);
2463 varonce528
= var529
;
2466 nit___nit__AbstractCompilerVisitor___add(var_v
, var529
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2469 var534
= varonce533
;
2471 var535
= "signal(SIGTERM, sig_handler);";
2473 var537
= standard___standard__NativeString___to_s_with_length(var535
, var536
);
2475 varonce533
= var534
;
2478 nit___nit__AbstractCompilerVisitor___add(var_v
, var534
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2481 var539
= varonce538
;
2483 var540
= "signal(SIGSEGV, sig_handler);";
2485 var542
= standard___standard__NativeString___to_s_with_length(var540
, var541
);
2487 varonce538
= var539
;
2490 nit___nit__AbstractCompilerVisitor___add(var_v
, var539
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2493 var544
= varonce543
;
2495 var545
= "signal(SIGPIPE, sig_handler);";
2497 var547
= standard___standard__NativeString___to_s_with_length(var545
, var546
);
2499 varonce543
= var544
;
2502 nit___nit__AbstractCompilerVisitor___add(var_v
, var544
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2505 var549
= varonce548
;
2507 var550
= "glob_argc = argc; glob_argv = argv;";
2509 var552
= standard___standard__NativeString___to_s_with_length(var550
, var551
);
2511 varonce548
= var549
;
2514 nit___nit__AbstractCompilerVisitor___add(var_v
, var549
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2517 var554
= varonce553
;
2519 var555
= "initialize_gc_option();";
2521 var557
= standard___standard__NativeString___to_s_with_length(var555
, var556
);
2523 varonce553
= var554
;
2526 nit___nit__AbstractCompilerVisitor___add(var_v
, var554
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2529 var559
= varonce558
;
2531 var560
= "initialize_nitni_global_refs();";
2533 var562
= standard___standard__NativeString___to_s_with_length(var560
, var561
);
2535 varonce558
= var559
;
2538 nit___nit__AbstractCompilerVisitor___add(var_v
, var559
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2541 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
2542 var565
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
2543 if (unlikely(var565
== NULL
)) {
2544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2545 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
2549 RET_LABEL564
:(void)0;
2553 var566
= nit__model___MModule___sys_type(var563
);
2555 var_main_type
= var566
;
2557 if (var_main_type
== NULL
) {
2558 var568
= 0; /* is null */
2560 var568
= 1; /* arg is null and recv is not */
2563 { /* Inline kernel#Object#!= (var_main_type,var567) on <var_main_type:nullable MClassType> */
2566 var571
= ((short int (*)(val
* self
, val
* p0
))(var_main_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_main_type
, var_other
) /* == on <var_main_type:nullable MClassType(MClassType)>*/;
2571 RET_LABEL570
:(void)0;
2577 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
2578 var575
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
2579 if (unlikely(var575
== NULL
)) {
2580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2581 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
2585 RET_LABEL574
:(void)0;
2589 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var573) on <var573:AbstractCompiler> */
2590 var578
= var573
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var573:AbstractCompiler> */
2591 if (unlikely(var578
== NULL
)) {
2592 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
2597 RET_LABEL577
:(void)0;
2600 var_mainmodule
= var576
;
2602 var579
= ((val
* (*)(val
* self
, val
* p0
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
2604 var_glob_sys
= var579
;
2606 var581
= varonce580
;
2608 var582
= "glob_sys = ";
2610 var584
= standard___standard__NativeString___to_s_with_length(var582
, var583
);
2612 varonce580
= var581
;
2615 var586
= varonce585
;
2619 var589
= standard___standard__NativeString___to_s_with_length(var587
, var588
);
2621 varonce585
= var586
;
2623 var590
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2624 { /* var590 = array_instance Array[Object] */
2626 var592
= NEW_standard__NativeArray(var591
, &type_standard__NativeArray__standard__Object
);
2627 ((struct instance_standard__NativeArray
*)var592
)->values
[0] = (val
*) var581
;
2628 ((struct instance_standard__NativeArray
*)var592
)->values
[1] = (val
*) var_glob_sys
;
2629 ((struct instance_standard__NativeArray
*)var592
)->values
[2] = (val
*) var586
;
2631 ((void (*)(val
* self
, val
* p0
, long p1
))(var590
->class->vft
[COLOR_standard__array__Array__with_native
]))(var590
, var592
, var591
) /* with_native on <var590:Array[Object]>*/;
2635 var593
= ((val
* (*)(val
* self
))(var590
->class->vft
[COLOR_standard__string__Object__to_s
]))(var590
) /* to_s on <var590:Array[Object]>*/;
2638 nit___nit__AbstractCompilerVisitor___add(var_v
, var593
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2641 var595
= varonce594
;
2645 var598
= standard___standard__NativeString___to_s_with_length(var596
, var597
);
2647 varonce594
= var595
;
2650 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2651 var601
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2652 if (unlikely(var601
== NULL
)) {
2653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2654 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2658 RET_LABEL600
:(void)0;
2662 var602
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var595
, var599
);
2664 var_main_init
= var602
;
2666 if (var_main_init
== NULL
) {
2667 var604
= 0; /* is null */
2669 var604
= 1; /* arg is null and recv is not */
2672 { /* Inline kernel#Object#!= (var_main_init,var603) on <var_main_init:nullable MMethod> */
2675 var607
= ((short int (*)(val
* self
, val
* p0
))(var_main_init
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_main_init
, var_other
) /* == on <var_main_init:nullable MMethod(MMethod)>*/;
2680 RET_LABEL606
:(void)0;
2685 var609
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2688 standard___standard__Array___with_capacity(var609
, var610
); /* Direct call array#Array#with_capacity on <var609:Array[RuntimeVariable]>*/
2692 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_611
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_611:Array[RuntimeVariable]>*/
2695 var612
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_main_init
, var_611
);
2700 var615
= varonce614
;
2704 var618
= standard___standard__NativeString___to_s_with_length(var616
, var617
);
2706 varonce614
= var615
;
2709 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2710 var621
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2711 if (unlikely(var621
== NULL
)) {
2712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2717 RET_LABEL620
:(void)0;
2721 var622
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var615
, var619
);
2727 var624
= varonce623
;
2731 var627
= standard___standard__NativeString___to_s_with_length(var625
, var626
);
2733 varonce623
= var624
;
2736 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2737 var630
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2738 if (unlikely(var630
== NULL
)) {
2739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2744 RET_LABEL629
:(void)0;
2748 var631
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var624
, var628
);
2752 var_main_method
= var613
;
2754 if (var_main_method
== NULL
) {
2755 var633
= 0; /* is null */
2757 var633
= 1; /* arg is null and recv is not */
2760 { /* Inline kernel#Object#!= (var_main_method,var632) on <var_main_method:nullable MMethod> */
2763 var636
= ((short int (*)(val
* self
, val
* p0
))(var_main_method
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_main_method
, var_other
) /* == on <var_main_method:nullable MMethod(MMethod)>*/;
2768 RET_LABEL635
:(void)0;
2773 var638
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2776 standard___standard__Array___with_capacity(var638
, var639
); /* Direct call array#Array#with_capacity on <var638:Array[RuntimeVariable]>*/
2780 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_640
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_640:Array[RuntimeVariable]>*/
2783 var641
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_main_method
, var_640
);
2790 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
2791 var644
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
2792 if (unlikely(var644
== NULL
)) {
2793 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2794 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
2798 RET_LABEL643
:(void)0;
2802 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var642) on <var642:ModelBuilder> */
2803 var647
= var642
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var642:ModelBuilder> */
2804 if (unlikely(var647
== NULL
)) {
2805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2810 RET_LABEL646
:(void)0;
2814 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var645) on <var645:ToolContext> */
2815 var650
= var645
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var645:ToolContext> */
2816 if (unlikely(var650
== NULL
)) {
2817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
2818 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
2822 RET_LABEL649
:(void)0;
2826 { /* Inline opts#Option#value (var648) on <var648:OptionBool> */
2827 var653
= var648
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var648:OptionBool> */
2829 RET_LABEL652
:(void)0;
2832 var654
= ((struct instance_standard__Bool
*)var651
)->value
; /* autounbox from nullable Object to Bool */;
2835 var656
= varonce655
;
2837 var657
= "long count_type_test_resolved_total = 0;";
2839 var659
= standard___standard__NativeString___to_s_with_length(var657
, var658
);
2841 varonce655
= var656
;
2844 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var656
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2847 var661
= varonce660
;
2849 var662
= "long count_type_test_unresolved_total = 0;";
2851 var664
= standard___standard__NativeString___to_s_with_length(var662
, var663
);
2853 varonce660
= var661
;
2856 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var661
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2859 var666
= varonce665
;
2861 var667
= "long count_type_test_skipped_total = 0;";
2863 var669
= standard___standard__NativeString___to_s_with_length(var667
, var668
);
2865 varonce665
= var666
;
2868 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var666
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2871 var671
= varonce670
;
2873 var672
= "long count_type_test_total_total = 0;";
2875 var674
= standard___standard__NativeString___to_s_with_length(var672
, var673
);
2877 varonce670
= var671
;
2880 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var671
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2883 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
2884 var677
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
2885 if (unlikely(var677
== NULL
)) {
2886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
2887 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
2891 RET_LABEL676
:(void)0;
2896 var679
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_678
);
2901 var681
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_680
);
2905 var682
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_680
);
2907 var_tag683
= var682
;
2909 var685
= varonce684
;
2911 var686
= "long count_type_test_total_";
2913 var688
= standard___standard__NativeString___to_s_with_length(var686
, var687
);
2915 varonce684
= var685
;
2918 var690
= varonce689
;
2922 var693
= standard___standard__NativeString___to_s_with_length(var691
, var692
);
2924 varonce689
= var690
;
2926 var694
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2927 { /* var694 = array_instance Array[Object] */
2929 var696
= NEW_standard__NativeArray(var695
, &type_standard__NativeArray__standard__Object
);
2930 ((struct instance_standard__NativeArray
*)var696
)->values
[0] = (val
*) var685
;
2931 ((struct instance_standard__NativeArray
*)var696
)->values
[1] = (val
*) var_tag683
;
2932 ((struct instance_standard__NativeArray
*)var696
)->values
[2] = (val
*) var690
;
2934 ((void (*)(val
* self
, val
* p0
, long p1
))(var694
->class->vft
[COLOR_standard__array__Array__with_native
]))(var694
, var696
, var695
) /* with_native on <var694:Array[Object]>*/;
2938 var697
= ((val
* (*)(val
* self
))(var694
->class->vft
[COLOR_standard__string__Object__to_s
]))(var694
) /* to_s on <var694:Array[Object]>*/;
2941 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var697
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2944 var699
= varonce698
;
2946 var700
= "count_type_test_total_";
2948 var702
= standard___standard__NativeString___to_s_with_length(var700
, var701
);
2950 varonce698
= var699
;
2953 var704
= varonce703
;
2955 var705
= " = count_type_test_resolved_";
2957 var707
= standard___standard__NativeString___to_s_with_length(var705
, var706
);
2959 varonce703
= var704
;
2962 var709
= varonce708
;
2964 var710
= " + count_type_test_unresolved_";
2966 var712
= standard___standard__NativeString___to_s_with_length(var710
, var711
);
2968 varonce708
= var709
;
2971 var714
= varonce713
;
2973 var715
= " + count_type_test_skipped_";
2975 var717
= standard___standard__NativeString___to_s_with_length(var715
, var716
);
2977 varonce713
= var714
;
2980 var719
= varonce718
;
2984 var722
= standard___standard__NativeString___to_s_with_length(var720
, var721
);
2986 varonce718
= var719
;
2988 var723
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2989 { /* var723 = array_instance Array[Object] */
2991 var725
= NEW_standard__NativeArray(var724
, &type_standard__NativeArray__standard__Object
);
2992 ((struct instance_standard__NativeArray
*)var725
)->values
[0] = (val
*) var699
;
2993 ((struct instance_standard__NativeArray
*)var725
)->values
[1] = (val
*) var_tag683
;
2994 ((struct instance_standard__NativeArray
*)var725
)->values
[2] = (val
*) var704
;
2995 ((struct instance_standard__NativeArray
*)var725
)->values
[3] = (val
*) var_tag683
;
2996 ((struct instance_standard__NativeArray
*)var725
)->values
[4] = (val
*) var709
;
2997 ((struct instance_standard__NativeArray
*)var725
)->values
[5] = (val
*) var_tag683
;
2998 ((struct instance_standard__NativeArray
*)var725
)->values
[6] = (val
*) var714
;
2999 ((struct instance_standard__NativeArray
*)var725
)->values
[7] = (val
*) var_tag683
;
3000 ((struct instance_standard__NativeArray
*)var725
)->values
[8] = (val
*) var719
;
3002 ((void (*)(val
* self
, val
* p0
, long p1
))(var723
->class->vft
[COLOR_standard__array__Array__with_native
]))(var723
, var725
, var724
) /* with_native on <var723:Array[Object]>*/;
3006 var726
= ((val
* (*)(val
* self
))(var723
->class->vft
[COLOR_standard__string__Object__to_s
]))(var723
) /* to_s on <var723:Array[Object]>*/;
3009 nit___nit__AbstractCompilerVisitor___add(var_v
, var726
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3012 var728
= varonce727
;
3014 var729
= "count_type_test_resolved_total += count_type_test_resolved_";
3016 var731
= standard___standard__NativeString___to_s_with_length(var729
, var730
);
3018 varonce727
= var728
;
3021 var733
= varonce732
;
3025 var736
= standard___standard__NativeString___to_s_with_length(var734
, var735
);
3027 varonce732
= var733
;
3029 var737
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3030 { /* var737 = array_instance Array[Object] */
3032 var739
= NEW_standard__NativeArray(var738
, &type_standard__NativeArray__standard__Object
);
3033 ((struct instance_standard__NativeArray
*)var739
)->values
[0] = (val
*) var728
;
3034 ((struct instance_standard__NativeArray
*)var739
)->values
[1] = (val
*) var_tag683
;
3035 ((struct instance_standard__NativeArray
*)var739
)->values
[2] = (val
*) var733
;
3037 ((void (*)(val
* self
, val
* p0
, long p1
))(var737
->class->vft
[COLOR_standard__array__Array__with_native
]))(var737
, var739
, var738
) /* with_native on <var737:Array[Object]>*/;
3041 var740
= ((val
* (*)(val
* self
))(var737
->class->vft
[COLOR_standard__string__Object__to_s
]))(var737
) /* to_s on <var737:Array[Object]>*/;
3044 nit___nit__AbstractCompilerVisitor___add(var_v
, var740
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3047 var742
= varonce741
;
3049 var743
= "count_type_test_unresolved_total += count_type_test_unresolved_";
3051 var745
= standard___standard__NativeString___to_s_with_length(var743
, var744
);
3053 varonce741
= var742
;
3056 var747
= varonce746
;
3060 var750
= standard___standard__NativeString___to_s_with_length(var748
, var749
);
3062 varonce746
= var747
;
3064 var751
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3065 { /* var751 = array_instance Array[Object] */
3067 var753
= NEW_standard__NativeArray(var752
, &type_standard__NativeArray__standard__Object
);
3068 ((struct instance_standard__NativeArray
*)var753
)->values
[0] = (val
*) var742
;
3069 ((struct instance_standard__NativeArray
*)var753
)->values
[1] = (val
*) var_tag683
;
3070 ((struct instance_standard__NativeArray
*)var753
)->values
[2] = (val
*) var747
;
3072 ((void (*)(val
* self
, val
* p0
, long p1
))(var751
->class->vft
[COLOR_standard__array__Array__with_native
]))(var751
, var753
, var752
) /* with_native on <var751:Array[Object]>*/;
3076 var754
= ((val
* (*)(val
* self
))(var751
->class->vft
[COLOR_standard__string__Object__to_s
]))(var751
) /* to_s on <var751:Array[Object]>*/;
3079 nit___nit__AbstractCompilerVisitor___add(var_v
, var754
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3082 var756
= varonce755
;
3084 var757
= "count_type_test_skipped_total += count_type_test_skipped_";
3086 var759
= standard___standard__NativeString___to_s_with_length(var757
, var758
);
3088 varonce755
= var756
;
3091 var761
= varonce760
;
3095 var764
= standard___standard__NativeString___to_s_with_length(var762
, var763
);
3097 varonce760
= var761
;
3099 var765
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3100 { /* var765 = array_instance Array[Object] */
3102 var767
= NEW_standard__NativeArray(var766
, &type_standard__NativeArray__standard__Object
);
3103 ((struct instance_standard__NativeArray
*)var767
)->values
[0] = (val
*) var756
;
3104 ((struct instance_standard__NativeArray
*)var767
)->values
[1] = (val
*) var_tag683
;
3105 ((struct instance_standard__NativeArray
*)var767
)->values
[2] = (val
*) var761
;
3107 ((void (*)(val
* self
, val
* p0
, long p1
))(var765
->class->vft
[COLOR_standard__array__Array__with_native
]))(var765
, var767
, var766
) /* with_native on <var765:Array[Object]>*/;
3111 var768
= ((val
* (*)(val
* self
))(var765
->class->vft
[COLOR_standard__string__Object__to_s
]))(var765
) /* to_s on <var765:Array[Object]>*/;
3114 nit___nit__AbstractCompilerVisitor___add(var_v
, var768
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3117 var770
= varonce769
;
3119 var771
= "count_type_test_total_total += count_type_test_total_";
3121 var773
= standard___standard__NativeString___to_s_with_length(var771
, var772
);
3123 varonce769
= var770
;
3126 var775
= varonce774
;
3130 var778
= standard___standard__NativeString___to_s_with_length(var776
, var777
);
3132 varonce774
= var775
;
3134 var779
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3135 { /* var779 = array_instance Array[Object] */
3137 var781
= NEW_standard__NativeArray(var780
, &type_standard__NativeArray__standard__Object
);
3138 ((struct instance_standard__NativeArray
*)var781
)->values
[0] = (val
*) var770
;
3139 ((struct instance_standard__NativeArray
*)var781
)->values
[1] = (val
*) var_tag683
;
3140 ((struct instance_standard__NativeArray
*)var781
)->values
[2] = (val
*) var775
;
3142 ((void (*)(val
* self
, val
* p0
, long p1
))(var779
->class->vft
[COLOR_standard__array__Array__with_native
]))(var779
, var781
, var780
) /* with_native on <var779:Array[Object]>*/;
3146 var782
= ((val
* (*)(val
* self
))(var779
->class->vft
[COLOR_standard__string__Object__to_s
]))(var779
) /* to_s on <var779:Array[Object]>*/;
3149 nit___nit__AbstractCompilerVisitor___add(var_v
, var782
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3152 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_680
); /* Direct call array#ArrayIterator#next on <var_680:ArrayIterator[String]>*/
3155 goto BREAK_label783
;
3158 BREAK_label783
: (void)0;
3160 { /* Inline abstract_collection#Iterator#finish (var_680) on <var_680:ArrayIterator[String]> */
3161 RET_LABEL784
:(void)0;
3165 var786
= varonce785
;
3167 var787
= "printf(\"# dynamic count_type_test: total %l\\n\");";
3169 var789
= standard___standard__NativeString___to_s_with_length(var787
, var788
);
3171 varonce785
= var786
;
3174 nit___nit__AbstractCompilerVisitor___add(var_v
, var786
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3177 var791
= varonce790
;
3179 var792
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
3181 var794
= standard___standard__NativeString___to_s_with_length(var792
, var793
);
3183 varonce790
= var791
;
3186 nit___nit__AbstractCompilerVisitor___add(var_v
, var791
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3189 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
3190 var797
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3191 if (unlikely(var797
== NULL
)) {
3192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
3197 RET_LABEL796
:(void)0;
3201 var798
= standard__array___Collection___to_a(var795
);
3205 var800
= varonce799
;
3209 var803
= standard___standard__NativeString___to_s_with_length(var801
, var802
);
3211 varonce799
= var800
;
3214 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags
, var800
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
3218 var805
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_804
);
3223 var807
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_806
);
3227 var808
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_806
);
3229 var_tag809
= var808
;
3231 var811
= varonce810
;
3233 var812
= "printf(\"";
3235 var814
= standard___standard__NativeString___to_s_with_length(var812
, var813
);
3237 varonce810
= var811
;
3240 var816
= varonce815
;
3244 var819
= standard___standard__NativeString___to_s_with_length(var817
, var818
);
3246 varonce815
= var816
;
3248 var820
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3249 { /* var820 = array_instance Array[Object] */
3251 var822
= NEW_standard__NativeArray(var821
, &type_standard__NativeArray__standard__Object
);
3252 ((struct instance_standard__NativeArray
*)var822
)->values
[0] = (val
*) var811
;
3253 ((struct instance_standard__NativeArray
*)var822
)->values
[1] = (val
*) var_tag809
;
3254 ((struct instance_standard__NativeArray
*)var822
)->values
[2] = (val
*) var816
;
3256 ((void (*)(val
* self
, val
* p0
, long p1
))(var820
->class->vft
[COLOR_standard__array__Array__with_native
]))(var820
, var822
, var821
) /* with_native on <var820:Array[Object]>*/;
3260 var823
= ((val
* (*)(val
* self
))(var820
->class->vft
[COLOR_standard__string__Object__to_s
]))(var820
) /* to_s on <var820:Array[Object]>*/;
3263 nit___nit__AbstractCompilerVisitor___add(var_v
, var823
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3266 var825
= varonce824
;
3268 var826
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
3270 var828
= standard___standard__NativeString___to_s_with_length(var826
, var827
);
3272 varonce824
= var825
;
3275 var830
= varonce829
;
3277 var831
= ", 100.0*count_type_test_resolved_";
3279 var833
= standard___standard__NativeString___to_s_with_length(var831
, var832
);
3281 varonce829
= var830
;
3284 var835
= varonce834
;
3286 var836
= "/count_type_test_total_total);";
3288 var838
= standard___standard__NativeString___to_s_with_length(var836
, var837
);
3290 varonce834
= var835
;
3292 var839
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3293 { /* var839 = array_instance Array[Object] */
3295 var841
= NEW_standard__NativeArray(var840
, &type_standard__NativeArray__standard__Object
);
3296 ((struct instance_standard__NativeArray
*)var841
)->values
[0] = (val
*) var825
;
3297 ((struct instance_standard__NativeArray
*)var841
)->values
[1] = (val
*) var_tag809
;
3298 ((struct instance_standard__NativeArray
*)var841
)->values
[2] = (val
*) var830
;
3299 ((struct instance_standard__NativeArray
*)var841
)->values
[3] = (val
*) var_tag809
;
3300 ((struct instance_standard__NativeArray
*)var841
)->values
[4] = (val
*) var835
;
3302 ((void (*)(val
* self
, val
* p0
, long p1
))(var839
->class->vft
[COLOR_standard__array__Array__with_native
]))(var839
, var841
, var840
) /* with_native on <var839:Array[Object]>*/;
3306 var842
= ((val
* (*)(val
* self
))(var839
->class->vft
[COLOR_standard__string__Object__to_s
]))(var839
) /* to_s on <var839:Array[Object]>*/;
3309 nit___nit__AbstractCompilerVisitor___add(var_v
, var842
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3312 var844
= varonce843
;
3314 var845
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
3316 var847
= standard___standard__NativeString___to_s_with_length(var845
, var846
);
3318 varonce843
= var844
;
3321 var849
= varonce848
;
3323 var850
= ", 100.0*count_type_test_unresolved_";
3325 var852
= standard___standard__NativeString___to_s_with_length(var850
, var851
);
3327 varonce848
= var849
;
3330 var854
= varonce853
;
3332 var855
= "/count_type_test_total_total);";
3334 var857
= standard___standard__NativeString___to_s_with_length(var855
, var856
);
3336 varonce853
= var854
;
3338 var858
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3339 { /* var858 = array_instance Array[Object] */
3341 var860
= NEW_standard__NativeArray(var859
, &type_standard__NativeArray__standard__Object
);
3342 ((struct instance_standard__NativeArray
*)var860
)->values
[0] = (val
*) var844
;
3343 ((struct instance_standard__NativeArray
*)var860
)->values
[1] = (val
*) var_tag809
;
3344 ((struct instance_standard__NativeArray
*)var860
)->values
[2] = (val
*) var849
;
3345 ((struct instance_standard__NativeArray
*)var860
)->values
[3] = (val
*) var_tag809
;
3346 ((struct instance_standard__NativeArray
*)var860
)->values
[4] = (val
*) var854
;
3348 ((void (*)(val
* self
, val
* p0
, long p1
))(var858
->class->vft
[COLOR_standard__array__Array__with_native
]))(var858
, var860
, var859
) /* with_native on <var858:Array[Object]>*/;
3352 var861
= ((val
* (*)(val
* self
))(var858
->class->vft
[COLOR_standard__string__Object__to_s
]))(var858
) /* to_s on <var858:Array[Object]>*/;
3355 nit___nit__AbstractCompilerVisitor___add(var_v
, var861
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3358 var863
= varonce862
;
3360 var864
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
3362 var866
= standard___standard__NativeString___to_s_with_length(var864
, var865
);
3364 varonce862
= var863
;
3367 var868
= varonce867
;
3369 var869
= ", 100.0*count_type_test_skipped_";
3371 var871
= standard___standard__NativeString___to_s_with_length(var869
, var870
);
3373 varonce867
= var868
;
3376 var873
= varonce872
;
3378 var874
= "/count_type_test_total_total);";
3380 var876
= standard___standard__NativeString___to_s_with_length(var874
, var875
);
3382 varonce872
= var873
;
3384 var877
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3385 { /* var877 = array_instance Array[Object] */
3387 var879
= NEW_standard__NativeArray(var878
, &type_standard__NativeArray__standard__Object
);
3388 ((struct instance_standard__NativeArray
*)var879
)->values
[0] = (val
*) var863
;
3389 ((struct instance_standard__NativeArray
*)var879
)->values
[1] = (val
*) var_tag809
;
3390 ((struct instance_standard__NativeArray
*)var879
)->values
[2] = (val
*) var868
;
3391 ((struct instance_standard__NativeArray
*)var879
)->values
[3] = (val
*) var_tag809
;
3392 ((struct instance_standard__NativeArray
*)var879
)->values
[4] = (val
*) var873
;
3394 ((void (*)(val
* self
, val
* p0
, long p1
))(var877
->class->vft
[COLOR_standard__array__Array__with_native
]))(var877
, var879
, var878
) /* with_native on <var877:Array[Object]>*/;
3398 var880
= ((val
* (*)(val
* self
))(var877
->class->vft
[COLOR_standard__string__Object__to_s
]))(var877
) /* to_s on <var877:Array[Object]>*/;
3401 nit___nit__AbstractCompilerVisitor___add(var_v
, var880
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3404 var882
= varonce881
;
3406 var883
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
3408 var885
= standard___standard__NativeString___to_s_with_length(var883
, var884
);
3410 varonce881
= var882
;
3413 var887
= varonce886
;
3415 var888
= ", 100.0*count_type_test_total_";
3417 var890
= standard___standard__NativeString___to_s_with_length(var888
, var889
);
3419 varonce886
= var887
;
3422 var892
= varonce891
;
3424 var893
= "/count_type_test_total_total);";
3426 var895
= standard___standard__NativeString___to_s_with_length(var893
, var894
);
3428 varonce891
= var892
;
3430 var896
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3431 { /* var896 = array_instance Array[Object] */
3433 var898
= NEW_standard__NativeArray(var897
, &type_standard__NativeArray__standard__Object
);
3434 ((struct instance_standard__NativeArray
*)var898
)->values
[0] = (val
*) var882
;
3435 ((struct instance_standard__NativeArray
*)var898
)->values
[1] = (val
*) var_tag809
;
3436 ((struct instance_standard__NativeArray
*)var898
)->values
[2] = (val
*) var887
;
3437 ((struct instance_standard__NativeArray
*)var898
)->values
[3] = (val
*) var_tag809
;
3438 ((struct instance_standard__NativeArray
*)var898
)->values
[4] = (val
*) var892
;
3440 ((void (*)(val
* self
, val
* p0
, long p1
))(var896
->class->vft
[COLOR_standard__array__Array__with_native
]))(var896
, var898
, var897
) /* with_native on <var896:Array[Object]>*/;
3444 var899
= ((val
* (*)(val
* self
))(var896
->class->vft
[COLOR_standard__string__Object__to_s
]))(var896
) /* to_s on <var896:Array[Object]>*/;
3447 nit___nit__AbstractCompilerVisitor___add(var_v
, var899
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3450 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_806
); /* Direct call array#ArrayIterator#next on <var_806:ArrayIterator[String]>*/
3453 goto BREAK_label900
;
3456 BREAK_label900
: (void)0;
3458 { /* Inline abstract_collection#Iterator#finish (var_806) on <var_806:ArrayIterator[String]> */
3459 RET_LABEL901
:(void)0;
3465 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3466 var904
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3467 if (unlikely(var904
== NULL
)) {
3468 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3469 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3473 RET_LABEL903
:(void)0;
3477 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var902) on <var902:ModelBuilder> */
3478 var907
= var902
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var902:ModelBuilder> */
3479 if (unlikely(var907
== NULL
)) {
3480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3485 RET_LABEL906
:(void)0;
3489 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var905) on <var905:ToolContext> */
3490 var910
= var905
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var905:ToolContext> */
3491 if (unlikely(var910
== NULL
)) {
3492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
3497 RET_LABEL909
:(void)0;
3501 { /* Inline opts#Option#value (var908) on <var908:OptionBool> */
3502 var913
= var908
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var908:OptionBool> */
3504 RET_LABEL912
:(void)0;
3507 var914
= ((struct instance_standard__Bool
*)var911
)->value
; /* autounbox from nullable Object to Bool */;
3510 var916
= varonce915
;
3512 var917
= "long count_invoke_total;";
3514 var919
= standard___standard__NativeString___to_s_with_length(var917
, var918
);
3516 varonce915
= var916
;
3519 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var916
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3522 var921
= varonce920
;
3524 var922
= "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;";
3526 var924
= standard___standard__NativeString___to_s_with_length(var922
, var923
);
3528 varonce920
= var921
;
3531 nit___nit__AbstractCompilerVisitor___add(var_v
, var921
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3534 var926
= varonce925
;
3536 var927
= "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);";
3538 var929
= standard___standard__NativeString___to_s_with_length(var927
, var928
);
3540 varonce925
= var926
;
3543 nit___nit__AbstractCompilerVisitor___add(var_v
, var926
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3546 var931
= varonce930
;
3548 var932
= "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);";
3550 var934
= standard___standard__NativeString___to_s_with_length(var932
, var933
);
3552 varonce930
= var931
;
3555 nit___nit__AbstractCompilerVisitor___add(var_v
, var931
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3558 var936
= varonce935
;
3560 var937
= "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);";
3562 var939
= standard___standard__NativeString___to_s_with_length(var937
, var938
);
3564 varonce935
= var936
;
3567 nit___nit__AbstractCompilerVisitor___add(var_v
, var936
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3570 var941
= varonce940
;
3572 var942
= "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);";
3574 var944
= standard___standard__NativeString___to_s_with_length(var942
, var943
);
3576 varonce940
= var941
;
3579 nit___nit__AbstractCompilerVisitor___add(var_v
, var941
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3584 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3585 var947
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3586 if (unlikely(var947
== NULL
)) {
3587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
3592 RET_LABEL946
:(void)0;
3596 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var945) on <var945:ModelBuilder> */
3597 var950
= var945
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var945:ModelBuilder> */
3598 if (unlikely(var950
== NULL
)) {
3599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3600 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3604 RET_LABEL949
:(void)0;
3608 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var948) on <var948:ToolContext> */
3609 var953
= var948
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var948:ToolContext> */
3610 if (unlikely(var953
== NULL
)) {
3611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
3612 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
3616 RET_LABEL952
:(void)0;
3620 { /* Inline opts#Option#value (var951) on <var951:OptionBool> */
3621 var956
= var951
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var951:OptionBool> */
3623 RET_LABEL955
:(void)0;
3626 var957
= ((struct instance_standard__Bool
*)var954
)->value
; /* autounbox from nullable Object to Bool */;
3629 var959
= varonce958
;
3631 var960
= "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);";
3633 var962
= standard___standard__NativeString___to_s_with_length(var960
, var961
);
3635 varonce958
= var959
;
3638 nit___nit__AbstractCompilerVisitor___add(var_v
, var959
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3641 var964
= varonce963
;
3643 var965
= "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);";
3645 var967
= standard___standard__NativeString___to_s_with_length(var965
, var966
);
3647 varonce963
= var964
;
3650 nit___nit__AbstractCompilerVisitor___add(var_v
, var964
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3655 var969
= varonce968
;
3657 var970
= "return 0;";
3659 var972
= standard___standard__NativeString___to_s_with_length(var970
, var971
);
3661 varonce968
= var969
;
3664 nit___nit__AbstractCompilerVisitor___add(var_v
, var969
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3667 var974
= varonce973
;
3671 var977
= standard___standard__NativeString___to_s_with_length(var975
, var976
);
3673 varonce973
= var974
;
3676 nit___nit__AbstractCompilerVisitor___add(var_v
, var974
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3679 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3680 var980
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3681 if (unlikely(var980
== NULL
)) {
3682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
3687 RET_LABEL979
:(void)0;
3691 { /* Inline mmodule#MModule#in_importation (var978) on <var978:MModule> */
3692 var983
= var978
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var978:MModule> */
3693 if (unlikely(var983
== NULL
)) {
3694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
3699 RET_LABEL982
:(void)0;
3703 var984
= poset___poset__POSetElement___greaters(var981
);
3707 var986
= ((val
* (*)(val
* self
))(var_985
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_985
) /* iterator on <var_985:Collection[MModule]>*/;
3712 var988
= ((short int (*)(val
* self
))(var_987
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_987
) /* is_ok on <var_987:Iterator[MModule]>*/;
3716 var989
= ((val
* (*)(val
* self
))(var_987
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_987
) /* item on <var_987:Iterator[MModule]>*/;
3720 var991
= varonce990
;
3724 var994
= standard___standard__NativeString___to_s_with_length(var992
, var993
);
3726 varonce990
= var991
;
3729 var995
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_m
);
3732 var996
= ((val
* (*)(val
* self
, val
* p0
))(var991
->class->vft
[COLOR_standard__string__String___43d
]))(var991
, var995
) /* + on <var991:String>*/;
3736 var998
= varonce997
;
3738 var999
= "const char ";
3740 var1001
= standard___standard__NativeString___to_s_with_length(var999
, var1000
);
3742 varonce997
= var998
;
3745 var1003
= varonce1002
;
3747 var1004
= "[] = \"";
3749 var1006
= standard___standard__NativeString___to_s_with_length(var1004
, var1005
);
3751 varonce1002
= var1003
;
3754 { /* Inline mmodule#MModule#location (var_m) on <var_m:MModule> */
3755 var1009
= var_m
->attrs
[COLOR_nit__mmodule__MModule___location
].val
; /* _location on <var_m:MModule> */
3756 if (unlikely(var1009
== NULL
)) {
3757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3758 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 90);
3762 RET_LABEL1008
:(void)0;
3766 { /* Inline location#Location#file (var1007) on <var1007:Location> */
3767 var1012
= var1007
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var1007:Location> */
3769 RET_LABEL1011
:(void)0;
3772 if (var1010
== NULL
) {
3773 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 862);
3777 { /* Inline location#SourceFile#filename (var1010) on <var1010:nullable SourceFile> */
3778 if (unlikely(var1010
== NULL
)) {
3779 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
3783 var1015
= var1010
->attrs
[COLOR_nit__location__SourceFile___filename
].val
; /* _filename on <var1010:nullable SourceFile> */
3784 if (unlikely(var1015
== NULL
)) {
3785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
3786 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
3790 RET_LABEL1014
:(void)0;
3794 var1016
= standard___standard__Text___escape_to_c(var1013
);
3797 var1018
= varonce1017
;
3801 var1021
= standard___standard__NativeString___to_s_with_length(var1019
, var1020
);
3803 varonce1017
= var1018
;
3805 var1022
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3806 { /* var1022 = array_instance Array[Object] */
3808 var1024
= NEW_standard__NativeArray(var1023
, &type_standard__NativeArray__standard__Object
);
3809 ((struct instance_standard__NativeArray
*)var1024
)->values
[0] = (val
*) var998
;
3810 ((struct instance_standard__NativeArray
*)var1024
)->values
[1] = (val
*) var_f
;
3811 ((struct instance_standard__NativeArray
*)var1024
)->values
[2] = (val
*) var1003
;
3812 ((struct instance_standard__NativeArray
*)var1024
)->values
[3] = (val
*) var1016
;
3813 ((struct instance_standard__NativeArray
*)var1024
)->values
[4] = (val
*) var1018
;
3815 ((void (*)(val
* self
, val
* p0
, long p1
))(var1022
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1022
, var1024
, var1023
) /* with_native on <var1022:Array[Object]>*/;
3819 var1025
= ((val
* (*)(val
* self
))(var1022
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1022
) /* to_s on <var1022:Array[Object]>*/;
3822 nit___nit__AbstractCompilerVisitor___add(var_v
, var1025
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3825 var1027
= varonce1026
;
3827 var1028
= "extern const char ";
3829 var1030
= standard___standard__NativeString___to_s_with_length(var1028
, var1029
);
3831 varonce1026
= var1027
;
3834 var1032
= varonce1031
;
3838 var1035
= standard___standard__NativeString___to_s_with_length(var1033
, var1034
);
3840 varonce1031
= var1032
;
3842 var1036
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3843 { /* var1036 = array_instance Array[Object] */
3845 var1038
= NEW_standard__NativeArray(var1037
, &type_standard__NativeArray__standard__Object
);
3846 ((struct instance_standard__NativeArray
*)var1038
)->values
[0] = (val
*) var1027
;
3847 ((struct instance_standard__NativeArray
*)var1038
)->values
[1] = (val
*) var_f
;
3848 ((struct instance_standard__NativeArray
*)var1038
)->values
[2] = (val
*) var1032
;
3850 ((void (*)(val
* self
, val
* p0
, long p1
))(var1036
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1036
, var1038
, var1037
) /* with_native on <var1036:Array[Object]>*/;
3854 var1039
= ((val
* (*)(val
* self
))(var1036
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1036
) /* to_s on <var1036:Array[Object]>*/;
3857 nit___nit__AbstractCompiler___provide_declaration(self
, var_f
, var1039
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:AbstractCompiler>*/
3860 ((void (*)(val
* self
))(var_987
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_987
) /* next on <var_987:Iterator[MModule]>*/;
3863 goto BREAK_label1040
;
3866 BREAK_label1040
: (void)0;
3868 { /* Inline abstract_collection#Iterator#finish (var_987) on <var_987:Iterator[MModule]> */
3869 RET_LABEL1041
:(void)0;
3874 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: AbstractCompiler) */
3875 void nit___nit__AbstractCompiler___compile_nitni_global_ref_functions(val
* self
) {
3876 val
* var
/* : AbstractCompilerVisitor */;
3877 val
* var_v
/* var v: AbstractCompilerVisitor */;
3878 static val
* varonce
;
3879 val
* var1
/* : String */;
3880 char* var2
/* : NativeString */;
3881 long var3
/* : Int */;
3882 val
* var4
/* : FlatString */;
3884 var
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
3890 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";
3892 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
3897 nit___nit__AbstractCompilerVisitor___add(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3901 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
3902 val
* nit___nit__AbstractCompiler___extern_bodies(val
* self
) {
3903 val
* var
/* : Array[ExternFile] */;
3904 val
* var1
/* : Array[ExternFile] */;
3905 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
3906 if (unlikely(var1
== NULL
)) {
3907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 928);
3915 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: AbstractCompiler): Array[String] */
3916 val
* nit___nit__AbstractCompiler___files_to_copy(val
* self
) {
3917 val
* var
/* : Array[String] */;
3918 val
* var1
/* : Array[String] */;
3919 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:AbstractCompiler> */
3920 if (unlikely(var1
== NULL
)) {
3921 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3922 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 931);
3929 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
3930 val
* nit___nit__AbstractCompiler___seen_extern(val
* self
) {
3931 val
* var
/* : ArraySet[String] */;
3932 val
* var1
/* : ArraySet[String] */;
3933 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:AbstractCompiler> */
3934 if (unlikely(var1
== NULL
)) {
3935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3936 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 934);
3943 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
3944 void nit___nit__AbstractCompiler___generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3945 short int var
/* : Bool */;
3948 const struct type
* type_struct
;
3949 const char* var_class_name
;
3950 val
* var_v
/* var v: AbstractCompilerVisitor */;
3951 val
* var_recv
/* var recv: RuntimeVariable */;
3952 val
* var_mtype
/* var mtype: MClassType */;
3953 val
* var1
/* : MModule */;
3954 val
* var3
/* : MModule */;
3955 val
* var4
/* : Set[MClassDef] */;
3956 val
* var5
/* : Array[nullable Object] */;
3957 val
* var_cds
/* var cds: Array[MClassDef] */;
3958 val
* var6
/* : MModule */;
3959 val
* var8
/* : MModule */;
3960 val
* var_
/* var : Array[MClassDef] */;
3961 val
* var9
/* : ArrayIterator[nullable Object] */;
3962 val
* var_10
/* var : ArrayIterator[MClassDef] */;
3963 short int var11
/* : Bool */;
3964 val
* var12
/* : nullable Object */;
3965 val
* var_cd
/* var cd: MClassDef */;
3966 val
* var13
/* : ModelBuilder */;
3967 val
* var15
/* : ModelBuilder */;
3968 val
* var16
/* : Array[AAttrPropdef] */;
3969 val
* var_17
/* var : Array[AAttrPropdef] */;
3970 val
* var18
/* : ArrayIterator[nullable Object] */;
3971 val
* var_19
/* var : ArrayIterator[AAttrPropdef] */;
3972 short int var20
/* : Bool */;
3973 val
* var21
/* : nullable Object */;
3974 val
* var_npropdef
/* var npropdef: AAttrPropdef */;
3975 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
3976 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3977 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
3978 cltype
= type_struct
->color
;
3979 idtype
= type_struct
->id
;
3980 if(cltype
>= p0
->type
->table_size
) {
3983 var
= p0
->type
->type_table
[cltype
] == idtype
;
3985 if (unlikely(!var
)) {
3986 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3987 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3988 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 937);
3995 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3996 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3997 if (unlikely(var3
== NULL
)) {
3998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
4007 var4
= nit___nit__MClassType___MType__collect_mclassdefs(var_mtype
, var1
);
4010 var5
= standard__array___Collection___to_a(var4
);
4014 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
4015 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
4016 if (unlikely(var8
== NULL
)) {
4017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4018 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
4026 nit__model___MModule___linearize_mclassdefs(var6
, var_cds
); /* Direct call model#MModule#linearize_mclassdefs on <var6:MModule>*/
4030 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4035 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10
);
4039 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10
);
4043 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
4044 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
4045 if (unlikely(var15
== NULL
)) {
4046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4051 RET_LABEL14
:(void)0;
4055 var16
= nit__modelize_property___ModelBuilder___collect_attr_propdef(var13
, var_cd
);
4059 var18
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_17
);
4064 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19
);
4068 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19
);
4070 var_npropdef
= var21
;
4072 nit__abstract_compiler___AAttrPropdef___init_expr(var_npropdef
, var_v
, var_recv
); /* Direct call abstract_compiler#AAttrPropdef#init_expr on <var_npropdef:AAttrPropdef>*/
4075 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19
); /* Direct call array#ArrayIterator#next on <var_19:ArrayIterator[AAttrPropdef]>*/
4081 BREAK_label
: (void)0;
4083 { /* Inline abstract_collection#Iterator#finish (var_19) on <var_19:ArrayIterator[AAttrPropdef]> */
4084 RET_LABEL22
:(void)0;
4088 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MClassDef]>*/
4094 BREAK_label23
: (void)0;
4096 { /* Inline abstract_collection#Iterator#finish (var_10) on <var_10:ArrayIterator[MClassDef]> */
4097 RET_LABEL24
:(void)0;
4102 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
4103 val
* nit___nit__AbstractCompiler___count_type_test_tags(val
* self
) {
4104 val
* var
/* : Array[String] */;
4105 val
* var1
/* : Array[String] */;
4106 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4107 if (unlikely(var1
== NULL
)) {
4108 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4109 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
4116 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
4117 val
* nit___nit__AbstractCompiler___count_type_test_resolved(val
* self
) {
4118 val
* var
/* : HashMap[String, Int] */;
4119 val
* var1
/* : HashMap[String, Int] */;
4120 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4121 if (unlikely(var1
== NULL
)) {
4122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
4130 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
4131 val
* nit___nit__AbstractCompiler___count_type_test_unresolved(val
* self
) {
4132 val
* var
/* : HashMap[String, Int] */;
4133 val
* var1
/* : HashMap[String, Int] */;
4134 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4135 if (unlikely(var1
== NULL
)) {
4136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
4144 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
4145 val
* nit___nit__AbstractCompiler___count_type_test_skipped(val
* self
) {
4146 val
* var
/* : HashMap[String, Int] */;
4147 val
* var1
/* : HashMap[String, Int] */;
4148 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4149 if (unlikely(var1
== NULL
)) {
4150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4151 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
4158 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
4159 val
* nit___nit__AbstractCompiler___init_count_type_test_tags(val
* self
) {
4160 val
* var
/* : HashMap[String, Int] */;
4161 val
* var1
/* : HashMap[String, Int] */;
4162 val
* var_res
/* var res: HashMap[String, Int] */;
4163 val
* var2
/* : Array[String] */;
4164 val
* var4
/* : Array[String] */;
4165 val
* var_
/* var : Array[String] */;
4166 val
* var5
/* : ArrayIterator[nullable Object] */;
4167 val
* var_6
/* var : ArrayIterator[String] */;
4168 short int var7
/* : Bool */;
4169 val
* var8
/* : nullable Object */;
4170 val
* var_tag
/* var tag: String */;
4171 long var9
/* : Int */;
4172 val
* var10
/* : nullable Object */;
4173 var1
= NEW_standard__HashMap(&type_standard__HashMap__standard__String__standard__Int
);
4175 standard___standard__HashMap___standard__kernel__Object__init(var1
); /* Direct call hash_collection#HashMap#init on <var1:HashMap[String, Int]>*/
4179 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4180 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4181 if (unlikely(var4
== NULL
)) {
4182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
4192 var5
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4197 var7
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6
);
4201 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6
);
4206 var10
= BOX_standard__Int(var9
); /* autobox from Int to nullable Object */
4207 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_res
, var_tag
, var10
); /* Direct call hash_collection#HashMap#[]= on <var_res:HashMap[String, Int]>*/
4210 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[String]>*/
4216 BREAK_label
: (void)0;
4218 { /* Inline abstract_collection#Iterator#finish (var_6) on <var_6:ArrayIterator[String]> */
4219 RET_LABEL11
:(void)0;
4227 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
4228 void nit___nit__AbstractCompiler___display_stats(val
* self
) {
4229 val
* var
/* : ModelBuilder */;
4230 val
* var2
/* : ModelBuilder */;
4231 val
* var3
/* : ToolContext */;
4232 val
* var5
/* : ToolContext */;
4233 val
* var6
/* : OptionBool */;
4234 val
* var8
/* : OptionBool */;
4235 val
* var9
/* : nullable Object */;
4236 val
* var11
/* : nullable Object */;
4237 short int var12
/* : Bool */;
4238 static val
* varonce
;
4239 val
* var13
/* : String */;
4240 char* var14
/* : NativeString */;
4241 long var15
/* : Int */;
4242 val
* var16
/* : FlatString */;
4243 static val
* varonce17
;
4244 val
* var18
/* : String */;
4245 char* var19
/* : NativeString */;
4246 long var20
/* : Int */;
4247 val
* var21
/* : FlatString */;
4248 val
* var22
/* : HashMap[String, Int] */;
4249 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
4250 val
* var23
/* : HashMap[String, Int] */;
4251 val
* var25
/* : HashMap[String, Int] */;
4252 static val
* varonce26
;
4253 val
* var27
/* : String */;
4254 char* var28
/* : NativeString */;
4255 long var29
/* : Int */;
4256 val
* var30
/* : FlatString */;
4257 long var31
/* : Int */;
4258 val
* var32
/* : nullable Object */;
4259 val
* var33
/* : HashMap[String, Int] */;
4260 val
* var35
/* : HashMap[String, Int] */;
4261 static val
* varonce36
;
4262 val
* var37
/* : String */;
4263 char* var38
/* : NativeString */;
4264 long var39
/* : Int */;
4265 val
* var40
/* : FlatString */;
4266 long var41
/* : Int */;
4267 val
* var42
/* : nullable Object */;
4268 val
* var43
/* : HashMap[String, Int] */;
4269 val
* var45
/* : HashMap[String, Int] */;
4270 static val
* varonce46
;
4271 val
* var47
/* : String */;
4272 char* var48
/* : NativeString */;
4273 long var49
/* : Int */;
4274 val
* var50
/* : FlatString */;
4275 long var51
/* : Int */;
4276 val
* var52
/* : nullable Object */;
4277 static val
* varonce53
;
4278 val
* var54
/* : String */;
4279 char* var55
/* : NativeString */;
4280 long var56
/* : Int */;
4281 val
* var57
/* : FlatString */;
4282 long var58
/* : Int */;
4283 val
* var59
/* : nullable Object */;
4284 val
* var60
/* : Array[String] */;
4285 val
* var62
/* : Array[String] */;
4286 val
* var_
/* var : Array[String] */;
4287 val
* var63
/* : ArrayIterator[nullable Object] */;
4288 val
* var_64
/* var : ArrayIterator[String] */;
4289 short int var65
/* : Bool */;
4290 val
* var66
/* : nullable Object */;
4291 val
* var_tag
/* var tag: String */;
4292 val
* var67
/* : HashMap[String, Int] */;
4293 val
* var69
/* : HashMap[String, Int] */;
4294 val
* var70
/* : nullable Object */;
4295 val
* var71
/* : HashMap[String, Int] */;
4296 val
* var73
/* : HashMap[String, Int] */;
4297 val
* var74
/* : nullable Object */;
4298 long var75
/* : Int */;
4299 short int var77
/* : Bool */;
4302 const char* var_class_name
;
4303 long var78
/* : Int */;
4304 long var79
/* : Int */;
4305 long var80
/* : Int */;
4306 val
* var81
/* : HashMap[String, Int] */;
4307 val
* var83
/* : HashMap[String, Int] */;
4308 val
* var84
/* : nullable Object */;
4309 long var85
/* : Int */;
4310 short int var87
/* : Bool */;
4313 const char* var_class_name90
;
4314 long var91
/* : Int */;
4315 long var92
/* : Int */;
4316 val
* var93
/* : nullable Object */;
4317 val
* var94
/* : HashMap[String, Int] */;
4318 val
* var96
/* : HashMap[String, Int] */;
4319 val
* var_97
/* var : HashMap[String, Int] */;
4320 static val
* varonce98
;
4321 val
* var99
/* : String */;
4322 char* var100
/* : NativeString */;
4323 long var101
/* : Int */;
4324 val
* var102
/* : FlatString */;
4325 val
* var_103
/* var : String */;
4326 val
* var104
/* : nullable Object */;
4327 val
* var105
/* : HashMap[String, Int] */;
4328 val
* var107
/* : HashMap[String, Int] */;
4329 val
* var108
/* : nullable Object */;
4330 long var109
/* : Int */;
4331 short int var111
/* : Bool */;
4334 const char* var_class_name114
;
4335 long var115
/* : Int */;
4336 long var116
/* : Int */;
4337 long var117
/* : Int */;
4338 val
* var118
/* : nullable Object */;
4339 val
* var119
/* : HashMap[String, Int] */;
4340 val
* var121
/* : HashMap[String, Int] */;
4341 val
* var_122
/* var : HashMap[String, Int] */;
4342 static val
* varonce123
;
4343 val
* var124
/* : String */;
4344 char* var125
/* : NativeString */;
4345 long var126
/* : Int */;
4346 val
* var127
/* : FlatString */;
4347 val
* var_128
/* var : String */;
4348 val
* var129
/* : nullable Object */;
4349 val
* var130
/* : HashMap[String, Int] */;
4350 val
* var132
/* : HashMap[String, Int] */;
4351 val
* var133
/* : nullable Object */;
4352 long var134
/* : Int */;
4353 short int var136
/* : Bool */;
4356 const char* var_class_name139
;
4357 long var140
/* : Int */;
4358 long var141
/* : Int */;
4359 long var142
/* : Int */;
4360 val
* var143
/* : nullable Object */;
4361 val
* var144
/* : HashMap[String, Int] */;
4362 val
* var146
/* : HashMap[String, Int] */;
4363 val
* var_147
/* var : HashMap[String, Int] */;
4364 static val
* varonce148
;
4365 val
* var149
/* : String */;
4366 char* var150
/* : NativeString */;
4367 long var151
/* : Int */;
4368 val
* var152
/* : FlatString */;
4369 val
* var_153
/* var : String */;
4370 val
* var154
/* : nullable Object */;
4371 val
* var155
/* : HashMap[String, Int] */;
4372 val
* var157
/* : HashMap[String, Int] */;
4373 val
* var158
/* : nullable Object */;
4374 long var159
/* : Int */;
4375 short int var161
/* : Bool */;
4378 const char* var_class_name164
;
4379 long var165
/* : Int */;
4380 long var166
/* : Int */;
4381 long var167
/* : Int */;
4382 val
* var168
/* : nullable Object */;
4383 val
* var_169
/* var : HashMap[String, Int] */;
4384 static val
* varonce170
;
4385 val
* var171
/* : String */;
4386 char* var172
/* : NativeString */;
4387 long var173
/* : Int */;
4388 val
* var174
/* : FlatString */;
4389 val
* var_175
/* var : String */;
4390 val
* var176
/* : nullable Object */;
4391 val
* var177
/* : nullable Object */;
4392 long var178
/* : Int */;
4393 short int var180
/* : Bool */;
4396 const char* var_class_name183
;
4397 long var184
/* : Int */;
4398 long var185
/* : Int */;
4399 long var186
/* : Int */;
4400 val
* var187
/* : nullable Object */;
4401 static val
* varonce189
;
4402 val
* var190
/* : String */;
4403 char* var191
/* : NativeString */;
4404 long var192
/* : Int */;
4405 val
* var193
/* : FlatString */;
4406 val
* var194
/* : nullable Object */;
4407 long var195
/* : Int */;
4408 long var_count_type_test
/* var count_type_test: Int */;
4409 val
* var196
/* : Array[String] */;
4410 val
* var198
/* : Array[String] */;
4411 val
* var199
/* : Array[nullable Object] */;
4412 val
* var_tags
/* var tags: Array[String] */;
4413 static val
* varonce200
;
4414 val
* var201
/* : String */;
4415 char* var202
/* : NativeString */;
4416 long var203
/* : Int */;
4417 val
* var204
/* : FlatString */;
4418 val
* var_205
/* var : Array[String] */;
4419 val
* var206
/* : ArrayIterator[nullable Object] */;
4420 val
* var_207
/* var : ArrayIterator[String] */;
4421 short int var208
/* : Bool */;
4422 val
* var209
/* : nullable Object */;
4423 val
* var_tag210
/* var tag: String */;
4424 val
* var211
/* : Array[Object] */;
4425 long var212
/* : Int */;
4426 val
* var213
/* : NativeArray[Object] */;
4427 static val
* varonce214
;
4428 val
* var215
/* : String */;
4429 char* var216
/* : NativeString */;
4430 long var217
/* : Int */;
4431 val
* var218
/* : FlatString */;
4432 val
* var219
/* : HashMap[String, Int] */;
4433 val
* var221
/* : HashMap[String, Int] */;
4434 val
* var222
/* : nullable Object */;
4435 static val
* varonce223
;
4436 val
* var224
/* : String */;
4437 char* var225
/* : NativeString */;
4438 long var226
/* : Int */;
4439 val
* var227
/* : FlatString */;
4440 val
* var228
/* : HashMap[String, Int] */;
4441 val
* var230
/* : HashMap[String, Int] */;
4442 val
* var231
/* : nullable Object */;
4443 val
* var232
/* : String */;
4444 long var233
/* : Int */;
4445 static val
* varonce234
;
4446 val
* var235
/* : String */;
4447 char* var236
/* : NativeString */;
4448 long var237
/* : Int */;
4449 val
* var238
/* : FlatString */;
4450 val
* var239
/* : Array[Object] */;
4451 long var240
/* : Int */;
4452 val
* var241
/* : NativeArray[Object] */;
4453 val
* var242
/* : String */;
4454 val
* var243
/* : Array[Object] */;
4455 long var244
/* : Int */;
4456 val
* var245
/* : NativeArray[Object] */;
4457 static val
* varonce246
;
4458 val
* var247
/* : String */;
4459 char* var248
/* : NativeString */;
4460 long var249
/* : Int */;
4461 val
* var250
/* : FlatString */;
4462 val
* var251
/* : HashMap[String, Int] */;
4463 val
* var253
/* : HashMap[String, Int] */;
4464 val
* var254
/* : nullable Object */;
4465 static val
* varonce255
;
4466 val
* var256
/* : String */;
4467 char* var257
/* : NativeString */;
4468 long var258
/* : Int */;
4469 val
* var259
/* : FlatString */;
4470 val
* var260
/* : HashMap[String, Int] */;
4471 val
* var262
/* : HashMap[String, Int] */;
4472 val
* var263
/* : nullable Object */;
4473 val
* var264
/* : String */;
4474 long var265
/* : Int */;
4475 static val
* varonce266
;
4476 val
* var267
/* : String */;
4477 char* var268
/* : NativeString */;
4478 long var269
/* : Int */;
4479 val
* var270
/* : FlatString */;
4480 val
* var271
/* : Array[Object] */;
4481 long var272
/* : Int */;
4482 val
* var273
/* : NativeArray[Object] */;
4483 val
* var274
/* : String */;
4484 val
* var275
/* : Array[Object] */;
4485 long var276
/* : Int */;
4486 val
* var277
/* : NativeArray[Object] */;
4487 static val
* varonce278
;
4488 val
* var279
/* : String */;
4489 char* var280
/* : NativeString */;
4490 long var281
/* : Int */;
4491 val
* var282
/* : FlatString */;
4492 val
* var283
/* : HashMap[String, Int] */;
4493 val
* var285
/* : HashMap[String, Int] */;
4494 val
* var286
/* : nullable Object */;
4495 static val
* varonce287
;
4496 val
* var288
/* : String */;
4497 char* var289
/* : NativeString */;
4498 long var290
/* : Int */;
4499 val
* var291
/* : FlatString */;
4500 val
* var292
/* : HashMap[String, Int] */;
4501 val
* var294
/* : HashMap[String, Int] */;
4502 val
* var295
/* : nullable Object */;
4503 val
* var296
/* : String */;
4504 long var297
/* : Int */;
4505 static val
* varonce298
;
4506 val
* var299
/* : String */;
4507 char* var300
/* : NativeString */;
4508 long var301
/* : Int */;
4509 val
* var302
/* : FlatString */;
4510 val
* var303
/* : Array[Object] */;
4511 long var304
/* : Int */;
4512 val
* var305
/* : NativeArray[Object] */;
4513 val
* var306
/* : String */;
4514 val
* var307
/* : Array[Object] */;
4515 long var308
/* : Int */;
4516 val
* var309
/* : NativeArray[Object] */;
4517 static val
* varonce310
;
4518 val
* var311
/* : String */;
4519 char* var312
/* : NativeString */;
4520 long var313
/* : Int */;
4521 val
* var314
/* : FlatString */;
4522 val
* var315
/* : nullable Object */;
4523 static val
* varonce316
;
4524 val
* var317
/* : String */;
4525 char* var318
/* : NativeString */;
4526 long var319
/* : Int */;
4527 val
* var320
/* : FlatString */;
4528 val
* var321
/* : nullable Object */;
4529 val
* var322
/* : String */;
4530 long var323
/* : Int */;
4531 static val
* varonce324
;
4532 val
* var325
/* : String */;
4533 char* var326
/* : NativeString */;
4534 long var327
/* : Int */;
4535 val
* var328
/* : FlatString */;
4536 val
* var329
/* : Array[Object] */;
4537 long var330
/* : Int */;
4538 val
* var331
/* : NativeArray[Object] */;
4539 val
* var332
/* : String */;
4540 val
* var333
/* : Array[Object] */;
4541 long var334
/* : Int */;
4542 val
* var335
/* : NativeArray[Object] */;
4543 static val
* varonce336
;
4544 val
* var337
/* : String */;
4545 char* var338
/* : NativeString */;
4546 long var339
/* : Int */;
4547 val
* var340
/* : FlatString */;
4549 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
4550 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
4551 if (unlikely(var2
== NULL
)) {
4552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4561 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
4562 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
4563 if (unlikely(var5
== NULL
)) {
4564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4573 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var3) on <var3:ToolContext> */
4574 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var3:ToolContext> */
4575 if (unlikely(var8
== NULL
)) {
4576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
4585 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
4586 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
4588 RET_LABEL10
:(void)0;
4591 var12
= ((struct instance_standard__Bool
*)var9
)->value
; /* autounbox from nullable Object to Bool */;
4596 var14
= "# static count_type_test";
4598 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
4603 standard__file___Object___print(self
, var13
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4608 var19
= "\11resolved:\11unresolved\11skipped\11total";
4610 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
4615 standard__file___Object___print(self
, var18
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
4618 var22
= nit___nit__AbstractCompiler___init_count_type_test_tags(self
);
4620 var_count_type_test_total
= var22
;
4622 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4623 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4624 if (unlikely(var25
== NULL
)) {
4625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
4630 RET_LABEL24
:(void)0;
4638 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
4644 var32
= BOX_standard__Int(var31
); /* autobox from Int to nullable Object */
4645 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var23
, var27
, var32
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, Int]>*/
4648 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4649 var35
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4650 if (unlikely(var35
== NULL
)) {
4651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
4656 RET_LABEL34
:(void)0;
4664 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
4670 var42
= BOX_standard__Int(var41
); /* autobox from Int to nullable Object */
4671 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var33
, var37
, var42
); /* Direct call hash_collection#HashMap#[]= on <var33:HashMap[String, Int]>*/
4674 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4675 var45
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4676 if (unlikely(var45
== NULL
)) {
4677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
4682 RET_LABEL44
:(void)0;
4690 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
4696 var52
= BOX_standard__Int(var51
); /* autobox from Int to nullable Object */
4697 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var43
, var47
, var52
); /* Direct call hash_collection#HashMap#[]= on <var43:HashMap[String, Int]>*/
4704 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
4710 var59
= BOX_standard__Int(var58
); /* autobox from Int to nullable Object */
4711 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total
, var54
, var59
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4714 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4715 var62
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4716 if (unlikely(var62
== NULL
)) {
4717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
4722 RET_LABEL61
:(void)0;
4727 var63
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4732 var65
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_64
);
4736 var66
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_64
);
4740 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4741 var69
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4742 if (unlikely(var69
== NULL
)) {
4743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
4748 RET_LABEL68
:(void)0;
4752 var70
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var67
, var_tag
);
4755 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4756 var73
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4757 if (unlikely(var73
== NULL
)) {
4758 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4759 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
4763 RET_LABEL72
:(void)0;
4767 var74
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var71
, var_tag
);
4770 { /* Inline kernel#Int#+ (var70,var74) on <var70:nullable Object(Int)> */
4771 /* Covariant cast for argument 0 (i) <var74:nullable Object(Int)> isa OTHER */
4772 /* <var74:nullable Object(Int)> isa OTHER */
4773 var77
= 1; /* easy <var74:nullable Object(Int)> isa OTHER*/
4774 if (unlikely(!var77
)) {
4775 var_class_name
= var74
== NULL ?
"null" : var74
->type
->name
;
4776 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4777 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4780 var78
= ((struct instance_standard__Int
*)var70
)->value
; /* autounbox from nullable Object to Int */;
4781 var79
= ((struct instance_standard__Int
*)var74
)->value
; /* autounbox from nullable Object to Int */;
4782 var80
= var78
+ var79
;
4785 RET_LABEL76
:(void)0;
4789 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4790 var83
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4791 if (unlikely(var83
== NULL
)) {
4792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4793 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
4797 RET_LABEL82
:(void)0;
4801 var84
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var81
, var_tag
);
4804 { /* Inline kernel#Int#+ (var75,var84) on <var75:Int> */
4805 /* Covariant cast for argument 0 (i) <var84:nullable Object(Int)> isa OTHER */
4806 /* <var84:nullable Object(Int)> isa OTHER */
4807 var87
= 1; /* easy <var84:nullable Object(Int)> isa OTHER*/
4808 if (unlikely(!var87
)) {
4809 var_class_name90
= var84
== NULL ?
"null" : var84
->type
->name
;
4810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90
);
4811 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4814 var91
= ((struct instance_standard__Int
*)var84
)->value
; /* autounbox from nullable Object to Int */;
4815 var92
= var75
+ var91
;
4818 RET_LABEL86
:(void)0;
4822 var93
= BOX_standard__Int(var85
); /* autobox from Int to nullable Object */
4823 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total
, var_tag
, var93
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4826 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4827 var96
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4828 if (unlikely(var96
== NULL
)) {
4829 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
4834 RET_LABEL95
:(void)0;
4843 var102
= standard___standard__NativeString___to_s_with_length(var100
, var101
);
4849 var104
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_97
, var_103
);
4852 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4853 var107
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4854 if (unlikely(var107
== NULL
)) {
4855 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4856 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
4860 RET_LABEL106
:(void)0;
4864 var108
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var105
, var_tag
);
4867 { /* Inline kernel#Int#+ (var104,var108) on <var104:nullable Object(Int)> */
4868 /* Covariant cast for argument 0 (i) <var108:nullable Object(Int)> isa OTHER */
4869 /* <var108:nullable Object(Int)> isa OTHER */
4870 var111
= 1; /* easy <var108:nullable Object(Int)> isa OTHER*/
4871 if (unlikely(!var111
)) {
4872 var_class_name114
= var108
== NULL ?
"null" : var108
->type
->name
;
4873 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114
);
4874 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4877 var115
= ((struct instance_standard__Int
*)var104
)->value
; /* autounbox from nullable Object to Int */;
4878 var116
= ((struct instance_standard__Int
*)var108
)->value
; /* autounbox from nullable Object to Int */;
4879 var117
= var115
+ var116
;
4882 RET_LABEL110
:(void)0;
4886 var118
= BOX_standard__Int(var109
); /* autobox from Int to nullable Object */
4887 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_97
, var_103
, var118
); /* Direct call hash_collection#HashMap#[]= on <var_97:HashMap[String, Int]>*/
4890 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4891 var121
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4892 if (unlikely(var121
== NULL
)) {
4893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
4898 RET_LABEL120
:(void)0;
4903 var124
= varonce123
;
4907 var127
= standard___standard__NativeString___to_s_with_length(var125
, var126
);
4909 varonce123
= var124
;
4913 var129
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_122
, var_128
);
4916 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4917 var132
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4918 if (unlikely(var132
== NULL
)) {
4919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
4924 RET_LABEL131
:(void)0;
4928 var133
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var130
, var_tag
);
4931 { /* Inline kernel#Int#+ (var129,var133) on <var129:nullable Object(Int)> */
4932 /* Covariant cast for argument 0 (i) <var133:nullable Object(Int)> isa OTHER */
4933 /* <var133:nullable Object(Int)> isa OTHER */
4934 var136
= 1; /* easy <var133:nullable Object(Int)> isa OTHER*/
4935 if (unlikely(!var136
)) {
4936 var_class_name139
= var133
== NULL ?
"null" : var133
->type
->name
;
4937 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139
);
4938 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
4941 var140
= ((struct instance_standard__Int
*)var129
)->value
; /* autounbox from nullable Object to Int */;
4942 var141
= ((struct instance_standard__Int
*)var133
)->value
; /* autounbox from nullable Object to Int */;
4943 var142
= var140
+ var141
;
4946 RET_LABEL135
:(void)0;
4950 var143
= BOX_standard__Int(var134
); /* autobox from Int to nullable Object */
4951 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_122
, var_128
, var143
); /* Direct call hash_collection#HashMap#[]= on <var_122:HashMap[String, Int]>*/
4954 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4955 var146
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4956 if (unlikely(var146
== NULL
)) {
4957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4958 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
4962 RET_LABEL145
:(void)0;
4967 var149
= varonce148
;
4971 var152
= standard___standard__NativeString___to_s_with_length(var150
, var151
);
4973 varonce148
= var149
;
4977 var154
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_147
, var_153
);
4980 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4981 var157
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4982 if (unlikely(var157
== NULL
)) {
4983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
4988 RET_LABEL156
:(void)0;
4992 var158
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var155
, var_tag
);
4995 { /* Inline kernel#Int#+ (var154,var158) on <var154:nullable Object(Int)> */
4996 /* Covariant cast for argument 0 (i) <var158:nullable Object(Int)> isa OTHER */
4997 /* <var158:nullable Object(Int)> isa OTHER */
4998 var161
= 1; /* easy <var158:nullable Object(Int)> isa OTHER*/
4999 if (unlikely(!var161
)) {
5000 var_class_name164
= var158
== NULL ?
"null" : var158
->type
->name
;
5001 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name164
);
5002 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
5005 var165
= ((struct instance_standard__Int
*)var154
)->value
; /* autounbox from nullable Object to Int */;
5006 var166
= ((struct instance_standard__Int
*)var158
)->value
; /* autounbox from nullable Object to Int */;
5007 var167
= var165
+ var166
;
5010 RET_LABEL160
:(void)0;
5014 var168
= BOX_standard__Int(var159
); /* autobox from Int to nullable Object */
5015 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_147
, var_153
, var168
); /* Direct call hash_collection#HashMap#[]= on <var_147:HashMap[String, Int]>*/
5017 var_169
= var_count_type_test_total
;
5019 var171
= varonce170
;
5023 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
5025 varonce170
= var171
;
5029 var176
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_169
, var_175
);
5032 var177
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag
);
5035 { /* Inline kernel#Int#+ (var176,var177) on <var176:nullable Object(Int)> */
5036 /* Covariant cast for argument 0 (i) <var177:nullable Object(Int)> isa OTHER */
5037 /* <var177:nullable Object(Int)> isa OTHER */
5038 var180
= 1; /* easy <var177:nullable Object(Int)> isa OTHER*/
5039 if (unlikely(!var180
)) {
5040 var_class_name183
= var177
== NULL ?
"null" : var177
->type
->name
;
5041 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183
);
5042 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
5045 var184
= ((struct instance_standard__Int
*)var176
)->value
; /* autounbox from nullable Object to Int */;
5046 var185
= ((struct instance_standard__Int
*)var177
)->value
; /* autounbox from nullable Object to Int */;
5047 var186
= var184
+ var185
;
5050 RET_LABEL179
:(void)0;
5054 var187
= BOX_standard__Int(var178
); /* autobox from Int to nullable Object */
5055 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_169
, var_175
, var187
); /* Direct call hash_collection#HashMap#[]= on <var_169:HashMap[String, Int]>*/
5058 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_64
); /* Direct call array#ArrayIterator#next on <var_64:ArrayIterator[String]>*/
5064 BREAK_label
: (void)0;
5066 { /* Inline abstract_collection#Iterator#finish (var_64) on <var_64:ArrayIterator[String]> */
5067 RET_LABEL188
:(void)0;
5071 var190
= varonce189
;
5075 var193
= standard___standard__NativeString___to_s_with_length(var191
, var192
);
5077 varonce189
= var190
;
5080 var194
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var190
);
5082 var195
= ((struct instance_standard__Int
*)var194
)->value
; /* autounbox from nullable Object to Int */;
5083 var_count_type_test
= var195
;
5085 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
5086 var198
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
5087 if (unlikely(var198
== NULL
)) {
5088 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
5089 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 963);
5093 RET_LABEL197
:(void)0;
5097 var199
= standard__array___Collection___to_a(var196
);
5101 var201
= varonce200
;
5105 var204
= standard___standard__NativeString___to_s_with_length(var202
, var203
);
5107 varonce200
= var201
;
5110 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags
, var201
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
5114 var206
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_205
);
5119 var208
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_207
);
5123 var209
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_207
);
5125 var_tag210
= var209
;
5126 var211
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5127 { /* var211 = array_instance Array[Object] */
5129 var213
= NEW_standard__NativeArray(var212
, &type_standard__NativeArray__standard__Object
);
5130 ((struct instance_standard__NativeArray
*)var213
)->values
[0] = (val
*) var_tag210
;
5132 ((void (*)(val
* self
, val
* p0
, long p1
))(var211
->class->vft
[COLOR_standard__array__Array__with_native
]))(var211
, var213
, var212
) /* with_native on <var211:Array[Object]>*/;
5136 standard__file___Object___printn(self
, var211
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5139 var215
= varonce214
;
5143 var218
= standard___standard__NativeString___to_s_with_length(var216
, var217
);
5145 varonce214
= var215
;
5148 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5149 var221
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5150 if (unlikely(var221
== NULL
)) {
5151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5152 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
5156 RET_LABEL220
:(void)0;
5160 var222
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var219
, var_tag210
);
5163 var224
= varonce223
;
5167 var227
= standard___standard__NativeString___to_s_with_length(var225
, var226
);
5169 varonce223
= var224
;
5172 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
5173 var230
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
5174 if (unlikely(var230
== NULL
)) {
5175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
5176 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
5180 RET_LABEL229
:(void)0;
5184 var231
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var228
, var_tag210
);
5187 var233
= ((struct instance_standard__Int
*)var231
)->value
; /* autounbox from nullable Object to Int */;
5188 var232
= nit___nit__AbstractCompiler___div(self
, var233
, var_count_type_test
);
5191 var235
= varonce234
;
5195 var238
= standard___standard__NativeString___to_s_with_length(var236
, var237
);
5197 varonce234
= var235
;
5199 var239
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5200 { /* var239 = array_instance Array[Object] */
5202 var241
= NEW_standard__NativeArray(var240
, &type_standard__NativeArray__standard__Object
);
5203 ((struct instance_standard__NativeArray
*)var241
)->values
[0] = (val
*) var215
;
5204 ((struct instance_standard__NativeArray
*)var241
)->values
[1] = (val
*) var222
;
5205 ((struct instance_standard__NativeArray
*)var241
)->values
[2] = (val
*) var224
;
5206 ((struct instance_standard__NativeArray
*)var241
)->values
[3] = (val
*) var232
;
5207 ((struct instance_standard__NativeArray
*)var241
)->values
[4] = (val
*) var235
;
5209 ((void (*)(val
* self
, val
* p0
, long p1
))(var239
->class->vft
[COLOR_standard__array__Array__with_native
]))(var239
, var241
, var240
) /* with_native on <var239:Array[Object]>*/;
5213 var242
= ((val
* (*)(val
* self
))(var239
->class->vft
[COLOR_standard__string__Object__to_s
]))(var239
) /* to_s on <var239:Array[Object]>*/;
5215 var243
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5216 { /* var243 = array_instance Array[Object] */
5218 var245
= NEW_standard__NativeArray(var244
, &type_standard__NativeArray__standard__Object
);
5219 ((struct instance_standard__NativeArray
*)var245
)->values
[0] = (val
*) var242
;
5221 ((void (*)(val
* self
, val
* p0
, long p1
))(var243
->class->vft
[COLOR_standard__array__Array__with_native
]))(var243
, var245
, var244
) /* with_native on <var243:Array[Object]>*/;
5225 standard__file___Object___printn(self
, var243
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5228 var247
= varonce246
;
5232 var250
= standard___standard__NativeString___to_s_with_length(var248
, var249
);
5234 varonce246
= var247
;
5237 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5238 var253
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5239 if (unlikely(var253
== NULL
)) {
5240 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5241 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
5245 RET_LABEL252
:(void)0;
5249 var254
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var251
, var_tag210
);
5252 var256
= varonce255
;
5256 var259
= standard___standard__NativeString___to_s_with_length(var257
, var258
);
5258 varonce255
= var256
;
5261 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
5262 var262
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
5263 if (unlikely(var262
== NULL
)) {
5264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
5265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
5269 RET_LABEL261
:(void)0;
5273 var263
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var260
, var_tag210
);
5276 var265
= ((struct instance_standard__Int
*)var263
)->value
; /* autounbox from nullable Object to Int */;
5277 var264
= nit___nit__AbstractCompiler___div(self
, var265
, var_count_type_test
);
5280 var267
= varonce266
;
5284 var270
= standard___standard__NativeString___to_s_with_length(var268
, var269
);
5286 varonce266
= var267
;
5288 var271
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5289 { /* var271 = array_instance Array[Object] */
5291 var273
= NEW_standard__NativeArray(var272
, &type_standard__NativeArray__standard__Object
);
5292 ((struct instance_standard__NativeArray
*)var273
)->values
[0] = (val
*) var247
;
5293 ((struct instance_standard__NativeArray
*)var273
)->values
[1] = (val
*) var254
;
5294 ((struct instance_standard__NativeArray
*)var273
)->values
[2] = (val
*) var256
;
5295 ((struct instance_standard__NativeArray
*)var273
)->values
[3] = (val
*) var264
;
5296 ((struct instance_standard__NativeArray
*)var273
)->values
[4] = (val
*) var267
;
5298 ((void (*)(val
* self
, val
* p0
, long p1
))(var271
->class->vft
[COLOR_standard__array__Array__with_native
]))(var271
, var273
, var272
) /* with_native on <var271:Array[Object]>*/;
5302 var274
= ((val
* (*)(val
* self
))(var271
->class->vft
[COLOR_standard__string__Object__to_s
]))(var271
) /* to_s on <var271:Array[Object]>*/;
5304 var275
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5305 { /* var275 = array_instance Array[Object] */
5307 var277
= NEW_standard__NativeArray(var276
, &type_standard__NativeArray__standard__Object
);
5308 ((struct instance_standard__NativeArray
*)var277
)->values
[0] = (val
*) var274
;
5310 ((void (*)(val
* self
, val
* p0
, long p1
))(var275
->class->vft
[COLOR_standard__array__Array__with_native
]))(var275
, var277
, var276
) /* with_native on <var275:Array[Object]>*/;
5314 standard__file___Object___printn(self
, var275
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5317 var279
= varonce278
;
5321 var282
= standard___standard__NativeString___to_s_with_length(var280
, var281
);
5323 varonce278
= var279
;
5326 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5327 var285
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5328 if (unlikely(var285
== NULL
)) {
5329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5330 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
5334 RET_LABEL284
:(void)0;
5338 var286
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var283
, var_tag210
);
5341 var288
= varonce287
;
5345 var291
= standard___standard__NativeString___to_s_with_length(var289
, var290
);
5347 varonce287
= var288
;
5350 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
5351 var294
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
5352 if (unlikely(var294
== NULL
)) {
5353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
5354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
5358 RET_LABEL293
:(void)0;
5362 var295
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var292
, var_tag210
);
5365 var297
= ((struct instance_standard__Int
*)var295
)->value
; /* autounbox from nullable Object to Int */;
5366 var296
= nit___nit__AbstractCompiler___div(self
, var297
, var_count_type_test
);
5369 var299
= varonce298
;
5373 var302
= standard___standard__NativeString___to_s_with_length(var300
, var301
);
5375 varonce298
= var299
;
5377 var303
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5378 { /* var303 = array_instance Array[Object] */
5380 var305
= NEW_standard__NativeArray(var304
, &type_standard__NativeArray__standard__Object
);
5381 ((struct instance_standard__NativeArray
*)var305
)->values
[0] = (val
*) var279
;
5382 ((struct instance_standard__NativeArray
*)var305
)->values
[1] = (val
*) var286
;
5383 ((struct instance_standard__NativeArray
*)var305
)->values
[2] = (val
*) var288
;
5384 ((struct instance_standard__NativeArray
*)var305
)->values
[3] = (val
*) var296
;
5385 ((struct instance_standard__NativeArray
*)var305
)->values
[4] = (val
*) var299
;
5387 ((void (*)(val
* self
, val
* p0
, long p1
))(var303
->class->vft
[COLOR_standard__array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
5391 var306
= ((val
* (*)(val
* self
))(var303
->class->vft
[COLOR_standard__string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
5393 var307
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5394 { /* var307 = array_instance Array[Object] */
5396 var309
= NEW_standard__NativeArray(var308
, &type_standard__NativeArray__standard__Object
);
5397 ((struct instance_standard__NativeArray
*)var309
)->values
[0] = (val
*) var306
;
5399 ((void (*)(val
* self
, val
* p0
, long p1
))(var307
->class->vft
[COLOR_standard__array__Array__with_native
]))(var307
, var309
, var308
) /* with_native on <var307:Array[Object]>*/;
5403 standard__file___Object___printn(self
, var307
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5406 var311
= varonce310
;
5410 var314
= standard___standard__NativeString___to_s_with_length(var312
, var313
);
5412 varonce310
= var311
;
5415 var315
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag210
);
5418 var317
= varonce316
;
5422 var320
= standard___standard__NativeString___to_s_with_length(var318
, var319
);
5424 varonce316
= var317
;
5427 var321
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag210
);
5430 var323
= ((struct instance_standard__Int
*)var321
)->value
; /* autounbox from nullable Object to Int */;
5431 var322
= nit___nit__AbstractCompiler___div(self
, var323
, var_count_type_test
);
5434 var325
= varonce324
;
5438 var328
= standard___standard__NativeString___to_s_with_length(var326
, var327
);
5440 varonce324
= var325
;
5442 var329
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5443 { /* var329 = array_instance Array[Object] */
5445 var331
= NEW_standard__NativeArray(var330
, &type_standard__NativeArray__standard__Object
);
5446 ((struct instance_standard__NativeArray
*)var331
)->values
[0] = (val
*) var311
;
5447 ((struct instance_standard__NativeArray
*)var331
)->values
[1] = (val
*) var315
;
5448 ((struct instance_standard__NativeArray
*)var331
)->values
[2] = (val
*) var317
;
5449 ((struct instance_standard__NativeArray
*)var331
)->values
[3] = (val
*) var322
;
5450 ((struct instance_standard__NativeArray
*)var331
)->values
[4] = (val
*) var325
;
5452 ((void (*)(val
* self
, val
* p0
, long p1
))(var329
->class->vft
[COLOR_standard__array__Array__with_native
]))(var329
, var331
, var330
) /* with_native on <var329:Array[Object]>*/;
5456 var332
= ((val
* (*)(val
* self
))(var329
->class->vft
[COLOR_standard__string__Object__to_s
]))(var329
) /* to_s on <var329:Array[Object]>*/;
5458 var333
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5459 { /* var333 = array_instance Array[Object] */
5461 var335
= NEW_standard__NativeArray(var334
, &type_standard__NativeArray__standard__Object
);
5462 ((struct instance_standard__NativeArray
*)var335
)->values
[0] = (val
*) var332
;
5464 ((void (*)(val
* self
, val
* p0
, long p1
))(var333
->class->vft
[COLOR_standard__array__Array__with_native
]))(var333
, var335
, var334
) /* with_native on <var333:Array[Object]>*/;
5468 standard__file___Object___printn(self
, var333
); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
5471 var337
= varonce336
;
5475 var340
= standard___standard__NativeString___to_s_with_length(var338
, var339
);
5477 varonce336
= var337
;
5480 standard__file___Object___print(self
, var337
); /* Direct call file#Object#print on <self:AbstractCompiler>*/
5483 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_207
); /* Direct call array#ArrayIterator#next on <var_207:ArrayIterator[String]>*/
5486 goto BREAK_label341
;
5489 BREAK_label341
: (void)0;
5491 { /* Inline abstract_collection#Iterator#finish (var_207) on <var_207:ArrayIterator[String]> */
5492 RET_LABEL342
:(void)0;
5499 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
5500 void nit___nit__AbstractCompiler___finalize_ffi_for_module(val
* self
, val
* p0
) {
5501 val
* var_mmodule
/* var mmodule: MModule */;
5502 val
* var_c
/* var c: AbstractCompiler */;
5505 { /* Inline abstract_compiler#MModule#finalize_ffi (var_mmodule,self) on <var_mmodule:MModule> */
5512 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
5513 val
* nit___nit__AbstractCompiler___div(val
* self
, long p0
, long p1
) {
5514 val
* var
/* : String */;
5515 long var_a
/* var a: Int */;
5516 long var_b
/* var b: Int */;
5517 long var1
/* : Int */;
5518 short int var2
/* : Bool */;
5519 short int var4
/* : Bool */;
5520 static val
* varonce
;
5521 val
* var5
/* : String */;
5522 char* var6
/* : NativeString */;
5523 long var7
/* : Int */;
5524 val
* var8
/* : FlatString */;
5525 long var9
/* : Int */;
5526 long var10
/* : Int */;
5527 short int var12
/* : Bool */;
5530 const char* var_class_name
;
5531 long var13
/* : Int */;
5532 long var14
/* : Int */;
5533 short int var16
/* : Bool */;
5536 const char* var_class_name19
;
5537 long var20
/* : Int */;
5538 double var21
/* : Float */;
5539 double var23
/* : Float */;
5540 double var24
/* : Float */;
5541 double var25
/* : Float */;
5542 short int var27
/* : Bool */;
5545 const char* var_class_name30
;
5546 double var31
/* : Float */;
5547 long var32
/* : Int */;
5548 val
* var33
/* : String */;
5553 { /* Inline kernel#Int#== (var_b,var1) on <var_b:Int> */
5554 var4
= var_b
== var1
;
5566 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
5576 { /* Inline kernel#Int#* (var_a,var9) on <var_a:Int> */
5577 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
5578 /* <var9:Int> isa OTHER */
5579 var12
= 1; /* easy <var9:Int> isa OTHER*/
5580 if (unlikely(!var12
)) {
5581 var_class_name
= type_standard__Int
.name
;
5582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5583 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 417);
5586 var13
= var_a
* var9
;
5589 RET_LABEL11
:(void)0;
5593 { /* Inline kernel#Int#/ (var10,var_b) on <var10:Int> */
5594 /* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
5595 /* <var_b:Int> isa OTHER */
5596 var16
= 1; /* easy <var_b:Int> isa OTHER*/
5597 if (unlikely(!var16
)) {
5598 var_class_name19
= type_standard__Int
.name
;
5599 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
5600 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 418);
5603 var20
= var10
/ var_b
;
5606 RET_LABEL15
:(void)0;
5610 { /* Inline kernel#Int#to_f (var14) on <var14:Int> */
5611 var23
= (double)var14
;
5614 RET_LABEL22
:(void)0;
5619 { /* Inline kernel#Float#/ (var21,var24) on <var21:Float> */
5620 /* Covariant cast for argument 0 (i) <var24:Float> isa OTHER */
5621 /* <var24:Float> isa OTHER */
5622 var27
= 1; /* easy <var24:Float> isa OTHER*/
5623 if (unlikely(!var27
)) {
5624 var_class_name30
= type_standard__Float
.name
;
5625 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
5626 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 330);
5629 var31
= var21
/ var24
;
5632 RET_LABEL26
:(void)0;
5637 var33
= standard__string___Float___to_precision(var25
, var32
);
5644 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
5645 val
* nit___nit__CodeFile___name(val
* self
) {
5646 val
* var
/* : String */;
5647 val
* var1
/* : String */;
5648 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <self:CodeFile> */
5649 if (unlikely(var1
== NULL
)) {
5650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1030);
5658 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
5659 void nit___nit__CodeFile___name_61d(val
* self
, val
* p0
) {
5660 self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:CodeFile> */
5663 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
5664 val
* nit___nit__CodeFile___writers(val
* self
) {
5665 val
* var
/* : Array[CodeWriter] */;
5666 val
* var1
/* : Array[CodeWriter] */;
5667 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:CodeFile> */
5668 if (unlikely(var1
== NULL
)) {
5669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5670 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1031);
5677 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
5678 val
* nit___nit__CodeFile___required_declarations(val
* self
) {
5679 val
* var
/* : HashSet[String] */;
5680 val
* var1
/* : HashSet[String] */;
5681 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:CodeFile> */
5682 if (unlikely(var1
== NULL
)) {
5683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1032);
5691 /* method abstract_compiler#CodeFile#init for (self: CodeFile) */
5692 void nit___nit__CodeFile___standard__kernel__Object__init(val
* self
) {
5694 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__CodeFile___standard__kernel__Object__init
]))(self
) /* init on <self:CodeFile>*/;
5698 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
5699 val
* nit___nit__CodeWriter___file(val
* self
) {
5700 val
* var
/* : CodeFile */;
5701 val
* var1
/* : CodeFile */;
5702 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5703 if (unlikely(var1
== NULL
)) {
5704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5705 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1037);
5712 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
5713 void nit___nit__CodeWriter___file_61d(val
* self
, val
* p0
) {
5714 self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:CodeWriter> */
5717 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
5718 val
* nit___nit__CodeWriter___lines(val
* self
) {
5719 val
* var
/* : List[String] */;
5720 val
* var1
/* : List[String] */;
5721 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:CodeWriter> */
5722 if (unlikely(var1
== NULL
)) {
5723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1038);
5731 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
5732 val
* nit___nit__CodeWriter___decl_lines(val
* self
) {
5733 val
* var
/* : List[String] */;
5734 val
* var1
/* : List[String] */;
5735 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5736 if (unlikely(var1
== NULL
)) {
5737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1039);
5745 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
5746 void nit___nit__CodeWriter___add_decl(val
* self
, val
* p0
) {
5747 val
* var_s
/* var s: String */;
5748 val
* var
/* : List[String] */;
5749 val
* var2
/* : List[String] */;
5752 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:CodeWriter> */
5753 var2
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5754 if (unlikely(var2
== NULL
)) {
5755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5756 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1039);
5764 standard___standard__Sequence___SimpleCollection__add(var
, var_s
); /* Direct call abstract_collection#Sequence#add on <var:List[String]>*/
5768 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter) */
5769 void nit___nit__CodeWriter___standard__kernel__Object__init(val
* self
) {
5770 val
* var
/* : CodeFile */;
5771 val
* var2
/* : CodeFile */;
5772 val
* var3
/* : Array[CodeWriter] */;
5773 val
* var5
/* : Array[CodeWriter] */;
5775 { /* Inline abstract_compiler#CodeWriter#file (self) on <self:CodeWriter> */
5776 var2
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5777 if (unlikely(var2
== NULL
)) {
5778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1037);
5787 { /* Inline abstract_compiler#CodeFile#writers (var) on <var:CodeFile> */
5788 var5
= var
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var:CodeFile> */
5789 if (unlikely(var5
== NULL
)) {
5790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5791 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1031);
5799 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array#Array#add on <var3:Array[CodeWriter]>*/
5803 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
5804 val
* nit___nit__AbstractCompilerVisitor___compiler(val
* self
) {
5805 val
* var
/* : AbstractCompiler */;
5806 val
* var1
/* : AbstractCompiler */;
5807 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5808 if (unlikely(var1
== NULL
)) {
5809 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5810 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5817 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
5818 void nit___nit__AbstractCompilerVisitor___compiler_61d(val
* self
, val
* p0
) {
5819 short int var
/* : Bool */;
5822 const struct type
* type_struct
;
5823 const char* var_class_name
;
5824 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
5825 /* <p0:AbstractCompiler> isa COMPILER */
5826 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__COMPILER
];
5827 cltype
= type_struct
->color
;
5828 idtype
= type_struct
->id
;
5829 if(cltype
>= p0
->type
->table_size
) {
5832 var
= p0
->type
->type_table
[cltype
] == idtype
;
5834 if (unlikely(!var
)) {
5835 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5836 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
5837 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5840 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:AbstractCompilerVisitor> */
5843 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
5844 val
* nit___nit__AbstractCompilerVisitor___current_node(val
* self
) {
5845 val
* var
/* : nullable ANode */;
5846 val
* var1
/* : nullable ANode */;
5847 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
5852 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
5853 void nit___nit__AbstractCompilerVisitor___current_node_61d(val
* self
, val
* p0
) {
5854 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:AbstractCompilerVisitor> */
5857 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable StaticFrame */
5858 val
* nit___nit__AbstractCompilerVisitor___frame(val
* self
) {
5859 val
* var
/* : nullable StaticFrame */;
5860 val
* var1
/* : nullable StaticFrame */;
5861 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
5866 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable StaticFrame) */
5867 void nit___nit__AbstractCompilerVisitor___frame_61d(val
* self
, val
* p0
) {
5868 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:AbstractCompilerVisitor> */
5871 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
5872 val
* nit___nit__AbstractCompilerVisitor___object_type(val
* self
) {
5873 val
* var
/* : MClassType */;
5874 val
* var1
/* : AbstractCompiler */;
5875 val
* var3
/* : AbstractCompiler */;
5876 val
* var4
/* : MModule */;
5877 val
* var6
/* : MModule */;
5878 val
* var7
/* : MClassType */;
5880 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5881 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5882 if (unlikely(var3
== NULL
)) {
5883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5884 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5892 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
5893 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
5894 if (unlikely(var6
== NULL
)) {
5895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5896 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
5904 var7
= nit__model___MModule___object_type(var4
);
5911 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
5912 val
* nit___nit__AbstractCompilerVisitor___bool_type(val
* self
) {
5913 val
* var
/* : MClassType */;
5914 val
* var1
/* : AbstractCompiler */;
5915 val
* var3
/* : AbstractCompiler */;
5916 val
* var4
/* : MModule */;
5917 val
* var6
/* : MModule */;
5918 val
* var7
/* : MClassType */;
5920 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5921 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5922 if (unlikely(var3
== NULL
)) {
5923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5932 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
5933 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
5934 if (unlikely(var6
== NULL
)) {
5935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5936 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
5944 var7
= nit__model___MModule___bool_type(var4
);
5951 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
5952 val
* nit___nit__AbstractCompilerVisitor___writer(val
* self
) {
5953 val
* var
/* : CodeWriter */;
5954 val
* var1
/* : CodeWriter */;
5955 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
5956 if (unlikely(var1
== NULL
)) {
5957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
5958 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1074);
5965 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
5966 void nit___nit__AbstractCompilerVisitor___writer_61d(val
* self
, val
* p0
) {
5967 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:AbstractCompilerVisitor> */
5970 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor) */
5971 void nit___nit__AbstractCompilerVisitor___standard__kernel__Object__init(val
* self
) {
5972 val
* var
/* : CodeWriter */;
5973 val
* var1
/* : AbstractCompiler */;
5974 val
* var3
/* : AbstractCompiler */;
5975 val
* var4
/* : List[CodeFile] */;
5976 val
* var6
/* : List[CodeFile] */;
5977 val
* var7
/* : nullable Object */;
5978 var
= NEW_nit__CodeWriter(&type_nit__CodeWriter
);
5980 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5981 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5982 if (unlikely(var3
== NULL
)) {
5983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5992 { /* Inline abstract_compiler#AbstractCompiler#files (var1) on <var1:AbstractCompiler> */
5993 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var1:AbstractCompiler> */
5994 if (unlikely(var6
== NULL
)) {
5995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
5996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
6004 var7
= standard___standard__List___standard__abstract_collection__SequenceRead__last(var4
);
6007 ((void (*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__abstract_compiler__CodeWriter__file_61d
]))(var
, var7
) /* file= on <var:CodeWriter>*/;
6010 ((void (*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
) /* init on <var:CodeWriter>*/;
6013 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var) on <self:AbstractCompilerVisitor> */
6014 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
= var
; /* _writer on <self:AbstractCompilerVisitor> */
6020 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
6021 val
* nit___nit__AbstractCompilerVisitor___get_class(val
* self
, val
* p0
) {
6022 val
* var
/* : MClass */;
6023 val
* var_name
/* var name: String */;
6024 val
* var1
/* : AbstractCompiler */;
6025 val
* var3
/* : AbstractCompiler */;
6026 val
* var4
/* : MModule */;
6027 val
* var6
/* : MModule */;
6028 val
* var7
/* : MClass */;
6031 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6032 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6033 if (unlikely(var3
== NULL
)) {
6034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6043 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
6044 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
6045 if (unlikely(var6
== NULL
)) {
6046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
6055 var7
= nit__model___MModule___get_primitive_class(var4
, var_name
);
6062 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
6063 val
* nit___nit__AbstractCompilerVisitor___get_property(val
* self
, val
* p0
, val
* p1
) {
6064 val
* var
/* : MMethod */;
6065 val
* var_name
/* var name: String */;
6066 val
* var_recv
/* var recv: MType */;
6067 short int var1
/* : Bool */;
6070 val
* var2
/* : AbstractCompiler */;
6071 val
* var4
/* : AbstractCompiler */;
6072 val
* var5
/* : ModelBuilder */;
6073 val
* var7
/* : ModelBuilder */;
6074 val
* var8
/* : nullable ANode */;
6075 val
* var10
/* : nullable ANode */;
6076 val
* var11
/* : MClass */;
6077 val
* var13
/* : MClass */;
6078 val
* var14
/* : AbstractCompiler */;
6079 val
* var16
/* : AbstractCompiler */;
6080 val
* var17
/* : MModule */;
6081 val
* var19
/* : MModule */;
6082 val
* var20
/* : MMethod */;
6085 /* <var_recv:MType> isa MClassType */
6086 cltype
= type_nit__MClassType
.color
;
6087 idtype
= type_nit__MClassType
.id
;
6088 if(cltype
>= var_recv
->type
->table_size
) {
6091 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
6093 if (unlikely(!var1
)) {
6094 PRINT_ERROR("Runtime error: %s", "Assert failed");
6095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1087);
6099 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6100 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6101 if (unlikely(var4
== NULL
)) {
6102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6111 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
6112 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
6113 if (unlikely(var7
== NULL
)) {
6114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6115 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
6123 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
6124 var10
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
6130 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MType(MClassType)> */
6131 var13
= var_recv
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_recv:MType(MClassType)> */
6132 if (unlikely(var13
== NULL
)) {
6133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6134 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6138 RET_LABEL12
:(void)0;
6142 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6143 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6144 if (unlikely(var16
== NULL
)) {
6145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6150 RET_LABEL15
:(void)0;
6154 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler> */
6155 var19
= var14
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler> */
6156 if (unlikely(var19
== NULL
)) {
6157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
6162 RET_LABEL18
:(void)0;
6166 var20
= nit___nit__ModelBuilder___force_get_primitive_method(var5
, var8
, var_name
, var11
, var17
);
6173 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6174 val
* nit___nit__AbstractCompilerVisitor___compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6175 val
* var
/* : nullable RuntimeVariable */;
6176 val
* var_callsite
/* var callsite: CallSite */;
6177 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6178 val
* var1
/* : MMethodDef */;
6179 val
* var3
/* : MMethodDef */;
6180 val
* var4
/* : Array[MProperty] */;
6181 val
* var6
/* : Array[MProperty] */;
6182 val
* var_initializers
/* var initializers: Array[MProperty] */;
6183 short int var7
/* : Bool */;
6184 short int var8
/* : Bool */;
6185 val
* var9
/* : nullable Object */;
6186 val
* var_recv
/* var recv: RuntimeVariable */;
6187 long var10
/* : Int */;
6188 long var_i
/* var i: Int */;
6189 val
* var_
/* var : Array[MProperty] */;
6190 val
* var11
/* : ArrayIterator[nullable Object] */;
6191 val
* var_12
/* var : ArrayIterator[MProperty] */;
6192 short int var13
/* : Bool */;
6193 val
* var14
/* : nullable Object */;
6194 val
* var_p
/* var p: MProperty */;
6195 short int var15
/* : Bool */;
6198 val
* var16
/* : Array[RuntimeVariable] */;
6199 long var17
/* : Int */;
6200 val
* var_18
/* var : Array[RuntimeVariable] */;
6201 val
* var_args
/* var args: Array[RuntimeVariable] */;
6202 val
* var19
/* : MPropDef */;
6203 val
* var21
/* : MPropDef */;
6204 val
* var22
/* : nullable MSignature */;
6205 val
* var24
/* : nullable MSignature */;
6206 val
* var25
/* : Array[MParameter] */;
6207 val
* var27
/* : Array[MParameter] */;
6208 val
* var_28
/* var : Array[MParameter] */;
6209 val
* var29
/* : ArrayIterator[nullable Object] */;
6210 val
* var_30
/* var : ArrayIterator[MParameter] */;
6211 short int var31
/* : Bool */;
6212 val
* var32
/* : nullable Object */;
6213 val
* var_x
/* var x: MParameter */;
6214 val
* var33
/* : nullable Object */;
6215 long var34
/* : Int */;
6216 long var35
/* : Int */;
6217 short int var37
/* : Bool */;
6220 const char* var_class_name
;
6221 long var40
/* : Int */;
6222 val
* var42
/* : nullable RuntimeVariable */;
6223 short int var43
/* : Bool */;
6226 val
* var46
/* : nullable Object */;
6227 long var47
/* : Int */;
6228 long var48
/* : Int */;
6229 short int var50
/* : Bool */;
6232 const char* var_class_name53
;
6233 long var54
/* : Int */;
6234 long var57
/* : Int */;
6235 long var59
/* : Int */;
6236 short int var60
/* : Bool */;
6237 short int var62
/* : Bool */;
6238 val
* var63
/* : MMethod */;
6239 val
* var65
/* : MMethod */;
6240 val
* var66
/* : Array[RuntimeVariable] */;
6241 long var67
/* : Int */;
6242 val
* var_68
/* var : Array[RuntimeVariable] */;
6243 val
* var69
/* : nullable RuntimeVariable */;
6244 val
* var70
/* : MMethod */;
6245 val
* var72
/* : MMethod */;
6246 val
* var73
/* : nullable RuntimeVariable */;
6250 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
6251 var3
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
6252 if (unlikely(var3
== NULL
)) {
6253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
6254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 490);
6262 { /* Inline model#MMethodDef#initializers (var1) on <var1:MMethodDef> */
6263 var6
= var1
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var1:MMethodDef> */
6264 if (unlikely(var6
== NULL
)) {
6265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
6266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2146);
6273 var_initializers
= var4
;
6275 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_initializers
);
6280 var9
= standard___standard__SequenceRead___Collection__first(var_arguments
);
6285 var_
= var_initializers
;
6287 var11
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
6292 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12
);
6296 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12
);
6299 /* <var_p:MProperty> isa MMethod */
6300 cltype
= type_nit__MMethod
.color
;
6301 idtype
= type_nit__MMethod
.id
;
6302 if(cltype
>= var_p
->type
->table_size
) {
6305 var15
= var_p
->type
->type_table
[cltype
] == idtype
;
6308 var16
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6311 standard___standard__Array___with_capacity(var16
, var17
); /* Direct call array#Array#with_capacity on <var16:Array[RuntimeVariable]>*/
6315 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_18
, var_recv
); /* Direct call array#AbstractArray#push on <var_18:Array[RuntimeVariable]>*/
6319 { /* Inline model#MProperty#intro (var_p) on <var_p:MProperty(MMethod)> */
6320 var21
= var_p
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_p:MProperty(MMethod)> */
6321 if (unlikely(var21
== NULL
)) {
6322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
6327 RET_LABEL20
:(void)0;
6331 { /* Inline model#MMethodDef#msignature (var19) on <var19:MPropDef(MMethodDef)> */
6332 var24
= var19
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var19:MPropDef(MMethodDef)> */
6334 RET_LABEL23
:(void)0;
6337 if (var22
== NULL
) {
6338 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1101);
6342 { /* Inline model#MSignature#mparameters (var22) on <var22:nullable MSignature> */
6343 if (unlikely(var22
== NULL
)) {
6344 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
6348 var27
= var22
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var22:nullable MSignature> */
6349 if (unlikely(var27
== NULL
)) {
6350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
6355 RET_LABEL26
:(void)0;
6360 var29
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_28
);
6365 var31
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_30
);
6369 var32
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_30
);
6373 var33
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_i
);
6376 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var33
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
6380 { /* Inline kernel#Int#+ (var_i,var34) on <var_i:Int> */
6381 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
6382 /* <var34:Int> isa OTHER */
6383 var37
= 1; /* easy <var34:Int> isa OTHER*/
6384 if (unlikely(!var37
)) {
6385 var_class_name
= type_standard__Int
.name
;
6386 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6387 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6390 var40
= var_i
+ var34
;
6393 RET_LABEL36
:(void)0;
6398 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_30
); /* Direct call array#ArrayIterator#next on <var_30:ArrayIterator[MParameter]>*/
6404 BREAK_label
: (void)0;
6406 { /* Inline abstract_collection#Iterator#finish (var_30) on <var_30:ArrayIterator[MParameter]> */
6407 RET_LABEL41
:(void)0;
6411 var42
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var_p
, var_args
);
6414 /* <var_p:MProperty> isa MAttribute */
6415 cltype44
= type_nit__MAttribute
.color
;
6416 idtype45
= type_nit__MAttribute
.id
;
6417 if(cltype44
>= var_p
->type
->table_size
) {
6420 var43
= var_p
->type
->type_table
[cltype44
] == idtype45
;
6424 var46
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_i
);
6427 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, var_p
, var_recv
, var46
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:AbstractCompilerVisitor>*/
6431 { /* Inline kernel#Int#+ (var_i,var47) on <var_i:Int> */
6432 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
6433 /* <var47:Int> isa OTHER */
6434 var50
= 1; /* easy <var47:Int> isa OTHER*/
6435 if (unlikely(!var50
)) {
6436 var_class_name53
= type_standard__Int
.name
;
6437 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53
);
6438 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6441 var54
= var_i
+ var47
;
6444 RET_LABEL49
:(void)0;
6449 PRINT_ERROR("Runtime error: %s", "Aborted");
6450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1109);
6455 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12
); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[MProperty]>*/
6461 BREAK_label55
: (void)0;
6463 { /* Inline abstract_collection#Iterator#finish (var_12) on <var_12:ArrayIterator[MProperty]> */
6464 RET_LABEL56
:(void)0;
6468 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
6469 var59
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
6471 RET_LABEL58
:(void)0;
6475 { /* Inline kernel#Int#== (var_i,var57) on <var_i:Int> */
6476 var62
= var_i
== var57
;
6479 RET_LABEL61
:(void)0;
6482 if (unlikely(!var60
)) {
6483 PRINT_ERROR("Runtime error: %s", "Assert failed");
6484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1111);
6488 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
6489 var65
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
6490 if (unlikely(var65
== NULL
)) {
6491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 487);
6496 RET_LABEL64
:(void)0;
6499 var66
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6502 standard___standard__Array___with_capacity(var66
, var67
); /* Direct call array#Array#with_capacity on <var66:Array[RuntimeVariable]>*/
6506 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_68
, var_recv
); /* Direct call array#AbstractArray#push on <var_68:Array[RuntimeVariable]>*/
6509 var69
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var63
, var_68
);
6516 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
6517 var72
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
6518 if (unlikely(var72
== NULL
)) {
6519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
6520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 487);
6524 RET_LABEL71
:(void)0;
6528 var73
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var70
, var_arguments
);
6535 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
6536 val
* nit___nit__AbstractCompilerVisitor___varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6537 val
* var
/* : Array[RuntimeVariable] */;
6538 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
6539 val
* var_recv
/* var recv: RuntimeVariable */;
6540 val
* var_args
/* var args: SequenceRead[AExpr] */;
6541 val
* var1
/* : MSignature */;
6542 val
* var2
/* : nullable MSignature */;
6543 val
* var4
/* : nullable MSignature */;
6544 val
* var5
/* : nullable MSignature */;
6545 val
* var7
/* : nullable MSignature */;
6546 val
* var_msignature
/* var msignature: MSignature */;
6547 val
* var8
/* : Array[RuntimeVariable] */;
6548 val
* var_res
/* var res: Array[RuntimeVariable] */;
6549 short int var9
/* : Bool */;
6550 long var10
/* : Int */;
6551 long var12
/* : Int */;
6552 long var_vararg_rank
/* var vararg_rank: Int */;
6553 long var13
/* : Int */;
6554 long var14
/* : Int */;
6555 long var15
/* : Int */;
6556 short int var17
/* : Bool */;
6559 const char* var_class_name
;
6560 long var18
/* : Int */;
6561 long var_vararg_len
/* var vararg_len: Int */;
6562 long var19
/* : Int */;
6563 short int var20
/* : Bool */;
6564 short int var22
/* : Bool */;
6567 const char* var_class_name25
;
6568 short int var26
/* : Bool */;
6569 long var27
/* : Int */;
6570 long var28
/* : Int */;
6571 long var_i
/* var i: Int */;
6572 long var29
/* : Int */;
6573 long var_
/* var : Int */;
6574 short int var30
/* : Bool */;
6575 short int var32
/* : Bool */;
6578 const char* var_class_name35
;
6579 short int var36
/* : Bool */;
6580 short int var37
/* : Bool */;
6581 short int var39
/* : Bool */;
6582 val
* var40
/* : nullable Object */;
6583 val
* var_ne
/* var ne: AExpr */;
6584 short int var41
/* : Bool */;
6587 val
* var44
/* : AExpr */;
6588 val
* var46
/* : AExpr */;
6589 val
* var47
/* : null */;
6590 val
* var48
/* : RuntimeVariable */;
6591 val
* var_e
/* var e: RuntimeVariable */;
6592 val
* var49
/* : Array[RuntimeVariable] */;
6593 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
6594 long var_j
/* var j: Int */;
6595 long var50
/* : Int */;
6596 short int var52
/* : Bool */;
6599 const char* var_class_name55
;
6600 long var56
/* : Int */;
6601 long var_57
/* var : Int */;
6602 short int var58
/* : Bool */;
6603 short int var60
/* : Bool */;
6606 const char* var_class_name63
;
6607 short int var64
/* : Bool */;
6608 val
* var65
/* : nullable Object */;
6609 val
* var66
/* : null */;
6610 val
* var67
/* : RuntimeVariable */;
6611 val
* var_e68
/* var e: RuntimeVariable */;
6612 long var69
/* : Int */;
6613 long var70
/* : Int */;
6614 val
* var72
/* : Array[MParameter] */;
6615 val
* var74
/* : Array[MParameter] */;
6616 val
* var75
/* : nullable Object */;
6617 val
* var76
/* : MType */;
6618 val
* var78
/* : MType */;
6619 val
* var_elttype
/* var elttype: MType */;
6620 val
* var79
/* : RuntimeVariable */;
6621 val
* var_arg
/* var arg: RuntimeVariable */;
6622 long var_j80
/* var j: Int */;
6623 short int var81
/* : Bool */;
6624 short int var83
/* : Bool */;
6627 const char* var_class_name86
;
6628 short int var87
/* : Bool */;
6629 long var88
/* : Int */;
6630 short int var90
/* : Bool */;
6633 const char* var_class_name93
;
6634 long var94
/* : Int */;
6635 val
* var95
/* : nullable Object */;
6636 val
* var96
/* : null */;
6637 val
* var97
/* : RuntimeVariable */;
6638 val
* var_e98
/* var e: RuntimeVariable */;
6639 long var99
/* : Int */;
6640 long var100
/* : Int */;
6645 { /* Inline model#MMethodDef#new_msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
6646 var4
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_mpropdef:MMethodDef> */
6655 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
6656 var7
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
6661 if (unlikely(var5
== NULL
)) {
6662 PRINT_ERROR("Runtime error: %s", "Cast failed");
6663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1130);
6668 var_msignature
= var1
;
6669 var8
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6671 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[RuntimeVariable]>*/
6675 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_recv
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6678 var9
= ((short int (*)(val
* self
))(var_args
->class->vft
[COLOR_standard__abstract_collection__Collection__is_empty
]))(var_args
) /* is_empty on <var_args:SequenceRead[AExpr]>*/;
6686 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
6687 var12
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
6689 RET_LABEL11
:(void)0;
6692 var_vararg_rank
= var10
;
6694 var13
= ((long (*)(val
* self
))(var_args
->class->vft
[COLOR_standard__abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:SequenceRead[AExpr]>*/;
6697 var14
= nit___nit__MSignature___arity(var_msignature
);
6700 { /* Inline kernel#Int#- (var13,var14) on <var13:Int> */
6701 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
6702 /* <var14:Int> isa OTHER */
6703 var17
= 1; /* easy <var14:Int> isa OTHER*/
6704 if (unlikely(!var17
)) {
6705 var_class_name
= type_standard__Int
.name
;
6706 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6707 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
6710 var18
= var13
- var14
;
6713 RET_LABEL16
:(void)0;
6716 var_vararg_len
= var15
;
6719 { /* Inline kernel#Int#< (var_vararg_len,var19) on <var_vararg_len:Int> */
6720 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
6721 /* <var19:Int> isa OTHER */
6722 var22
= 1; /* easy <var19:Int> isa OTHER*/
6723 if (unlikely(!var22
)) {
6724 var_class_name25
= type_standard__Int
.name
;
6725 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
6726 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
6729 var26
= var_vararg_len
< var19
;
6732 RET_LABEL21
:(void)0;
6737 var_vararg_len
= var27
;
6743 var29
= nit___nit__MSignature___arity(var_msignature
);
6748 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
6749 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
6750 /* <var_:Int> isa OTHER */
6751 var32
= 1; /* easy <var_:Int> isa OTHER*/
6752 if (unlikely(!var32
)) {
6753 var_class_name35
= type_standard__Int
.name
;
6754 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
6755 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
6758 var36
= var_i
< var_
;
6761 RET_LABEL31
:(void)0;
6766 { /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
6767 var39
= var_i
== var_vararg_rank
;
6770 RET_LABEL38
:(void)0;
6775 var40
= ((val
* (*)(val
* self
, long p0
))(var_args
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_i
) /* [] on <var_args:SequenceRead[AExpr]>*/;
6778 /* <var_ne:AExpr> isa AVarargExpr */
6779 cltype42
= type_nit__AVarargExpr
.color
;
6780 idtype43
= type_nit__AVarargExpr
.id
;
6781 if(cltype42
>= var_ne
->type
->table_size
) {
6784 var41
= var_ne
->type
->type_table
[cltype42
] == idtype43
;
6788 { /* Inline parser_nodes#AVarargExpr#n_expr (var_ne) on <var_ne:AExpr(AVarargExpr)> */
6789 var46
= var_ne
->attrs
[COLOR_nit__parser_nodes__AVarargExpr___n_expr
].val
; /* _n_expr on <var_ne:AExpr(AVarargExpr)> */
6790 if (unlikely(var46
== NULL
)) {
6791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
6792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes
, 2343);
6796 RET_LABEL45
:(void)0;
6801 var48
= nit___nit__AbstractCompilerVisitor___expr(self
, var44
, var47
);
6805 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_e
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6810 var49
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6812 standard___standard__Array___standard__kernel__Object__init(var49
); /* Direct call array#Array#init on <var49:Array[RuntimeVariable]>*/
6815 var_j
= var_vararg_rank
;
6817 { /* Inline kernel#Int#+ (var_vararg_rank,var_vararg_len) on <var_vararg_rank:Int> */
6818 /* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
6819 /* <var_vararg_len:Int> isa OTHER */
6820 var52
= 1; /* easy <var_vararg_len:Int> isa OTHER*/
6821 if (unlikely(!var52
)) {
6822 var_class_name55
= type_standard__Int
.name
;
6823 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
6824 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6827 var56
= var_vararg_rank
+ var_vararg_len
;
6830 RET_LABEL51
:(void)0;
6836 { /* Inline kernel#Int#<= (var_j,var_57) on <var_j:Int> */
6837 /* Covariant cast for argument 0 (i) <var_57:Int> isa OTHER */
6838 /* <var_57:Int> isa OTHER */
6839 var60
= 1; /* easy <var_57:Int> isa OTHER*/
6840 if (unlikely(!var60
)) {
6841 var_class_name63
= type_standard__Int
.name
;
6842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63
);
6843 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 409);
6846 var64
= var_j
<= var_57
;
6849 RET_LABEL59
:(void)0;
6854 var65
= ((val
* (*)(val
* self
, long p0
))(var_args
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_j
) /* [] on <var_args:SequenceRead[AExpr]>*/;
6858 var67
= nit___nit__AbstractCompilerVisitor___expr(self
, var65
, var66
);
6862 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_vararg
, var_e68
); /* Direct call array#Array#add on <var_vararg:Array[RuntimeVariable]>*/
6866 var70
= standard___standard__Int___Discrete__successor(var_j
, var69
);
6873 BREAK_label71
: (void)0;
6875 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
6876 var74
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6877 if (unlikely(var74
== NULL
)) {
6878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
6883 RET_LABEL73
:(void)0;
6887 var75
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var72
, var_vararg_rank
);
6890 { /* Inline model#MParameter#mtype (var75) on <var75:nullable Object(MParameter)> */
6891 var78
= var75
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var75:nullable Object(MParameter)> */
6892 if (unlikely(var78
== NULL
)) {
6893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
6898 RET_LABEL77
:(void)0;
6901 var_elttype
= var76
;
6903 var79
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__vararg_instance(self
, var_mpropdef
, var_recv
, var_vararg
, var_elttype
);
6907 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_arg
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6912 { /* Inline kernel#Int#> (var_i,var_vararg_rank) on <var_i:Int> */
6913 /* Covariant cast for argument 0 (i) <var_vararg_rank:Int> isa OTHER */
6914 /* <var_vararg_rank:Int> isa OTHER */
6915 var83
= 1; /* easy <var_vararg_rank:Int> isa OTHER*/
6916 if (unlikely(!var83
)) {
6917 var_class_name86
= type_standard__Int
.name
;
6918 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
6919 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
6922 var87
= var_i
> var_vararg_rank
;
6925 RET_LABEL82
:(void)0;
6930 { /* Inline kernel#Int#+ (var_j80,var_vararg_len) on <var_j80:Int> */
6931 /* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
6932 /* <var_vararg_len:Int> isa OTHER */
6933 var90
= 1; /* easy <var_vararg_len:Int> isa OTHER*/
6934 if (unlikely(!var90
)) {
6935 var_class_name93
= type_standard__Int
.name
;
6936 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93
);
6937 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6940 var94
= var_j80
+ var_vararg_len
;
6943 RET_LABEL89
:(void)0;
6950 var95
= ((val
* (*)(val
* self
, long p0
))(var_args
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var_args
, var_j80
) /* [] on <var_args:SequenceRead[AExpr]>*/;
6954 var97
= nit___nit__AbstractCompilerVisitor___expr(self
, var95
, var96
);
6958 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_e98
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6961 BREAK_label
: (void)0;
6964 var100
= standard___standard__Int___Discrete__successor(var_i
, var99
);
6968 goto BREAK_label101
;
6971 BREAK_label101
: (void)0;
6977 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
6978 val
* nit___nit__AbstractCompilerVisitor___anchor(val
* self
, val
* p0
) {
6979 val
* var
/* : MType */;
6980 val
* var_mtype
/* var mtype: MType */;
6981 short int var1
/* : Bool */;
6982 short int var2
/* : Bool */;
6983 val
* var3
/* : AbstractCompiler */;
6984 val
* var5
/* : AbstractCompiler */;
6985 val
* var6
/* : MModule */;
6986 val
* var8
/* : MModule */;
6987 val
* var9
/* : nullable StaticFrame */;
6988 val
* var11
/* : nullable StaticFrame */;
6989 val
* var12
/* : MClassType */;
6990 val
* var14
/* : MClassType */;
6991 val
* var15
/* : MType */;
6994 var1
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7003 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7004 var5
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7005 if (unlikely(var5
== NULL
)) {
7006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7015 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
7016 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
7017 if (unlikely(var8
== NULL
)) {
7018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7019 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7027 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7028 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7030 RET_LABEL10
:(void)0;
7034 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1172);
7038 { /* Inline abstract_compiler#StaticFrame#receiver (var9) on <var9:nullable StaticFrame> */
7039 if (unlikely(var9
== NULL
)) {
7040 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7041 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1728);
7044 var14
= var9
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___receiver
].val
; /* _receiver on <var9:nullable StaticFrame> */
7045 if (unlikely(var14
== NULL
)) {
7046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1728);
7051 RET_LABEL13
:(void)0;
7055 var15
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(var_mtype
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(var_mtype
, var6
, var12
) /* anchor_to on <var_mtype:MType>*/;
7062 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
7063 val
* nit___nit__AbstractCompilerVisitor___resolve_for(val
* self
, val
* p0
, val
* p1
) {
7064 val
* var
/* : MType */;
7065 val
* var_mtype
/* var mtype: MType */;
7066 val
* var_recv
/* var recv: RuntimeVariable */;
7067 short int var1
/* : Bool */;
7068 short int var2
/* : Bool */;
7069 val
* var3
/* : MType */;
7070 val
* var5
/* : MType */;
7071 val
* var6
/* : nullable StaticFrame */;
7072 val
* var8
/* : nullable StaticFrame */;
7073 val
* var9
/* : MClassType */;
7074 val
* var11
/* : MClassType */;
7075 val
* var12
/* : AbstractCompiler */;
7076 val
* var14
/* : AbstractCompiler */;
7077 val
* var15
/* : MModule */;
7078 val
* var17
/* : MModule */;
7079 short int var18
/* : Bool */;
7080 val
* var19
/* : MType */;
7084 var1
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7093 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7094 var5
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7095 if (unlikely(var5
== NULL
)) {
7096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7097 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
7105 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7106 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7112 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1178);
7116 { /* Inline abstract_compiler#StaticFrame#receiver (var6) on <var6:nullable StaticFrame> */
7117 if (unlikely(var6
== NULL
)) {
7118 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1728);
7122 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___receiver
].val
; /* _receiver on <var6:nullable StaticFrame> */
7123 if (unlikely(var11
== NULL
)) {
7124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
7125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1728);
7129 RET_LABEL10
:(void)0;
7133 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7134 var14
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7135 if (unlikely(var14
== NULL
)) {
7136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7141 RET_LABEL13
:(void)0;
7145 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var12) on <var12:AbstractCompiler> */
7146 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var12:AbstractCompiler> */
7147 if (unlikely(var17
== NULL
)) {
7148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7149 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7153 RET_LABEL16
:(void)0;
7158 var19
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
, val
* p2
, short int p3
))(var_mtype
->class->vft
[COLOR_nit__model__MType__resolve_for
]))(var_mtype
, var3
, var9
, var15
, var18
) /* resolve_for on <var_mtype:MType>*/;
7165 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7166 val
* nit___nit__AbstractCompilerVisitor___autoadapt(val
* self
, val
* p0
, val
* p1
) {
7167 val
* var
/* : RuntimeVariable */;
7168 val
* var_value
/* var value: RuntimeVariable */;
7169 val
* var_mtype
/* var mtype: MType */;
7170 val
* var1
/* : MType */;
7171 val
* var2
/* : MType */;
7172 val
* var4
/* : MType */;
7173 val
* var_valmtype
/* var valmtype: MType */;
7174 val
* var5
/* : AbstractCompiler */;
7175 val
* var7
/* : AbstractCompiler */;
7176 val
* var8
/* : MModule */;
7177 val
* var10
/* : MModule */;
7178 val
* var11
/* : null */;
7179 short int var12
/* : Bool */;
7180 short int var13
/* : Bool */;
7181 short int var14
/* : Bool */;
7184 short int var_
/* var : Bool */;
7185 val
* var15
/* : MType */;
7186 val
* var17
/* : MType */;
7187 val
* var18
/* : AbstractCompiler */;
7188 val
* var20
/* : AbstractCompiler */;
7189 val
* var21
/* : MModule */;
7190 val
* var23
/* : MModule */;
7191 val
* var24
/* : null */;
7192 short int var25
/* : Bool */;
7193 val
* var26
/* : RuntimeVariable */;
7194 val
* var27
/* : String */;
7195 val
* var29
/* : String */;
7196 val
* var30
/* : MType */;
7197 val
* var32
/* : MType */;
7198 val
* var_res
/* var res: RuntimeVariable */;
7199 val
* var33
/* : RuntimeVariable */;
7200 val
* var34
/* : String */;
7201 val
* var36
/* : String */;
7202 val
* var_res37
/* var res: RuntimeVariable */;
7206 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
7210 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
7211 var4
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
7212 if (unlikely(var4
== NULL
)) {
7213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
7221 var_valmtype
= var2
;
7223 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7224 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7225 if (unlikely(var7
== NULL
)) {
7226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7227 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7235 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var5) on <var5:AbstractCompiler> */
7236 var10
= var5
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var5:AbstractCompiler> */
7237 if (unlikely(var10
== NULL
)) {
7238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7239 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7248 var12
= nit___nit__MType___is_subtype(var_valmtype
, var8
, var11
, var_mtype
);
7255 /* <var_valmtype:MType> isa MNullableType */
7256 cltype
= type_nit__MNullableType
.color
;
7257 idtype
= type_nit__MNullableType
.id
;
7258 if(cltype
>= var_valmtype
->type
->table_size
) {
7261 var14
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
7266 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7267 var17
= var_valmtype
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7268 if (unlikely(var17
== NULL
)) {
7269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7270 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
7274 RET_LABEL16
:(void)0;
7278 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7279 var20
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7280 if (unlikely(var20
== NULL
)) {
7281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7286 RET_LABEL19
:(void)0;
7290 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var18) on <var18:AbstractCompiler> */
7291 var23
= var18
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var18:AbstractCompiler> */
7292 if (unlikely(var23
== NULL
)) {
7293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7298 RET_LABEL22
:(void)0;
7303 var25
= nit___nit__MType___is_subtype(var15
, var21
, var24
, var_mtype
);
7310 var26
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
7312 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7313 var29
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7314 if (unlikely(var29
== NULL
)) {
7315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1677);
7320 RET_LABEL28
:(void)0;
7324 { /* Inline model#MNullableType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
7325 var32
= var_valmtype
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
7326 if (unlikely(var32
== NULL
)) {
7327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7328 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
7332 RET_LABEL31
:(void)0;
7336 ((void (*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var26
, var27
) /* name= on <var26:RuntimeVariable>*/;
7339 ((void (*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var26
, var_valmtype
) /* mtype= on <var26:RuntimeVariable>*/;
7342 ((void (*)(val
* self
, val
* p0
))(var26
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var26
, var30
) /* mcasttype= on <var26:RuntimeVariable>*/;
7345 ((void (*)(val
* self
))(var26
->class->vft
[COLOR_standard__kernel__Object__init
]))(var26
) /* init on <var26:RuntimeVariable>*/;
7351 var33
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
7353 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
7354 var36
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
7355 if (unlikely(var36
== NULL
)) {
7356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1677);
7361 RET_LABEL35
:(void)0;
7365 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var33
, var34
) /* name= on <var33:RuntimeVariable>*/;
7368 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var33
, var_valmtype
) /* mtype= on <var33:RuntimeVariable>*/;
7371 ((void (*)(val
* self
, val
* p0
))(var33
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var33
, var_mtype
) /* mcasttype= on <var33:RuntimeVariable>*/;
7374 ((void (*)(val
* self
))(var33
->class->vft
[COLOR_standard__kernel__Object__init
]))(var33
) /* init on <var33:RuntimeVariable>*/;
7383 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7384 val
* nit___nit__AbstractCompilerVisitor___monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7385 val
* var
/* : nullable RuntimeVariable */;
7386 val
* var_m
/* var m: MMethod */;
7387 val
* var_t
/* var t: MType */;
7388 val
* var_args
/* var args: Array[RuntimeVariable] */;
7389 short int var1
/* : Bool */;
7392 val
* var2
/* : AbstractCompiler */;
7393 val
* var4
/* : AbstractCompiler */;
7394 val
* var5
/* : MModule */;
7395 val
* var7
/* : MModule */;
7396 val
* var8
/* : MPropDef */;
7397 val
* var_propdef
/* var propdef: MMethodDef */;
7398 val
* var9
/* : nullable RuntimeVariable */;
7402 /* <var_t:MType> isa MClassType */
7403 cltype
= type_nit__MClassType
.color
;
7404 idtype
= type_nit__MClassType
.id
;
7405 if(cltype
>= var_t
->type
->table_size
) {
7408 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7410 if (unlikely(!var1
)) {
7411 PRINT_ERROR("Runtime error: %s", "Assert failed");
7412 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1241);
7416 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7417 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7418 if (unlikely(var4
== NULL
)) {
7419 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7428 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7429 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7430 if (unlikely(var7
== NULL
)) {
7431 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7440 var8
= nit___nit__MProperty___lookup_first_definition(var_m
, var5
, var_t
);
7444 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(self
, var_propdef
, var_t
, var_args
);
7451 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7452 val
* nit___nit__AbstractCompilerVisitor___monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7453 val
* var
/* : nullable RuntimeVariable */;
7454 val
* var_m
/* var m: MMethodDef */;
7455 val
* var_t
/* var t: MType */;
7456 val
* var_args
/* var args: Array[RuntimeVariable] */;
7457 short int var1
/* : Bool */;
7460 val
* var2
/* : AbstractCompiler */;
7461 val
* var4
/* : AbstractCompiler */;
7462 val
* var5
/* : MModule */;
7463 val
* var7
/* : MModule */;
7464 val
* var8
/* : MPropDef */;
7465 val
* var9
/* : nullable RuntimeVariable */;
7469 /* <var_t:MType> isa MClassType */
7470 cltype
= type_nit__MClassType
.color
;
7471 idtype
= type_nit__MClassType
.id
;
7472 if(cltype
>= var_t
->type
->table_size
) {
7475 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7477 if (unlikely(!var1
)) {
7478 PRINT_ERROR("Runtime error: %s", "Assert failed");
7479 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1249);
7483 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7484 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7485 if (unlikely(var4
== NULL
)) {
7486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7495 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
7496 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
7497 if (unlikely(var7
== NULL
)) {
7498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7499 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7507 var8
= nit___nit__MPropDef___lookup_next_definition(var_m
, var5
, var_t
);
7511 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(self
, var_m
, var_t
, var_args
);
7518 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
7519 void nit___nit__AbstractCompilerVisitor___check_recv_notnull(val
* self
, val
* p0
) {
7520 val
* var_recv
/* var recv: RuntimeVariable */;
7521 val
* var
/* : AbstractCompiler */;
7522 val
* var2
/* : AbstractCompiler */;
7523 val
* var3
/* : ModelBuilder */;
7524 val
* var5
/* : ModelBuilder */;
7525 val
* var6
/* : ToolContext */;
7526 val
* var8
/* : ToolContext */;
7527 val
* var9
/* : OptionBool */;
7528 val
* var11
/* : OptionBool */;
7529 val
* var12
/* : nullable Object */;
7530 val
* var14
/* : nullable Object */;
7531 short int var15
/* : Bool */;
7532 short int var16
/* : Bool */;
7533 val
* var17
/* : MType */;
7534 val
* var19
/* : MType */;
7535 short int var20
/* : Bool */;
7538 short int var_
/* var : Bool */;
7539 val
* var21
/* : MType */;
7540 val
* var23
/* : MType */;
7541 short int var24
/* : Bool */;
7544 short int var_maybenull
/* var maybenull: Bool */;
7545 static val
* varonce
;
7546 val
* var27
/* : String */;
7547 char* var28
/* : NativeString */;
7548 long var29
/* : Int */;
7549 val
* var30
/* : FlatString */;
7550 static val
* varonce31
;
7551 val
* var32
/* : String */;
7552 char* var33
/* : NativeString */;
7553 long var34
/* : Int */;
7554 val
* var35
/* : FlatString */;
7555 val
* var36
/* : Array[Object] */;
7556 long var37
/* : Int */;
7557 val
* var38
/* : NativeArray[Object] */;
7558 val
* var39
/* : String */;
7559 static val
* varonce40
;
7560 val
* var41
/* : String */;
7561 char* var42
/* : NativeString */;
7562 long var43
/* : Int */;
7563 val
* var44
/* : FlatString */;
7564 static val
* varonce45
;
7565 val
* var46
/* : String */;
7566 char* var47
/* : NativeString */;
7567 long var48
/* : Int */;
7568 val
* var49
/* : FlatString */;
7571 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
7572 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
7573 if (unlikely(var2
== NULL
)) {
7574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7583 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
7584 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
7585 if (unlikely(var5
== NULL
)) {
7586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7595 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
7596 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
7597 if (unlikely(var8
== NULL
)) {
7598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7599 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7607 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (var6) on <var6:ToolContext> */
7608 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <var6:ToolContext> */
7609 if (unlikely(var11
== NULL
)) {
7610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
7611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 55);
7615 RET_LABEL10
:(void)0;
7619 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
7620 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
7622 RET_LABEL13
:(void)0;
7625 var15
= ((struct instance_standard__Bool
*)var12
)->value
; /* autounbox from nullable Object to Bool */;
7631 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7632 var19
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7633 if (unlikely(var19
== NULL
)) {
7634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
7639 RET_LABEL18
:(void)0;
7642 /* <var17:MType> isa MNullableType */
7643 cltype
= type_nit__MNullableType
.color
;
7644 idtype
= type_nit__MNullableType
.id
;
7645 if(cltype
>= var17
->type
->table_size
) {
7648 var20
= var17
->type
->type_table
[cltype
] == idtype
;
7655 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
7656 var23
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
7657 if (unlikely(var23
== NULL
)) {
7658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
7659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
7663 RET_LABEL22
:(void)0;
7666 /* <var21:MType> isa MNullType */
7667 cltype25
= type_nit__MNullType
.color
;
7668 idtype26
= type_nit__MNullType
.id
;
7669 if(cltype25
>= var21
->type
->table_size
) {
7672 var24
= var21
->type
->type_table
[cltype25
] == idtype26
;
7676 var_maybenull
= var16
;
7681 var28
= "if (unlikely(";
7683 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
7690 var33
= " == NULL)) {";
7692 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
7696 var36
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7697 { /* var36 = array_instance Array[Object] */
7699 var38
= NEW_standard__NativeArray(var37
, &type_standard__NativeArray__standard__Object
);
7700 ((struct instance_standard__NativeArray
*)var38
)->values
[0] = (val
*) var27
;
7701 ((struct instance_standard__NativeArray
*)var38
)->values
[1] = (val
*) var_recv
;
7702 ((struct instance_standard__NativeArray
*)var38
)->values
[2] = (val
*) var32
;
7704 ((void (*)(val
* self
, val
* p0
, long p1
))(var36
->class->vft
[COLOR_standard__array__Array__with_native
]))(var36
, var38
, var37
) /* with_native on <var36:Array[Object]>*/;
7708 var39
= ((val
* (*)(val
* self
))(var36
->class->vft
[COLOR_standard__string__Object__to_s
]))(var36
) /* to_s on <var36:Array[Object]>*/;
7711 nit___nit__AbstractCompilerVisitor___add(self
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7716 var42
= "Receiver is null";
7718 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
7723 nit___nit__AbstractCompilerVisitor___add_abort(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:AbstractCompilerVisitor>*/
7730 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
7735 nit___nit__AbstractCompilerVisitor___add(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7741 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
7742 val
* nit___nit__AbstractCompilerVisitor___names(val
* self
) {
7743 val
* var
/* : HashSet[String] */;
7744 val
* var1
/* : HashSet[String] */;
7745 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7746 if (unlikely(var1
== NULL
)) {
7747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7748 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1282);
7755 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
7756 long nit___nit__AbstractCompilerVisitor___last(val
* self
) {
7757 long var
/* : Int */;
7758 long var1
/* : Int */;
7759 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7764 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
7765 void nit___nit__AbstractCompilerVisitor___last_61d(val
* self
, long p0
) {
7766 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:AbstractCompilerVisitor> */
7769 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
7770 val
* nit___nit__AbstractCompilerVisitor___get_name(val
* self
, val
* p0
) {
7771 val
* var
/* : String */;
7772 val
* var_s
/* var s: String */;
7773 val
* var1
/* : HashSet[String] */;
7774 val
* var3
/* : HashSet[String] */;
7775 short int var4
/* : Bool */;
7776 short int var5
/* : Bool */;
7777 val
* var6
/* : HashSet[String] */;
7778 val
* var8
/* : HashSet[String] */;
7779 long var9
/* : Int */;
7780 long var11
/* : Int */;
7781 long var12
/* : Int */;
7782 long var13
/* : Int */;
7783 short int var15
/* : Bool */;
7786 const char* var_class_name
;
7787 long var16
/* : Int */;
7788 long var_i
/* var i: Int */;
7789 val
* var17
/* : String */;
7790 val
* var18
/* : String */;
7791 val
* var_s2
/* var s2: String */;
7792 val
* var19
/* : HashSet[String] */;
7793 val
* var21
/* : HashSet[String] */;
7794 short int var22
/* : Bool */;
7795 short int var23
/* : Bool */;
7796 val
* var25
/* : HashSet[String] */;
7797 val
* var27
/* : HashSet[String] */;
7798 long var28
/* : Int */;
7799 long var29
/* : Int */;
7800 short int var31
/* : Bool */;
7803 const char* var_class_name34
;
7804 long var35
/* : Int */;
7807 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7808 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7809 if (unlikely(var3
== NULL
)) {
7810 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7811 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1282);
7819 var4
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var1
, var_s
);
7824 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7825 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7826 if (unlikely(var8
== NULL
)) {
7827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1282);
7836 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var6
, var_s
); /* Direct call hash_collection#HashSet#add on <var6:HashSet[String]>*/
7843 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:AbstractCompilerVisitor> */
7844 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7846 RET_LABEL10
:(void)0;
7851 { /* Inline kernel#Int#+ (var9,var12) on <var9:Int> */
7852 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
7853 /* <var12:Int> isa OTHER */
7854 var15
= 1; /* easy <var12:Int> isa OTHER*/
7855 if (unlikely(!var15
)) {
7856 var_class_name
= type_standard__Int
.name
;
7857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7858 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7861 var16
= var9
+ var12
;
7864 RET_LABEL14
:(void)0;
7870 var17
= standard__string___Int___Object__to_s(var_i
);
7873 var18
= ((val
* (*)(val
* self
, val
* p0
))(var_s
->class->vft
[COLOR_standard__string__String___43d
]))(var_s
, var17
) /* + on <var_s:String>*/;
7877 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7878 var21
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7879 if (unlikely(var21
== NULL
)) {
7880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7881 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1282);
7885 RET_LABEL20
:(void)0;
7889 var22
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var19
, var_s2
);
7894 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,var_i) on <self:AbstractCompilerVisitor> */
7895 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
= var_i
; /* _last on <self:AbstractCompilerVisitor> */
7896 RET_LABEL24
:(void)0;
7900 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7901 var27
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7902 if (unlikely(var27
== NULL
)) {
7903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7904 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1282);
7908 RET_LABEL26
:(void)0;
7912 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var25
, var_s2
); /* Direct call hash_collection#HashSet#add on <var25:HashSet[String]>*/
7920 { /* Inline kernel#Int#+ (var_i,var28) on <var_i:Int> */
7921 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
7922 /* <var28:Int> isa OTHER */
7923 var31
= 1; /* easy <var28:Int> isa OTHER*/
7924 if (unlikely(!var31
)) {
7925 var_class_name34
= type_standard__Int
.name
;
7926 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
7927 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7930 var35
= var_i
+ var28
;
7933 RET_LABEL30
:(void)0;
7941 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
7942 val
* nit___nit__AbstractCompilerVisitor___escapemark_name(val
* self
, val
* p0
) {
7943 val
* var
/* : String */;
7944 val
* var_e
/* var e: nullable EscapeMark */;
7945 val
* var1
/* : null */;
7946 short int var2
/* : Bool */;
7947 short int var3
/* : Bool */;
7948 val
* var_other
/* var other: nullable Object */;
7949 short int var5
/* : Bool */;
7950 short int var6
/* : Bool */;
7951 val
* var7
/* : nullable StaticFrame */;
7952 val
* var9
/* : nullable StaticFrame */;
7953 val
* var10
/* : HashMap[EscapeMark, String] */;
7954 val
* var12
/* : HashMap[EscapeMark, String] */;
7955 short int var13
/* : Bool */;
7956 val
* var14
/* : nullable StaticFrame */;
7957 val
* var16
/* : nullable StaticFrame */;
7958 val
* var17
/* : HashMap[EscapeMark, String] */;
7959 val
* var19
/* : HashMap[EscapeMark, String] */;
7960 val
* var20
/* : nullable Object */;
7961 val
* var21
/* : nullable String */;
7962 val
* var23
/* : nullable String */;
7963 val
* var_name
/* var name: nullable String */;
7964 val
* var24
/* : null */;
7965 short int var25
/* : Bool */;
7966 short int var26
/* : Bool */;
7967 static val
* varonce
;
7968 val
* var27
/* : String */;
7969 char* var28
/* : NativeString */;
7970 long var29
/* : Int */;
7971 val
* var30
/* : FlatString */;
7972 val
* var31
/* : String */;
7973 val
* var32
/* : nullable StaticFrame */;
7974 val
* var34
/* : nullable StaticFrame */;
7975 val
* var35
/* : HashMap[EscapeMark, String] */;
7976 val
* var37
/* : HashMap[EscapeMark, String] */;
7979 if (var_e
== NULL
) {
7980 var2
= 0; /* is null */
7982 var2
= 1; /* arg is null and recv is not */
7985 { /* Inline kernel#Object#!= (var_e,var1) on <var_e:nullable EscapeMark> */
7988 var5
= ((short int (*)(val
* self
, val
* p0
))(var_e
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_e
, var_other
) /* == on <var_e:nullable EscapeMark(EscapeMark)>*/;
7997 if (unlikely(!var2
)) {
7998 PRINT_ERROR("Runtime error: %s", "Assert failed");
7999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1307);
8003 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
8004 var9
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
8010 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8011 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1308);
8014 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var7) on <var7:nullable StaticFrame> */
8015 if (unlikely(var7
== NULL
)) {
8016 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8017 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8020 var12
= var7
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var7:nullable StaticFrame> */
8021 if (unlikely(var12
== NULL
)) {
8022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8023 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8027 RET_LABEL11
:(void)0;
8031 var13
= standard___standard__MapRead___has_key(var10
, var_e
);
8035 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
8036 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
8038 RET_LABEL15
:(void)0;
8041 if (var14
== NULL
) {
8042 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1308);
8046 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var14) on <var14:nullable StaticFrame> */
8047 if (unlikely(var14
== NULL
)) {
8048 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8049 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8052 var19
= var14
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var14:nullable StaticFrame> */
8053 if (unlikely(var19
== NULL
)) {
8054 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8059 RET_LABEL18
:(void)0;
8063 var20
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var17
, var_e
);
8070 { /* Inline scope#EscapeMark#name (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
8071 var23
= var_e
->attrs
[COLOR_nit__scope__EscapeMark___name
].val
; /* _name on <var_e:nullable EscapeMark(EscapeMark)> */
8073 RET_LABEL22
:(void)0;
8078 if (var_name
== NULL
) {
8079 var25
= 1; /* is null */
8081 var25
= 0; /* arg is null but recv is not */
8084 var26
= ((short int (*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_name
, var24
) /* == on <var_name:nullable String>*/;
8093 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
8101 var31
= nit___nit__AbstractCompilerVisitor___get_name(self
, var_name
);
8105 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
8106 var34
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
8108 RET_LABEL33
:(void)0;
8111 if (var32
== NULL
) {
8112 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1312);
8116 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var32) on <var32:nullable StaticFrame> */
8117 if (unlikely(var32
== NULL
)) {
8118 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8119 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8122 var37
= var32
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var32:nullable StaticFrame> */
8123 if (unlikely(var37
== NULL
)) {
8124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
8125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1740);
8129 RET_LABEL36
:(void)0;
8133 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var35
, var_e
, var_name
); /* Direct call hash_collection#HashMap#[]= on <var35:HashMap[EscapeMark, String]>*/
8140 /* method abstract_compiler#AbstractCompilerVisitor#add_escape_label for (self: AbstractCompilerVisitor, nullable EscapeMark) */
8141 void nit___nit__AbstractCompilerVisitor___add_escape_label(val
* self
, val
* p0
) {
8142 val
* var_e
/* var e: nullable EscapeMark */;
8143 val
* var
/* : null */;
8144 short int var1
/* : Bool */;
8145 short int var2
/* : Bool */;
8146 val
* var_other
/* var other: nullable Object */;
8147 short int var4
/* : Bool */;
8148 short int var6
/* : Bool */;
8149 val
* var7
/* : Array[AEscapeExpr] */;
8150 val
* var9
/* : Array[AEscapeExpr] */;
8151 short int var10
/* : Bool */;
8152 static val
* varonce
;
8153 val
* var11
/* : String */;
8154 char* var12
/* : NativeString */;
8155 long var13
/* : Int */;
8156 val
* var14
/* : FlatString */;
8157 val
* var15
/* : String */;
8158 static val
* varonce16
;
8159 val
* var17
/* : String */;
8160 char* var18
/* : NativeString */;
8161 long var19
/* : Int */;
8162 val
* var20
/* : FlatString */;
8163 val
* var21
/* : Array[Object] */;
8164 long var22
/* : Int */;
8165 val
* var23
/* : NativeArray[Object] */;
8166 val
* var24
/* : String */;
8169 if (var_e
== NULL
) {
8170 var1
= 1; /* is null */
8172 var1
= 0; /* arg is null but recv is not */
8175 { /* Inline kernel#Object#== (var_e,var) on <var_e:nullable EscapeMark> */
8178 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable EscapeMark(EscapeMark)> */
8179 var6
= var_e
== var_other
;
8196 { /* Inline scope#EscapeMark#escapes (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
8197 var9
= var_e
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <var_e:nullable EscapeMark(EscapeMark)> */
8198 if (unlikely(var9
== NULL
)) {
8199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
8200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
8208 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var7
);
8219 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
8224 var15
= nit___nit__AbstractCompilerVisitor___escapemark_name(self
, var_e
);
8229 var18
= ": (void)0;";
8231 var20
= standard___standard__NativeString___to_s_with_length(var18
, var19
);
8235 var21
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8236 { /* var21 = array_instance Array[Object] */
8238 var23
= NEW_standard__NativeArray(var22
, &type_standard__NativeArray__standard__Object
);
8239 ((struct instance_standard__NativeArray
*)var23
)->values
[0] = (val
*) var11
;
8240 ((struct instance_standard__NativeArray
*)var23
)->values
[1] = (val
*) var15
;
8241 ((struct instance_standard__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
8243 ((void (*)(val
* self
, val
* p0
, long p1
))(var21
->class->vft
[COLOR_standard__array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
8247 var24
= ((val
* (*)(val
* self
))(var21
->class->vft
[COLOR_standard__string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
8250 nit___nit__AbstractCompilerVisitor___add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8254 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
8255 val
* nit___nit__AbstractCompilerVisitor___variables(val
* self
) {
8256 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8257 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8258 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8259 if (unlikely(var1
== NULL
)) {
8260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8261 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1330);
8268 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
8269 val
* nit___nit__AbstractCompilerVisitor___variable(val
* self
, val
* p0
) {
8270 val
* var
/* : RuntimeVariable */;
8271 val
* var_variable
/* var variable: Variable */;
8272 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8273 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8274 short int var4
/* : Bool */;
8275 val
* var5
/* : HashMap[Variable, RuntimeVariable] */;
8276 val
* var7
/* : HashMap[Variable, RuntimeVariable] */;
8277 val
* var8
/* : nullable Object */;
8278 static val
* varonce
;
8279 val
* var9
/* : String */;
8280 char* var10
/* : NativeString */;
8281 long var11
/* : Int */;
8282 val
* var12
/* : FlatString */;
8283 val
* var13
/* : String */;
8284 val
* var15
/* : String */;
8285 val
* var16
/* : Array[Object] */;
8286 long var17
/* : Int */;
8287 val
* var18
/* : NativeArray[Object] */;
8288 val
* var19
/* : String */;
8289 val
* var20
/* : String */;
8290 val
* var_name
/* var name: String */;
8291 val
* var21
/* : nullable MType */;
8292 val
* var23
/* : nullable MType */;
8293 val
* var_mtype
/* var mtype: MType */;
8294 val
* var24
/* : MType */;
8295 val
* var25
/* : RuntimeVariable */;
8296 val
* var_res
/* var res: RuntimeVariable */;
8297 val
* var26
/* : String */;
8298 static val
* varonce27
;
8299 val
* var28
/* : String */;
8300 char* var29
/* : NativeString */;
8301 long var30
/* : Int */;
8302 val
* var31
/* : FlatString */;
8303 static val
* varonce32
;
8304 val
* var33
/* : String */;
8305 char* var34
/* : NativeString */;
8306 long var35
/* : Int */;
8307 val
* var36
/* : FlatString */;
8308 static val
* varonce37
;
8309 val
* var38
/* : String */;
8310 char* var39
/* : NativeString */;
8311 long var40
/* : Int */;
8312 val
* var41
/* : FlatString */;
8313 static val
* varonce42
;
8314 val
* var43
/* : String */;
8315 char* var44
/* : NativeString */;
8316 long var45
/* : Int */;
8317 val
* var46
/* : FlatString */;
8318 val
* var47
/* : Array[Object] */;
8319 long var48
/* : Int */;
8320 val
* var49
/* : NativeArray[Object] */;
8321 val
* var50
/* : String */;
8322 val
* var51
/* : HashMap[Variable, RuntimeVariable] */;
8323 val
* var53
/* : HashMap[Variable, RuntimeVariable] */;
8326 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8327 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8328 if (unlikely(var3
== NULL
)) {
8329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8330 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1330);
8338 var4
= standard___standard__MapRead___has_key(var1
, var_variable
);
8342 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8343 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8344 if (unlikely(var7
== NULL
)) {
8345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8346 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1330);
8354 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var5
, var_variable
);
8364 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
8369 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
8370 var15
= var_variable
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
8371 if (unlikely(var15
== NULL
)) {
8372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
8377 RET_LABEL14
:(void)0;
8380 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8381 { /* var16 = array_instance Array[Object] */
8383 var18
= NEW_standard__NativeArray(var17
, &type_standard__NativeArray__standard__Object
);
8384 ((struct instance_standard__NativeArray
*)var18
)->values
[0] = (val
*) var9
;
8385 ((struct instance_standard__NativeArray
*)var18
)->values
[1] = (val
*) var13
;
8387 ((void (*)(val
* self
, val
* p0
, long p1
))(var16
->class->vft
[COLOR_standard__array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
8391 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
8394 var20
= nit___nit__AbstractCompilerVisitor___get_name(self
, var19
);
8398 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
8399 var23
= var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
8401 RET_LABEL22
:(void)0;
8404 if (unlikely(var21
== NULL
)) {
8405 PRINT_ERROR("Runtime error: %s", "Cast failed");
8406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1339);
8411 var24
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
8414 var25
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8416 ((void (*)(val
* self
, val
* p0
))(var25
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var25
, var_name
) /* name= on <var25:RuntimeVariable>*/;
8419 ((void (*)(val
* self
, val
* p0
))(var25
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var25
, var_mtype
) /* mtype= on <var25:RuntimeVariable>*/;
8422 ((void (*)(val
* self
, val
* p0
))(var25
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var25
, var_mtype
) /* mcasttype= on <var25:RuntimeVariable>*/;
8425 ((void (*)(val
* self
))(var25
->class->vft
[COLOR_standard__kernel__Object__init
]))(var25
) /* init on <var25:RuntimeVariable>*/;
8429 var26
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8436 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
8445 var36
= standard___standard__NativeString___to_s_with_length(var34
, var35
);
8454 var41
= standard___standard__NativeString___to_s_with_length(var39
, var40
);
8463 var46
= standard___standard__NativeString___to_s_with_length(var44
, var45
);
8467 var47
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8468 { /* var47 = array_instance Array[Object] */
8470 var49
= NEW_standard__NativeArray(var48
, &type_standard__NativeArray__standard__Object
);
8471 ((struct instance_standard__NativeArray
*)var49
)->values
[0] = (val
*) var26
;
8472 ((struct instance_standard__NativeArray
*)var49
)->values
[1] = (val
*) var28
;
8473 ((struct instance_standard__NativeArray
*)var49
)->values
[2] = (val
*) var_name
;
8474 ((struct instance_standard__NativeArray
*)var49
)->values
[3] = (val
*) var33
;
8475 ((struct instance_standard__NativeArray
*)var49
)->values
[4] = (val
*) var_variable
;
8476 ((struct instance_standard__NativeArray
*)var49
)->values
[5] = (val
*) var38
;
8477 ((struct instance_standard__NativeArray
*)var49
)->values
[6] = (val
*) var_mtype
;
8478 ((struct instance_standard__NativeArray
*)var49
)->values
[7] = (val
*) var43
;
8480 ((void (*)(val
* self
, val
* p0
, long p1
))(var47
->class->vft
[COLOR_standard__array__Array__with_native
]))(var47
, var49
, var48
) /* with_native on <var47:Array[Object]>*/;
8484 var50
= ((val
* (*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__Object__to_s
]))(var47
) /* to_s on <var47:Array[Object]>*/;
8487 nit___nit__AbstractCompilerVisitor___add_decl(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8490 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
8491 var53
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
8492 if (unlikely(var53
== NULL
)) {
8493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
8494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1330);
8498 RET_LABEL52
:(void)0;
8502 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var51
, var_variable
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var51:HashMap[Variable, RuntimeVariable]>*/
8510 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
8511 val
* nit___nit__AbstractCompilerVisitor___new_var(val
* self
, val
* p0
) {
8512 val
* var
/* : RuntimeVariable */;
8513 val
* var_mtype
/* var mtype: MType */;
8514 val
* var1
/* : MType */;
8515 static val
* varonce
;
8516 val
* var2
/* : String */;
8517 char* var3
/* : NativeString */;
8518 long var4
/* : Int */;
8519 val
* var5
/* : FlatString */;
8520 val
* var6
/* : String */;
8521 val
* var_name
/* var name: String */;
8522 val
* var7
/* : RuntimeVariable */;
8523 val
* var_res
/* var res: RuntimeVariable */;
8524 val
* var8
/* : String */;
8525 static val
* varonce9
;
8526 val
* var10
/* : String */;
8527 char* var11
/* : NativeString */;
8528 long var12
/* : Int */;
8529 val
* var13
/* : FlatString */;
8530 static val
* varonce14
;
8531 val
* var15
/* : String */;
8532 char* var16
/* : NativeString */;
8533 long var17
/* : Int */;
8534 val
* var18
/* : FlatString */;
8535 static val
* varonce19
;
8536 val
* var20
/* : String */;
8537 char* var21
/* : NativeString */;
8538 long var22
/* : Int */;
8539 val
* var23
/* : FlatString */;
8540 val
* var24
/* : Array[Object] */;
8541 long var25
/* : Int */;
8542 val
* var26
/* : NativeArray[Object] */;
8543 val
* var27
/* : String */;
8546 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
8554 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
8559 var6
= nit___nit__AbstractCompilerVisitor___get_name(self
, var2
);
8562 var7
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8564 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var7
, var_name
) /* name= on <var7:RuntimeVariable>*/;
8567 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var7
, var_mtype
) /* mtype= on <var7:RuntimeVariable>*/;
8570 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var7
, var_mtype
) /* mcasttype= on <var7:RuntimeVariable>*/;
8573 ((void (*)(val
* self
))(var7
->class->vft
[COLOR_standard__kernel__Object__init
]))(var7
) /* init on <var7:RuntimeVariable>*/;
8577 var8
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8584 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
8593 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
8602 var23
= standard___standard__NativeString___to_s_with_length(var21
, var22
);
8606 var24
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8607 { /* var24 = array_instance Array[Object] */
8609 var26
= NEW_standard__NativeArray(var25
, &type_standard__NativeArray__standard__Object
);
8610 ((struct instance_standard__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
8611 ((struct instance_standard__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
8612 ((struct instance_standard__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
8613 ((struct instance_standard__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
8614 ((struct instance_standard__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
8615 ((struct instance_standard__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
8617 ((void (*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
8621 var27
= ((val
* (*)(val
* self
))(var24
->class->vft
[COLOR_standard__string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
8624 nit___nit__AbstractCompilerVisitor___add_decl(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8631 /* method abstract_compiler#AbstractCompilerVisitor#new_var_extern for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
8632 val
* nit___nit__AbstractCompilerVisitor___new_var_extern(val
* self
, val
* p0
) {
8633 val
* var
/* : RuntimeVariable */;
8634 val
* var_mtype
/* var mtype: MType */;
8635 val
* var1
/* : MType */;
8636 static val
* varonce
;
8637 val
* var2
/* : String */;
8638 char* var3
/* : NativeString */;
8639 long var4
/* : Int */;
8640 val
* var5
/* : FlatString */;
8641 val
* var6
/* : String */;
8642 val
* var_name
/* var name: String */;
8643 val
* var7
/* : RuntimeVariable */;
8644 val
* var_res
/* var res: RuntimeVariable */;
8645 val
* var8
/* : String */;
8646 static val
* varonce9
;
8647 val
* var10
/* : String */;
8648 char* var11
/* : NativeString */;
8649 long var12
/* : Int */;
8650 val
* var13
/* : FlatString */;
8651 static val
* varonce14
;
8652 val
* var15
/* : String */;
8653 char* var16
/* : NativeString */;
8654 long var17
/* : Int */;
8655 val
* var18
/* : FlatString */;
8656 static val
* varonce19
;
8657 val
* var20
/* : String */;
8658 char* var21
/* : NativeString */;
8659 long var22
/* : Int */;
8660 val
* var23
/* : FlatString */;
8661 val
* var24
/* : Array[Object] */;
8662 long var25
/* : Int */;
8663 val
* var26
/* : NativeArray[Object] */;
8664 val
* var27
/* : String */;
8667 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
8675 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
8680 var6
= nit___nit__AbstractCompilerVisitor___get_name(self
, var2
);
8683 var7
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8685 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var7
, var_name
) /* name= on <var7:RuntimeVariable>*/;
8688 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var7
, var_mtype
) /* mtype= on <var7:RuntimeVariable>*/;
8691 ((void (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var7
, var_mtype
) /* mcasttype= on <var7:RuntimeVariable>*/;
8694 ((void (*)(val
* self
))(var7
->class->vft
[COLOR_standard__kernel__Object__init
]))(var7
) /* init on <var7:RuntimeVariable>*/;
8698 var8
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype_extern
]))(var_mtype
) /* ctype_extern on <var_mtype:MType>*/;
8705 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
8714 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
8721 var21
= " for extern */;";
8723 var23
= standard___standard__NativeString___to_s_with_length(var21
, var22
);
8727 var24
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8728 { /* var24 = array_instance Array[Object] */
8730 var26
= NEW_standard__NativeArray(var25
, &type_standard__NativeArray__standard__Object
);
8731 ((struct instance_standard__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
8732 ((struct instance_standard__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
8733 ((struct instance_standard__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
8734 ((struct instance_standard__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
8735 ((struct instance_standard__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
8736 ((struct instance_standard__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
8738 ((void (*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
8742 var27
= ((val
* (*)(val
* self
))(var24
->class->vft
[COLOR_standard__string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
8745 nit___nit__AbstractCompilerVisitor___add_decl(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8752 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
8753 val
* nit___nit__AbstractCompilerVisitor___new_named_var(val
* self
, val
* p0
, val
* p1
) {
8754 val
* var
/* : RuntimeVariable */;
8755 val
* var_mtype
/* var mtype: MType */;
8756 val
* var_name
/* var name: String */;
8757 val
* var1
/* : MType */;
8758 val
* var2
/* : RuntimeVariable */;
8759 val
* var_res
/* var res: RuntimeVariable */;
8760 val
* var3
/* : String */;
8761 static val
* varonce
;
8762 val
* var4
/* : String */;
8763 char* var5
/* : NativeString */;
8764 long var6
/* : Int */;
8765 val
* var7
/* : FlatString */;
8766 static val
* varonce8
;
8767 val
* var9
/* : String */;
8768 char* var10
/* : NativeString */;
8769 long var11
/* : Int */;
8770 val
* var12
/* : FlatString */;
8771 static val
* varonce13
;
8772 val
* var14
/* : String */;
8773 char* var15
/* : NativeString */;
8774 long var16
/* : Int */;
8775 val
* var17
/* : FlatString */;
8776 val
* var18
/* : Array[Object] */;
8777 long var19
/* : Int */;
8778 val
* var20
/* : NativeArray[Object] */;
8779 val
* var21
/* : String */;
8783 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
8786 var2
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8788 ((void (*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var2
, var_name
) /* name= on <var2:RuntimeVariable>*/;
8791 ((void (*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var2
, var_mtype
) /* mtype= on <var2:RuntimeVariable>*/;
8794 ((void (*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var2
, var_mtype
) /* mcasttype= on <var2:RuntimeVariable>*/;
8797 ((void (*)(val
* self
))(var2
->class->vft
[COLOR_standard__kernel__Object__init
]))(var2
) /* init on <var2:RuntimeVariable>*/;
8801 var3
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8808 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
8817 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
8826 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
8830 var18
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8831 { /* var18 = array_instance Array[Object] */
8833 var20
= NEW_standard__NativeArray(var19
, &type_standard__NativeArray__standard__Object
);
8834 ((struct instance_standard__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
8835 ((struct instance_standard__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
8836 ((struct instance_standard__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
8837 ((struct instance_standard__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
8838 ((struct instance_standard__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
8839 ((struct instance_standard__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
8841 ((void (*)(val
* self
, val
* p0
, long p1
))(var18
->class->vft
[COLOR_standard__array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8845 var21
= ((val
* (*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8848 nit___nit__AbstractCompilerVisitor___add_decl(self
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8855 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
8856 void nit___nit__AbstractCompilerVisitor___assign(val
* self
, val
* p0
, val
* p1
) {
8857 val
* var_left
/* var left: RuntimeVariable */;
8858 val
* var_right
/* var right: RuntimeVariable */;
8859 val
* var
/* : MType */;
8860 val
* var2
/* : MType */;
8861 val
* var3
/* : RuntimeVariable */;
8862 static val
* varonce
;
8863 val
* var4
/* : String */;
8864 char* var5
/* : NativeString */;
8865 long var6
/* : Int */;
8866 val
* var7
/* : FlatString */;
8867 static val
* varonce8
;
8868 val
* var9
/* : String */;
8869 char* var10
/* : NativeString */;
8870 long var11
/* : Int */;
8871 val
* var12
/* : FlatString */;
8872 val
* var13
/* : Array[Object] */;
8873 long var14
/* : Int */;
8874 val
* var15
/* : NativeArray[Object] */;
8875 val
* var16
/* : String */;
8879 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_left) on <var_left:RuntimeVariable> */
8880 var2
= var_left
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_left:RuntimeVariable> */
8881 if (unlikely(var2
== NULL
)) {
8882 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8883 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8891 var3
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_right
, var
);
8899 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
8908 var12
= standard___standard__NativeString___to_s_with_length(var10
, var11
);
8912 var13
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8913 { /* var13 = array_instance Array[Object] */
8915 var15
= NEW_standard__NativeArray(var14
, &type_standard__NativeArray__standard__Object
);
8916 ((struct instance_standard__NativeArray
*)var15
)->values
[0] = (val
*) var_left
;
8917 ((struct instance_standard__NativeArray
*)var15
)->values
[1] = (val
*) var4
;
8918 ((struct instance_standard__NativeArray
*)var15
)->values
[2] = (val
*) var_right
;
8919 ((struct instance_standard__NativeArray
*)var15
)->values
[3] = (val
*) var9
;
8921 ((void (*)(val
* self
, val
* p0
, long p1
))(var13
->class->vft
[COLOR_standard__array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
8925 var16
= ((val
* (*)(val
* self
))(var13
->class->vft
[COLOR_standard__string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
8928 nit___nit__AbstractCompilerVisitor___add(self
, var16
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8932 /* method abstract_compiler#AbstractCompilerVisitor#init_instance_or_extern for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
8933 val
* nit___nit__AbstractCompilerVisitor___init_instance_or_extern(val
* self
, val
* p0
) {
8934 val
* var
/* : RuntimeVariable */;
8935 val
* var_mtype
/* var mtype: MClassType */;
8936 val
* var1
/* : String */;
8937 val
* var_ctype
/* var ctype: String */;
8938 val
* var2
/* : MClass */;
8939 val
* var4
/* : MClass */;
8940 val
* var5
/* : String */;
8941 val
* var7
/* : String */;
8942 static val
* varonce
;
8943 val
* var8
/* : String */;
8944 char* var9
/* : NativeString */;
8945 long var10
/* : Int */;
8946 val
* var11
/* : FlatString */;
8947 short int var12
/* : Bool */;
8948 val
* var_other
/* var other: nullable Object */;
8949 short int var14
/* : Bool */;
8950 short int var15
/* : Bool */;
8951 static val
* varonce16
;
8952 val
* var17
/* : String */;
8953 char* var18
/* : NativeString */;
8954 long var19
/* : Int */;
8955 val
* var20
/* : FlatString */;
8956 short int var21
/* : Bool */;
8957 val
* var22
/* : RuntimeVariable */;
8958 val
* var_recv
/* var recv: nullable Object */;
8959 static val
* varonce23
;
8960 val
* var24
/* : String */;
8961 char* var25
/* : NativeString */;
8962 long var26
/* : Int */;
8963 val
* var27
/* : FlatString */;
8964 short int var28
/* : Bool */;
8965 static val
* varonce29
;
8966 val
* var30
/* : String */;
8967 char* var31
/* : NativeString */;
8968 long var32
/* : Int */;
8969 val
* var33
/* : FlatString */;
8970 val
* var34
/* : RuntimeVariable */;
8971 static val
* varonce35
;
8972 val
* var36
/* : String */;
8973 char* var37
/* : NativeString */;
8974 long var38
/* : Int */;
8975 val
* var39
/* : FlatString */;
8976 static val
* varonce40
;
8977 val
* var41
/* : String */;
8978 char* var42
/* : NativeString */;
8979 long var43
/* : Int */;
8980 val
* var44
/* : FlatString */;
8981 val
* var45
/* : Array[Object] */;
8982 long var46
/* : Int */;
8983 val
* var47
/* : NativeArray[Object] */;
8984 val
* var48
/* : String */;
8985 val
* var49
/* : RuntimeVariable */;
8988 var1
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
8992 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
8993 var4
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
8994 if (unlikely(var4
== NULL
)) {
8995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9004 { /* Inline model#MClass#name (var2) on <var2:MClass> */
9005 var7
= var2
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var2:MClass> */
9006 if (unlikely(var7
== NULL
)) {
9007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
9018 var9
= "NativeArray";
9020 var11
= standard___standard__NativeString___to_s_with_length(var9
, var10
);
9025 { /* Inline kernel#Object#!= (var5,var8) on <var5:String> */
9028 var14
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var5
, var_other
) /* == on <var5:String>*/;
9033 RET_LABEL13
:(void)0;
9036 if (unlikely(!var12
)) {
9037 PRINT_ERROR("Runtime error: %s", "Assert failed");
9038 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1397);
9046 var20
= standard___standard__NativeString___to_s_with_length(var18
, var19
);
9051 var21
= ((short int (*)(val
* self
, val
* p0
))(var_ctype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ctype
, var17
) /* == on <var_ctype:String>*/;
9055 var22
= ((val
* (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_mtype
) /* init_instance on <self:AbstractCompilerVisitor>*/;
9064 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
9069 var28
= ((short int (*)(val
* self
, val
* p0
))(var_ctype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ctype
, var24
) /* == on <var_ctype:String>*/;
9075 var31
= "NULL/*special!*/";
9077 var33
= standard___standard__NativeString___to_s_with_length(var31
, var32
);
9082 var34
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var30
, var_mtype
);
9091 var39
= standard___standard__NativeString___to_s_with_length(var37
, var38
);
9098 var42
= ")0/*special!*/";
9100 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
9104 var45
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9105 { /* var45 = array_instance Array[Object] */
9107 var47
= NEW_standard__NativeArray(var46
, &type_standard__NativeArray__standard__Object
);
9108 ((struct instance_standard__NativeArray
*)var47
)->values
[0] = (val
*) var36
;
9109 ((struct instance_standard__NativeArray
*)var47
)->values
[1] = (val
*) var_ctype
;
9110 ((struct instance_standard__NativeArray
*)var47
)->values
[2] = (val
*) var41
;
9112 ((void (*)(val
* self
, val
* p0
, long p1
))(var45
->class->vft
[COLOR_standard__array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
9116 var48
= ((val
* (*)(val
* self
))(var45
->class->vft
[COLOR_standard__string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
9119 var49
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var48
, var_mtype
);
9129 /* method abstract_compiler#AbstractCompilerVisitor#set_finalizer for (self: AbstractCompilerVisitor, RuntimeVariable) */
9130 void nit___nit__AbstractCompilerVisitor___set_finalizer(val
* self
, val
* p0
) {
9131 val
* var_recv
/* var recv: RuntimeVariable */;
9132 val
* var
/* : MType */;
9133 val
* var2
/* : MType */;
9134 val
* var_mtype
/* var mtype: MType */;
9135 val
* var3
/* : AbstractCompiler */;
9136 val
* var5
/* : AbstractCompiler */;
9137 val
* var6
/* : MModule */;
9138 val
* var8
/* : MModule */;
9139 val
* var9
/* : nullable MClassType */;
9140 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
9141 short int var10
/* : Bool */;
9142 short int var11
/* : Bool */;
9143 val
* var12
/* : null */;
9144 short int var13
/* : Bool */;
9145 short int var14
/* : Bool */;
9146 val
* var_other
/* var other: nullable Object */;
9147 short int var16
/* : Bool */;
9148 short int var17
/* : Bool */;
9149 short int var_
/* var : Bool */;
9150 short int var18
/* : Bool */;
9151 short int var19
/* : Bool */;
9152 short int var_20
/* var : Bool */;
9153 val
* var21
/* : AbstractCompiler */;
9154 val
* var23
/* : AbstractCompiler */;
9155 val
* var24
/* : MModule */;
9156 val
* var26
/* : MModule */;
9157 val
* var27
/* : null */;
9158 short int var28
/* : Bool */;
9159 static val
* varonce
;
9160 val
* var29
/* : String */;
9161 char* var30
/* : NativeString */;
9162 long var31
/* : Int */;
9163 val
* var32
/* : FlatString */;
9164 static val
* varonce33
;
9165 val
* var34
/* : String */;
9166 char* var35
/* : NativeString */;
9167 long var36
/* : Int */;
9168 val
* var37
/* : FlatString */;
9169 val
* var38
/* : Array[Object] */;
9170 long var39
/* : Int */;
9171 val
* var40
/* : NativeArray[Object] */;
9172 val
* var41
/* : String */;
9175 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
9176 var2
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
9177 if (unlikely(var2
== NULL
)) {
9178 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9179 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9188 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9189 var5
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9190 if (unlikely(var5
== NULL
)) {
9191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
9200 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
9201 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
9202 if (unlikely(var8
== NULL
)) {
9203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9204 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
9212 var9
= nit__model___MModule___finalizable_type(var6
);
9214 var_finalizable_type
= var9
;
9216 if (var_finalizable_type
== NULL
) {
9217 var13
= 0; /* is null */
9219 var13
= 1; /* arg is null and recv is not */
9222 { /* Inline kernel#Object#!= (var_finalizable_type,var12) on <var_finalizable_type:nullable MClassType> */
9225 var16
= ((short int (*)(val
* self
, val
* p0
))(var_finalizable_type
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_finalizable_type
, var_other
) /* == on <var_finalizable_type:nullable MClassType(MClassType)>*/;
9230 RET_LABEL15
:(void)0;
9237 var18
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
9247 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9248 var23
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9249 if (unlikely(var23
== NULL
)) {
9250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
9255 RET_LABEL22
:(void)0;
9259 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var21) on <var21:AbstractCompiler> */
9260 var26
= var21
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var21:AbstractCompiler> */
9261 if (unlikely(var26
== NULL
)) {
9262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9263 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
9267 RET_LABEL25
:(void)0;
9272 var28
= nit___nit__MType___is_subtype(var_mtype
, var24
, var27
, var_finalizable_type
);
9282 var30
= "gc_register_finalizer(";
9284 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
9293 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
9297 var38
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9298 { /* var38 = array_instance Array[Object] */
9300 var40
= NEW_standard__NativeArray(var39
, &type_standard__NativeArray__standard__Object
);
9301 ((struct instance_standard__NativeArray
*)var40
)->values
[0] = (val
*) var29
;
9302 ((struct instance_standard__NativeArray
*)var40
)->values
[1] = (val
*) var_recv
;
9303 ((struct instance_standard__NativeArray
*)var40
)->values
[2] = (val
*) var34
;
9305 ((void (*)(val
* self
, val
* p0
, long p1
))(var38
->class->vft
[COLOR_standard__array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
9309 var41
= ((val
* (*)(val
* self
))(var38
->class->vft
[COLOR_standard__string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
9312 nit___nit__AbstractCompilerVisitor___add(self
, var41
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9318 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
9319 val
* nit___nit__AbstractCompilerVisitor___int_instance(val
* self
, long p0
) {
9320 val
* var
/* : RuntimeVariable */;
9321 long var_value
/* var value: Int */;
9322 static val
* varonce
;
9323 val
* var1
/* : String */;
9324 char* var2
/* : NativeString */;
9325 long var3
/* : Int */;
9326 val
* var4
/* : FlatString */;
9327 val
* var5
/* : MClass */;
9328 val
* var6
/* : MClassType */;
9329 val
* var8
/* : MClassType */;
9330 val
* var9
/* : RuntimeVariable */;
9331 val
* var_res
/* var res: RuntimeVariable */;
9332 static val
* varonce10
;
9333 val
* var11
/* : String */;
9334 char* var12
/* : NativeString */;
9335 long var13
/* : Int */;
9336 val
* var14
/* : FlatString */;
9337 static val
* varonce15
;
9338 val
* var16
/* : String */;
9339 char* var17
/* : NativeString */;
9340 long var18
/* : Int */;
9341 val
* var19
/* : FlatString */;
9342 val
* var20
/* : Array[Object] */;
9343 long var21
/* : Int */;
9344 val
* var22
/* : NativeArray[Object] */;
9345 val
* var23
/* : Object */;
9346 val
* var24
/* : String */;
9353 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
9358 var5
= nit___nit__AbstractCompilerVisitor___get_class(self
, var1
);
9361 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9362 var8
= var5
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9363 if (unlikely(var8
== NULL
)) {
9364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
9373 var9
= nit___nit__AbstractCompilerVisitor___new_var(self
, var6
);
9381 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
9390 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
9394 var20
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9395 { /* var20 = array_instance Array[Object] */
9397 var22
= NEW_standard__NativeArray(var21
, &type_standard__NativeArray__standard__Object
);
9398 ((struct instance_standard__NativeArray
*)var22
)->values
[0] = (val
*) var_res
;
9399 ((struct instance_standard__NativeArray
*)var22
)->values
[1] = (val
*) var11
;
9400 var23
= BOX_standard__Int(var_value
); /* autobox from Int to Object */
9401 ((struct instance_standard__NativeArray
*)var22
)->values
[2] = (val
*) var23
;
9402 ((struct instance_standard__NativeArray
*)var22
)->values
[3] = (val
*) var16
;
9404 ((void (*)(val
* self
, val
* p0
, long p1
))(var20
->class->vft
[COLOR_standard__array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
9408 var24
= ((val
* (*)(val
* self
))(var20
->class->vft
[COLOR_standard__string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
9411 nit___nit__AbstractCompilerVisitor___add(self
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9418 /* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: AbstractCompilerVisitor, Bool): RuntimeVariable */
9419 val
* nit___nit__AbstractCompilerVisitor___bool_instance(val
* self
, short int p0
) {
9420 val
* var
/* : RuntimeVariable */;
9421 short int var_value
/* var value: Bool */;
9422 static val
* varonce
;
9423 val
* var1
/* : String */;
9424 char* var2
/* : NativeString */;
9425 long var3
/* : Int */;
9426 val
* var4
/* : FlatString */;
9427 val
* var5
/* : MClass */;
9428 val
* var6
/* : MClassType */;
9429 val
* var8
/* : MClassType */;
9430 val
* var9
/* : RuntimeVariable */;
9431 val
* var_res
/* var res: RuntimeVariable */;
9432 static val
* varonce10
;
9433 val
* var11
/* : String */;
9434 char* var12
/* : NativeString */;
9435 long var13
/* : Int */;
9436 val
* var14
/* : FlatString */;
9437 val
* var15
/* : Array[Object] */;
9438 long var16
/* : Int */;
9439 val
* var17
/* : NativeArray[Object] */;
9440 val
* var18
/* : String */;
9441 static val
* varonce19
;
9442 val
* var20
/* : String */;
9443 char* var21
/* : NativeString */;
9444 long var22
/* : Int */;
9445 val
* var23
/* : FlatString */;
9446 val
* var24
/* : Array[Object] */;
9447 long var25
/* : Int */;
9448 val
* var26
/* : NativeArray[Object] */;
9449 val
* var27
/* : String */;
9456 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
9461 var5
= nit___nit__AbstractCompilerVisitor___get_class(self
, var1
);
9464 { /* Inline model#MClass#mclass_type (var5) on <var5:MClass> */
9465 var8
= var5
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var5:MClass> */
9466 if (unlikely(var8
== NULL
)) {
9467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
9468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
9476 var9
= nit___nit__AbstractCompilerVisitor___new_var(self
, var6
);
9485 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
9489 var15
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9490 { /* var15 = array_instance Array[Object] */
9492 var17
= NEW_standard__NativeArray(var16
, &type_standard__NativeArray__standard__Object
);
9493 ((struct instance_standard__NativeArray
*)var17
)->values
[0] = (val
*) var_res
;
9494 ((struct instance_standard__NativeArray
*)var17
)->values
[1] = (val
*) var11
;
9496 ((void (*)(val
* self
, val
* p0
, long p1
))(var15
->class->vft
[COLOR_standard__array__Array__with_native
]))(var15
, var17
, var16
) /* with_native on <var15:Array[Object]>*/;
9500 var18
= ((val
* (*)(val
* self
))(var15
->class->vft
[COLOR_standard__string__Object__to_s
]))(var15
) /* to_s on <var15:Array[Object]>*/;
9503 nit___nit__AbstractCompilerVisitor___add(self
, var18
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9511 var23
= standard___standard__NativeString___to_s_with_length(var21
, var22
);
9515 var24
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9516 { /* var24 = array_instance Array[Object] */
9518 var26
= NEW_standard__NativeArray(var25
, &type_standard__NativeArray__standard__Object
);
9519 ((struct instance_standard__NativeArray
*)var26
)->values
[0] = (val
*) var_res
;
9520 ((struct instance_standard__NativeArray
*)var26
)->values
[1] = (val
*) var20
;
9522 ((void (*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
9526 var27
= ((val
* (*)(val
* self
))(var24
->class->vft
[COLOR_standard__string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
9529 nit___nit__AbstractCompilerVisitor___add(self
, var27
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/