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 */;
9 val
* var3
/* : FlatString */;
10 val
* var4
/* : Platform */;
11 val
* var6
/* : Platform */;
12 val
* var_platform
/* var platform: Platform */;
13 short int var7
/* : Bool */;
14 short int var8
/* : Bool */;
15 short int var_
/* var : Bool */;
16 val
* var9
/* : ModelBuilder */;
17 val
* var11
/* : ModelBuilder */;
18 val
* var12
/* : ToolContext */;
19 val
* var14
/* : ToolContext */;
20 val
* var15
/* : OptionBool */;
21 val
* var17
/* : OptionBool */;
22 val
* var18
/* : nullable Object */;
23 val
* var20
/* : nullable Object */;
24 short int var21
/* : Bool */;
25 short int var_no_main
/* var no_main: Bool */;
26 short int var22
/* : Bool */;
27 static val
* varonce23
;
28 val
* var24
/* : String */;
29 char* var25
/* : NativeString */;
30 val
* var26
/* : FlatString */;
31 static val
* varonce27
;
32 val
* var28
/* : String */;
33 char* var29
/* : NativeString */;
34 val
* var30
/* : FlatString */;
35 static val
* varonce31
;
36 val
* var32
/* : String */;
37 char* var33
/* : NativeString */;
38 val
* var34
/* : FlatString */;
39 static val
* varonce35
;
40 val
* var36
/* : String */;
41 char* var37
/* : NativeString */;
42 val
* var38
/* : FlatString */;
43 static val
* varonce39
;
44 val
* var40
/* : String */;
45 char* var41
/* : NativeString */;
46 val
* var42
/* : FlatString */;
47 static val
* varonce43
;
48 val
* var44
/* : String */;
49 char* var45
/* : NativeString */;
50 val
* var46
/* : FlatString */;
51 static val
* varonce47
;
52 val
* var48
/* : String */;
53 char* var49
/* : NativeString */;
54 val
* var50
/* : FlatString */;
55 static val
* varonce51
;
56 val
* var52
/* : String */;
57 char* var53
/* : NativeString */;
58 val
* var54
/* : FlatString */;
59 val
* var55
/* : ModelBuilder */;
60 val
* var57
/* : ModelBuilder */;
61 val
* var58
/* : ToolContext */;
62 val
* var60
/* : ToolContext */;
63 val
* var61
/* : OptionBool */;
64 val
* var63
/* : OptionBool */;
65 val
* var64
/* : nullable Object */;
66 val
* var66
/* : nullable Object */;
67 short int var67
/* : Bool */;
68 val
* var68
/* : Array[String] */;
69 val
* var70
/* : Array[String] */;
70 val
* var_71
/* var : Array[String] */;
71 val
* var72
/* : ArrayIterator[nullable Object] */;
72 val
* var_73
/* var : ArrayIterator[String] */;
73 short int var74
/* : Bool */;
74 val
* var75
/* : nullable Object */;
75 val
* var_tag
/* var tag: String */;
76 val
* var77
/* : NativeArray[String] */;
77 static val
* varonce76
;
78 static val
* varonce78
;
79 val
* var79
/* : String */;
80 char* var80
/* : NativeString */;
81 val
* var81
/* : FlatString */;
82 static val
* varonce82
;
83 val
* var83
/* : String */;
84 char* var84
/* : NativeString */;
85 val
* var85
/* : FlatString */;
86 val
* var86
/* : String */;
87 val
* var88
/* : NativeArray[String] */;
88 static val
* varonce87
;
89 static val
* varonce89
;
90 val
* var90
/* : String */;
91 char* var91
/* : NativeString */;
92 val
* var92
/* : FlatString */;
93 static val
* varonce93
;
94 val
* var94
/* : String */;
95 char* var95
/* : NativeString */;
96 val
* var96
/* : FlatString */;
97 val
* var97
/* : String */;
98 val
* var99
/* : NativeArray[String] */;
99 static val
* varonce98
;
100 static val
* varonce100
;
101 val
* var101
/* : String */;
102 char* var102
/* : NativeString */;
103 val
* var103
/* : FlatString */;
104 static val
* varonce104
;
105 val
* var105
/* : String */;
106 char* var106
/* : NativeString */;
107 val
* var107
/* : FlatString */;
108 val
* var108
/* : String */;
109 val
* var109
/* : AbstractCompiler */;
110 val
* var111
/* : AbstractCompiler */;
111 val
* var112
/* : CodeWriter */;
112 val
* var114
/* : CodeWriter */;
113 val
* var116
/* : NativeArray[String] */;
114 static val
* varonce115
;
115 static val
* varonce117
;
116 val
* var118
/* : String */;
117 char* var119
/* : NativeString */;
118 val
* var120
/* : FlatString */;
119 static val
* varonce121
;
120 val
* var122
/* : String */;
121 char* var123
/* : NativeString */;
122 val
* var124
/* : FlatString */;
123 val
* var125
/* : String */;
124 val
* var126
/* : AbstractCompiler */;
125 val
* var128
/* : AbstractCompiler */;
126 val
* var129
/* : CodeWriter */;
127 val
* var131
/* : CodeWriter */;
128 val
* var133
/* : NativeArray[String] */;
129 static val
* varonce132
;
130 static val
* varonce134
;
131 val
* var135
/* : String */;
132 char* var136
/* : NativeString */;
133 val
* var137
/* : FlatString */;
134 static val
* varonce138
;
135 val
* var139
/* : String */;
136 char* var140
/* : NativeString */;
137 val
* var141
/* : FlatString */;
138 val
* var142
/* : String */;
139 val
* var143
/* : AbstractCompiler */;
140 val
* var145
/* : AbstractCompiler */;
141 val
* var146
/* : CodeWriter */;
142 val
* var148
/* : CodeWriter */;
143 val
* var150
/* : NativeArray[String] */;
144 static val
* varonce149
;
145 static val
* varonce151
;
146 val
* var152
/* : String */;
147 char* var153
/* : NativeString */;
148 val
* var154
/* : FlatString */;
149 static val
* varonce155
;
150 val
* var156
/* : String */;
151 char* var157
/* : NativeString */;
152 val
* var158
/* : FlatString */;
153 val
* var159
/* : String */;
154 val
* var160
/* : ModelBuilder */;
155 val
* var162
/* : ModelBuilder */;
156 val
* var163
/* : ToolContext */;
157 val
* var165
/* : ToolContext */;
158 val
* var166
/* : OptionBool */;
159 val
* var168
/* : OptionBool */;
160 val
* var169
/* : nullable Object */;
161 val
* var171
/* : nullable Object */;
162 short int var172
/* : Bool */;
163 static val
* varonce173
;
164 val
* var174
/* : String */;
165 char* var175
/* : NativeString */;
166 val
* var176
/* : FlatString */;
167 static val
* varonce177
;
168 val
* var178
/* : String */;
169 char* var179
/* : NativeString */;
170 val
* var180
/* : FlatString */;
171 static val
* varonce181
;
172 val
* var182
/* : String */;
173 char* var183
/* : NativeString */;
174 val
* var184
/* : FlatString */;
175 val
* var185
/* : AbstractCompiler */;
176 val
* var187
/* : AbstractCompiler */;
177 val
* var188
/* : CodeWriter */;
178 val
* var190
/* : CodeWriter */;
179 static val
* varonce191
;
180 val
* var192
/* : String */;
181 char* var193
/* : NativeString */;
182 val
* var194
/* : FlatString */;
183 val
* var195
/* : AbstractCompiler */;
184 val
* var197
/* : AbstractCompiler */;
185 val
* var198
/* : CodeWriter */;
186 val
* var200
/* : CodeWriter */;
187 static val
* varonce201
;
188 val
* var202
/* : String */;
189 char* var203
/* : NativeString */;
190 val
* var204
/* : FlatString */;
191 val
* var205
/* : AbstractCompiler */;
192 val
* var207
/* : AbstractCompiler */;
193 val
* var208
/* : CodeWriter */;
194 val
* var210
/* : CodeWriter */;
195 static val
* varonce211
;
196 val
* var212
/* : String */;
197 char* var213
/* : NativeString */;
198 val
* var214
/* : FlatString */;
199 val
* var215
/* : ModelBuilder */;
200 val
* var217
/* : ModelBuilder */;
201 val
* var218
/* : ToolContext */;
202 val
* var220
/* : ToolContext */;
203 val
* var221
/* : OptionBool */;
204 val
* var223
/* : OptionBool */;
205 val
* var224
/* : nullable Object */;
206 val
* var226
/* : nullable Object */;
207 short int var227
/* : Bool */;
208 static val
* varonce228
;
209 val
* var229
/* : String */;
210 char* var230
/* : NativeString */;
211 val
* var231
/* : FlatString */;
212 static val
* varonce232
;
213 val
* var233
/* : String */;
214 char* var234
/* : NativeString */;
215 val
* var235
/* : FlatString */;
216 val
* var236
/* : AbstractCompiler */;
217 val
* var238
/* : AbstractCompiler */;
218 val
* var239
/* : CodeWriter */;
219 val
* var241
/* : CodeWriter */;
220 static val
* varonce242
;
221 val
* var243
/* : String */;
222 char* var244
/* : NativeString */;
223 val
* var245
/* : FlatString */;
224 val
* var246
/* : AbstractCompiler */;
225 val
* var248
/* : AbstractCompiler */;
226 val
* var249
/* : CodeWriter */;
227 val
* var251
/* : CodeWriter */;
228 static val
* varonce252
;
229 val
* var253
/* : String */;
230 char* var254
/* : NativeString */;
231 val
* var255
/* : FlatString */;
232 static val
* varonce256
;
233 val
* var257
/* : String */;
234 char* var258
/* : NativeString */;
235 val
* var259
/* : FlatString */;
236 short int var260
/* : Bool */;
237 static val
* varonce261
;
238 val
* var262
/* : String */;
239 char* var263
/* : NativeString */;
240 val
* var264
/* : FlatString */;
241 static val
* varonce265
;
242 val
* var266
/* : String */;
243 char* var267
/* : NativeString */;
244 val
* var268
/* : FlatString */;
245 static val
* varonce269
;
246 val
* var270
/* : String */;
247 char* var271
/* : NativeString */;
248 val
* var272
/* : FlatString */;
249 static val
* varonce273
;
250 val
* var274
/* : String */;
251 char* var275
/* : NativeString */;
252 val
* var276
/* : FlatString */;
253 static val
* varonce277
;
254 val
* var278
/* : String */;
255 char* var279
/* : NativeString */;
256 val
* var280
/* : FlatString */;
257 static val
* varonce281
;
258 val
* var282
/* : String */;
259 char* var283
/* : NativeString */;
260 val
* var284
/* : FlatString */;
261 static val
* varonce285
;
262 val
* var286
/* : String */;
263 char* var287
/* : NativeString */;
264 val
* var288
/* : FlatString */;
265 static val
* varonce289
;
266 val
* var290
/* : String */;
267 char* var291
/* : NativeString */;
268 val
* var292
/* : FlatString */;
269 static val
* varonce293
;
270 val
* var294
/* : String */;
271 char* var295
/* : NativeString */;
272 val
* var296
/* : FlatString */;
273 static val
* varonce297
;
274 val
* var298
/* : String */;
275 char* var299
/* : NativeString */;
276 val
* var300
/* : FlatString */;
277 static val
* varonce301
;
278 val
* var302
/* : String */;
279 char* var303
/* : NativeString */;
280 val
* var304
/* : FlatString */;
281 static val
* varonce305
;
282 val
* var306
/* : String */;
283 char* var307
/* : NativeString */;
284 val
* var308
/* : FlatString */;
285 static val
* varonce309
;
286 val
* var310
/* : String */;
287 char* var311
/* : NativeString */;
288 val
* var312
/* : FlatString */;
289 static val
* varonce313
;
290 val
* var314
/* : String */;
291 char* var315
/* : NativeString */;
292 val
* var316
/* : FlatString */;
293 static val
* varonce317
;
294 val
* var318
/* : String */;
295 char* var319
/* : NativeString */;
296 val
* var320
/* : FlatString */;
297 static val
* varonce321
;
298 val
* var322
/* : String */;
299 char* var323
/* : NativeString */;
300 val
* var324
/* : FlatString */;
301 static val
* varonce325
;
302 val
* var326
/* : String */;
303 char* var327
/* : NativeString */;
304 val
* var328
/* : FlatString */;
305 static val
* varonce329
;
306 val
* var330
/* : String */;
307 char* var331
/* : NativeString */;
308 val
* var332
/* : FlatString */;
309 static val
* varonce333
;
310 val
* var334
/* : String */;
311 char* var335
/* : NativeString */;
312 val
* var336
/* : FlatString */;
313 static val
* varonce337
;
314 val
* var338
/* : String */;
315 char* var339
/* : NativeString */;
316 val
* var340
/* : FlatString */;
317 static val
* varonce341
;
318 val
* var342
/* : String */;
319 char* var343
/* : NativeString */;
320 val
* var344
/* : FlatString */;
321 static val
* varonce345
;
322 val
* var346
/* : String */;
323 char* var347
/* : NativeString */;
324 val
* var348
/* : FlatString */;
325 static val
* varonce349
;
326 val
* var350
/* : String */;
327 char* var351
/* : NativeString */;
328 val
* var352
/* : FlatString */;
329 static val
* varonce353
;
330 val
* var354
/* : String */;
331 char* var355
/* : NativeString */;
332 val
* var356
/* : FlatString */;
333 static val
* varonce357
;
334 val
* var358
/* : String */;
335 char* var359
/* : NativeString */;
336 val
* var360
/* : FlatString */;
337 static val
* varonce361
;
338 val
* var362
/* : String */;
339 char* var363
/* : NativeString */;
340 val
* var364
/* : FlatString */;
341 static val
* varonce365
;
342 val
* var366
/* : String */;
343 char* var367
/* : NativeString */;
344 val
* var368
/* : FlatString */;
345 static val
* varonce369
;
346 val
* var370
/* : String */;
347 char* var371
/* : NativeString */;
348 val
* var372
/* : FlatString */;
349 static val
* varonce373
;
350 val
* var374
/* : String */;
351 char* var375
/* : NativeString */;
352 val
* var376
/* : FlatString */;
353 static val
* varonce377
;
354 val
* var378
/* : String */;
355 char* var379
/* : NativeString */;
356 val
* var380
/* : FlatString */;
357 static val
* varonce381
;
358 val
* var382
/* : String */;
359 char* var383
/* : NativeString */;
360 val
* var384
/* : FlatString */;
361 static val
* varonce385
;
362 val
* var386
/* : String */;
363 char* var387
/* : NativeString */;
364 val
* var388
/* : FlatString */;
365 static val
* varonce389
;
366 val
* var390
/* : String */;
367 char* var391
/* : NativeString */;
368 val
* var392
/* : FlatString */;
369 static val
* varonce393
;
370 val
* var394
/* : String */;
371 char* var395
/* : NativeString */;
372 val
* var396
/* : FlatString */;
373 static val
* varonce397
;
374 val
* var398
/* : String */;
375 char* var399
/* : NativeString */;
376 val
* var400
/* : FlatString */;
377 static val
* varonce401
;
378 val
* var402
/* : String */;
379 char* var403
/* : NativeString */;
380 val
* var404
/* : FlatString */;
381 static val
* varonce405
;
382 val
* var406
/* : String */;
383 char* var407
/* : NativeString */;
384 val
* var408
/* : FlatString */;
385 static val
* varonce409
;
386 val
* var410
/* : String */;
387 char* var411
/* : NativeString */;
388 val
* var412
/* : FlatString */;
389 static val
* varonce413
;
390 val
* var414
/* : String */;
391 char* var415
/* : NativeString */;
392 val
* var416
/* : FlatString */;
393 static val
* varonce417
;
394 val
* var418
/* : String */;
395 char* var419
/* : NativeString */;
396 val
* var420
/* : FlatString */;
397 static val
* varonce421
;
398 val
* var422
/* : String */;
399 char* var423
/* : NativeString */;
400 val
* var424
/* : FlatString */;
401 static val
* varonce425
;
402 val
* var426
/* : String */;
403 char* var427
/* : NativeString */;
404 val
* var428
/* : FlatString */;
405 static val
* varonce429
;
406 val
* var430
/* : String */;
407 char* var431
/* : NativeString */;
408 val
* var432
/* : FlatString */;
409 static val
* varonce433
;
410 val
* var434
/* : String */;
411 char* var435
/* : NativeString */;
412 val
* var436
/* : FlatString */;
413 static val
* varonce437
;
414 val
* var438
/* : String */;
415 char* var439
/* : NativeString */;
416 val
* var440
/* : FlatString */;
417 static val
* varonce441
;
418 val
* var442
/* : String */;
419 char* var443
/* : NativeString */;
420 val
* var444
/* : FlatString */;
421 static val
* varonce445
;
422 val
* var446
/* : String */;
423 char* var447
/* : NativeString */;
424 val
* var448
/* : FlatString */;
425 static val
* varonce449
;
426 val
* var450
/* : String */;
427 char* var451
/* : NativeString */;
428 val
* var452
/* : FlatString */;
429 val
* var453
/* : MModule */;
430 val
* var455
/* : MModule */;
431 val
* var456
/* : nullable MClassType */;
432 val
* var_main_type
/* var main_type: nullable MClassType */;
433 short int var457
/* : Bool */;
434 short int var458
/* : Bool */;
435 val
* var_other
/* var other: nullable Object */;
436 short int var460
/* : Bool */;
437 short int var461
/* : Bool */;
438 val
* var462
/* : AbstractCompiler */;
439 val
* var464
/* : AbstractCompiler */;
440 val
* var465
/* : MModule */;
441 val
* var467
/* : MModule */;
442 val
* var_mainmodule
/* var mainmodule: MModule */;
443 val
* var468
/* : RuntimeVariable */;
444 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
445 val
* var470
/* : NativeArray[String] */;
446 static val
* varonce469
;
447 static val
* varonce471
;
448 val
* var472
/* : String */;
449 char* var473
/* : NativeString */;
450 val
* var474
/* : FlatString */;
451 static val
* varonce475
;
452 val
* var476
/* : String */;
453 char* var477
/* : NativeString */;
454 val
* var478
/* : FlatString */;
455 val
* var479
/* : String */;
456 val
* var480
/* : String */;
457 static val
* varonce481
;
458 val
* var482
/* : String */;
459 char* var483
/* : NativeString */;
460 val
* var484
/* : FlatString */;
461 val
* var485
/* : MClass */;
462 val
* var487
/* : MClass */;
463 val
* var488
/* : nullable MMethod */;
464 val
* var_main_init
/* var main_init: nullable MMethod */;
465 short int var489
/* : Bool */;
466 short int var490
/* : Bool */;
467 short int var492
/* : Bool */;
468 short int var493
/* : Bool */;
469 val
* var494
/* : Array[RuntimeVariable] */;
470 val
* var_495
/* var : Array[RuntimeVariable] */;
471 val
* var496
/* : nullable RuntimeVariable */;
472 val
* var497
/* : nullable MMethod */;
473 static val
* varonce498
;
474 val
* var499
/* : String */;
475 char* var500
/* : NativeString */;
476 val
* var501
/* : FlatString */;
477 val
* var502
/* : MClass */;
478 val
* var504
/* : MClass */;
479 val
* var505
/* : nullable MMethod */;
480 static val
* varonce506
;
481 val
* var507
/* : String */;
482 char* var508
/* : NativeString */;
483 val
* var509
/* : FlatString */;
484 val
* var510
/* : MClass */;
485 val
* var512
/* : MClass */;
486 val
* var513
/* : nullable MMethod */;
487 val
* var_main_method
/* var main_method: nullable MMethod */;
488 short int var514
/* : Bool */;
489 short int var515
/* : Bool */;
490 short int var517
/* : Bool */;
491 short int var518
/* : Bool */;
492 val
* var519
/* : Array[RuntimeVariable] */;
493 val
* var_520
/* var : Array[RuntimeVariable] */;
494 val
* var521
/* : nullable RuntimeVariable */;
495 val
* var522
/* : ModelBuilder */;
496 val
* var524
/* : ModelBuilder */;
497 val
* var525
/* : ToolContext */;
498 val
* var527
/* : ToolContext */;
499 val
* var528
/* : OptionBool */;
500 val
* var530
/* : OptionBool */;
501 val
* var531
/* : nullable Object */;
502 val
* var533
/* : nullable Object */;
503 short int var534
/* : Bool */;
504 static val
* varonce535
;
505 val
* var536
/* : String */;
506 char* var537
/* : NativeString */;
507 val
* var538
/* : FlatString */;
508 static val
* varonce539
;
509 val
* var540
/* : String */;
510 char* var541
/* : NativeString */;
511 val
* var542
/* : FlatString */;
512 static val
* varonce543
;
513 val
* var544
/* : String */;
514 char* var545
/* : NativeString */;
515 val
* var546
/* : FlatString */;
516 static val
* varonce547
;
517 val
* var548
/* : String */;
518 char* var549
/* : NativeString */;
519 val
* var550
/* : FlatString */;
520 val
* var551
/* : Array[String] */;
521 val
* var553
/* : Array[String] */;
522 val
* var_554
/* var : Array[String] */;
523 val
* var555
/* : ArrayIterator[nullable Object] */;
524 val
* var_556
/* var : ArrayIterator[String] */;
525 short int var557
/* : Bool */;
526 val
* var558
/* : nullable Object */;
527 val
* var_tag559
/* var tag: String */;
528 val
* var561
/* : NativeArray[String] */;
529 static val
* varonce560
;
530 static val
* varonce562
;
531 val
* var563
/* : String */;
532 char* var564
/* : NativeString */;
533 val
* var565
/* : FlatString */;
534 static val
* varonce566
;
535 val
* var567
/* : String */;
536 char* var568
/* : NativeString */;
537 val
* var569
/* : FlatString */;
538 val
* var570
/* : String */;
539 val
* var572
/* : NativeArray[String] */;
540 static val
* varonce571
;
541 static val
* varonce573
;
542 val
* var574
/* : String */;
543 char* var575
/* : NativeString */;
544 val
* var576
/* : FlatString */;
545 static val
* varonce577
;
546 val
* var578
/* : String */;
547 char* var579
/* : NativeString */;
548 val
* var580
/* : FlatString */;
549 static val
* varonce581
;
550 val
* var582
/* : String */;
551 char* var583
/* : NativeString */;
552 val
* var584
/* : FlatString */;
553 static val
* varonce585
;
554 val
* var586
/* : String */;
555 char* var587
/* : NativeString */;
556 val
* var588
/* : FlatString */;
557 static val
* varonce589
;
558 val
* var590
/* : String */;
559 char* var591
/* : NativeString */;
560 val
* var592
/* : FlatString */;
561 val
* var593
/* : String */;
562 val
* var595
/* : NativeArray[String] */;
563 static val
* varonce594
;
564 static val
* varonce596
;
565 val
* var597
/* : String */;
566 char* var598
/* : NativeString */;
567 val
* var599
/* : FlatString */;
568 static val
* varonce600
;
569 val
* var601
/* : String */;
570 char* var602
/* : NativeString */;
571 val
* var603
/* : FlatString */;
572 val
* var604
/* : String */;
573 val
* var606
/* : NativeArray[String] */;
574 static val
* varonce605
;
575 static val
* varonce607
;
576 val
* var608
/* : String */;
577 char* var609
/* : NativeString */;
578 val
* var610
/* : FlatString */;
579 static val
* varonce611
;
580 val
* var612
/* : String */;
581 char* var613
/* : NativeString */;
582 val
* var614
/* : FlatString */;
583 val
* var615
/* : String */;
584 val
* var617
/* : NativeArray[String] */;
585 static val
* varonce616
;
586 static val
* varonce618
;
587 val
* var619
/* : String */;
588 char* var620
/* : NativeString */;
589 val
* var621
/* : FlatString */;
590 static val
* varonce622
;
591 val
* var623
/* : String */;
592 char* var624
/* : NativeString */;
593 val
* var625
/* : FlatString */;
594 val
* var626
/* : String */;
595 val
* var628
/* : NativeArray[String] */;
596 static val
* varonce627
;
597 static val
* varonce629
;
598 val
* var630
/* : String */;
599 char* var631
/* : NativeString */;
600 val
* var632
/* : FlatString */;
601 static val
* varonce633
;
602 val
* var634
/* : String */;
603 char* var635
/* : NativeString */;
604 val
* var636
/* : FlatString */;
605 val
* var637
/* : String */;
606 static val
* varonce639
;
607 val
* var640
/* : String */;
608 char* var641
/* : NativeString */;
609 val
* var642
/* : FlatString */;
610 static val
* varonce643
;
611 val
* var644
/* : String */;
612 char* var645
/* : NativeString */;
613 val
* var646
/* : FlatString */;
614 val
* var647
/* : Array[String] */;
615 val
* var649
/* : Array[String] */;
616 val
* var650
/* : Array[nullable Object] */;
617 val
* var_tags
/* var tags: Array[String] */;
618 static val
* varonce651
;
619 val
* var652
/* : String */;
620 char* var653
/* : NativeString */;
621 val
* var654
/* : FlatString */;
622 val
* var_655
/* var : Array[String] */;
623 val
* var656
/* : ArrayIterator[nullable Object] */;
624 val
* var_657
/* var : ArrayIterator[String] */;
625 short int var658
/* : Bool */;
626 val
* var659
/* : nullable Object */;
627 val
* var_tag660
/* var tag: String */;
628 val
* var662
/* : NativeArray[String] */;
629 static val
* varonce661
;
630 static val
* varonce663
;
631 val
* var664
/* : String */;
632 char* var665
/* : NativeString */;
633 val
* var666
/* : FlatString */;
634 static val
* varonce667
;
635 val
* var668
/* : String */;
636 char* var669
/* : NativeString */;
637 val
* var670
/* : FlatString */;
638 val
* var671
/* : String */;
639 val
* var673
/* : NativeArray[String] */;
640 static val
* varonce672
;
641 static val
* varonce674
;
642 val
* var675
/* : String */;
643 char* var676
/* : NativeString */;
644 val
* var677
/* : FlatString */;
645 static val
* varonce678
;
646 val
* var679
/* : String */;
647 char* var680
/* : NativeString */;
648 val
* var681
/* : FlatString */;
649 static val
* varonce682
;
650 val
* var683
/* : String */;
651 char* var684
/* : NativeString */;
652 val
* var685
/* : FlatString */;
653 val
* var686
/* : String */;
654 val
* var688
/* : NativeArray[String] */;
655 static val
* varonce687
;
656 static val
* varonce689
;
657 val
* var690
/* : String */;
658 char* var691
/* : NativeString */;
659 val
* var692
/* : FlatString */;
660 static val
* varonce693
;
661 val
* var694
/* : String */;
662 char* var695
/* : NativeString */;
663 val
* var696
/* : FlatString */;
664 static val
* varonce697
;
665 val
* var698
/* : String */;
666 char* var699
/* : NativeString */;
667 val
* var700
/* : FlatString */;
668 val
* var701
/* : String */;
669 val
* var703
/* : NativeArray[String] */;
670 static val
* varonce702
;
671 static val
* varonce704
;
672 val
* var705
/* : String */;
673 char* var706
/* : NativeString */;
674 val
* var707
/* : FlatString */;
675 static val
* varonce708
;
676 val
* var709
/* : String */;
677 char* var710
/* : NativeString */;
678 val
* var711
/* : FlatString */;
679 static val
* varonce712
;
680 val
* var713
/* : String */;
681 char* var714
/* : NativeString */;
682 val
* var715
/* : FlatString */;
683 val
* var716
/* : String */;
684 val
* var718
/* : NativeArray[String] */;
685 static val
* varonce717
;
686 static val
* varonce719
;
687 val
* var720
/* : String */;
688 char* var721
/* : NativeString */;
689 val
* var722
/* : FlatString */;
690 static val
* varonce723
;
691 val
* var724
/* : String */;
692 char* var725
/* : NativeString */;
693 val
* var726
/* : FlatString */;
694 static val
* varonce727
;
695 val
* var728
/* : String */;
696 char* var729
/* : NativeString */;
697 val
* var730
/* : FlatString */;
698 val
* var731
/* : String */;
699 val
* var733
/* : ModelBuilder */;
700 val
* var735
/* : ModelBuilder */;
701 val
* var736
/* : ToolContext */;
702 val
* var738
/* : ToolContext */;
703 val
* var739
/* : OptionBool */;
704 val
* var741
/* : OptionBool */;
705 val
* var742
/* : nullable Object */;
706 val
* var744
/* : nullable Object */;
707 short int var745
/* : Bool */;
708 static val
* varonce746
;
709 val
* var747
/* : String */;
710 char* var748
/* : NativeString */;
711 val
* var749
/* : FlatString */;
712 static val
* varonce750
;
713 val
* var751
/* : String */;
714 char* var752
/* : NativeString */;
715 val
* var753
/* : FlatString */;
716 static val
* varonce754
;
717 val
* var755
/* : String */;
718 char* var756
/* : NativeString */;
719 val
* var757
/* : FlatString */;
720 static val
* varonce758
;
721 val
* var759
/* : String */;
722 char* var760
/* : NativeString */;
723 val
* var761
/* : FlatString */;
724 static val
* varonce762
;
725 val
* var763
/* : String */;
726 char* var764
/* : NativeString */;
727 val
* var765
/* : FlatString */;
728 static val
* varonce766
;
729 val
* var767
/* : String */;
730 char* var768
/* : NativeString */;
731 val
* var769
/* : FlatString */;
732 val
* var770
/* : ModelBuilder */;
733 val
* var772
/* : ModelBuilder */;
734 val
* var773
/* : ToolContext */;
735 val
* var775
/* : ToolContext */;
736 val
* var776
/* : OptionBool */;
737 val
* var778
/* : OptionBool */;
738 val
* var779
/* : nullable Object */;
739 val
* var781
/* : nullable Object */;
740 short int var782
/* : Bool */;
741 static val
* varonce783
;
742 val
* var784
/* : String */;
743 char* var785
/* : NativeString */;
744 val
* var786
/* : FlatString */;
745 static val
* varonce787
;
746 val
* var788
/* : String */;
747 char* var789
/* : NativeString */;
748 val
* var790
/* : FlatString */;
749 static val
* varonce791
;
750 val
* var792
/* : String */;
751 char* var793
/* : NativeString */;
752 val
* var794
/* : FlatString */;
753 static val
* varonce795
;
754 val
* var796
/* : String */;
755 char* var797
/* : NativeString */;
756 val
* var798
/* : FlatString */;
757 val
* var799
/* : MModule */;
758 val
* var801
/* : MModule */;
759 val
* var802
/* : POSetElement[MModule] */;
760 val
* var804
/* : POSetElement[MModule] */;
761 val
* var805
/* : Collection[nullable Object] */;
762 val
* var_806
/* var : Collection[MModule] */;
763 val
* var807
/* : Iterator[nullable Object] */;
764 val
* var_808
/* var : Iterator[MModule] */;
765 short int var809
/* : Bool */;
766 val
* var810
/* : nullable Object */;
767 val
* var_m
/* var m: MModule */;
768 static val
* varonce811
;
769 val
* var812
/* : String */;
770 char* var813
/* : NativeString */;
771 val
* var814
/* : FlatString */;
772 val
* var815
/* : String */;
773 val
* var816
/* : String */;
774 val
* var_f
/* var f: String */;
775 val
* var818
/* : NativeArray[String] */;
776 static val
* varonce817
;
777 static val
* varonce819
;
778 val
* var820
/* : String */;
779 char* var821
/* : NativeString */;
780 val
* var822
/* : FlatString */;
781 static val
* varonce823
;
782 val
* var824
/* : String */;
783 char* var825
/* : NativeString */;
784 val
* var826
/* : FlatString */;
785 static val
* varonce827
;
786 val
* var828
/* : String */;
787 char* var829
/* : NativeString */;
788 val
* var830
/* : FlatString */;
789 val
* var831
/* : Location */;
790 val
* var833
/* : Location */;
791 val
* var834
/* : nullable SourceFile */;
792 val
* var836
/* : nullable SourceFile */;
793 val
* var837
/* : String */;
794 val
* var839
/* : String */;
795 val
* var840
/* : String */;
796 val
* var841
/* : String */;
797 val
* var843
/* : NativeArray[String] */;
798 static val
* varonce842
;
799 static val
* varonce844
;
800 val
* var845
/* : String */;
801 char* var846
/* : NativeString */;
802 val
* var847
/* : FlatString */;
803 static val
* varonce848
;
804 val
* var849
/* : String */;
805 char* var850
/* : NativeString */;
806 val
* var851
/* : FlatString */;
807 val
* var852
/* : String */;
809 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:AbstractCompiler>*/
812 if (likely(varonce
!=NULL
)) {
815 var2
= "#include <signal.h>";
816 var3
= standard___standard__NativeString___to_s_with_length(var2
, 19l);
821 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
824 { /* Inline abstract_compiler#AbstractCompiler#target_platform (self) on <self:AbstractCompiler> */
825 var6
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
826 if (unlikely(var6
== NULL
)) {
827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 533);
837 var8
= nit___nit__Platform___no_main(var_platform
);
844 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
845 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
846 if (unlikely(var11
== NULL
)) {
847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
856 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var9) on <var9:ModelBuilder> */
857 var14
= var9
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var9:ModelBuilder> */
858 if (unlikely(var14
== NULL
)) {
859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
868 { /* Inline abstract_compiler#ToolContext#opt_no_main (var12) on <var12:ToolContext> */
869 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <var12:ToolContext> */
870 if (unlikely(var17
== NULL
)) {
871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
872 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 36);
880 { /* Inline opts#Option#value (var15) on <var15:OptionBool> */
881 var20
= var15
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var15:OptionBool> */
886 var21
= (short int)((long)(var18
)>>2);
891 var22
= nit___nit__Platform___supports_libunwind(var_platform
);
894 if (likely(varonce23
!=NULL
)) {
897 var25
= "#ifndef NO_STACKTRACE";
898 var26
= standard___standard__NativeString___to_s_with_length(var25
, 21l);
903 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var24
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
905 if (likely(varonce27
!=NULL
)) {
908 var29
= "#define UNW_LOCAL_ONLY";
909 var30
= standard___standard__NativeString___to_s_with_length(var29
, 22l);
914 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var28
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
916 if (likely(varonce31
!=NULL
)) {
919 var33
= "#include <libunwind.h>";
920 var34
= standard___standard__NativeString___to_s_with_length(var33
, 22l);
925 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
927 if (likely(varonce35
!=NULL
)) {
930 var37
= "#include \"c_functions_hash.h\"";
931 var38
= standard___standard__NativeString___to_s_with_length(var37
, 29l);
936 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var36
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
938 if (likely(varonce39
!=NULL
)) {
942 var42
= standard___standard__NativeString___to_s_with_length(var41
, 6l);
947 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var40
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
951 if (likely(varonce43
!=NULL
)) {
954 var45
= "int glob_argc;";
955 var46
= standard___standard__NativeString___to_s_with_length(var45
, 14l);
960 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var44
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
962 if (likely(varonce47
!=NULL
)) {
965 var49
= "char **glob_argv;";
966 var50
= standard___standard__NativeString___to_s_with_length(var49
, 17l);
971 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
973 if (likely(varonce51
!=NULL
)) {
976 var53
= "val *glob_sys;";
977 var54
= standard___standard__NativeString___to_s_with_length(var53
, 14l);
982 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
985 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
986 var57
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
987 if (unlikely(var57
== NULL
)) {
988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
997 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var55) on <var55:ModelBuilder> */
998 var60
= var55
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var55:ModelBuilder> */
999 if (unlikely(var60
== NULL
)) {
1000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1005 RET_LABEL59
:(void)0;
1009 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var58) on <var58:ToolContext> */
1010 var63
= var58
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var58:ToolContext> */
1011 if (unlikely(var63
== NULL
)) {
1012 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1013 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
1017 RET_LABEL62
:(void)0;
1021 { /* Inline opts#Option#value (var61) on <var61:OptionBool> */
1022 var66
= var61
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var61:OptionBool> */
1024 RET_LABEL65
:(void)0;
1027 var67
= (short int)((long)(var64
)>>2);
1030 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
1031 var70
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
1032 if (unlikely(var70
== NULL
)) {
1033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
1034 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
1038 RET_LABEL69
:(void)0;
1043 var72
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_71
);
1048 var74
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_73
);
1052 var75
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_73
);
1055 if (unlikely(varonce76
==NULL
)) {
1056 var77
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1057 if (likely(varonce78
!=NULL
)) {
1060 var80
= "long count_type_test_resolved_";
1061 var81
= standard___standard__NativeString___to_s_with_length(var80
, 30l);
1065 ((struct instance_standard__NativeArray
*)var77
)->values
[0]=var79
;
1066 if (likely(varonce82
!=NULL
)) {
1070 var85
= standard___standard__NativeString___to_s_with_length(var84
, 1l);
1074 ((struct instance_standard__NativeArray
*)var77
)->values
[2]=var83
;
1079 ((struct instance_standard__NativeArray
*)var77
)->values
[1]=var_tag
;
1081 var86
= ((val
*(*)(val
* self
))(var77
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var77
); /* native_to_s on <var77:NativeArray[String]>*/
1085 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var86
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1087 if (unlikely(varonce87
==NULL
)) {
1088 var88
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1089 if (likely(varonce89
!=NULL
)) {
1092 var91
= "long count_type_test_unresolved_";
1093 var92
= standard___standard__NativeString___to_s_with_length(var91
, 32l);
1097 ((struct instance_standard__NativeArray
*)var88
)->values
[0]=var90
;
1098 if (likely(varonce93
!=NULL
)) {
1102 var96
= standard___standard__NativeString___to_s_with_length(var95
, 1l);
1106 ((struct instance_standard__NativeArray
*)var88
)->values
[2]=var94
;
1111 ((struct instance_standard__NativeArray
*)var88
)->values
[1]=var_tag
;
1113 var97
= ((val
*(*)(val
* self
))(var88
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var88
); /* native_to_s on <var88:NativeArray[String]>*/
1117 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var97
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1119 if (unlikely(varonce98
==NULL
)) {
1120 var99
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1121 if (likely(varonce100
!=NULL
)) {
1122 var101
= varonce100
;
1124 var102
= "long count_type_test_skipped_";
1125 var103
= standard___standard__NativeString___to_s_with_length(var102
, 29l);
1127 varonce100
= var101
;
1129 ((struct instance_standard__NativeArray
*)var99
)->values
[0]=var101
;
1130 if (likely(varonce104
!=NULL
)) {
1131 var105
= varonce104
;
1134 var107
= standard___standard__NativeString___to_s_with_length(var106
, 1l);
1136 varonce104
= var105
;
1138 ((struct instance_standard__NativeArray
*)var99
)->values
[2]=var105
;
1143 ((struct instance_standard__NativeArray
*)var99
)->values
[1]=var_tag
;
1145 var108
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
1149 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var108
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1152 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1153 var111
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1154 if (unlikely(var111
== NULL
)) {
1155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1156 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1160 RET_LABEL110
:(void)0;
1164 { /* Inline abstract_compiler#AbstractCompiler#header (var109) on <var109:AbstractCompiler> */
1165 var114
= var109
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var109:AbstractCompiler> */
1166 if (unlikely(var114
== NULL
)) {
1167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1172 RET_LABEL113
:(void)0;
1175 if (unlikely(varonce115
==NULL
)) {
1176 var116
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1177 if (likely(varonce117
!=NULL
)) {
1178 var118
= varonce117
;
1180 var119
= "extern long count_type_test_resolved_";
1181 var120
= standard___standard__NativeString___to_s_with_length(var119
, 37l);
1183 varonce117
= var118
;
1185 ((struct instance_standard__NativeArray
*)var116
)->values
[0]=var118
;
1186 if (likely(varonce121
!=NULL
)) {
1187 var122
= varonce121
;
1190 var124
= standard___standard__NativeString___to_s_with_length(var123
, 1l);
1192 varonce121
= var122
;
1194 ((struct instance_standard__NativeArray
*)var116
)->values
[2]=var122
;
1196 var116
= varonce115
;
1199 ((struct instance_standard__NativeArray
*)var116
)->values
[1]=var_tag
;
1201 var125
= ((val
*(*)(val
* self
))(var116
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var116
); /* native_to_s on <var116:NativeArray[String]>*/
1203 varonce115
= var116
;
1205 nit___nit__CodeWriter___add_decl(var112
, var125
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var112:CodeWriter>*/
1208 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1209 var128
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1210 if (unlikely(var128
== NULL
)) {
1211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1216 RET_LABEL127
:(void)0;
1220 { /* Inline abstract_compiler#AbstractCompiler#header (var126) on <var126:AbstractCompiler> */
1221 var131
= var126
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var126:AbstractCompiler> */
1222 if (unlikely(var131
== NULL
)) {
1223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1224 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1228 RET_LABEL130
:(void)0;
1231 if (unlikely(varonce132
==NULL
)) {
1232 var133
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1233 if (likely(varonce134
!=NULL
)) {
1234 var135
= varonce134
;
1236 var136
= "extern long count_type_test_unresolved_";
1237 var137
= standard___standard__NativeString___to_s_with_length(var136
, 39l);
1239 varonce134
= var135
;
1241 ((struct instance_standard__NativeArray
*)var133
)->values
[0]=var135
;
1242 if (likely(varonce138
!=NULL
)) {
1243 var139
= varonce138
;
1246 var141
= standard___standard__NativeString___to_s_with_length(var140
, 1l);
1248 varonce138
= var139
;
1250 ((struct instance_standard__NativeArray
*)var133
)->values
[2]=var139
;
1252 var133
= varonce132
;
1255 ((struct instance_standard__NativeArray
*)var133
)->values
[1]=var_tag
;
1257 var142
= ((val
*(*)(val
* self
))(var133
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var133
); /* native_to_s on <var133:NativeArray[String]>*/
1259 varonce132
= var133
;
1261 nit___nit__CodeWriter___add_decl(var129
, var142
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var129:CodeWriter>*/
1264 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1265 var145
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1266 if (unlikely(var145
== NULL
)) {
1267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1268 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1272 RET_LABEL144
:(void)0;
1276 { /* Inline abstract_compiler#AbstractCompiler#header (var143) on <var143:AbstractCompiler> */
1277 var148
= var143
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var143:AbstractCompiler> */
1278 if (unlikely(var148
== NULL
)) {
1279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1284 RET_LABEL147
:(void)0;
1287 if (unlikely(varonce149
==NULL
)) {
1288 var150
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1289 if (likely(varonce151
!=NULL
)) {
1290 var152
= varonce151
;
1292 var153
= "extern long count_type_test_skipped_";
1293 var154
= standard___standard__NativeString___to_s_with_length(var153
, 36l);
1295 varonce151
= var152
;
1297 ((struct instance_standard__NativeArray
*)var150
)->values
[0]=var152
;
1298 if (likely(varonce155
!=NULL
)) {
1299 var156
= varonce155
;
1302 var158
= standard___standard__NativeString___to_s_with_length(var157
, 1l);
1304 varonce155
= var156
;
1306 ((struct instance_standard__NativeArray
*)var150
)->values
[2]=var156
;
1308 var150
= varonce149
;
1311 ((struct instance_standard__NativeArray
*)var150
)->values
[1]=var_tag
;
1313 var159
= ((val
*(*)(val
* self
))(var150
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var150
); /* native_to_s on <var150:NativeArray[String]>*/
1315 varonce149
= var150
;
1317 nit___nit__CodeWriter___add_decl(var146
, var159
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var146:CodeWriter>*/
1320 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_73
); /* Direct call array#ArrayIterator#next on <var_73:ArrayIterator[String]>*/
1326 BREAK_label
: (void)0;
1328 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_73
); /* Direct call array#ArrayIterator#finish on <var_73:ArrayIterator[String]>*/
1333 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1334 var162
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1335 if (unlikely(var162
== NULL
)) {
1336 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1341 RET_LABEL161
:(void)0;
1345 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var160) on <var160:ModelBuilder> */
1346 var165
= var160
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var160:ModelBuilder> */
1347 if (unlikely(var165
== NULL
)) {
1348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1353 RET_LABEL164
:(void)0;
1357 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var163) on <var163:ToolContext> */
1358 var168
= var163
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var163:ToolContext> */
1359 if (unlikely(var168
== NULL
)) {
1360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
1361 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 62);
1365 RET_LABEL167
:(void)0;
1369 { /* Inline opts#Option#value (var166) on <var166:OptionBool> */
1370 var171
= var166
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var166:OptionBool> */
1372 RET_LABEL170
:(void)0;
1375 var172
= (short int)((long)(var169
)>>2);
1377 if (likely(varonce173
!=NULL
)) {
1378 var174
= varonce173
;
1380 var175
= "long count_invoke_by_tables;";
1381 var176
= standard___standard__NativeString___to_s_with_length(var175
, 28l);
1383 varonce173
= var174
;
1386 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var174
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1388 if (likely(varonce177
!=NULL
)) {
1389 var178
= varonce177
;
1391 var179
= "long count_invoke_by_direct;";
1392 var180
= standard___standard__NativeString___to_s_with_length(var179
, 28l);
1394 varonce177
= var178
;
1397 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var178
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1399 if (likely(varonce181
!=NULL
)) {
1400 var182
= varonce181
;
1402 var183
= "long count_invoke_by_inline;";
1403 var184
= standard___standard__NativeString___to_s_with_length(var183
, 28l);
1405 varonce181
= var182
;
1408 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var182
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1411 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1412 var187
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1413 if (unlikely(var187
== NULL
)) {
1414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1415 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1419 RET_LABEL186
:(void)0;
1423 { /* Inline abstract_compiler#AbstractCompiler#header (var185) on <var185:AbstractCompiler> */
1424 var190
= var185
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var185:AbstractCompiler> */
1425 if (unlikely(var190
== NULL
)) {
1426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1427 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1431 RET_LABEL189
:(void)0;
1434 if (likely(varonce191
!=NULL
)) {
1435 var192
= varonce191
;
1437 var193
= "extern long count_invoke_by_tables;";
1438 var194
= standard___standard__NativeString___to_s_with_length(var193
, 35l);
1440 varonce191
= var192
;
1443 nit___nit__CodeWriter___add_decl(var188
, var192
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var188:CodeWriter>*/
1446 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1447 var197
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1448 if (unlikely(var197
== NULL
)) {
1449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1454 RET_LABEL196
:(void)0;
1458 { /* Inline abstract_compiler#AbstractCompiler#header (var195) on <var195:AbstractCompiler> */
1459 var200
= var195
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var195:AbstractCompiler> */
1460 if (unlikely(var200
== NULL
)) {
1461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1466 RET_LABEL199
:(void)0;
1469 if (likely(varonce201
!=NULL
)) {
1470 var202
= varonce201
;
1472 var203
= "extern long count_invoke_by_direct;";
1473 var204
= standard___standard__NativeString___to_s_with_length(var203
, 35l);
1475 varonce201
= var202
;
1478 nit___nit__CodeWriter___add_decl(var198
, var202
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var198:CodeWriter>*/
1481 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1482 var207
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1483 if (unlikely(var207
== NULL
)) {
1484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1489 RET_LABEL206
:(void)0;
1493 { /* Inline abstract_compiler#AbstractCompiler#header (var205) on <var205:AbstractCompiler> */
1494 var210
= var205
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var205:AbstractCompiler> */
1495 if (unlikely(var210
== NULL
)) {
1496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1497 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1501 RET_LABEL209
:(void)0;
1504 if (likely(varonce211
!=NULL
)) {
1505 var212
= varonce211
;
1507 var213
= "extern long count_invoke_by_inline;";
1508 var214
= standard___standard__NativeString___to_s_with_length(var213
, 35l);
1510 varonce211
= var212
;
1513 nit___nit__CodeWriter___add_decl(var208
, var212
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var208:CodeWriter>*/
1518 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
1519 var217
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
1520 if (unlikely(var217
== NULL
)) {
1521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1522 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
1526 RET_LABEL216
:(void)0;
1530 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var215) on <var215:ModelBuilder> */
1531 var220
= var215
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var215:ModelBuilder> */
1532 if (unlikely(var220
== NULL
)) {
1533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1534 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1538 RET_LABEL219
:(void)0;
1542 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var218) on <var218:ToolContext> */
1543 var223
= var218
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var218:ToolContext> */
1544 if (unlikely(var223
== NULL
)) {
1545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
1546 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
1550 RET_LABEL222
:(void)0;
1554 { /* Inline opts#Option#value (var221) on <var221:OptionBool> */
1555 var226
= var221
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var221:OptionBool> */
1557 RET_LABEL225
:(void)0;
1560 var227
= (short int)((long)(var224
)>>2);
1562 if (likely(varonce228
!=NULL
)) {
1563 var229
= varonce228
;
1565 var230
= "long count_attr_reads = 0;";
1566 var231
= standard___standard__NativeString___to_s_with_length(var230
, 26l);
1568 varonce228
= var229
;
1571 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var229
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1573 if (likely(varonce232
!=NULL
)) {
1574 var233
= varonce232
;
1576 var234
= "long count_isset_checks = 0;";
1577 var235
= standard___standard__NativeString___to_s_with_length(var234
, 28l);
1579 varonce232
= var233
;
1582 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var233
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1585 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1586 var238
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1587 if (unlikely(var238
== NULL
)) {
1588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1593 RET_LABEL237
:(void)0;
1597 { /* Inline abstract_compiler#AbstractCompiler#header (var236) on <var236:AbstractCompiler> */
1598 var241
= var236
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var236:AbstractCompiler> */
1599 if (unlikely(var241
== NULL
)) {
1600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1605 RET_LABEL240
:(void)0;
1608 if (likely(varonce242
!=NULL
)) {
1609 var243
= varonce242
;
1611 var244
= "extern long count_attr_reads;";
1612 var245
= standard___standard__NativeString___to_s_with_length(var244
, 29l);
1614 varonce242
= var243
;
1617 nit___nit__CodeWriter___add_decl(var239
, var243
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var239:CodeWriter>*/
1620 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1621 var248
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1622 if (unlikely(var248
== NULL
)) {
1623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
1628 RET_LABEL247
:(void)0;
1632 { /* Inline abstract_compiler#AbstractCompiler#header (var246) on <var246:AbstractCompiler> */
1633 var251
= var246
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var246:AbstractCompiler> */
1634 if (unlikely(var251
== NULL
)) {
1635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
1636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
1640 RET_LABEL250
:(void)0;
1643 if (likely(varonce252
!=NULL
)) {
1644 var253
= varonce252
;
1646 var254
= "extern long count_isset_checks;";
1647 var255
= standard___standard__NativeString___to_s_with_length(var254
, 31l);
1649 varonce252
= var253
;
1652 nit___nit__CodeWriter___add_decl(var249
, var253
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var249:CodeWriter>*/
1656 if (likely(varonce256
!=NULL
)) {
1657 var257
= varonce256
;
1659 var258
= "static void show_backtrace(void) {";
1660 var259
= standard___standard__NativeString___to_s_with_length(var258
, 34l);
1662 varonce256
= var257
;
1665 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var257
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1668 var260
= nit___nit__Platform___supports_libunwind(var_platform
);
1671 if (likely(varonce261
!=NULL
)) {
1672 var262
= varonce261
;
1674 var263
= "#ifndef NO_STACKTRACE";
1675 var264
= standard___standard__NativeString___to_s_with_length(var263
, 21l);
1677 varonce261
= var262
;
1680 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var262
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1682 if (likely(varonce265
!=NULL
)) {
1683 var266
= varonce265
;
1685 var267
= "char* opt = getenv(\"NIT_NO_STACK\");";
1686 var268
= standard___standard__NativeString___to_s_with_length(var267
, 35l);
1688 varonce265
= var266
;
1691 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var266
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1693 if (likely(varonce269
!=NULL
)) {
1694 var270
= varonce269
;
1696 var271
= "unw_cursor_t cursor;";
1697 var272
= standard___standard__NativeString___to_s_with_length(var271
, 20l);
1699 varonce269
= var270
;
1702 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var270
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1704 if (likely(varonce273
!=NULL
)) {
1705 var274
= varonce273
;
1707 var275
= "if(opt==NULL){";
1708 var276
= standard___standard__NativeString___to_s_with_length(var275
, 14l);
1710 varonce273
= var274
;
1713 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var274
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1715 if (likely(varonce277
!=NULL
)) {
1716 var278
= varonce277
;
1718 var279
= "unw_context_t uc;";
1719 var280
= standard___standard__NativeString___to_s_with_length(var279
, 17l);
1721 varonce277
= var278
;
1724 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var278
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1726 if (likely(varonce281
!=NULL
)) {
1727 var282
= varonce281
;
1729 var283
= "unw_word_t ip;";
1730 var284
= standard___standard__NativeString___to_s_with_length(var283
, 14l);
1732 varonce281
= var282
;
1735 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var282
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1737 if (likely(varonce285
!=NULL
)) {
1738 var286
= varonce285
;
1740 var287
= "char* procname = malloc(sizeof(char) * 100);";
1741 var288
= standard___standard__NativeString___to_s_with_length(var287
, 44l);
1743 varonce285
= var286
;
1746 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var286
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1748 if (likely(varonce289
!=NULL
)) {
1749 var290
= varonce289
;
1751 var291
= "unw_getcontext(&uc);";
1752 var292
= standard___standard__NativeString___to_s_with_length(var291
, 20l);
1754 varonce289
= var290
;
1757 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var290
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1759 if (likely(varonce293
!=NULL
)) {
1760 var294
= varonce293
;
1762 var295
= "unw_init_local(&cursor, &uc);";
1763 var296
= standard___standard__NativeString___to_s_with_length(var295
, 29l);
1765 varonce293
= var294
;
1768 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var294
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1770 if (likely(varonce297
!=NULL
)) {
1771 var298
= varonce297
;
1773 var299
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
1774 var300
= standard___standard__NativeString___to_s_with_length(var299
, 67l);
1776 varonce297
= var298
;
1779 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var298
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1781 if (likely(varonce301
!=NULL
)) {
1782 var302
= varonce301
;
1784 var303
= "PRINT_ERROR(\"-- Stack Trace ------------------------------\\n\");";
1785 var304
= standard___standard__NativeString___to_s_with_length(var303
, 67l);
1787 varonce301
= var302
;
1790 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var302
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1792 if (likely(varonce305
!=NULL
)) {
1793 var306
= varonce305
;
1795 var307
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
1796 var308
= standard___standard__NativeString___to_s_with_length(var307
, 67l);
1798 varonce305
= var306
;
1801 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var306
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1803 if (likely(varonce309
!=NULL
)) {
1804 var310
= varonce309
;
1806 var311
= "while (unw_step(&cursor) > 0) {";
1807 var312
= standard___standard__NativeString___to_s_with_length(var311
, 31l);
1809 varonce309
= var310
;
1812 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var310
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1814 if (likely(varonce313
!=NULL
)) {
1815 var314
= varonce313
;
1817 var315
= "\tunw_get_proc_name(&cursor, procname, 100, &ip);";
1818 var316
= standard___standard__NativeString___to_s_with_length(var315
, 48l);
1820 varonce313
= var314
;
1823 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var314
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1825 if (likely(varonce317
!=NULL
)) {
1826 var318
= varonce317
;
1828 var319
= "\tconst char* recv = get_nit_name(procname, strlen(procname));";
1829 var320
= standard___standard__NativeString___to_s_with_length(var319
, 61l);
1831 varonce317
= var318
;
1834 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var318
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1836 if (likely(varonce321
!=NULL
)) {
1837 var322
= varonce321
;
1839 var323
= "\tif (recv != NULL){";
1840 var324
= standard___standard__NativeString___to_s_with_length(var323
, 19l);
1842 varonce321
= var322
;
1845 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var322
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1847 if (likely(varonce325
!=NULL
)) {
1848 var326
= varonce325
;
1850 var327
= "\t\tPRINT_ERROR(\"` %s\\n\", recv);";
1851 var328
= standard___standard__NativeString___to_s_with_length(var327
, 30l);
1853 varonce325
= var326
;
1856 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var326
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1858 if (likely(varonce329
!=NULL
)) {
1859 var330
= varonce329
;
1861 var331
= "\t}else{";
1862 var332
= standard___standard__NativeString___to_s_with_length(var331
, 7l);
1864 varonce329
= var330
;
1867 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var330
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1869 if (likely(varonce333
!=NULL
)) {
1870 var334
= varonce333
;
1872 var335
= "\t\tPRINT_ERROR(\"` %s\\n\", procname);";
1873 var336
= standard___standard__NativeString___to_s_with_length(var335
, 34l);
1875 varonce333
= var334
;
1878 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var334
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1880 if (likely(varonce337
!=NULL
)) {
1881 var338
= varonce337
;
1884 var340
= standard___standard__NativeString___to_s_with_length(var339
, 2l);
1886 varonce337
= var338
;
1889 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var338
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1891 if (likely(varonce341
!=NULL
)) {
1892 var342
= varonce341
;
1895 var344
= standard___standard__NativeString___to_s_with_length(var343
, 1l);
1897 varonce341
= var342
;
1900 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var342
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1902 if (likely(varonce345
!=NULL
)) {
1903 var346
= varonce345
;
1905 var347
= "PRINT_ERROR(\"-------------------------------------------------\\n\");";
1906 var348
= standard___standard__NativeString___to_s_with_length(var347
, 67l);
1908 varonce345
= var346
;
1911 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var346
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1913 if (likely(varonce349
!=NULL
)) {
1914 var350
= varonce349
;
1916 var351
= "free(procname);";
1917 var352
= standard___standard__NativeString___to_s_with_length(var351
, 15l);
1919 varonce349
= var350
;
1922 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var350
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1924 if (likely(varonce353
!=NULL
)) {
1925 var354
= varonce353
;
1928 var356
= standard___standard__NativeString___to_s_with_length(var355
, 1l);
1930 varonce353
= var354
;
1933 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var354
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1935 if (likely(varonce357
!=NULL
)) {
1936 var358
= varonce357
;
1938 var359
= "#endif /* NO_STACKTRACE */";
1939 var360
= standard___standard__NativeString___to_s_with_length(var359
, 26l);
1941 varonce357
= var358
;
1944 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var358
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1948 if (likely(varonce361
!=NULL
)) {
1949 var362
= varonce361
;
1952 var364
= standard___standard__NativeString___to_s_with_length(var363
, 1l);
1954 varonce361
= var362
;
1957 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var362
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1959 if (likely(varonce365
!=NULL
)) {
1960 var366
= varonce365
;
1962 var367
= "void sig_handler(int signo){";
1963 var368
= standard___standard__NativeString___to_s_with_length(var367
, 28l);
1965 varonce365
= var366
;
1968 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var366
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1970 if (likely(varonce369
!=NULL
)) {
1971 var370
= varonce369
;
1973 var371
= "PRINT_ERROR(\"Caught signal : %s\\n\", strsignal(signo));";
1974 var372
= standard___standard__NativeString___to_s_with_length(var371
, 54l);
1976 varonce369
= var370
;
1979 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var370
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1981 if (likely(varonce373
!=NULL
)) {
1982 var374
= varonce373
;
1984 var375
= "show_backtrace();";
1985 var376
= standard___standard__NativeString___to_s_with_length(var375
, 17l);
1987 varonce373
= var374
;
1990 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var374
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
1992 if (likely(varonce377
!=NULL
)) {
1993 var378
= varonce377
;
1995 var379
= "signal(signo, SIG_DFL);";
1996 var380
= standard___standard__NativeString___to_s_with_length(var379
, 23l);
1998 varonce377
= var378
;
2001 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var378
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2003 if (likely(varonce381
!=NULL
)) {
2004 var382
= varonce381
;
2006 var383
= "kill(getpid(), signo);";
2007 var384
= standard___standard__NativeString___to_s_with_length(var383
, 22l);
2009 varonce381
= var382
;
2012 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var382
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2014 if (likely(varonce385
!=NULL
)) {
2015 var386
= varonce385
;
2018 var388
= standard___standard__NativeString___to_s_with_length(var387
, 1l);
2020 varonce385
= var386
;
2023 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var386
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2025 if (likely(varonce389
!=NULL
)) {
2026 var390
= varonce389
;
2028 var391
= "void fatal_exit(int status) {";
2029 var392
= standard___standard__NativeString___to_s_with_length(var391
, 29l);
2031 varonce389
= var390
;
2034 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var390
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2036 if (likely(varonce393
!=NULL
)) {
2037 var394
= varonce393
;
2039 var395
= "show_backtrace();";
2040 var396
= standard___standard__NativeString___to_s_with_length(var395
, 17l);
2042 varonce393
= var394
;
2045 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var394
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2047 if (likely(varonce397
!=NULL
)) {
2048 var398
= varonce397
;
2050 var399
= "exit(status);";
2051 var400
= standard___standard__NativeString___to_s_with_length(var399
, 13l);
2053 varonce397
= var398
;
2056 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var398
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2058 if (likely(varonce401
!=NULL
)) {
2059 var402
= varonce401
;
2062 var404
= standard___standard__NativeString___to_s_with_length(var403
, 1l);
2064 varonce401
= var402
;
2067 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var402
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2070 if (likely(varonce405
!=NULL
)) {
2071 var406
= varonce405
;
2073 var407
= "int nit_main(int argc, char** argv) {";
2074 var408
= standard___standard__NativeString___to_s_with_length(var407
, 37l);
2076 varonce405
= var406
;
2079 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var406
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2082 if (likely(varonce409
!=NULL
)) {
2083 var410
= varonce409
;
2085 var411
= "int main(int argc, char** argv) {";
2086 var412
= standard___standard__NativeString___to_s_with_length(var411
, 33l);
2088 varonce409
= var410
;
2091 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var410
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2094 if (likely(varonce413
!=NULL
)) {
2095 var414
= varonce413
;
2097 var415
= "signal(SIGABRT, sig_handler);";
2098 var416
= standard___standard__NativeString___to_s_with_length(var415
, 29l);
2100 varonce413
= var414
;
2103 nit___nit__AbstractCompilerVisitor___add(var_v
, var414
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2105 if (likely(varonce417
!=NULL
)) {
2106 var418
= varonce417
;
2108 var419
= "signal(SIGFPE, sig_handler);";
2109 var420
= standard___standard__NativeString___to_s_with_length(var419
, 28l);
2111 varonce417
= var418
;
2114 nit___nit__AbstractCompilerVisitor___add(var_v
, var418
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2116 if (likely(varonce421
!=NULL
)) {
2117 var422
= varonce421
;
2119 var423
= "signal(SIGILL, sig_handler);";
2120 var424
= standard___standard__NativeString___to_s_with_length(var423
, 28l);
2122 varonce421
= var422
;
2125 nit___nit__AbstractCompilerVisitor___add(var_v
, var422
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2127 if (likely(varonce425
!=NULL
)) {
2128 var426
= varonce425
;
2130 var427
= "signal(SIGINT, sig_handler);";
2131 var428
= standard___standard__NativeString___to_s_with_length(var427
, 28l);
2133 varonce425
= var426
;
2136 nit___nit__AbstractCompilerVisitor___add(var_v
, var426
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2138 if (likely(varonce429
!=NULL
)) {
2139 var430
= varonce429
;
2141 var431
= "signal(SIGTERM, sig_handler);";
2142 var432
= standard___standard__NativeString___to_s_with_length(var431
, 29l);
2144 varonce429
= var430
;
2147 nit___nit__AbstractCompilerVisitor___add(var_v
, var430
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2149 if (likely(varonce433
!=NULL
)) {
2150 var434
= varonce433
;
2152 var435
= "signal(SIGSEGV, sig_handler);";
2153 var436
= standard___standard__NativeString___to_s_with_length(var435
, 29l);
2155 varonce433
= var434
;
2158 nit___nit__AbstractCompilerVisitor___add(var_v
, var434
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2160 if (likely(varonce437
!=NULL
)) {
2161 var438
= varonce437
;
2163 var439
= "signal(SIGPIPE, sig_handler);";
2164 var440
= standard___standard__NativeString___to_s_with_length(var439
, 29l);
2166 varonce437
= var438
;
2169 nit___nit__AbstractCompilerVisitor___add(var_v
, var438
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2171 if (likely(varonce441
!=NULL
)) {
2172 var442
= varonce441
;
2174 var443
= "glob_argc = argc; glob_argv = argv;";
2175 var444
= standard___standard__NativeString___to_s_with_length(var443
, 35l);
2177 varonce441
= var442
;
2180 nit___nit__AbstractCompilerVisitor___add(var_v
, var442
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2182 if (likely(varonce445
!=NULL
)) {
2183 var446
= varonce445
;
2185 var447
= "initialize_gc_option();";
2186 var448
= standard___standard__NativeString___to_s_with_length(var447
, 23l);
2188 varonce445
= var446
;
2191 nit___nit__AbstractCompilerVisitor___add(var_v
, var446
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2193 if (likely(varonce449
!=NULL
)) {
2194 var450
= varonce449
;
2196 var451
= "initialize_nitni_global_refs();";
2197 var452
= standard___standard__NativeString___to_s_with_length(var451
, 31l);
2199 varonce449
= var450
;
2202 nit___nit__AbstractCompilerVisitor___add(var_v
, var450
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2205 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
2206 var455
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
2207 if (unlikely(var455
== NULL
)) {
2208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
2213 RET_LABEL454
:(void)0;
2217 var456
= nit__model___MModule___sys_type(var453
);
2219 var_main_type
= var456
;
2220 if (var_main_type
== NULL
) {
2221 var457
= 0; /* is null */
2223 var457
= 1; /* arg is null and recv is not */
2226 { /* Inline kernel#Object#!= (var_main_type,((val*)NULL)) on <var_main_type:nullable MClassType> */
2227 var_other
= ((val
*)NULL
);
2229 var460
= ((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)>*/
2234 RET_LABEL459
:(void)0;
2240 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
2241 var464
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
2242 if (unlikely(var464
== NULL
)) {
2243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2244 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
2248 RET_LABEL463
:(void)0;
2252 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var462) on <var462:AbstractCompiler> */
2253 var467
= var462
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var462:AbstractCompiler> */
2254 if (unlikely(var467
== NULL
)) {
2255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2256 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
2260 RET_LABEL466
:(void)0;
2263 var_mainmodule
= var465
;
2265 var468
= ((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>*/
2267 var_glob_sys
= var468
;
2268 if (unlikely(varonce469
==NULL
)) {
2269 var470
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2270 if (likely(varonce471
!=NULL
)) {
2271 var472
= varonce471
;
2273 var473
= "glob_sys = ";
2274 var474
= standard___standard__NativeString___to_s_with_length(var473
, 11l);
2276 varonce471
= var472
;
2278 ((struct instance_standard__NativeArray
*)var470
)->values
[0]=var472
;
2279 if (likely(varonce475
!=NULL
)) {
2280 var476
= varonce475
;
2283 var478
= standard___standard__NativeString___to_s_with_length(var477
, 1l);
2285 varonce475
= var476
;
2287 ((struct instance_standard__NativeArray
*)var470
)->values
[2]=var476
;
2289 var470
= varonce469
;
2293 var479
= ((val
*(*)(val
* self
))(var_glob_sys
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_glob_sys
); /* to_s on <var_glob_sys:RuntimeVariable>*/
2295 ((struct instance_standard__NativeArray
*)var470
)->values
[1]=var479
;
2297 var480
= ((val
*(*)(val
* self
))(var470
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var470
); /* native_to_s on <var470:NativeArray[String]>*/
2299 varonce469
= var470
;
2301 nit___nit__AbstractCompilerVisitor___add(var_v
, var480
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2303 if (likely(varonce481
!=NULL
)) {
2304 var482
= varonce481
;
2307 var484
= standard___standard__NativeString___to_s_with_length(var483
, 4l);
2309 varonce481
= var482
;
2312 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2313 var487
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2314 if (unlikely(var487
== NULL
)) {
2315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2320 RET_LABEL486
:(void)0;
2324 var488
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var482
, var485
);
2326 var_main_init
= var488
;
2327 if (var_main_init
== NULL
) {
2328 var489
= 0; /* is null */
2330 var489
= 1; /* arg is null and recv is not */
2333 { /* Inline kernel#Object#!= (var_main_init,((val*)NULL)) on <var_main_init:nullable MMethod> */
2334 var_other
= ((val
*)NULL
);
2336 var492
= ((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)>*/
2341 RET_LABEL491
:(void)0;
2346 var494
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2348 standard___standard__Array___with_capacity(var494
, 1l); /* Direct call array#Array#with_capacity on <var494:Array[RuntimeVariable]>*/
2352 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_495
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_495:Array[RuntimeVariable]>*/
2355 var496
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_main_init
, var_495
);
2359 if (likely(varonce498
!=NULL
)) {
2360 var499
= varonce498
;
2363 var501
= standard___standard__NativeString___to_s_with_length(var500
, 3l);
2365 varonce498
= var499
;
2368 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2369 var504
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2370 if (unlikely(var504
== NULL
)) {
2371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2372 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2376 RET_LABEL503
:(void)0;
2380 var505
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var499
, var502
);
2385 if (likely(varonce506
!=NULL
)) {
2386 var507
= varonce506
;
2389 var509
= standard___standard__NativeString___to_s_with_length(var508
, 4l);
2391 varonce506
= var507
;
2394 { /* Inline model#MClassType#mclass (var_main_type) on <var_main_type:nullable MClassType(MClassType)> */
2395 var512
= var_main_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_main_type:nullable MClassType(MClassType)> */
2396 if (unlikely(var512
== NULL
)) {
2397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
2402 RET_LABEL511
:(void)0;
2406 var513
= nit__model___MModule___try_get_primitive_method(var_mainmodule
, var507
, var510
);
2410 var_main_method
= var497
;
2411 if (var_main_method
== NULL
) {
2412 var514
= 0; /* is null */
2414 var514
= 1; /* arg is null and recv is not */
2417 { /* Inline kernel#Object#!= (var_main_method,((val*)NULL)) on <var_main_method:nullable MMethod> */
2418 var_other
= ((val
*)NULL
);
2420 var517
= ((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)>*/
2425 RET_LABEL516
:(void)0;
2430 var519
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
2432 standard___standard__Array___with_capacity(var519
, 1l); /* Direct call array#Array#with_capacity on <var519:Array[RuntimeVariable]>*/
2436 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_520
, var_glob_sys
); /* Direct call array#AbstractArray#push on <var_520:Array[RuntimeVariable]>*/
2439 var521
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_main_method
, var_520
);
2446 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
2447 var524
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
2448 if (unlikely(var524
== NULL
)) {
2449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
2454 RET_LABEL523
:(void)0;
2458 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var522) on <var522:ModelBuilder> */
2459 var527
= var522
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var522:ModelBuilder> */
2460 if (unlikely(var527
== NULL
)) {
2461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
2466 RET_LABEL526
:(void)0;
2470 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var525) on <var525:ToolContext> */
2471 var530
= var525
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var525:ToolContext> */
2472 if (unlikely(var530
== NULL
)) {
2473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
2474 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
2478 RET_LABEL529
:(void)0;
2482 { /* Inline opts#Option#value (var528) on <var528:OptionBool> */
2483 var533
= var528
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var528:OptionBool> */
2485 RET_LABEL532
:(void)0;
2488 var534
= (short int)((long)(var531
)>>2);
2490 if (likely(varonce535
!=NULL
)) {
2491 var536
= varonce535
;
2493 var537
= "long count_type_test_resolved_total = 0;";
2494 var538
= standard___standard__NativeString___to_s_with_length(var537
, 40l);
2496 varonce535
= var536
;
2499 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var536
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2501 if (likely(varonce539
!=NULL
)) {
2502 var540
= varonce539
;
2504 var541
= "long count_type_test_unresolved_total = 0;";
2505 var542
= standard___standard__NativeString___to_s_with_length(var541
, 42l);
2507 varonce539
= var540
;
2510 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var540
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2512 if (likely(varonce543
!=NULL
)) {
2513 var544
= varonce543
;
2515 var545
= "long count_type_test_skipped_total = 0;";
2516 var546
= standard___standard__NativeString___to_s_with_length(var545
, 39l);
2518 varonce543
= var544
;
2521 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var544
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2523 if (likely(varonce547
!=NULL
)) {
2524 var548
= varonce547
;
2526 var549
= "long count_type_test_total_total = 0;";
2527 var550
= standard___standard__NativeString___to_s_with_length(var549
, 37l);
2529 varonce547
= var548
;
2532 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var548
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2535 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
2536 var553
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
2537 if (unlikely(var553
== NULL
)) {
2538 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
2539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
2543 RET_LABEL552
:(void)0;
2548 var555
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_554
);
2553 var557
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_556
);
2557 var558
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_556
);
2559 var_tag559
= var558
;
2560 if (unlikely(varonce560
==NULL
)) {
2561 var561
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2562 if (likely(varonce562
!=NULL
)) {
2563 var563
= varonce562
;
2565 var564
= "long count_type_test_total_";
2566 var565
= standard___standard__NativeString___to_s_with_length(var564
, 27l);
2568 varonce562
= var563
;
2570 ((struct instance_standard__NativeArray
*)var561
)->values
[0]=var563
;
2571 if (likely(varonce566
!=NULL
)) {
2572 var567
= varonce566
;
2575 var569
= standard___standard__NativeString___to_s_with_length(var568
, 1l);
2577 varonce566
= var567
;
2579 ((struct instance_standard__NativeArray
*)var561
)->values
[2]=var567
;
2581 var561
= varonce560
;
2584 ((struct instance_standard__NativeArray
*)var561
)->values
[1]=var_tag559
;
2586 var570
= ((val
*(*)(val
* self
))(var561
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var561
); /* native_to_s on <var561:NativeArray[String]>*/
2588 varonce560
= var561
;
2590 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var570
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
2592 if (unlikely(varonce571
==NULL
)) {
2593 var572
= NEW_standard__NativeArray(9l, &type_standard__NativeArray__standard__String
);
2594 if (likely(varonce573
!=NULL
)) {
2595 var574
= varonce573
;
2597 var575
= "count_type_test_total_";
2598 var576
= standard___standard__NativeString___to_s_with_length(var575
, 22l);
2600 varonce573
= var574
;
2602 ((struct instance_standard__NativeArray
*)var572
)->values
[0]=var574
;
2603 if (likely(varonce577
!=NULL
)) {
2604 var578
= varonce577
;
2606 var579
= " = count_type_test_resolved_";
2607 var580
= standard___standard__NativeString___to_s_with_length(var579
, 28l);
2609 varonce577
= var578
;
2611 ((struct instance_standard__NativeArray
*)var572
)->values
[2]=var578
;
2612 if (likely(varonce581
!=NULL
)) {
2613 var582
= varonce581
;
2615 var583
= " + count_type_test_unresolved_";
2616 var584
= standard___standard__NativeString___to_s_with_length(var583
, 30l);
2618 varonce581
= var582
;
2620 ((struct instance_standard__NativeArray
*)var572
)->values
[4]=var582
;
2621 if (likely(varonce585
!=NULL
)) {
2622 var586
= varonce585
;
2624 var587
= " + count_type_test_skipped_";
2625 var588
= standard___standard__NativeString___to_s_with_length(var587
, 27l);
2627 varonce585
= var586
;
2629 ((struct instance_standard__NativeArray
*)var572
)->values
[6]=var586
;
2630 if (likely(varonce589
!=NULL
)) {
2631 var590
= varonce589
;
2634 var592
= standard___standard__NativeString___to_s_with_length(var591
, 1l);
2636 varonce589
= var590
;
2638 ((struct instance_standard__NativeArray
*)var572
)->values
[8]=var590
;
2640 var572
= varonce571
;
2643 ((struct instance_standard__NativeArray
*)var572
)->values
[1]=var_tag559
;
2644 ((struct instance_standard__NativeArray
*)var572
)->values
[3]=var_tag559
;
2645 ((struct instance_standard__NativeArray
*)var572
)->values
[5]=var_tag559
;
2646 ((struct instance_standard__NativeArray
*)var572
)->values
[7]=var_tag559
;
2648 var593
= ((val
*(*)(val
* self
))(var572
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var572
); /* native_to_s on <var572:NativeArray[String]>*/
2650 varonce571
= var572
;
2652 nit___nit__AbstractCompilerVisitor___add(var_v
, var593
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2654 if (unlikely(varonce594
==NULL
)) {
2655 var595
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2656 if (likely(varonce596
!=NULL
)) {
2657 var597
= varonce596
;
2659 var598
= "count_type_test_resolved_total += count_type_test_resolved_";
2660 var599
= standard___standard__NativeString___to_s_with_length(var598
, 59l);
2662 varonce596
= var597
;
2664 ((struct instance_standard__NativeArray
*)var595
)->values
[0]=var597
;
2665 if (likely(varonce600
!=NULL
)) {
2666 var601
= varonce600
;
2669 var603
= standard___standard__NativeString___to_s_with_length(var602
, 1l);
2671 varonce600
= var601
;
2673 ((struct instance_standard__NativeArray
*)var595
)->values
[2]=var601
;
2675 var595
= varonce594
;
2678 ((struct instance_standard__NativeArray
*)var595
)->values
[1]=var_tag559
;
2680 var604
= ((val
*(*)(val
* self
))(var595
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var595
); /* native_to_s on <var595:NativeArray[String]>*/
2682 varonce594
= var595
;
2684 nit___nit__AbstractCompilerVisitor___add(var_v
, var604
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2686 if (unlikely(varonce605
==NULL
)) {
2687 var606
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2688 if (likely(varonce607
!=NULL
)) {
2689 var608
= varonce607
;
2691 var609
= "count_type_test_unresolved_total += count_type_test_unresolved_";
2692 var610
= standard___standard__NativeString___to_s_with_length(var609
, 63l);
2694 varonce607
= var608
;
2696 ((struct instance_standard__NativeArray
*)var606
)->values
[0]=var608
;
2697 if (likely(varonce611
!=NULL
)) {
2698 var612
= varonce611
;
2701 var614
= standard___standard__NativeString___to_s_with_length(var613
, 1l);
2703 varonce611
= var612
;
2705 ((struct instance_standard__NativeArray
*)var606
)->values
[2]=var612
;
2707 var606
= varonce605
;
2710 ((struct instance_standard__NativeArray
*)var606
)->values
[1]=var_tag559
;
2712 var615
= ((val
*(*)(val
* self
))(var606
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var606
); /* native_to_s on <var606:NativeArray[String]>*/
2714 varonce605
= var606
;
2716 nit___nit__AbstractCompilerVisitor___add(var_v
, var615
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2718 if (unlikely(varonce616
==NULL
)) {
2719 var617
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2720 if (likely(varonce618
!=NULL
)) {
2721 var619
= varonce618
;
2723 var620
= "count_type_test_skipped_total += count_type_test_skipped_";
2724 var621
= standard___standard__NativeString___to_s_with_length(var620
, 57l);
2726 varonce618
= var619
;
2728 ((struct instance_standard__NativeArray
*)var617
)->values
[0]=var619
;
2729 if (likely(varonce622
!=NULL
)) {
2730 var623
= varonce622
;
2733 var625
= standard___standard__NativeString___to_s_with_length(var624
, 1l);
2735 varonce622
= var623
;
2737 ((struct instance_standard__NativeArray
*)var617
)->values
[2]=var623
;
2739 var617
= varonce616
;
2742 ((struct instance_standard__NativeArray
*)var617
)->values
[1]=var_tag559
;
2744 var626
= ((val
*(*)(val
* self
))(var617
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var617
); /* native_to_s on <var617:NativeArray[String]>*/
2746 varonce616
= var617
;
2748 nit___nit__AbstractCompilerVisitor___add(var_v
, var626
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2750 if (unlikely(varonce627
==NULL
)) {
2751 var628
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2752 if (likely(varonce629
!=NULL
)) {
2753 var630
= varonce629
;
2755 var631
= "count_type_test_total_total += count_type_test_total_";
2756 var632
= standard___standard__NativeString___to_s_with_length(var631
, 53l);
2758 varonce629
= var630
;
2760 ((struct instance_standard__NativeArray
*)var628
)->values
[0]=var630
;
2761 if (likely(varonce633
!=NULL
)) {
2762 var634
= varonce633
;
2765 var636
= standard___standard__NativeString___to_s_with_length(var635
, 1l);
2767 varonce633
= var634
;
2769 ((struct instance_standard__NativeArray
*)var628
)->values
[2]=var634
;
2771 var628
= varonce627
;
2774 ((struct instance_standard__NativeArray
*)var628
)->values
[1]=var_tag559
;
2776 var637
= ((val
*(*)(val
* self
))(var628
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var628
); /* native_to_s on <var628:NativeArray[String]>*/
2778 varonce627
= var628
;
2780 nit___nit__AbstractCompilerVisitor___add(var_v
, var637
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2783 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_556
); /* Direct call array#ArrayIterator#next on <var_556:ArrayIterator[String]>*/
2786 goto BREAK_label638
;
2789 BREAK_label638
: (void)0;
2791 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_556
); /* Direct call array#ArrayIterator#finish on <var_556:ArrayIterator[String]>*/
2793 if (likely(varonce639
!=NULL
)) {
2794 var640
= varonce639
;
2796 var641
= "printf(\"# dynamic count_type_test: total %l\\n\");";
2797 var642
= standard___standard__NativeString___to_s_with_length(var641
, 48l);
2799 varonce639
= var640
;
2802 nit___nit__AbstractCompilerVisitor___add(var_v
, var640
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2804 if (likely(varonce643
!=NULL
)) {
2805 var644
= varonce643
;
2807 var645
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
2808 var646
= standard___standard__NativeString___to_s_with_length(var645
, 51l);
2810 varonce643
= var644
;
2813 nit___nit__AbstractCompilerVisitor___add(var_v
, var644
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2816 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
2817 var649
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
2818 if (unlikely(var649
== NULL
)) {
2819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
2820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
2824 RET_LABEL648
:(void)0;
2828 var650
= standard__array___Collection___to_a(var647
);
2831 if (likely(varonce651
!=NULL
)) {
2832 var652
= varonce651
;
2835 var654
= standard___standard__NativeString___to_s_with_length(var653
, 5l);
2837 varonce651
= var652
;
2840 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags
, var652
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
2844 var656
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_655
);
2849 var658
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_657
);
2853 var659
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_657
);
2855 var_tag660
= var659
;
2856 if (unlikely(varonce661
==NULL
)) {
2857 var662
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2858 if (likely(varonce663
!=NULL
)) {
2859 var664
= varonce663
;
2861 var665
= "printf(\"";
2862 var666
= standard___standard__NativeString___to_s_with_length(var665
, 8l);
2864 varonce663
= var664
;
2866 ((struct instance_standard__NativeArray
*)var662
)->values
[0]=var664
;
2867 if (likely(varonce667
!=NULL
)) {
2868 var668
= varonce667
;
2871 var670
= standard___standard__NativeString___to_s_with_length(var669
, 3l);
2873 varonce667
= var668
;
2875 ((struct instance_standard__NativeArray
*)var662
)->values
[2]=var668
;
2877 var662
= varonce661
;
2880 ((struct instance_standard__NativeArray
*)var662
)->values
[1]=var_tag660
;
2882 var671
= ((val
*(*)(val
* self
))(var662
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var662
); /* native_to_s on <var662:NativeArray[String]>*/
2884 varonce661
= var662
;
2886 nit___nit__AbstractCompilerVisitor___add(var_v
, var671
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2888 if (unlikely(varonce672
==NULL
)) {
2889 var673
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2890 if (likely(varonce674
!=NULL
)) {
2891 var675
= varonce674
;
2893 var676
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
2894 var677
= standard___standard__NativeString___to_s_with_length(var676
, 50l);
2896 varonce674
= var675
;
2898 ((struct instance_standard__NativeArray
*)var673
)->values
[0]=var675
;
2899 if (likely(varonce678
!=NULL
)) {
2900 var679
= varonce678
;
2902 var680
= ", 100.0*count_type_test_resolved_";
2903 var681
= standard___standard__NativeString___to_s_with_length(var680
, 33l);
2905 varonce678
= var679
;
2907 ((struct instance_standard__NativeArray
*)var673
)->values
[2]=var679
;
2908 if (likely(varonce682
!=NULL
)) {
2909 var683
= varonce682
;
2911 var684
= "/count_type_test_total_total);";
2912 var685
= standard___standard__NativeString___to_s_with_length(var684
, 30l);
2914 varonce682
= var683
;
2916 ((struct instance_standard__NativeArray
*)var673
)->values
[4]=var683
;
2918 var673
= varonce672
;
2921 ((struct instance_standard__NativeArray
*)var673
)->values
[1]=var_tag660
;
2922 ((struct instance_standard__NativeArray
*)var673
)->values
[3]=var_tag660
;
2924 var686
= ((val
*(*)(val
* self
))(var673
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var673
); /* native_to_s on <var673:NativeArray[String]>*/
2926 varonce672
= var673
;
2928 nit___nit__AbstractCompilerVisitor___add(var_v
, var686
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2930 if (unlikely(varonce687
==NULL
)) {
2931 var688
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2932 if (likely(varonce689
!=NULL
)) {
2933 var690
= varonce689
;
2935 var691
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
2936 var692
= standard___standard__NativeString___to_s_with_length(var691
, 52l);
2938 varonce689
= var690
;
2940 ((struct instance_standard__NativeArray
*)var688
)->values
[0]=var690
;
2941 if (likely(varonce693
!=NULL
)) {
2942 var694
= varonce693
;
2944 var695
= ", 100.0*count_type_test_unresolved_";
2945 var696
= standard___standard__NativeString___to_s_with_length(var695
, 35l);
2947 varonce693
= var694
;
2949 ((struct instance_standard__NativeArray
*)var688
)->values
[2]=var694
;
2950 if (likely(varonce697
!=NULL
)) {
2951 var698
= varonce697
;
2953 var699
= "/count_type_test_total_total);";
2954 var700
= standard___standard__NativeString___to_s_with_length(var699
, 30l);
2956 varonce697
= var698
;
2958 ((struct instance_standard__NativeArray
*)var688
)->values
[4]=var698
;
2960 var688
= varonce687
;
2963 ((struct instance_standard__NativeArray
*)var688
)->values
[1]=var_tag660
;
2964 ((struct instance_standard__NativeArray
*)var688
)->values
[3]=var_tag660
;
2966 var701
= ((val
*(*)(val
* self
))(var688
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var688
); /* native_to_s on <var688:NativeArray[String]>*/
2968 varonce687
= var688
;
2970 nit___nit__AbstractCompilerVisitor___add(var_v
, var701
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2972 if (unlikely(varonce702
==NULL
)) {
2973 var703
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2974 if (likely(varonce704
!=NULL
)) {
2975 var705
= varonce704
;
2977 var706
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
2978 var707
= standard___standard__NativeString___to_s_with_length(var706
, 49l);
2980 varonce704
= var705
;
2982 ((struct instance_standard__NativeArray
*)var703
)->values
[0]=var705
;
2983 if (likely(varonce708
!=NULL
)) {
2984 var709
= varonce708
;
2986 var710
= ", 100.0*count_type_test_skipped_";
2987 var711
= standard___standard__NativeString___to_s_with_length(var710
, 32l);
2989 varonce708
= var709
;
2991 ((struct instance_standard__NativeArray
*)var703
)->values
[2]=var709
;
2992 if (likely(varonce712
!=NULL
)) {
2993 var713
= varonce712
;
2995 var714
= "/count_type_test_total_total);";
2996 var715
= standard___standard__NativeString___to_s_with_length(var714
, 30l);
2998 varonce712
= var713
;
3000 ((struct instance_standard__NativeArray
*)var703
)->values
[4]=var713
;
3002 var703
= varonce702
;
3005 ((struct instance_standard__NativeArray
*)var703
)->values
[1]=var_tag660
;
3006 ((struct instance_standard__NativeArray
*)var703
)->values
[3]=var_tag660
;
3008 var716
= ((val
*(*)(val
* self
))(var703
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var703
); /* native_to_s on <var703:NativeArray[String]>*/
3010 varonce702
= var703
;
3012 nit___nit__AbstractCompilerVisitor___add(var_v
, var716
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3014 if (unlikely(varonce717
==NULL
)) {
3015 var718
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3016 if (likely(varonce719
!=NULL
)) {
3017 var720
= varonce719
;
3019 var721
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
3020 var722
= standard___standard__NativeString___to_s_with_length(var721
, 49l);
3022 varonce719
= var720
;
3024 ((struct instance_standard__NativeArray
*)var718
)->values
[0]=var720
;
3025 if (likely(varonce723
!=NULL
)) {
3026 var724
= varonce723
;
3028 var725
= ", 100.0*count_type_test_total_";
3029 var726
= standard___standard__NativeString___to_s_with_length(var725
, 30l);
3031 varonce723
= var724
;
3033 ((struct instance_standard__NativeArray
*)var718
)->values
[2]=var724
;
3034 if (likely(varonce727
!=NULL
)) {
3035 var728
= varonce727
;
3037 var729
= "/count_type_test_total_total);";
3038 var730
= standard___standard__NativeString___to_s_with_length(var729
, 30l);
3040 varonce727
= var728
;
3042 ((struct instance_standard__NativeArray
*)var718
)->values
[4]=var728
;
3044 var718
= varonce717
;
3047 ((struct instance_standard__NativeArray
*)var718
)->values
[1]=var_tag660
;
3048 ((struct instance_standard__NativeArray
*)var718
)->values
[3]=var_tag660
;
3050 var731
= ((val
*(*)(val
* self
))(var718
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var718
); /* native_to_s on <var718:NativeArray[String]>*/
3052 varonce717
= var718
;
3054 nit___nit__AbstractCompilerVisitor___add(var_v
, var731
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3057 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_657
); /* Direct call array#ArrayIterator#next on <var_657:ArrayIterator[String]>*/
3060 goto BREAK_label732
;
3063 BREAK_label732
: (void)0;
3065 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_657
); /* Direct call array#ArrayIterator#finish on <var_657:ArrayIterator[String]>*/
3070 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3071 var735
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3072 if (unlikely(var735
== NULL
)) {
3073 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3074 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
3078 RET_LABEL734
:(void)0;
3082 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var733) on <var733:ModelBuilder> */
3083 var738
= var733
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var733:ModelBuilder> */
3084 if (unlikely(var738
== NULL
)) {
3085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3090 RET_LABEL737
:(void)0;
3094 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (var736) on <var736:ToolContext> */
3095 var741
= var736
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <var736:ToolContext> */
3096 if (unlikely(var741
== NULL
)) {
3097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
3098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 62);
3102 RET_LABEL740
:(void)0;
3106 { /* Inline opts#Option#value (var739) on <var739:OptionBool> */
3107 var744
= var739
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var739:OptionBool> */
3109 RET_LABEL743
:(void)0;
3112 var745
= (short int)((long)(var742
)>>2);
3114 if (likely(varonce746
!=NULL
)) {
3115 var747
= varonce746
;
3117 var748
= "long count_invoke_total;";
3118 var749
= standard___standard__NativeString___to_s_with_length(var748
, 24l);
3120 varonce746
= var747
;
3123 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var747
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
3125 if (likely(varonce750
!=NULL
)) {
3126 var751
= varonce750
;
3128 var752
= "count_invoke_total = count_invoke_by_tables + count_invoke_by_direct + count_invoke_by_inline;";
3129 var753
= standard___standard__NativeString___to_s_with_length(var752
, 94l);
3131 varonce750
= var751
;
3134 nit___nit__AbstractCompilerVisitor___add(var_v
, var751
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3136 if (likely(varonce754
!=NULL
)) {
3137 var755
= varonce754
;
3139 var756
= "printf(\"# dynamic count_invocation: total %ld\\n\", count_invoke_total);";
3140 var757
= standard___standard__NativeString___to_s_with_length(var756
, 70l);
3142 varonce754
= var755
;
3145 nit___nit__AbstractCompilerVisitor___add(var_v
, var755
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3147 if (likely(varonce758
!=NULL
)) {
3148 var759
= varonce758
;
3150 var760
= "printf(\"by table: %ld (%.2f%%)\\n\", count_invoke_by_tables, 100.0*count_invoke_by_tables/count_invoke_total);";
3151 var761
= standard___standard__NativeString___to_s_with_length(var760
, 108l);
3153 varonce758
= var759
;
3156 nit___nit__AbstractCompilerVisitor___add(var_v
, var759
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3158 if (likely(varonce762
!=NULL
)) {
3159 var763
= varonce762
;
3161 var764
= "printf(\"direct: %ld (%.2f%%)\\n\", count_invoke_by_direct, 100.0*count_invoke_by_direct/count_invoke_total);";
3162 var765
= standard___standard__NativeString___to_s_with_length(var764
, 108l);
3164 varonce762
= var763
;
3167 nit___nit__AbstractCompilerVisitor___add(var_v
, var763
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3169 if (likely(varonce766
!=NULL
)) {
3170 var767
= varonce766
;
3172 var768
= "printf(\"inlined: %ld (%.2f%%)\\n\", count_invoke_by_inline, 100.0*count_invoke_by_inline/count_invoke_total);";
3173 var769
= standard___standard__NativeString___to_s_with_length(var768
, 108l);
3175 varonce766
= var767
;
3178 nit___nit__AbstractCompilerVisitor___add(var_v
, var767
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3183 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3184 var772
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3185 if (unlikely(var772
== NULL
)) {
3186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
3191 RET_LABEL771
:(void)0;
3195 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var770) on <var770:ModelBuilder> */
3196 var775
= var770
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var770:ModelBuilder> */
3197 if (unlikely(var775
== NULL
)) {
3198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
3203 RET_LABEL774
:(void)0;
3207 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var773) on <var773:ToolContext> */
3208 var778
= var773
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var773:ToolContext> */
3209 if (unlikely(var778
== NULL
)) {
3210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
3211 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
3215 RET_LABEL777
:(void)0;
3219 { /* Inline opts#Option#value (var776) on <var776:OptionBool> */
3220 var781
= var776
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var776:OptionBool> */
3222 RET_LABEL780
:(void)0;
3225 var782
= (short int)((long)(var779
)>>2);
3227 if (likely(varonce783
!=NULL
)) {
3228 var784
= varonce783
;
3230 var785
= "printf(\"# dynamic attribute reads: %ld\\n\", count_attr_reads);";
3231 var786
= standard___standard__NativeString___to_s_with_length(var785
, 61l);
3233 varonce783
= var784
;
3236 nit___nit__AbstractCompilerVisitor___add(var_v
, var784
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3238 if (likely(varonce787
!=NULL
)) {
3239 var788
= varonce787
;
3241 var789
= "printf(\"# dynamic isset checks: %ld\\n\", count_isset_checks);";
3242 var790
= standard___standard__NativeString___to_s_with_length(var789
, 60l);
3244 varonce787
= var788
;
3247 nit___nit__AbstractCompilerVisitor___add(var_v
, var788
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3251 if (likely(varonce791
!=NULL
)) {
3252 var792
= varonce791
;
3254 var793
= "return 0;";
3255 var794
= standard___standard__NativeString___to_s_with_length(var793
, 9l);
3257 varonce791
= var792
;
3260 nit___nit__AbstractCompilerVisitor___add(var_v
, var792
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3262 if (likely(varonce795
!=NULL
)) {
3263 var796
= varonce795
;
3266 var798
= standard___standard__NativeString___to_s_with_length(var797
, 1l);
3268 varonce795
= var796
;
3271 nit___nit__AbstractCompilerVisitor___add(var_v
, var796
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3274 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3275 var801
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3276 if (unlikely(var801
== NULL
)) {
3277 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3278 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
3282 RET_LABEL800
:(void)0;
3286 { /* Inline mmodule#MModule#in_importation (var799) on <var799:MModule> */
3287 var804
= var799
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var799:MModule> */
3288 if (unlikely(var804
== NULL
)) {
3289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
3294 RET_LABEL803
:(void)0;
3298 var805
= poset___poset__POSetElement___greaters(var802
);
3302 var807
= ((val
*(*)(val
* self
))((((long)var_806
&3)?class_info
[((long)var_806
&3)]:var_806
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_806
); /* iterator on <var_806:Collection[MModule]>*/
3307 var809
= ((short int(*)(val
* self
))((((long)var_808
&3)?class_info
[((long)var_808
&3)]:var_808
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_808
); /* is_ok on <var_808:Iterator[MModule]>*/
3311 var810
= ((val
*(*)(val
* self
))((((long)var_808
&3)?class_info
[((long)var_808
&3)]:var_808
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_808
); /* item on <var_808:Iterator[MModule]>*/
3314 if (likely(varonce811
!=NULL
)) {
3315 var812
= varonce811
;
3318 var814
= standard___standard__NativeString___to_s_with_length(var813
, 5l);
3320 varonce811
= var812
;
3323 var815
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_m
);
3326 var816
= ((val
*(*)(val
* self
, val
* p0
))(var812
->class->vft
[COLOR_standard__string__String___43d
]))(var812
, var815
); /* + on <var812:String>*/
3329 if (unlikely(varonce817
==NULL
)) {
3330 var818
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
3331 if (likely(varonce819
!=NULL
)) {
3332 var820
= varonce819
;
3334 var821
= "const char ";
3335 var822
= standard___standard__NativeString___to_s_with_length(var821
, 11l);
3337 varonce819
= var820
;
3339 ((struct instance_standard__NativeArray
*)var818
)->values
[0]=var820
;
3340 if (likely(varonce823
!=NULL
)) {
3341 var824
= varonce823
;
3344 var826
= standard___standard__NativeString___to_s_with_length(var825
, 6l);
3346 varonce823
= var824
;
3348 ((struct instance_standard__NativeArray
*)var818
)->values
[2]=var824
;
3349 if (likely(varonce827
!=NULL
)) {
3350 var828
= varonce827
;
3353 var830
= standard___standard__NativeString___to_s_with_length(var829
, 2l);
3355 varonce827
= var828
;
3357 ((struct instance_standard__NativeArray
*)var818
)->values
[4]=var828
;
3359 var818
= varonce817
;
3362 ((struct instance_standard__NativeArray
*)var818
)->values
[1]=var_f
;
3364 { /* Inline mmodule#MModule#location (var_m) on <var_m:MModule> */
3365 var833
= var_m
->attrs
[COLOR_nit__mmodule__MModule___location
].val
; /* _location on <var_m:MModule> */
3366 if (unlikely(var833
== NULL
)) {
3367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
3368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 90);
3372 RET_LABEL832
:(void)0;
3376 { /* Inline location#Location#file (var831) on <var831:Location> */
3377 var836
= var831
->attrs
[COLOR_nit__location__Location___file
].val
; /* _file on <var831:Location> */
3379 RET_LABEL835
:(void)0;
3382 if (var834
== NULL
) {
3383 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3384 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 913);
3387 { /* Inline location#SourceFile#filename (var834) on <var834:nullable SourceFile> */
3388 if (unlikely(var834
== NULL
)) {
3389 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
3393 var839
= var834
->attrs
[COLOR_nit__location__SourceFile___filename
].val
; /* _filename on <var834:nullable SourceFile> */
3394 if (unlikely(var839
== NULL
)) {
3395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
3396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location
, 22);
3400 RET_LABEL838
:(void)0;
3404 var840
= standard___standard__Text___escape_to_c(var837
);
3406 ((struct instance_standard__NativeArray
*)var818
)->values
[3]=var840
;
3408 var841
= ((val
*(*)(val
* self
))(var818
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var818
); /* native_to_s on <var818:NativeArray[String]>*/
3410 varonce817
= var818
;
3412 nit___nit__AbstractCompilerVisitor___add(var_v
, var841
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3414 if (unlikely(varonce842
==NULL
)) {
3415 var843
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3416 if (likely(varonce844
!=NULL
)) {
3417 var845
= varonce844
;
3419 var846
= "extern const char ";
3420 var847
= standard___standard__NativeString___to_s_with_length(var846
, 18l);
3422 varonce844
= var845
;
3424 ((struct instance_standard__NativeArray
*)var843
)->values
[0]=var845
;
3425 if (likely(varonce848
!=NULL
)) {
3426 var849
= varonce848
;
3429 var851
= standard___standard__NativeString___to_s_with_length(var850
, 3l);
3431 varonce848
= var849
;
3433 ((struct instance_standard__NativeArray
*)var843
)->values
[2]=var849
;
3435 var843
= varonce842
;
3438 ((struct instance_standard__NativeArray
*)var843
)->values
[1]=var_f
;
3440 var852
= ((val
*(*)(val
* self
))(var843
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var843
); /* native_to_s on <var843:NativeArray[String]>*/
3442 varonce842
= var843
;
3444 nit___nit__AbstractCompiler___provide_declaration(self
, var_f
, var852
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:AbstractCompiler>*/
3447 ((void(*)(val
* self
))((((long)var_808
&3)?class_info
[((long)var_808
&3)]:var_808
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_808
); /* next on <var_808:Iterator[MModule]>*/
3450 goto BREAK_label853
;
3453 BREAK_label853
: (void)0;
3455 ((void(*)(val
* self
))((((long)var_808
&3)?class_info
[((long)var_808
&3)]:var_808
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_808
); /* finish on <var_808:Iterator[MModule]>*/
3459 /* method abstract_compiler#AbstractCompiler#compile_nitni_global_ref_functions for (self: AbstractCompiler) */
3460 void nit___nit__AbstractCompiler___compile_nitni_global_ref_functions(val
* self
) {
3461 val
* var
/* : AbstractCompilerVisitor */;
3462 val
* var_v
/* var v: AbstractCompilerVisitor */;
3463 static val
* varonce
;
3464 val
* var1
/* : String */;
3465 char* var2
/* : NativeString */;
3466 val
* var3
/* : FlatString */;
3468 var
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:AbstractCompiler>*/
3471 if (likely(varonce
!=NULL
)) {
3474 var2
= "struct nitni_global_ref_list_t *nitni_global_ref_list;\nvoid initialize_nitni_global_refs() {\n\tnitni_global_ref_list = (struct nitni_global_ref_list_t*)nit_alloc(sizeof(struct nitni_global_ref_list_t));\n\tnitni_global_ref_list->head = NULL;\n\tnitni_global_ref_list->tail = NULL;\n}\n\nvoid nitni_global_ref_add( struct nitni_ref *ref ) {\n\tif ( nitni_global_ref_list->head == NULL ) {\n\t\tnitni_global_ref_list->head = ref;\n\t\tref->prev = NULL;\n\t} else {\n\t\tnitni_global_ref_list->tail->next = ref;\n\t\tref->prev = nitni_global_ref_list->tail;\n\t}\n\tnitni_global_ref_list->tail = ref;\n\n\tref->next = NULL;\n}\n\nvoid nitni_global_ref_remove( struct nitni_ref *ref ) {\n\tif ( ref->prev == NULL ) {\n\t\tnitni_global_ref_list->head = ref->next;\n\t} else {\n\t\tref->prev->next = ref->next;\n\t}\n\n\tif ( ref->next == NULL ) {\n\t\tnitni_global_ref_list->tail = ref->prev;\n\t} else {\n\t\tref->next->prev = ref->prev;\n\t}\n}\n\nextern void nitni_global_ref_incr( struct nitni_ref *ref ) {\n\tif ( ref->count == 0 ) /* not registered */\n\t{\n\t\t/* add to list */\n\t\tnitni_global_ref_add( ref );\n\t}\n\n\tref->count ++;\n}\n\nextern void nitni_global_ref_decr( struct nitni_ref *ref ) {\n\tif ( ref->count == 1 ) /* was last reference */\n\t{\n\t\t/* remove from list */\n\t\tnitni_global_ref_remove( ref );\n\t}\n\n\tref->count --;\n}\n";
3475 var3
= standard___standard__NativeString___to_s_with_length(var2
, 1260l);
3480 nit___nit__AbstractCompilerVisitor___add(var_v
, var1
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
3484 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
3485 val
* nit___nit__AbstractCompiler___extern_bodies(val
* self
) {
3486 val
* var
/* : Array[ExternFile] */;
3487 val
* var1
/* : Array[ExternFile] */;
3488 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
3489 if (unlikely(var1
== NULL
)) {
3490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
3498 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: AbstractCompiler): Array[String] */
3499 val
* nit___nit__AbstractCompiler___files_to_copy(val
* self
) {
3500 val
* var
/* : Array[String] */;
3501 val
* var1
/* : Array[String] */;
3502 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <self:AbstractCompiler> */
3503 if (unlikely(var1
== NULL
)) {
3504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 982);
3512 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
3513 val
* nit___nit__AbstractCompiler___seen_extern(val
* self
) {
3514 val
* var
/* : ArraySet[String] */;
3515 val
* var1
/* : ArraySet[String] */;
3516 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___seen_extern
].val
; /* _seen_extern on <self:AbstractCompiler> */
3517 if (unlikely(var1
== NULL
)) {
3518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _seen_extern");
3519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 985);
3526 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
3527 void nit___nit__AbstractCompiler___generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3528 short int var
/* : Bool */;
3531 const struct type
* type_struct
;
3532 const char* var_class_name
;
3533 val
* var_v
/* var v: AbstractCompilerVisitor */;
3534 val
* var_recv
/* var recv: RuntimeVariable */;
3535 val
* var_mtype
/* var mtype: MClassType */;
3536 val
* var1
/* : MModule */;
3537 val
* var3
/* : MModule */;
3538 val
* var4
/* : Set[MClassDef] */;
3539 val
* var5
/* : Array[nullable Object] */;
3540 val
* var_cds
/* var cds: Array[MClassDef] */;
3541 val
* var6
/* : MModule */;
3542 val
* var8
/* : MModule */;
3543 val
* var_
/* var : Array[MClassDef] */;
3544 val
* var9
/* : ArrayIterator[nullable Object] */;
3545 val
* var_10
/* var : ArrayIterator[MClassDef] */;
3546 short int var11
/* : Bool */;
3547 val
* var12
/* : nullable Object */;
3548 val
* var_cd
/* var cd: MClassDef */;
3549 val
* var13
/* : ModelBuilder */;
3550 val
* var15
/* : ModelBuilder */;
3551 val
* var16
/* : Array[AAttrPropdef] */;
3552 val
* var_17
/* var : Array[AAttrPropdef] */;
3553 val
* var18
/* : ArrayIterator[nullable Object] */;
3554 val
* var_19
/* var : ArrayIterator[AAttrPropdef] */;
3555 short int var20
/* : Bool */;
3556 val
* var21
/* : nullable Object */;
3557 val
* var_npropdef
/* var npropdef: AAttrPropdef */;
3558 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
3559 /* <p0:AbstractCompilerVisitor> isa VISITOR */
3560 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
3561 cltype
= type_struct
->color
;
3562 idtype
= type_struct
->id
;
3563 if(cltype
>= p0
->type
->table_size
) {
3566 var
= p0
->type
->type_table
[cltype
] == idtype
;
3568 if (unlikely(!var
)) {
3569 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3570 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
3571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 988);
3578 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3579 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3580 if (unlikely(var3
== NULL
)) {
3581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3582 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
3590 var4
= nit___nit__MClassType___MType__collect_mclassdefs(var_mtype
, var1
);
3593 var5
= standard__array___Collection___to_a(var4
);
3597 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
3598 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
3599 if (unlikely(var8
== NULL
)) {
3600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
3609 nit__model___MModule___linearize_mclassdefs(var6
, var_cds
); /* Direct call model#MModule#linearize_mclassdefs on <var6:MModule>*/
3613 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
3618 var11
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_10
);
3622 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_10
);
3626 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
3627 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
3628 if (unlikely(var15
== NULL
)) {
3629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
3630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
3634 RET_LABEL14
:(void)0;
3638 var16
= nit__modelize_property___ModelBuilder___collect_attr_propdef(var13
, var_cd
);
3642 var18
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_17
);
3647 var20
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_19
);
3651 var21
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_19
);
3653 var_npropdef
= var21
;
3655 nit__separate_compiler___AAttrPropdef___init_expr(var_npropdef
, var_v
, var_recv
); /* Direct call separate_compiler#AAttrPropdef#init_expr on <var_npropdef:AAttrPropdef>*/
3658 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_19
); /* Direct call array#ArrayIterator#next on <var_19:ArrayIterator[AAttrPropdef]>*/
3664 BREAK_label
: (void)0;
3666 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_19
); /* Direct call array#ArrayIterator#finish on <var_19:ArrayIterator[AAttrPropdef]>*/
3669 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_10
); /* Direct call array#ArrayIterator#next on <var_10:ArrayIterator[MClassDef]>*/
3675 BREAK_label22
: (void)0;
3677 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_10
); /* Direct call array#ArrayIterator#finish on <var_10:ArrayIterator[MClassDef]>*/
3681 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
3682 val
* nit___nit__AbstractCompiler___count_type_test_tags(val
* self
) {
3683 val
* var
/* : Array[String] */;
3684 val
* var1
/* : Array[String] */;
3685 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3686 if (unlikely(var1
== NULL
)) {
3687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
3695 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
3696 val
* nit___nit__AbstractCompiler___count_type_test_resolved(val
* self
) {
3697 val
* var
/* : HashMap[String, Int] */;
3698 val
* var1
/* : HashMap[String, Int] */;
3699 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
3700 if (unlikely(var1
== NULL
)) {
3701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
3702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
3709 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
3710 val
* nit___nit__AbstractCompiler___count_type_test_unresolved(val
* self
) {
3711 val
* var
/* : HashMap[String, Int] */;
3712 val
* var1
/* : HashMap[String, Int] */;
3713 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
3714 if (unlikely(var1
== NULL
)) {
3715 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
3716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
3723 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
3724 val
* nit___nit__AbstractCompiler___count_type_test_skipped(val
* self
) {
3725 val
* var
/* : HashMap[String, Int] */;
3726 val
* var1
/* : HashMap[String, Int] */;
3727 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
3728 if (unlikely(var1
== NULL
)) {
3729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
3730 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
3737 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
3738 val
* nit___nit__AbstractCompiler___init_count_type_test_tags(val
* self
) {
3739 val
* var
/* : HashMap[String, Int] */;
3740 val
* var1
/* : HashMap[String, Int] */;
3741 val
* var_res
/* var res: HashMap[String, Int] */;
3742 val
* var2
/* : Array[String] */;
3743 val
* var4
/* : Array[String] */;
3744 val
* var_
/* var : Array[String] */;
3745 val
* var5
/* : ArrayIterator[nullable Object] */;
3746 val
* var_6
/* var : ArrayIterator[String] */;
3747 short int var7
/* : Bool */;
3748 val
* var8
/* : nullable Object */;
3749 val
* var_tag
/* var tag: String */;
3750 val
* var9
/* : nullable Object */;
3751 var1
= NEW_standard__HashMap(&type_standard__HashMap__standard__String__standard__Int
);
3753 standard___standard__HashMap___standard__kernel__Object__init(var1
); /* Direct call hash_collection#HashMap#init on <var1:HashMap[String, Int]>*/
3757 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
3758 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
3759 if (unlikely(var4
== NULL
)) {
3760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
3761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
3770 var5
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
3775 var7
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6
);
3779 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6
);
3783 var9
= (val
*)(0l<<2|1);
3784 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_res
, var_tag
, var9
); /* Direct call hash_collection#HashMap#[]= on <var_res:HashMap[String, Int]>*/
3787 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[String]>*/
3793 BREAK_label
: (void)0;
3795 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6
); /* Direct call array#ArrayIterator#finish on <var_6:ArrayIterator[String]>*/
3802 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
3803 void nit___nit__AbstractCompiler___display_stats(val
* self
) {
3804 val
* var
/* : ModelBuilder */;
3805 val
* var2
/* : ModelBuilder */;
3806 val
* var3
/* : ToolContext */;
3807 val
* var5
/* : ToolContext */;
3808 val
* var6
/* : OptionBool */;
3809 val
* var8
/* : OptionBool */;
3810 val
* var9
/* : nullable Object */;
3811 val
* var11
/* : nullable Object */;
3812 short int var12
/* : Bool */;
3813 val
* var13
/* : Sys */;
3814 static val
* varonce
;
3815 val
* var14
/* : String */;
3816 char* var15
/* : NativeString */;
3817 val
* var16
/* : FlatString */;
3818 val
* var17
/* : Sys */;
3819 static val
* varonce18
;
3820 val
* var19
/* : String */;
3821 char* var20
/* : NativeString */;
3822 val
* var21
/* : FlatString */;
3823 val
* var22
/* : HashMap[String, Int] */;
3824 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
3825 val
* var23
/* : HashMap[String, Int] */;
3826 val
* var25
/* : HashMap[String, Int] */;
3827 static val
* varonce26
;
3828 val
* var27
/* : String */;
3829 char* var28
/* : NativeString */;
3830 val
* var29
/* : FlatString */;
3831 val
* var30
/* : nullable Object */;
3832 val
* var31
/* : HashMap[String, Int] */;
3833 val
* var33
/* : HashMap[String, Int] */;
3834 static val
* varonce34
;
3835 val
* var35
/* : String */;
3836 char* var36
/* : NativeString */;
3837 val
* var37
/* : FlatString */;
3838 val
* var38
/* : nullable Object */;
3839 val
* var39
/* : HashMap[String, Int] */;
3840 val
* var41
/* : HashMap[String, Int] */;
3841 static val
* varonce42
;
3842 val
* var43
/* : String */;
3843 char* var44
/* : NativeString */;
3844 val
* var45
/* : FlatString */;
3845 val
* var46
/* : nullable Object */;
3846 static val
* varonce47
;
3847 val
* var48
/* : String */;
3848 char* var49
/* : NativeString */;
3849 val
* var50
/* : FlatString */;
3850 val
* var51
/* : nullable Object */;
3851 val
* var52
/* : Array[String] */;
3852 val
* var54
/* : Array[String] */;
3853 val
* var_
/* var : Array[String] */;
3854 val
* var55
/* : ArrayIterator[nullable Object] */;
3855 val
* var_56
/* var : ArrayIterator[String] */;
3856 short int var57
/* : Bool */;
3857 val
* var58
/* : nullable Object */;
3858 val
* var_tag
/* var tag: String */;
3859 val
* var59
/* : HashMap[String, Int] */;
3860 val
* var61
/* : HashMap[String, Int] */;
3861 val
* var62
/* : nullable Object */;
3862 val
* var63
/* : HashMap[String, Int] */;
3863 val
* var65
/* : HashMap[String, Int] */;
3864 val
* var66
/* : nullable Object */;
3865 long var67
/* : Int */;
3866 short int var69
/* : Bool */;
3869 const char* var_class_name
;
3870 long var70
/* : Int */;
3871 long var71
/* : Int */;
3872 long var72
/* : Int */;
3873 val
* var73
/* : HashMap[String, Int] */;
3874 val
* var75
/* : HashMap[String, Int] */;
3875 val
* var76
/* : nullable Object */;
3876 long var77
/* : Int */;
3877 short int var79
/* : Bool */;
3880 const char* var_class_name82
;
3881 long var83
/* : Int */;
3882 long var84
/* : Int */;
3883 val
* var85
/* : nullable Object */;
3884 val
* var86
/* : HashMap[String, Int] */;
3885 val
* var88
/* : HashMap[String, Int] */;
3886 val
* var_89
/* var : HashMap[String, Int] */;
3887 static val
* varonce90
;
3888 val
* var91
/* : String */;
3889 char* var92
/* : NativeString */;
3890 val
* var93
/* : FlatString */;
3891 val
* var_94
/* var : String */;
3892 val
* var95
/* : nullable Object */;
3893 val
* var96
/* : HashMap[String, Int] */;
3894 val
* var98
/* : HashMap[String, Int] */;
3895 val
* var99
/* : nullable Object */;
3896 long var100
/* : Int */;
3897 short int var102
/* : Bool */;
3900 const char* var_class_name105
;
3901 long var106
/* : Int */;
3902 long var107
/* : Int */;
3903 long var108
/* : Int */;
3904 val
* var109
/* : nullable Object */;
3905 val
* var110
/* : HashMap[String, Int] */;
3906 val
* var112
/* : HashMap[String, Int] */;
3907 val
* var_113
/* var : HashMap[String, Int] */;
3908 static val
* varonce114
;
3909 val
* var115
/* : String */;
3910 char* var116
/* : NativeString */;
3911 val
* var117
/* : FlatString */;
3912 val
* var_118
/* var : String */;
3913 val
* var119
/* : nullable Object */;
3914 val
* var120
/* : HashMap[String, Int] */;
3915 val
* var122
/* : HashMap[String, Int] */;
3916 val
* var123
/* : nullable Object */;
3917 long var124
/* : Int */;
3918 short int var126
/* : Bool */;
3921 const char* var_class_name129
;
3922 long var130
/* : Int */;
3923 long var131
/* : Int */;
3924 long var132
/* : Int */;
3925 val
* var133
/* : nullable Object */;
3926 val
* var134
/* : HashMap[String, Int] */;
3927 val
* var136
/* : HashMap[String, Int] */;
3928 val
* var_137
/* var : HashMap[String, Int] */;
3929 static val
* varonce138
;
3930 val
* var139
/* : String */;
3931 char* var140
/* : NativeString */;
3932 val
* var141
/* : FlatString */;
3933 val
* var_142
/* var : String */;
3934 val
* var143
/* : nullable Object */;
3935 val
* var144
/* : HashMap[String, Int] */;
3936 val
* var146
/* : HashMap[String, Int] */;
3937 val
* var147
/* : nullable Object */;
3938 long var148
/* : Int */;
3939 short int var150
/* : Bool */;
3942 const char* var_class_name153
;
3943 long var154
/* : Int */;
3944 long var155
/* : Int */;
3945 long var156
/* : Int */;
3946 val
* var157
/* : nullable Object */;
3947 val
* var_158
/* var : HashMap[String, Int] */;
3948 static val
* varonce159
;
3949 val
* var160
/* : String */;
3950 char* var161
/* : NativeString */;
3951 val
* var162
/* : FlatString */;
3952 val
* var_163
/* var : String */;
3953 val
* var164
/* : nullable Object */;
3954 val
* var165
/* : nullable Object */;
3955 long var166
/* : Int */;
3956 short int var168
/* : Bool */;
3959 const char* var_class_name171
;
3960 long var172
/* : Int */;
3961 long var173
/* : Int */;
3962 long var174
/* : Int */;
3963 val
* var175
/* : nullable Object */;
3964 static val
* varonce176
;
3965 val
* var177
/* : String */;
3966 char* var178
/* : NativeString */;
3967 val
* var179
/* : FlatString */;
3968 val
* var180
/* : nullable Object */;
3969 long var181
/* : Int */;
3970 long var_count_type_test
/* var count_type_test: Int */;
3971 val
* var182
/* : Array[String] */;
3972 val
* var184
/* : Array[String] */;
3973 val
* var185
/* : Array[nullable Object] */;
3974 val
* var_tags
/* var tags: Array[String] */;
3975 static val
* varonce186
;
3976 val
* var187
/* : String */;
3977 char* var188
/* : NativeString */;
3978 val
* var189
/* : FlatString */;
3979 val
* var_190
/* var : Array[String] */;
3980 val
* var191
/* : ArrayIterator[nullable Object] */;
3981 val
* var_192
/* var : ArrayIterator[String] */;
3982 short int var193
/* : Bool */;
3983 val
* var194
/* : nullable Object */;
3984 val
* var_tag195
/* var tag: String */;
3985 val
* var196
/* : Sys */;
3986 val
* var197
/* : Array[Object] */;
3987 val
* var198
/* : NativeArray[Object] */;
3988 val
* var199
/* : Sys */;
3989 val
* var201
/* : NativeArray[String] */;
3990 static val
* varonce200
;
3991 static val
* varonce202
;
3992 val
* var203
/* : String */;
3993 char* var204
/* : NativeString */;
3994 val
* var205
/* : FlatString */;
3995 static val
* varonce206
;
3996 val
* var207
/* : String */;
3997 char* var208
/* : NativeString */;
3998 val
* var209
/* : FlatString */;
3999 static val
* varonce210
;
4000 val
* var211
/* : String */;
4001 char* var212
/* : NativeString */;
4002 val
* var213
/* : FlatString */;
4003 val
* var214
/* : HashMap[String, Int] */;
4004 val
* var216
/* : HashMap[String, Int] */;
4005 val
* var217
/* : nullable Object */;
4006 val
* var218
/* : String */;
4007 long var219
/* : Int */;
4008 val
* var220
/* : Sys */;
4009 val
* var221
/* : HashMap[String, Int] */;
4010 val
* var223
/* : HashMap[String, Int] */;
4011 val
* var224
/* : nullable Object */;
4012 val
* var225
/* : String */;
4013 long var226
/* : Int */;
4014 val
* var227
/* : String */;
4015 val
* var228
/* : Array[Object] */;
4016 val
* var229
/* : NativeArray[Object] */;
4017 val
* var230
/* : Sys */;
4018 val
* var232
/* : NativeArray[String] */;
4019 static val
* varonce231
;
4020 static val
* varonce233
;
4021 val
* var234
/* : String */;
4022 char* var235
/* : NativeString */;
4023 val
* var236
/* : FlatString */;
4024 static val
* varonce237
;
4025 val
* var238
/* : String */;
4026 char* var239
/* : NativeString */;
4027 val
* var240
/* : FlatString */;
4028 static val
* varonce241
;
4029 val
* var242
/* : String */;
4030 char* var243
/* : NativeString */;
4031 val
* var244
/* : FlatString */;
4032 val
* var245
/* : HashMap[String, Int] */;
4033 val
* var247
/* : HashMap[String, Int] */;
4034 val
* var248
/* : nullable Object */;
4035 val
* var249
/* : String */;
4036 long var250
/* : Int */;
4037 val
* var251
/* : Sys */;
4038 val
* var252
/* : HashMap[String, Int] */;
4039 val
* var254
/* : HashMap[String, Int] */;
4040 val
* var255
/* : nullable Object */;
4041 val
* var256
/* : String */;
4042 long var257
/* : Int */;
4043 val
* var258
/* : String */;
4044 val
* var259
/* : Array[Object] */;
4045 val
* var260
/* : NativeArray[Object] */;
4046 val
* var261
/* : Sys */;
4047 val
* var263
/* : NativeArray[String] */;
4048 static val
* varonce262
;
4049 static val
* varonce264
;
4050 val
* var265
/* : String */;
4051 char* var266
/* : NativeString */;
4052 val
* var267
/* : FlatString */;
4053 static val
* varonce268
;
4054 val
* var269
/* : String */;
4055 char* var270
/* : NativeString */;
4056 val
* var271
/* : FlatString */;
4057 static val
* varonce272
;
4058 val
* var273
/* : String */;
4059 char* var274
/* : NativeString */;
4060 val
* var275
/* : FlatString */;
4061 val
* var276
/* : HashMap[String, Int] */;
4062 val
* var278
/* : HashMap[String, Int] */;
4063 val
* var279
/* : nullable Object */;
4064 val
* var280
/* : String */;
4065 long var281
/* : Int */;
4066 val
* var282
/* : Sys */;
4067 val
* var283
/* : HashMap[String, Int] */;
4068 val
* var285
/* : HashMap[String, Int] */;
4069 val
* var286
/* : nullable Object */;
4070 val
* var287
/* : String */;
4071 long var288
/* : Int */;
4072 val
* var289
/* : String */;
4073 val
* var290
/* : Array[Object] */;
4074 val
* var291
/* : NativeArray[Object] */;
4075 val
* var292
/* : Sys */;
4076 val
* var294
/* : NativeArray[String] */;
4077 static val
* varonce293
;
4078 static val
* varonce295
;
4079 val
* var296
/* : String */;
4080 char* var297
/* : NativeString */;
4081 val
* var298
/* : FlatString */;
4082 static val
* varonce299
;
4083 val
* var300
/* : String */;
4084 char* var301
/* : NativeString */;
4085 val
* var302
/* : FlatString */;
4086 static val
* varonce303
;
4087 val
* var304
/* : String */;
4088 char* var305
/* : NativeString */;
4089 val
* var306
/* : FlatString */;
4090 val
* var307
/* : nullable Object */;
4091 val
* var308
/* : String */;
4092 long var309
/* : Int */;
4093 val
* var310
/* : Sys */;
4094 val
* var311
/* : nullable Object */;
4095 val
* var312
/* : String */;
4096 long var313
/* : Int */;
4097 val
* var314
/* : String */;
4098 val
* var315
/* : Array[Object] */;
4099 val
* var316
/* : NativeArray[Object] */;
4100 val
* var317
/* : Sys */;
4101 static val
* varonce318
;
4102 val
* var319
/* : String */;
4103 char* var320
/* : NativeString */;
4104 val
* var321
/* : FlatString */;
4106 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
4107 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
4108 if (unlikely(var2
== NULL
)) {
4109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4110 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
4118 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
4119 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
4120 if (unlikely(var5
== NULL
)) {
4121 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4122 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4130 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var3) on <var3:ToolContext> */
4131 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var3:ToolContext> */
4132 if (unlikely(var8
== NULL
)) {
4133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
4134 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
4142 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
4143 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
4145 RET_LABEL10
:(void)0;
4148 var12
= (short int)((long)(var9
)>>2);
4151 if (likely(varonce
!=NULL
)) {
4154 var15
= "# static count_type_test";
4155 var16
= standard___standard__NativeString___to_s_with_length(var15
, 24l);
4160 standard__file___Sys___print(var13
, var14
); /* Direct call file#Sys#print on <var13:Sys>*/
4163 if (likely(varonce18
!=NULL
)) {
4166 var20
= "\tresolved:\tunresolved\tskipped\ttotal";
4167 var21
= standard___standard__NativeString___to_s_with_length(var20
, 35l);
4172 standard__file___Sys___print(var17
, var19
); /* Direct call file#Sys#print on <var17:Sys>*/
4175 var22
= nit___nit__AbstractCompiler___init_count_type_test_tags(self
);
4177 var_count_type_test_total
= var22
;
4179 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4180 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4181 if (unlikely(var25
== NULL
)) {
4182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4183 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4187 RET_LABEL24
:(void)0;
4190 if (likely(varonce26
!=NULL
)) {
4194 var29
= standard___standard__NativeString___to_s_with_length(var28
, 5l);
4199 var30
= (val
*)(0l<<2|1);
4200 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var23
, var27
, var30
); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, Int]>*/
4203 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4204 var33
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4205 if (unlikely(var33
== NULL
)) {
4206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4207 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4211 RET_LABEL32
:(void)0;
4214 if (likely(varonce34
!=NULL
)) {
4218 var37
= standard___standard__NativeString___to_s_with_length(var36
, 5l);
4223 var38
= (val
*)(0l<<2|1);
4224 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var31
, var35
, var38
); /* Direct call hash_collection#HashMap#[]= on <var31:HashMap[String, Int]>*/
4227 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4228 var41
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4229 if (unlikely(var41
== NULL
)) {
4230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4231 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4235 RET_LABEL40
:(void)0;
4238 if (likely(varonce42
!=NULL
)) {
4242 var45
= standard___standard__NativeString___to_s_with_length(var44
, 5l);
4247 var46
= (val
*)(0l<<2|1);
4248 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var39
, var43
, var46
); /* Direct call hash_collection#HashMap#[]= on <var39:HashMap[String, Int]>*/
4250 if (likely(varonce47
!=NULL
)) {
4254 var50
= standard___standard__NativeString___to_s_with_length(var49
, 5l);
4259 var51
= (val
*)(0l<<2|1);
4260 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total
, var48
, var51
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4263 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4264 var54
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4265 if (unlikely(var54
== NULL
)) {
4266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
4271 RET_LABEL53
:(void)0;
4276 var55
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
4281 var57
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_56
);
4285 var58
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_56
);
4289 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4290 var61
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4291 if (unlikely(var61
== NULL
)) {
4292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4297 RET_LABEL60
:(void)0;
4301 var62
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var59
, var_tag
);
4304 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4305 var65
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4306 if (unlikely(var65
== NULL
)) {
4307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4312 RET_LABEL64
:(void)0;
4316 var66
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var63
, var_tag
);
4319 { /* Inline kernel#Int#+ (var62,var66) on <var62:nullable Object(Int)> */
4320 /* Covariant cast for argument 0 (i) <var66:nullable Object(Int)> isa OTHER */
4321 /* <var66:nullable Object(Int)> isa OTHER */
4322 var69
= 1; /* easy <var66:nullable Object(Int)> isa OTHER*/
4323 if (unlikely(!var69
)) {
4324 var_class_name
= var66
== NULL ?
"null" : (((long)var66
&3)?type_info
[((long)var66
&3)]:var66
->type
)->name
;
4325 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4326 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4329 var70
= (long)(var62
)>>2;
4330 var71
= (long)(var66
)>>2;
4331 var72
= var70
+ var71
;
4334 RET_LABEL68
:(void)0;
4338 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4339 var75
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4340 if (unlikely(var75
== NULL
)) {
4341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4342 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4346 RET_LABEL74
:(void)0;
4350 var76
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var73
, var_tag
);
4353 { /* Inline kernel#Int#+ (var67,var76) on <var67:Int> */
4354 /* Covariant cast for argument 0 (i) <var76:nullable Object(Int)> isa OTHER */
4355 /* <var76:nullable Object(Int)> isa OTHER */
4356 var79
= 1; /* easy <var76:nullable Object(Int)> isa OTHER*/
4357 if (unlikely(!var79
)) {
4358 var_class_name82
= var76
== NULL ?
"null" : (((long)var76
&3)?type_info
[((long)var76
&3)]:var76
->type
)->name
;
4359 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82
);
4360 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4363 var83
= (long)(var76
)>>2;
4364 var84
= var67
+ var83
;
4367 RET_LABEL78
:(void)0;
4371 var85
= (val
*)(var77
<<2|1);
4372 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_count_type_test_total
, var_tag
, var85
); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
4375 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4376 var88
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4377 if (unlikely(var88
== NULL
)) {
4378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4383 RET_LABEL87
:(void)0;
4387 if (likely(varonce90
!=NULL
)) {
4391 var93
= standard___standard__NativeString___to_s_with_length(var92
, 5l);
4397 var95
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_89
, var_94
);
4400 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4401 var98
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4402 if (unlikely(var98
== NULL
)) {
4403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4404 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4408 RET_LABEL97
:(void)0;
4412 var99
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var96
, var_tag
);
4415 { /* Inline kernel#Int#+ (var95,var99) on <var95:nullable Object(Int)> */
4416 /* Covariant cast for argument 0 (i) <var99:nullable Object(Int)> isa OTHER */
4417 /* <var99:nullable Object(Int)> isa OTHER */
4418 var102
= 1; /* easy <var99:nullable Object(Int)> isa OTHER*/
4419 if (unlikely(!var102
)) {
4420 var_class_name105
= var99
== NULL ?
"null" : (((long)var99
&3)?type_info
[((long)var99
&3)]:var99
->type
)->name
;
4421 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105
);
4422 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4425 var106
= (long)(var95
)>>2;
4426 var107
= (long)(var99
)>>2;
4427 var108
= var106
+ var107
;
4430 RET_LABEL101
:(void)0;
4434 var109
= (val
*)(var100
<<2|1);
4435 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_89
, var_94
, var109
); /* Direct call hash_collection#HashMap#[]= on <var_89:HashMap[String, Int]>*/
4438 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4439 var112
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4440 if (unlikely(var112
== NULL
)) {
4441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4446 RET_LABEL111
:(void)0;
4450 if (likely(varonce114
!=NULL
)) {
4451 var115
= varonce114
;
4454 var117
= standard___standard__NativeString___to_s_with_length(var116
, 5l);
4456 varonce114
= var115
;
4460 var119
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_113
, var_118
);
4463 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4464 var122
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4465 if (unlikely(var122
== NULL
)) {
4466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4467 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4471 RET_LABEL121
:(void)0;
4475 var123
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var120
, var_tag
);
4478 { /* Inline kernel#Int#+ (var119,var123) on <var119:nullable Object(Int)> */
4479 /* Covariant cast for argument 0 (i) <var123:nullable Object(Int)> isa OTHER */
4480 /* <var123:nullable Object(Int)> isa OTHER */
4481 var126
= 1; /* easy <var123:nullable Object(Int)> isa OTHER*/
4482 if (unlikely(!var126
)) {
4483 var_class_name129
= var123
== NULL ?
"null" : (((long)var123
&3)?type_info
[((long)var123
&3)]:var123
->type
)->name
;
4484 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name129
);
4485 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4488 var130
= (long)(var119
)>>2;
4489 var131
= (long)(var123
)>>2;
4490 var132
= var130
+ var131
;
4493 RET_LABEL125
:(void)0;
4497 var133
= (val
*)(var124
<<2|1);
4498 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_113
, var_118
, var133
); /* Direct call hash_collection#HashMap#[]= on <var_113:HashMap[String, Int]>*/
4501 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4502 var136
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4503 if (unlikely(var136
== NULL
)) {
4504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4505 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4509 RET_LABEL135
:(void)0;
4513 if (likely(varonce138
!=NULL
)) {
4514 var139
= varonce138
;
4517 var141
= standard___standard__NativeString___to_s_with_length(var140
, 5l);
4519 varonce138
= var139
;
4523 var143
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_137
, var_142
);
4526 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4527 var146
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4528 if (unlikely(var146
== NULL
)) {
4529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4534 RET_LABEL145
:(void)0;
4538 var147
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var144
, var_tag
);
4541 { /* Inline kernel#Int#+ (var143,var147) on <var143:nullable Object(Int)> */
4542 /* Covariant cast for argument 0 (i) <var147:nullable Object(Int)> isa OTHER */
4543 /* <var147:nullable Object(Int)> isa OTHER */
4544 var150
= 1; /* easy <var147:nullable Object(Int)> isa OTHER*/
4545 if (unlikely(!var150
)) {
4546 var_class_name153
= var147
== NULL ?
"null" : (((long)var147
&3)?type_info
[((long)var147
&3)]:var147
->type
)->name
;
4547 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name153
);
4548 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4551 var154
= (long)(var143
)>>2;
4552 var155
= (long)(var147
)>>2;
4553 var156
= var154
+ var155
;
4556 RET_LABEL149
:(void)0;
4560 var157
= (val
*)(var148
<<2|1);
4561 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_137
, var_142
, var157
); /* Direct call hash_collection#HashMap#[]= on <var_137:HashMap[String, Int]>*/
4563 var_158
= var_count_type_test_total
;
4564 if (likely(varonce159
!=NULL
)) {
4565 var160
= varonce159
;
4568 var162
= standard___standard__NativeString___to_s_with_length(var161
, 5l);
4570 varonce159
= var160
;
4574 var164
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_158
, var_163
);
4577 var165
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag
);
4580 { /* Inline kernel#Int#+ (var164,var165) on <var164:nullable Object(Int)> */
4581 /* Covariant cast for argument 0 (i) <var165:nullable Object(Int)> isa OTHER */
4582 /* <var165:nullable Object(Int)> isa OTHER */
4583 var168
= 1; /* easy <var165:nullable Object(Int)> isa OTHER*/
4584 if (unlikely(!var168
)) {
4585 var_class_name171
= var165
== NULL ?
"null" : (((long)var165
&3)?type_info
[((long)var165
&3)]:var165
->type
)->name
;
4586 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name171
);
4587 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
4590 var172
= (long)(var164
)>>2;
4591 var173
= (long)(var165
)>>2;
4592 var174
= var172
+ var173
;
4595 RET_LABEL167
:(void)0;
4599 var175
= (val
*)(var166
<<2|1);
4600 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_158
, var_163
, var175
); /* Direct call hash_collection#HashMap#[]= on <var_158:HashMap[String, Int]>*/
4603 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_56
); /* Direct call array#ArrayIterator#next on <var_56:ArrayIterator[String]>*/
4609 BREAK_label
: (void)0;
4611 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_56
); /* Direct call array#ArrayIterator#finish on <var_56:ArrayIterator[String]>*/
4613 if (likely(varonce176
!=NULL
)) {
4614 var177
= varonce176
;
4617 var179
= standard___standard__NativeString___to_s_with_length(var178
, 5l);
4619 varonce176
= var177
;
4622 var180
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var177
);
4624 var181
= (long)(var180
)>>2;
4625 var_count_type_test
= var181
;
4627 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
4628 var184
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_tags
].val
; /* _count_type_test_tags on <self:AbstractCompiler> */
4629 if (unlikely(var184
== NULL
)) {
4630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
4631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1014);
4635 RET_LABEL183
:(void)0;
4639 var185
= standard__array___Collection___to_a(var182
);
4642 if (likely(varonce186
!=NULL
)) {
4643 var187
= varonce186
;
4646 var189
= standard___standard__NativeString___to_s_with_length(var188
, 5l);
4648 varonce186
= var187
;
4651 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_tags
, var187
); /* Direct call array#Array#add on <var_tags:Array[String]>*/
4655 var191
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_190
);
4660 var193
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_192
);
4664 var194
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_192
);
4666 var_tag195
= var194
;
4668 var197
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4669 { /* var197 = array_instance Array[Object] */
4670 var198
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object
);
4671 ((struct instance_standard__NativeArray
*)var198
)->values
[0] = (val
*) var_tag195
;
4673 ((void(*)(val
* self
, val
* p0
, long p1
))(var197
->class->vft
[COLOR_standard__array__Array__with_native
]))(var197
, var198
, 1l); /* with_native on <var197:Array[Object]>*/
4677 standard__file___Sys___printn(var196
, var197
); /* Direct call file#Sys#printn on <var196:Sys>*/
4680 if (unlikely(varonce200
==NULL
)) {
4681 var201
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4682 if (likely(varonce202
!=NULL
)) {
4683 var203
= varonce202
;
4686 var205
= standard___standard__NativeString___to_s_with_length(var204
, 1l);
4688 varonce202
= var203
;
4690 ((struct instance_standard__NativeArray
*)var201
)->values
[0]=var203
;
4691 if (likely(varonce206
!=NULL
)) {
4692 var207
= varonce206
;
4695 var209
= standard___standard__NativeString___to_s_with_length(var208
, 2l);
4697 varonce206
= var207
;
4699 ((struct instance_standard__NativeArray
*)var201
)->values
[2]=var207
;
4700 if (likely(varonce210
!=NULL
)) {
4701 var211
= varonce210
;
4704 var213
= standard___standard__NativeString___to_s_with_length(var212
, 2l);
4706 varonce210
= var211
;
4708 ((struct instance_standard__NativeArray
*)var201
)->values
[4]=var211
;
4710 var201
= varonce200
;
4714 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4715 var216
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4716 if (unlikely(var216
== NULL
)) {
4717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4718 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4722 RET_LABEL215
:(void)0;
4726 var217
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var214
, var_tag195
);
4728 var219
= (long)(var217
)>>2;
4729 var218
= standard__string___Int___Object__to_s(var219
);
4730 ((struct instance_standard__NativeArray
*)var201
)->values
[1]=var218
;
4733 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
4734 var223
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <self:AbstractCompiler> */
4735 if (unlikely(var223
== NULL
)) {
4736 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
4737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1015);
4741 RET_LABEL222
:(void)0;
4745 var224
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var221
, var_tag195
);
4748 var226
= (long)(var224
)>>2;
4749 var225
= counter___standard__Sys___div(var220
, var226
, var_count_type_test
);
4751 ((struct instance_standard__NativeArray
*)var201
)->values
[3]=var225
;
4753 var227
= ((val
*(*)(val
* self
))(var201
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var201
); /* native_to_s on <var201:NativeArray[String]>*/
4755 varonce200
= var201
;
4756 var228
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4757 { /* var228 = array_instance Array[Object] */
4758 var229
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object
);
4759 ((struct instance_standard__NativeArray
*)var229
)->values
[0] = (val
*) var227
;
4761 ((void(*)(val
* self
, val
* p0
, long p1
))(var228
->class->vft
[COLOR_standard__array__Array__with_native
]))(var228
, var229
, 1l); /* with_native on <var228:Array[Object]>*/
4765 standard__file___Sys___printn(var199
, var228
); /* Direct call file#Sys#printn on <var199:Sys>*/
4768 if (unlikely(varonce231
==NULL
)) {
4769 var232
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4770 if (likely(varonce233
!=NULL
)) {
4771 var234
= varonce233
;
4774 var236
= standard___standard__NativeString___to_s_with_length(var235
, 1l);
4776 varonce233
= var234
;
4778 ((struct instance_standard__NativeArray
*)var232
)->values
[0]=var234
;
4779 if (likely(varonce237
!=NULL
)) {
4780 var238
= varonce237
;
4783 var240
= standard___standard__NativeString___to_s_with_length(var239
, 2l);
4785 varonce237
= var238
;
4787 ((struct instance_standard__NativeArray
*)var232
)->values
[2]=var238
;
4788 if (likely(varonce241
!=NULL
)) {
4789 var242
= varonce241
;
4792 var244
= standard___standard__NativeString___to_s_with_length(var243
, 2l);
4794 varonce241
= var242
;
4796 ((struct instance_standard__NativeArray
*)var232
)->values
[4]=var242
;
4798 var232
= varonce231
;
4802 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4803 var247
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4804 if (unlikely(var247
== NULL
)) {
4805 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4806 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4810 RET_LABEL246
:(void)0;
4814 var248
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var245
, var_tag195
);
4816 var250
= (long)(var248
)>>2;
4817 var249
= standard__string___Int___Object__to_s(var250
);
4818 ((struct instance_standard__NativeArray
*)var232
)->values
[1]=var249
;
4821 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
4822 var254
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <self:AbstractCompiler> */
4823 if (unlikely(var254
== NULL
)) {
4824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
4825 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1016);
4829 RET_LABEL253
:(void)0;
4833 var255
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var252
, var_tag195
);
4836 var257
= (long)(var255
)>>2;
4837 var256
= counter___standard__Sys___div(var251
, var257
, var_count_type_test
);
4839 ((struct instance_standard__NativeArray
*)var232
)->values
[3]=var256
;
4841 var258
= ((val
*(*)(val
* self
))(var232
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var232
); /* native_to_s on <var232:NativeArray[String]>*/
4843 varonce231
= var232
;
4844 var259
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4845 { /* var259 = array_instance Array[Object] */
4846 var260
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object
);
4847 ((struct instance_standard__NativeArray
*)var260
)->values
[0] = (val
*) var258
;
4849 ((void(*)(val
* self
, val
* p0
, long p1
))(var259
->class->vft
[COLOR_standard__array__Array__with_native
]))(var259
, var260
, 1l); /* with_native on <var259:Array[Object]>*/
4853 standard__file___Sys___printn(var230
, var259
); /* Direct call file#Sys#printn on <var230:Sys>*/
4856 if (unlikely(varonce262
==NULL
)) {
4857 var263
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4858 if (likely(varonce264
!=NULL
)) {
4859 var265
= varonce264
;
4862 var267
= standard___standard__NativeString___to_s_with_length(var266
, 1l);
4864 varonce264
= var265
;
4866 ((struct instance_standard__NativeArray
*)var263
)->values
[0]=var265
;
4867 if (likely(varonce268
!=NULL
)) {
4868 var269
= varonce268
;
4871 var271
= standard___standard__NativeString___to_s_with_length(var270
, 2l);
4873 varonce268
= var269
;
4875 ((struct instance_standard__NativeArray
*)var263
)->values
[2]=var269
;
4876 if (likely(varonce272
!=NULL
)) {
4877 var273
= varonce272
;
4880 var275
= standard___standard__NativeString___to_s_with_length(var274
, 2l);
4882 varonce272
= var273
;
4884 ((struct instance_standard__NativeArray
*)var263
)->values
[4]=var273
;
4886 var263
= varonce262
;
4890 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4891 var278
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4892 if (unlikely(var278
== NULL
)) {
4893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4898 RET_LABEL277
:(void)0;
4902 var279
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var276
, var_tag195
);
4904 var281
= (long)(var279
)>>2;
4905 var280
= standard__string___Int___Object__to_s(var281
);
4906 ((struct instance_standard__NativeArray
*)var263
)->values
[1]=var280
;
4909 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
4910 var285
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <self:AbstractCompiler> */
4911 if (unlikely(var285
== NULL
)) {
4912 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
4913 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1017);
4917 RET_LABEL284
:(void)0;
4921 var286
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var283
, var_tag195
);
4924 var288
= (long)(var286
)>>2;
4925 var287
= counter___standard__Sys___div(var282
, var288
, var_count_type_test
);
4927 ((struct instance_standard__NativeArray
*)var263
)->values
[3]=var287
;
4929 var289
= ((val
*(*)(val
* self
))(var263
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var263
); /* native_to_s on <var263:NativeArray[String]>*/
4931 varonce262
= var263
;
4932 var290
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4933 { /* var290 = array_instance Array[Object] */
4934 var291
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object
);
4935 ((struct instance_standard__NativeArray
*)var291
)->values
[0] = (val
*) var289
;
4937 ((void(*)(val
* self
, val
* p0
, long p1
))(var290
->class->vft
[COLOR_standard__array__Array__with_native
]))(var290
, var291
, 1l); /* with_native on <var290:Array[Object]>*/
4941 standard__file___Sys___printn(var261
, var290
); /* Direct call file#Sys#printn on <var261:Sys>*/
4944 if (unlikely(varonce293
==NULL
)) {
4945 var294
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
4946 if (likely(varonce295
!=NULL
)) {
4947 var296
= varonce295
;
4950 var298
= standard___standard__NativeString___to_s_with_length(var297
, 1l);
4952 varonce295
= var296
;
4954 ((struct instance_standard__NativeArray
*)var294
)->values
[0]=var296
;
4955 if (likely(varonce299
!=NULL
)) {
4956 var300
= varonce299
;
4959 var302
= standard___standard__NativeString___to_s_with_length(var301
, 2l);
4961 varonce299
= var300
;
4963 ((struct instance_standard__NativeArray
*)var294
)->values
[2]=var300
;
4964 if (likely(varonce303
!=NULL
)) {
4965 var304
= varonce303
;
4968 var306
= standard___standard__NativeString___to_s_with_length(var305
, 2l);
4970 varonce303
= var304
;
4972 ((struct instance_standard__NativeArray
*)var294
)->values
[4]=var304
;
4974 var294
= varonce293
;
4978 var307
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag195
);
4980 var309
= (long)(var307
)>>2;
4981 var308
= standard__string___Int___Object__to_s(var309
);
4982 ((struct instance_standard__NativeArray
*)var294
)->values
[1]=var308
;
4985 var311
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_count_type_test_total
, var_tag195
);
4988 var313
= (long)(var311
)>>2;
4989 var312
= counter___standard__Sys___div(var310
, var313
, var_count_type_test
);
4991 ((struct instance_standard__NativeArray
*)var294
)->values
[3]=var312
;
4993 var314
= ((val
*(*)(val
* self
))(var294
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var294
); /* native_to_s on <var294:NativeArray[String]>*/
4995 varonce293
= var294
;
4996 var315
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4997 { /* var315 = array_instance Array[Object] */
4998 var316
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object
);
4999 ((struct instance_standard__NativeArray
*)var316
)->values
[0] = (val
*) var314
;
5001 ((void(*)(val
* self
, val
* p0
, long p1
))(var315
->class->vft
[COLOR_standard__array__Array__with_native
]))(var315
, var316
, 1l); /* with_native on <var315:Array[Object]>*/
5005 standard__file___Sys___printn(var292
, var315
); /* Direct call file#Sys#printn on <var292:Sys>*/
5008 if (likely(varonce318
!=NULL
)) {
5009 var319
= varonce318
;
5012 var321
= standard___standard__NativeString___to_s_with_length(var320
, 0l);
5014 varonce318
= var319
;
5017 standard__file___Sys___print(var317
, var319
); /* Direct call file#Sys#print on <var317:Sys>*/
5020 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_192
); /* Direct call array#ArrayIterator#next on <var_192:ArrayIterator[String]>*/
5023 goto BREAK_label322
;
5026 BREAK_label322
: (void)0;
5028 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_192
); /* Direct call array#ArrayIterator#finish on <var_192:ArrayIterator[String]>*/
5034 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
5035 void nit___nit__AbstractCompiler___finalize_ffi_for_module(val
* self
, val
* p0
) {
5036 val
* var_mmodule
/* var mmodule: MModule */;
5039 nit__light___MModule___finalize_ffi(var_mmodule
, self
); /* Direct call light#MModule#finalize_ffi on <var_mmodule:MModule>*/
5043 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
5044 val
* nit___nit__CodeFile___name(val
* self
) {
5045 val
* var
/* : String */;
5046 val
* var1
/* : String */;
5047 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <self:CodeFile> */
5048 if (unlikely(var1
== NULL
)) {
5049 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
5050 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1073);
5057 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
5058 void nit___nit__CodeFile___name_61d(val
* self
, val
* p0
) {
5059 self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
= p0
; /* _name on <self:CodeFile> */
5062 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
5063 val
* nit___nit__CodeFile___writers(val
* self
) {
5064 val
* var
/* : Array[CodeWriter] */;
5065 val
* var1
/* : Array[CodeWriter] */;
5066 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <self:CodeFile> */
5067 if (unlikely(var1
== NULL
)) {
5068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5069 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1074);
5076 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
5077 val
* nit___nit__CodeFile___required_declarations(val
* self
) {
5078 val
* var
/* : HashSet[String] */;
5079 val
* var1
/* : HashSet[String] */;
5080 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <self:CodeFile> */
5081 if (unlikely(var1
== NULL
)) {
5082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
5083 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1075);
5090 /* method abstract_compiler#CodeFile#init for (self: CodeFile) */
5091 void nit___nit__CodeFile___standard__kernel__Object__init(val
* self
) {
5093 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__CodeFile___standard__kernel__Object__init
]))(self
); /* init on <self:CodeFile>*/
5097 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
5098 val
* nit___nit__CodeWriter___file(val
* self
) {
5099 val
* var
/* : CodeFile */;
5100 val
* var1
/* : CodeFile */;
5101 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5102 if (unlikely(var1
== NULL
)) {
5103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5104 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1080);
5111 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
5112 void nit___nit__CodeWriter___file_61d(val
* self
, val
* p0
) {
5113 self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
= p0
; /* _file on <self:CodeWriter> */
5116 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
5117 val
* nit___nit__CodeWriter___lines(val
* self
) {
5118 val
* var
/* : List[String] */;
5119 val
* var1
/* : List[String] */;
5120 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <self:CodeWriter> */
5121 if (unlikely(var1
== NULL
)) {
5122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
5123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1081);
5130 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
5131 val
* nit___nit__CodeWriter___decl_lines(val
* self
) {
5132 val
* var
/* : List[String] */;
5133 val
* var1
/* : List[String] */;
5134 var1
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5135 if (unlikely(var1
== NULL
)) {
5136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5137 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
5144 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
5145 void nit___nit__CodeWriter___add_decl(val
* self
, val
* p0
) {
5146 val
* var_s
/* var s: String */;
5147 val
* var
/* : List[String] */;
5148 val
* var2
/* : List[String] */;
5151 { /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:CodeWriter> */
5152 var2
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <self:CodeWriter> */
5153 if (unlikely(var2
== NULL
)) {
5154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
5155 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
5163 standard___standard__Sequence___SimpleCollection__add(var
, var_s
); /* Direct call abstract_collection#Sequence#add on <var:List[String]>*/
5167 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter) */
5168 void nit___nit__CodeWriter___standard__kernel__Object__init(val
* self
) {
5169 val
* var
/* : CodeFile */;
5170 val
* var2
/* : CodeFile */;
5171 val
* var3
/* : Array[CodeWriter] */;
5172 val
* var5
/* : Array[CodeWriter] */;
5174 { /* Inline abstract_compiler#CodeWriter#file (self) on <self:CodeWriter> */
5175 var2
= self
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <self:CodeWriter> */
5176 if (unlikely(var2
== NULL
)) {
5177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
5178 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1080);
5186 { /* Inline abstract_compiler#CodeFile#writers (var) on <var:CodeFile> */
5187 var5
= var
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var:CodeFile> */
5188 if (unlikely(var5
== NULL
)) {
5189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
5190 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1074);
5198 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array#Array#add on <var3:Array[CodeWriter]>*/
5202 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
5203 val
* nit___nit__AbstractCompilerVisitor___compiler(val
* self
) {
5204 val
* var
/* : AbstractCompiler */;
5205 val
* var1
/* : AbstractCompiler */;
5206 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5207 if (unlikely(var1
== NULL
)) {
5208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5209 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5216 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
5217 void nit___nit__AbstractCompilerVisitor___compiler_61d(val
* self
, val
* p0
) {
5218 short int var
/* : Bool */;
5221 const struct type
* type_struct
;
5222 const char* var_class_name
;
5223 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
5224 /* <p0:AbstractCompiler> isa COMPILER */
5225 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__COMPILER
];
5226 cltype
= type_struct
->color
;
5227 idtype
= type_struct
->id
;
5228 if(cltype
>= p0
->type
->table_size
) {
5231 var
= p0
->type
->type_table
[cltype
] == idtype
;
5233 if (unlikely(!var
)) {
5234 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5235 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
5236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5239 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
= p0
; /* _compiler on <self:AbstractCompilerVisitor> */
5242 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
5243 val
* nit___nit__AbstractCompilerVisitor___current_node(val
* self
) {
5244 val
* var
/* : nullable ANode */;
5245 val
* var1
/* : nullable ANode */;
5246 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
5251 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
5252 void nit___nit__AbstractCompilerVisitor___current_node_61d(val
* self
, val
* p0
) {
5253 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
= p0
; /* _current_node on <self:AbstractCompilerVisitor> */
5256 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable StaticFrame */
5257 val
* nit___nit__AbstractCompilerVisitor___frame(val
* self
) {
5258 val
* var
/* : nullable StaticFrame */;
5259 val
* var1
/* : nullable StaticFrame */;
5260 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
5265 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable StaticFrame) */
5266 void nit___nit__AbstractCompilerVisitor___frame_61d(val
* self
, val
* p0
) {
5267 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
= p0
; /* _frame on <self:AbstractCompilerVisitor> */
5270 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
5271 val
* nit___nit__AbstractCompilerVisitor___object_type(val
* self
) {
5272 val
* var
/* : MClassType */;
5273 val
* var1
/* : AbstractCompiler */;
5274 val
* var3
/* : AbstractCompiler */;
5275 val
* var4
/* : MModule */;
5276 val
* var6
/* : MModule */;
5277 val
* var7
/* : MClassType */;
5279 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5280 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5281 if (unlikely(var3
== NULL
)) {
5282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5291 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
5292 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
5293 if (unlikely(var6
== NULL
)) {
5294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
5303 var7
= nit__model___MModule___object_type(var4
);
5310 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
5311 val
* nit___nit__AbstractCompilerVisitor___bool_type(val
* self
) {
5312 val
* var
/* : MClassType */;
5313 val
* var1
/* : AbstractCompiler */;
5314 val
* var3
/* : AbstractCompiler */;
5315 val
* var4
/* : MModule */;
5316 val
* var6
/* : MModule */;
5317 val
* var7
/* : MClassType */;
5319 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5320 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5321 if (unlikely(var3
== NULL
)) {
5322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5331 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
5332 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
5333 if (unlikely(var6
== NULL
)) {
5334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
5343 var7
= nit__model___MModule___bool_type(var4
);
5350 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
5351 val
* nit___nit__AbstractCompilerVisitor___writer(val
* self
) {
5352 val
* var
/* : CodeWriter */;
5353 val
* var1
/* : CodeWriter */;
5354 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
5355 if (unlikely(var1
== NULL
)) {
5356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
5357 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1117);
5364 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
5365 void nit___nit__AbstractCompilerVisitor___writer_61d(val
* self
, val
* p0
) {
5366 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
= p0
; /* _writer on <self:AbstractCompilerVisitor> */
5369 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor) */
5370 void nit___nit__AbstractCompilerVisitor___standard__kernel__Object__init(val
* self
) {
5371 val
* var
/* : CodeWriter */;
5372 val
* var1
/* : AbstractCompiler */;
5373 val
* var3
/* : AbstractCompiler */;
5374 val
* var4
/* : List[CodeFile] */;
5375 val
* var6
/* : List[CodeFile] */;
5376 val
* var7
/* : nullable Object */;
5377 var
= NEW_nit__CodeWriter(&type_nit__CodeWriter
);
5379 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5380 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5381 if (unlikely(var3
== NULL
)) {
5382 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5383 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5391 { /* Inline abstract_compiler#AbstractCompiler#files (var1) on <var1:AbstractCompiler> */
5392 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var1:AbstractCompiler> */
5393 if (unlikely(var6
== NULL
)) {
5394 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
5395 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
5403 var7
= standard___standard__List___standard__abstract_collection__SequenceRead__last(var4
);
5406 ((void(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_nit__abstract_compiler__CodeWriter__file_61d
]))(var
, var7
); /* file= on <var:CodeWriter>*/
5409 ((void(*)(val
* self
))(var
->class->vft
[COLOR_standard__kernel__Object__init
]))(var
); /* init on <var:CodeWriter>*/
5412 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var) on <self:AbstractCompilerVisitor> */
5413 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
= var
; /* _writer on <self:AbstractCompilerVisitor> */
5419 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
5420 val
* nit___nit__AbstractCompilerVisitor___get_property(val
* self
, val
* p0
, val
* p1
) {
5421 val
* var
/* : MMethod */;
5422 val
* var_name
/* var name: String */;
5423 val
* var_recv
/* var recv: MType */;
5424 short int var1
/* : Bool */;
5427 val
* var2
/* : AbstractCompiler */;
5428 val
* var4
/* : AbstractCompiler */;
5429 val
* var5
/* : ModelBuilder */;
5430 val
* var7
/* : ModelBuilder */;
5431 val
* var8
/* : nullable ANode */;
5432 val
* var10
/* : nullable ANode */;
5433 val
* var11
/* : MClass */;
5434 val
* var13
/* : MClass */;
5435 val
* var14
/* : AbstractCompiler */;
5436 val
* var16
/* : AbstractCompiler */;
5437 val
* var17
/* : MModule */;
5438 val
* var19
/* : MModule */;
5439 val
* var20
/* : MMethod */;
5442 /* <var_recv:MType> isa MClassType */
5443 cltype
= type_nit__MClassType
.color
;
5444 idtype
= type_nit__MClassType
.id
;
5445 if(cltype
>= var_recv
->type
->table_size
) {
5448 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
5450 if (unlikely(!var1
)) {
5451 PRINT_ERROR("Runtime error: %s", "Assert failed");
5452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1127);
5456 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5457 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5458 if (unlikely(var4
== NULL
)) {
5459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5468 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
5469 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var2:AbstractCompiler> */
5470 if (unlikely(var7
== NULL
)) {
5471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
5480 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
5481 var10
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
5487 { /* Inline model#MClassType#mclass (var_recv) on <var_recv:MType(MClassType)> */
5488 var13
= var_recv
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_recv:MType(MClassType)> */
5489 if (unlikely(var13
== NULL
)) {
5490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
5495 RET_LABEL12
:(void)0;
5499 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
5500 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
5501 if (unlikely(var16
== NULL
)) {
5502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
5507 RET_LABEL15
:(void)0;
5511 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler> */
5512 var19
= var14
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var14:AbstractCompiler> */
5513 if (unlikely(var19
== NULL
)) {
5514 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5515 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
5519 RET_LABEL18
:(void)0;
5523 var20
= nit___nit__ModelBuilder___force_get_primitive_method(var5
, var8
, var_name
, var11
, var17
);
5530 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
5531 val
* nit___nit__AbstractCompilerVisitor___compile_callsite(val
* self
, val
* p0
, val
* p1
) {
5532 val
* var
/* : nullable RuntimeVariable */;
5533 val
* var_callsite
/* var callsite: CallSite */;
5534 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
5535 val
* var1
/* : MMethodDef */;
5536 val
* var3
/* : MMethodDef */;
5537 val
* var4
/* : Array[MProperty] */;
5538 val
* var6
/* : Array[MProperty] */;
5539 val
* var_initializers
/* var initializers: Array[MProperty] */;
5540 short int var7
/* : Bool */;
5541 short int var8
/* : Bool */;
5542 val
* var9
/* : nullable Object */;
5543 val
* var_recv
/* var recv: RuntimeVariable */;
5544 long var_i
/* var i: Int */;
5545 val
* var_
/* var : Array[MProperty] */;
5546 val
* var10
/* : ArrayIterator[nullable Object] */;
5547 val
* var_11
/* var : ArrayIterator[MProperty] */;
5548 short int var12
/* : Bool */;
5549 val
* var13
/* : nullable Object */;
5550 val
* var_p
/* var p: MProperty */;
5551 short int var14
/* : Bool */;
5554 val
* var15
/* : Array[RuntimeVariable] */;
5555 val
* var_16
/* var : Array[RuntimeVariable] */;
5556 val
* var_args
/* var args: Array[RuntimeVariable] */;
5557 val
* var17
/* : MPropDef */;
5558 val
* var19
/* : MPropDef */;
5559 val
* var20
/* : nullable MSignature */;
5560 val
* var22
/* : nullable MSignature */;
5561 val
* var23
/* : Array[MParameter] */;
5562 val
* var25
/* : Array[MParameter] */;
5563 val
* var_26
/* var : Array[MParameter] */;
5564 val
* var27
/* : ArrayIterator[nullable Object] */;
5565 val
* var_28
/* var : ArrayIterator[MParameter] */;
5566 short int var29
/* : Bool */;
5567 val
* var30
/* : nullable Object */;
5568 val
* var_x
/* var x: MParameter */;
5569 val
* var31
/* : nullable Object */;
5570 long var32
/* : Int */;
5571 short int var34
/* : Bool */;
5574 const char* var_class_name
;
5575 long var37
/* : Int */;
5576 val
* var38
/* : nullable RuntimeVariable */;
5577 short int var39
/* : Bool */;
5580 val
* var42
/* : nullable Object */;
5581 long var43
/* : Int */;
5582 short int var45
/* : Bool */;
5585 const char* var_class_name48
;
5586 long var49
/* : Int */;
5587 long var51
/* : Int */;
5588 long var53
/* : Int */;
5589 short int var54
/* : Bool */;
5590 short int var56
/* : Bool */;
5591 val
* var57
/* : MMethod */;
5592 val
* var59
/* : MMethod */;
5593 val
* var60
/* : Array[RuntimeVariable] */;
5594 val
* var_61
/* var : Array[RuntimeVariable] */;
5595 val
* var62
/* : nullable RuntimeVariable */;
5596 val
* var63
/* : MMethod */;
5597 val
* var65
/* : MMethod */;
5598 val
* var66
/* : nullable RuntimeVariable */;
5602 { /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
5603 var3
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mpropdef
].val
; /* _mpropdef on <var_callsite:CallSite> */
5604 if (unlikely(var3
== NULL
)) {
5605 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
5606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 627);
5614 { /* Inline model#MMethodDef#initializers (var1) on <var1:MMethodDef> */
5615 var6
= var1
->attrs
[COLOR_nit__model__MMethodDef___initializers
].val
; /* _initializers on <var1:MMethodDef> */
5616 if (unlikely(var6
== NULL
)) {
5617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
5618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2345);
5625 var_initializers
= var4
;
5627 var7
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_initializers
);
5632 var9
= standard___standard__SequenceRead___Collection__first(var_arguments
);
5636 var_
= var_initializers
;
5638 var10
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
5643 var12
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_11
);
5647 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_11
);
5650 /* <var_p:MProperty> isa MMethod */
5651 cltype
= type_nit__MMethod
.color
;
5652 idtype
= type_nit__MMethod
.id
;
5653 if(cltype
>= var_p
->type
->table_size
) {
5656 var14
= var_p
->type
->type_table
[cltype
] == idtype
;
5659 var15
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5661 standard___standard__Array___with_capacity(var15
, 1l); /* Direct call array#Array#with_capacity on <var15:Array[RuntimeVariable]>*/
5665 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_16
, var_recv
); /* Direct call array#AbstractArray#push on <var_16:Array[RuntimeVariable]>*/
5669 { /* Inline model#MProperty#intro (var_p) on <var_p:MProperty(MMethod)> */
5670 var19
= var_p
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var_p:MProperty(MMethod)> */
5671 if (unlikely(var19
== NULL
)) {
5672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
5673 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1968);
5677 RET_LABEL18
:(void)0;
5681 { /* Inline model#MMethodDef#msignature (var17) on <var17:MPropDef(MMethodDef)> */
5682 var22
= var17
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var17:MPropDef(MMethodDef)> */
5684 RET_LABEL21
:(void)0;
5687 if (var20
== NULL
) {
5688 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5689 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1141);
5692 { /* Inline model#MSignature#mparameters (var20) on <var20:nullable MSignature> */
5693 if (unlikely(var20
== NULL
)) {
5694 PRINT_ERROR("Runtime error: %s", "Receiver is null");
5695 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
5698 var25
= var20
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var20:nullable MSignature> */
5699 if (unlikely(var25
== NULL
)) {
5700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
5701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
5705 RET_LABEL24
:(void)0;
5710 var27
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_26
);
5715 var29
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_28
);
5719 var30
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_28
);
5723 var31
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_i
);
5726 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_args
, var31
); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
5729 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
5730 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5731 /* <1l:Int> isa OTHER */
5732 var34
= 1; /* easy <1l:Int> isa OTHER*/
5733 if (unlikely(!var34
)) {
5734 var_class_name
= type_standard__Int
.name
;
5735 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5736 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
5742 RET_LABEL33
:(void)0;
5747 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_28
); /* Direct call array#ArrayIterator#next on <var_28:ArrayIterator[MParameter]>*/
5753 BREAK_label
: (void)0;
5755 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_28
); /* Direct call array#ArrayIterator#finish on <var_28:ArrayIterator[MParameter]>*/
5758 var38
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var_p
, var_args
);
5761 /* <var_p:MProperty> isa MAttribute */
5762 cltype40
= type_nit__MAttribute
.color
;
5763 idtype41
= type_nit__MAttribute
.id
;
5764 if(cltype40
>= var_p
->type
->table_size
) {
5767 var39
= var_p
->type
->type_table
[cltype40
] == idtype41
;
5771 var42
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_i
);
5774 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, var_p
, var_recv
, var42
); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:AbstractCompilerVisitor>*/
5777 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
5778 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5779 /* <1l:Int> isa OTHER */
5780 var45
= 1; /* easy <1l:Int> isa OTHER*/
5781 if (unlikely(!var45
)) {
5782 var_class_name48
= type_standard__Int
.name
;
5783 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
5784 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
5790 RET_LABEL44
:(void)0;
5795 PRINT_ERROR("Runtime error: %s", "Aborted");
5796 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1149);
5801 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_11
); /* Direct call array#ArrayIterator#next on <var_11:ArrayIterator[MProperty]>*/
5807 BREAK_label50
: (void)0;
5809 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_11
); /* Direct call array#ArrayIterator#finish on <var_11:ArrayIterator[MProperty]>*/
5812 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
5813 var53
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
5815 RET_LABEL52
:(void)0;
5819 { /* Inline kernel#Int#== (var_i,var51) on <var_i:Int> */
5820 var56
= var_i
== var51
;
5823 RET_LABEL55
:(void)0;
5826 if (unlikely(!var54
)) {
5827 PRINT_ERROR("Runtime error: %s", "Assert failed");
5828 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1151);
5832 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
5833 var59
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
5834 if (unlikely(var59
== NULL
)) {
5835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
5840 RET_LABEL58
:(void)0;
5843 var60
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
5845 standard___standard__Array___with_capacity(var60
, 1l); /* Direct call array#Array#with_capacity on <var60:Array[RuntimeVariable]>*/
5849 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_61
, var_recv
); /* Direct call array#AbstractArray#push on <var_61:Array[RuntimeVariable]>*/
5852 var62
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var57
, var_61
);
5859 { /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
5860 var65
= var_callsite
->attrs
[COLOR_nit__typing__CallSite___mproperty
].val
; /* _mproperty on <var_callsite:CallSite> */
5861 if (unlikely(var65
== NULL
)) {
5862 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
5863 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 624);
5867 RET_LABEL64
:(void)0;
5871 var66
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var63
, var_arguments
);
5878 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */
5879 void nit___nit__AbstractCompilerVisitor___calloc_array(val
* self
, val
* p0
, val
* p1
) {
5880 const char* var_class_name
;
5881 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5882 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "calloc_array", var_class_name
);
5883 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1161);
5887 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, nullable SignatureMap, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
5888 val
* nit___nit__AbstractCompilerVisitor___varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
5889 val
* var
/* : Array[RuntimeVariable] */;
5890 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
5891 val
* var_map
/* var map: nullable SignatureMap */;
5892 val
* var_recv
/* var recv: RuntimeVariable */;
5893 val
* var_args
/* var args: SequenceRead[AExpr] */;
5894 val
* var1
/* : MSignature */;
5895 val
* var2
/* : nullable MSignature */;
5896 val
* var4
/* : nullable MSignature */;
5897 val
* var5
/* : nullable MSignature */;
5898 val
* var7
/* : nullable MSignature */;
5899 val
* var_msignature
/* var msignature: MSignature */;
5900 val
* var8
/* : Array[RuntimeVariable] */;
5901 val
* var_res
/* var res: Array[RuntimeVariable] */;
5902 long var9
/* : Int */;
5903 short int var10
/* : Bool */;
5904 short int var12
/* : Bool */;
5905 short int var13
/* : Bool */;
5906 short int var14
/* : Bool */;
5907 val
* var_other
/* var other: nullable Object */;
5908 short int var16
/* : Bool */;
5909 short int var18
/* : Bool */;
5910 long var19
/* : Int */;
5911 long var20
/* : Int */;
5912 short int var21
/* : Bool */;
5913 short int var23
/* : Bool */;
5914 val
* var_
/* var : SequenceRead[AExpr] */;
5915 val
* var24
/* : Iterator[nullable Object] */;
5916 val
* var_25
/* var : IndexedIterator[AExpr] */;
5917 short int var26
/* : Bool */;
5918 val
* var27
/* : nullable Object */;
5919 val
* var_ne
/* var ne: AExpr */;
5920 val
* var28
/* : RuntimeVariable */;
5921 val
* var29
/* : Array[RuntimeVariable] */;
5922 long var30
/* : Int */;
5923 val
* var_exprs
/* var exprs: Array[RuntimeVariable] */;
5924 val
* var_31
/* var : SequenceRead[AExpr] */;
5925 val
* var32
/* : Iterator[nullable Object] */;
5926 val
* var_33
/* var : IndexedIterator[AExpr] */;
5927 short int var34
/* : Bool */;
5928 val
* var35
/* : nullable Object */;
5929 val
* var_ne36
/* var ne: AExpr */;
5930 val
* var37
/* : RuntimeVariable */;
5931 long var_i
/* var i: Int */;
5932 long var39
/* : Int */;
5933 long var_40
/* var : Int */;
5934 short int var41
/* : Bool */;
5935 short int var43
/* : Bool */;
5938 const char* var_class_name
;
5939 short int var44
/* : Bool */;
5940 val
* var45
/* : Array[MParameter] */;
5941 val
* var47
/* : Array[MParameter] */;
5942 val
* var48
/* : nullable Object */;
5943 val
* var_param
/* var param: MParameter */;
5944 val
* var49
/* : ArrayMap[Int, Int] */;
5945 val
* var51
/* : ArrayMap[Int, Int] */;
5946 val
* var52
/* : nullable Object */;
5947 val
* var53
/* : nullable Object */;
5948 val
* var_j
/* var j: nullable Int */;
5949 short int var54
/* : Bool */;
5950 short int var55
/* : Bool */;
5951 short int var57
/* : Bool */;
5952 val
* var58
/* : RuntimeVariable */;
5953 short int var60
/* : Bool */;
5954 short int var61
/* : Bool */;
5955 short int var63
/* : Bool */;
5956 short int var_64
/* var : Bool */;
5957 long var65
/* : Int */;
5958 long var67
/* : Int */;
5959 short int var68
/* : Bool */;
5960 short int var70
/* : Bool */;
5963 const char* var_class_name73
;
5964 short int var74
/* : Bool */;
5965 long var75
/* : Int */;
5966 long var77
/* : Int */;
5967 val
* var78
/* : Array[nullable Object] */;
5968 long var79
/* : Int */;
5969 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
5970 val
* var80
/* : MType */;
5971 val
* var82
/* : MType */;
5972 val
* var_elttype
/* var elttype: MType */;
5973 val
* var83
/* : RuntimeVariable */;
5974 val
* var_arg
/* var arg: RuntimeVariable */;
5975 val
* var84
/* : nullable Object */;
5976 long var85
/* : Int */;
5977 long var86
/* : Int */;
5983 { /* Inline model#MMethodDef#new_msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
5984 var4
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___new_msignature
].val
; /* _new_msignature on <var_mpropdef:MMethodDef> */
5993 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
5994 var7
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
5999 if (unlikely(var5
== NULL
)) {
6000 PRINT_ERROR("Runtime error: %s", "Cast failed");
6001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1178);
6006 var_msignature
= var1
;
6007 var8
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6009 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[RuntimeVariable]>*/
6013 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_recv
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6016 var9
= nit___nit__MSignature___arity(var_msignature
);
6019 { /* Inline kernel#Int#== (var9,0l) on <var9:Int> */
6023 RET_LABEL11
:(void)0;
6031 if (var_map
== NULL
) {
6032 var13
= 1; /* is null */
6034 var13
= 0; /* arg is null but recv is not */
6037 { /* Inline kernel#Object#== (var_map,((val*)NULL)) on <var_map:nullable SignatureMap> */
6038 var_other
= ((val
*)NULL
);
6040 { /* Inline kernel#Object#is_same_instance (var_map,var_other) on <var_map:nullable SignatureMap(SignatureMap)> */
6041 var18
= var_map
== var_other
;
6044 RET_LABEL17
:(void)0;
6049 RET_LABEL15
:(void)0;
6055 var19
= ((long(*)(val
* self
))((((long)var_args
&3)?class_info
[((long)var_args
&3)]:var_args
->class)->vft
[COLOR_standard__abstract_collection__Collection__length
]))(var_args
); /* length on <var_args:SequenceRead[AExpr]>*/
6058 var20
= nit___nit__MSignature___arity(var_msignature
);
6061 { /* Inline kernel#Int#== (var19,var20) on <var19:Int> */
6062 var23
= var19
== var20
;
6065 RET_LABEL22
:(void)0;
6068 if (unlikely(!var21
)) {
6069 PRINT_ERROR("Runtime error: %s", "Assert failed");
6070 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1185);
6075 var24
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:SequenceRead[AExpr]>*/
6080 var26
= ((short int(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_25
); /* is_ok on <var_25:IndexedIterator[AExpr]>*/
6084 var27
= ((val
*(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_25
); /* item on <var_25:IndexedIterator[AExpr]>*/
6088 var28
= nit___nit__AbstractCompilerVisitor___expr(self
, var_ne
, ((val
*)NULL
));
6091 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var28
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6094 ((void(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_25
); /* next on <var_25:IndexedIterator[AExpr]>*/
6100 BREAK_label
: (void)0;
6102 ((void(*)(val
* self
))((((long)var_25
&3)?class_info
[((long)var_25
&3)]:var_25
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_25
); /* finish on <var_25:IndexedIterator[AExpr]>*/
6108 var29
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6110 var30
= ((long(*)(val
* self
))((((long)var_args
&3)?class_info
[((long)var_args
&3)]:var_args
->class)->vft
[COLOR_standard__abstract_collection__Collection__length
]))(var_args
); /* length on <var_args:SequenceRead[AExpr]>*/
6113 standard___standard__Array___with_capacity(var29
, var30
); /* Direct call array#Array#with_capacity on <var29:Array[RuntimeVariable]>*/
6118 var32
= ((val
*(*)(val
* self
))((((long)var_31
&3)?class_info
[((long)var_31
&3)]:var_31
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_31
); /* iterator on <var_31:SequenceRead[AExpr]>*/
6123 var34
= ((short int(*)(val
* self
))((((long)var_33
&3)?class_info
[((long)var_33
&3)]:var_33
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_33
); /* is_ok on <var_33:IndexedIterator[AExpr]>*/
6127 var35
= ((val
*(*)(val
* self
))((((long)var_33
&3)?class_info
[((long)var_33
&3)]:var_33
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_33
); /* item on <var_33:IndexedIterator[AExpr]>*/
6131 var37
= nit___nit__AbstractCompilerVisitor___expr(self
, var_ne36
, ((val
*)NULL
));
6134 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_exprs
, var37
); /* Direct call array#Array#add on <var_exprs:Array[RuntimeVariable]>*/
6137 ((void(*)(val
* self
))((((long)var_33
&3)?class_info
[((long)var_33
&3)]:var_33
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_33
); /* next on <var_33:IndexedIterator[AExpr]>*/
6143 BREAK_label38
: (void)0;
6145 ((void(*)(val
* self
))((((long)var_33
&3)?class_info
[((long)var_33
&3)]:var_33
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_33
); /* finish on <var_33:IndexedIterator[AExpr]>*/
6149 var39
= nit___nit__MSignature___arity(var_msignature
);
6154 { /* Inline kernel#Int#< (var_i,var_40) on <var_i:Int> */
6155 /* Covariant cast for argument 0 (i) <var_40:Int> isa OTHER */
6156 /* <var_40:Int> isa OTHER */
6157 var43
= 1; /* easy <var_40:Int> isa OTHER*/
6158 if (unlikely(!var43
)) {
6159 var_class_name
= type_standard__Int
.name
;
6160 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6161 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
6164 var44
= var_i
< var_40
;
6167 RET_LABEL42
:(void)0;
6172 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
6173 var47
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
6174 if (unlikely(var47
== NULL
)) {
6175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
6176 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
6180 RET_LABEL46
:(void)0;
6184 var48
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var45
, var_i
);
6188 { /* Inline typing#SignatureMap#map (var_map) on <var_map:nullable SignatureMap(SignatureMap)> */
6189 var51
= var_map
->attrs
[COLOR_nit__typing__SignatureMap___map
].val
; /* _map on <var_map:nullable SignatureMap(SignatureMap)> */
6190 if (unlikely(var51
== NULL
)) {
6191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
6192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__typing
, 597);
6196 RET_LABEL50
:(void)0;
6200 var53
= (val
*)(var_i
<<2|1);
6201 var52
= standard___standard__MapRead___get_or_null(var49
, var53
);
6204 if (var_j
== NULL
) {
6205 var54
= 1; /* is null */
6207 var54
= 0; /* arg is null but recv is not */
6210 { /* Inline kernel#Int#== (var_j,((val*)NULL)) on <var_j:nullable Int> */
6211 var57
= 0; /* incompatible types Int vs. null; cannot be NULL */
6214 RET_LABEL56
:(void)0;
6220 var58
= nit___nit__AbstractCompilerVisitor___null_instance(self
);
6223 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var58
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6229 { /* Inline model#MParameter#is_vararg (var_param) on <var_param:MParameter> */
6230 var63
= var_param
->attrs
[COLOR_nit__model__MParameter___is_vararg
].s
; /* _is_vararg on <var_param:MParameter> */
6232 RET_LABEL62
:(void)0;
6238 { /* Inline typing#SignatureMap#vararg_decl (var_map) on <var_map:nullable SignatureMap(SignatureMap)> */
6239 var67
= var_map
->attrs
[COLOR_nit__typing__SignatureMap___vararg_decl
].l
; /* _vararg_decl on <var_map:nullable SignatureMap(SignatureMap)> */
6241 RET_LABEL66
:(void)0;
6245 { /* Inline kernel#Int#> (var65,0l) on <var65:Int> */
6246 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
6247 /* <0l:Int> isa OTHER */
6248 var70
= 1; /* easy <0l:Int> isa OTHER*/
6249 if (unlikely(!var70
)) {
6250 var_class_name73
= type_standard__Int
.name
;
6251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73
);
6252 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
6258 RET_LABEL69
:(void)0;
6267 { /* Inline typing#SignatureMap#vararg_decl (var_map) on <var_map:nullable SignatureMap(SignatureMap)> */
6268 var77
= var_map
->attrs
[COLOR_nit__typing__SignatureMap___vararg_decl
].l
; /* _vararg_decl on <var_map:nullable SignatureMap(SignatureMap)> */
6270 RET_LABEL76
:(void)0;
6274 var79
= (long)(var_j
)>>2;
6275 var78
= standard___standard__AbstractArrayRead___sub(var_exprs
, var79
, var75
);
6279 { /* Inline model#MParameter#mtype (var_param) on <var_param:MParameter> */
6280 var82
= var_param
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var_param:MParameter> */
6281 if (unlikely(var82
== NULL
)) {
6282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
6287 RET_LABEL81
:(void)0;
6290 var_elttype
= var80
;
6292 var83
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__vararg_instance(self
, var_mpropdef
, var_recv
, var_vararg
, var_elttype
);
6296 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_arg
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6302 var85
= (long)(var_j
)>>2;
6303 var84
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_exprs
, var85
);
6306 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var84
); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
6308 BREAK_label59
: (void)0;
6310 var86
= standard___standard__Int___Discrete__successor(var_i
, 1l);
6317 BREAK_label87
: (void)0;
6323 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
6324 val
* nit___nit__AbstractCompilerVisitor___anchor(val
* self
, val
* p0
) {
6325 val
* var
/* : MType */;
6326 val
* var_mtype
/* var mtype: MType */;
6327 short int var1
/* : Bool */;
6328 short int var2
/* : Bool */;
6329 val
* var3
/* : AbstractCompiler */;
6330 val
* var5
/* : AbstractCompiler */;
6331 val
* var6
/* : MModule */;
6332 val
* var8
/* : MModule */;
6333 val
* var9
/* : nullable StaticFrame */;
6334 val
* var11
/* : nullable StaticFrame */;
6335 val
* var12
/* : MClassType */;
6336 val
* var14
/* : MClassType */;
6337 val
* var15
/* : MType */;
6340 var1
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
6349 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6350 var5
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6351 if (unlikely(var5
== NULL
)) {
6352 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6353 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6361 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
6362 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
6363 if (unlikely(var8
== NULL
)) {
6364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6373 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
6374 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
6376 RET_LABEL10
:(void)0;
6380 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1225);
6384 { /* Inline abstract_compiler#StaticFrame#receiver (var9) on <var9:nullable StaticFrame> */
6385 if (unlikely(var9
== NULL
)) {
6386 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6387 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1832);
6390 var14
= var9
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___receiver
].val
; /* _receiver on <var9:nullable StaticFrame> */
6391 if (unlikely(var14
== NULL
)) {
6392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
6393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1832);
6397 RET_LABEL13
:(void)0;
6401 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>*/
6408 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
6409 val
* nit___nit__AbstractCompilerVisitor___resolve_for(val
* self
, val
* p0
, val
* p1
) {
6410 val
* var
/* : MType */;
6411 val
* var_mtype
/* var mtype: MType */;
6412 val
* var_recv
/* var recv: RuntimeVariable */;
6413 short int var1
/* : Bool */;
6414 short int var2
/* : Bool */;
6415 val
* var3
/* : MType */;
6416 val
* var5
/* : MType */;
6417 val
* var6
/* : nullable StaticFrame */;
6418 val
* var8
/* : nullable StaticFrame */;
6419 val
* var9
/* : MClassType */;
6420 val
* var11
/* : MClassType */;
6421 val
* var12
/* : AbstractCompiler */;
6422 val
* var14
/* : AbstractCompiler */;
6423 val
* var15
/* : MModule */;
6424 val
* var17
/* : MModule */;
6425 val
* var18
/* : MType */;
6429 var1
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
6438 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
6439 var5
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
6440 if (unlikely(var5
== NULL
)) {
6441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
6442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
6450 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
6451 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
6457 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1231);
6461 { /* Inline abstract_compiler#StaticFrame#receiver (var6) on <var6:nullable StaticFrame> */
6462 if (unlikely(var6
== NULL
)) {
6463 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1832);
6467 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___receiver
].val
; /* _receiver on <var6:nullable StaticFrame> */
6468 if (unlikely(var11
== NULL
)) {
6469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _receiver");
6470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1832);
6474 RET_LABEL10
:(void)0;
6478 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6479 var14
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6480 if (unlikely(var14
== NULL
)) {
6481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6482 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6486 RET_LABEL13
:(void)0;
6490 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var12) on <var12:AbstractCompiler> */
6491 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var12:AbstractCompiler> */
6492 if (unlikely(var17
== NULL
)) {
6493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6498 RET_LABEL16
:(void)0;
6502 var18
= ((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
, 1); /* resolve_for on <var_mtype:MType>*/
6509 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
6510 val
* nit___nit__AbstractCompilerVisitor___autoadapt(val
* self
, val
* p0
, val
* p1
) {
6511 val
* var
/* : RuntimeVariable */;
6512 val
* var_value
/* var value: RuntimeVariable */;
6513 val
* var_mtype
/* var mtype: MType */;
6514 val
* var1
/* : MType */;
6515 val
* var2
/* : MType */;
6516 val
* var4
/* : MType */;
6517 val
* var_valmtype
/* var valmtype: MType */;
6518 val
* var5
/* : AbstractCompiler */;
6519 val
* var7
/* : AbstractCompiler */;
6520 val
* var8
/* : MModule */;
6521 val
* var10
/* : MModule */;
6522 short int var11
/* : Bool */;
6523 short int var12
/* : Bool */;
6524 short int var13
/* : Bool */;
6527 short int var_
/* var : Bool */;
6528 val
* var14
/* : MType */;
6529 val
* var16
/* : MType */;
6530 val
* var17
/* : AbstractCompiler */;
6531 val
* var19
/* : AbstractCompiler */;
6532 val
* var20
/* : MModule */;
6533 val
* var22
/* : MModule */;
6534 short int var23
/* : Bool */;
6535 val
* var24
/* : RuntimeVariable */;
6536 val
* var25
/* : String */;
6537 val
* var27
/* : String */;
6538 val
* var28
/* : MType */;
6539 val
* var30
/* : MType */;
6540 val
* var_res
/* var res: RuntimeVariable */;
6541 val
* var31
/* : RuntimeVariable */;
6542 val
* var32
/* : String */;
6543 val
* var34
/* : String */;
6544 val
* var_res35
/* var res: RuntimeVariable */;
6548 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
6552 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
6553 var4
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
6554 if (unlikely(var4
== NULL
)) {
6555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
6556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
6563 var_valmtype
= var2
;
6565 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6566 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6567 if (unlikely(var7
== NULL
)) {
6568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6577 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var5) on <var5:AbstractCompiler> */
6578 var10
= var5
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var5:AbstractCompiler> */
6579 if (unlikely(var10
== NULL
)) {
6580 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6581 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6589 var11
= nit___nit__MType___is_subtype(var_valmtype
, var8
, ((val
*)NULL
), var_mtype
);
6596 /* <var_valmtype:MType> isa MNullableType */
6597 cltype
= type_nit__MNullableType
.color
;
6598 idtype
= type_nit__MNullableType
.id
;
6599 if(cltype
>= var_valmtype
->type
->table_size
) {
6602 var13
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
6607 { /* Inline model#MProxyType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
6608 var16
= var_valmtype
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
6609 if (unlikely(var16
== NULL
)) {
6610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6615 RET_LABEL15
:(void)0;
6619 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6620 var19
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6621 if (unlikely(var19
== NULL
)) {
6622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6623 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6627 RET_LABEL18
:(void)0;
6631 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var17) on <var17:AbstractCompiler> */
6632 var22
= var17
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var17:AbstractCompiler> */
6633 if (unlikely(var22
== NULL
)) {
6634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6639 RET_LABEL21
:(void)0;
6643 var23
= nit___nit__MType___is_subtype(var14
, var20
, ((val
*)NULL
), var_mtype
);
6650 var24
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
6652 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
6653 var27
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
6654 if (unlikely(var27
== NULL
)) {
6655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6656 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
6660 RET_LABEL26
:(void)0;
6664 { /* Inline model#MProxyType#mtype (var_valmtype) on <var_valmtype:MType(MNullableType)> */
6665 var30
= var_valmtype
->attrs
[COLOR_nit__model__MProxyType___mtype
].val
; /* _mtype on <var_valmtype:MType(MNullableType)> */
6666 if (unlikely(var30
== NULL
)) {
6667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6668 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1598);
6672 RET_LABEL29
:(void)0;
6676 ((void(*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var24
, var25
); /* name= on <var24:RuntimeVariable>*/
6679 ((void(*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var24
, var_valmtype
); /* mtype= on <var24:RuntimeVariable>*/
6682 ((void(*)(val
* self
, val
* p0
))(var24
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var24
, var28
); /* mcasttype= on <var24:RuntimeVariable>*/
6685 ((void(*)(val
* self
))(var24
->class->vft
[COLOR_standard__kernel__Object__init
]))(var24
); /* init on <var24:RuntimeVariable>*/
6691 var31
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
6693 { /* Inline abstract_compiler#RuntimeVariable#name (var_value) on <var_value:RuntimeVariable> */
6694 var34
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_value:RuntimeVariable> */
6695 if (unlikely(var34
== NULL
)) {
6696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
6697 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
6701 RET_LABEL33
:(void)0;
6705 ((void(*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var31
, var32
); /* name= on <var31:RuntimeVariable>*/
6708 ((void(*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var31
, var_valmtype
); /* mtype= on <var31:RuntimeVariable>*/
6711 ((void(*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var31
, var_mtype
); /* mcasttype= on <var31:RuntimeVariable>*/
6714 ((void(*)(val
* self
))(var31
->class->vft
[COLOR_standard__kernel__Object__init
]))(var31
); /* init on <var31:RuntimeVariable>*/
6723 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
6724 val
* nit___nit__AbstractCompilerVisitor___monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6725 val
* var
/* : nullable RuntimeVariable */;
6726 val
* var_m
/* var m: MMethod */;
6727 val
* var_t
/* var t: MType */;
6728 val
* var_args
/* var args: Array[RuntimeVariable] */;
6729 short int var1
/* : Bool */;
6732 val
* var2
/* : AbstractCompiler */;
6733 val
* var4
/* : AbstractCompiler */;
6734 val
* var5
/* : MModule */;
6735 val
* var7
/* : MModule */;
6736 val
* var8
/* : MPropDef */;
6737 val
* var_propdef
/* var propdef: MMethodDef */;
6738 val
* var9
/* : nullable RuntimeVariable */;
6742 /* <var_t:MType> isa MClassType */
6743 cltype
= type_nit__MClassType
.color
;
6744 idtype
= type_nit__MClassType
.id
;
6745 if(cltype
>= var_t
->type
->table_size
) {
6748 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
6750 if (unlikely(!var1
)) {
6751 PRINT_ERROR("Runtime error: %s", "Assert failed");
6752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1294);
6756 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6757 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6758 if (unlikely(var4
== NULL
)) {
6759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6760 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6768 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
6769 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
6770 if (unlikely(var7
== NULL
)) {
6771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6772 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6780 var8
= nit___nit__MProperty___lookup_first_definition(var_m
, var5
, var_t
);
6784 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(self
, var_propdef
, var_t
, var_args
);
6791 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
6792 val
* nit___nit__AbstractCompilerVisitor___monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6793 val
* var
/* : nullable RuntimeVariable */;
6794 val
* var_m
/* var m: MMethodDef */;
6795 val
* var_t
/* var t: MType */;
6796 val
* var_args
/* var args: Array[RuntimeVariable] */;
6797 short int var1
/* : Bool */;
6800 val
* var2
/* : AbstractCompiler */;
6801 val
* var4
/* : AbstractCompiler */;
6802 val
* var5
/* : MModule */;
6803 val
* var7
/* : MModule */;
6804 val
* var8
/* : MPropDef */;
6805 val
* var9
/* : nullable RuntimeVariable */;
6809 /* <var_t:MType> isa MClassType */
6810 cltype
= type_nit__MClassType
.color
;
6811 idtype
= type_nit__MClassType
.id
;
6812 if(cltype
>= var_t
->type
->table_size
) {
6815 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
6817 if (unlikely(!var1
)) {
6818 PRINT_ERROR("Runtime error: %s", "Assert failed");
6819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1302);
6823 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6824 var4
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6825 if (unlikely(var4
== NULL
)) {
6826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6835 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var2) on <var2:AbstractCompiler> */
6836 var7
= var2
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var2:AbstractCompiler> */
6837 if (unlikely(var7
== NULL
)) {
6838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6839 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6847 var8
= nit___nit__MPropDef___lookup_next_definition(var_m
, var5
, var_t
);
6851 var9
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__call(self
, var_m
, var_t
, var_args
);
6858 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
6859 void nit___nit__AbstractCompilerVisitor___check_recv_notnull(val
* self
, val
* p0
) {
6860 val
* var_recv
/* var recv: RuntimeVariable */;
6861 val
* var
/* : AbstractCompiler */;
6862 val
* var2
/* : AbstractCompiler */;
6863 val
* var3
/* : ModelBuilder */;
6864 val
* var5
/* : ModelBuilder */;
6865 val
* var6
/* : ToolContext */;
6866 val
* var8
/* : ToolContext */;
6867 val
* var9
/* : OptionBool */;
6868 val
* var11
/* : OptionBool */;
6869 val
* var12
/* : nullable Object */;
6870 val
* var14
/* : nullable Object */;
6871 short int var15
/* : Bool */;
6872 short int var16
/* : Bool */;
6873 val
* var17
/* : MType */;
6874 val
* var19
/* : MType */;
6875 short int var20
/* : Bool */;
6878 short int var_
/* var : Bool */;
6879 val
* var21
/* : MType */;
6880 val
* var23
/* : MType */;
6881 short int var24
/* : Bool */;
6884 short int var_maybenull
/* var maybenull: Bool */;
6885 val
* var27
/* : NativeArray[String] */;
6886 static val
* varonce
;
6887 static val
* varonce28
;
6888 val
* var29
/* : String */;
6889 char* var30
/* : NativeString */;
6890 val
* var31
/* : FlatString */;
6891 static val
* varonce32
;
6892 val
* var33
/* : String */;
6893 char* var34
/* : NativeString */;
6894 val
* var35
/* : FlatString */;
6895 val
* var36
/* : String */;
6896 val
* var37
/* : String */;
6897 static val
* varonce38
;
6898 val
* var39
/* : String */;
6899 char* var40
/* : NativeString */;
6900 val
* var41
/* : FlatString */;
6901 static val
* varonce42
;
6902 val
* var43
/* : String */;
6903 char* var44
/* : NativeString */;
6904 val
* var45
/* : FlatString */;
6907 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
6908 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
6909 if (unlikely(var2
== NULL
)) {
6910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6911 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
6919 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var) on <var:AbstractCompiler> */
6920 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var:AbstractCompiler> */
6921 if (unlikely(var5
== NULL
)) {
6922 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6931 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var3) on <var3:ModelBuilder> */
6932 var8
= var3
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var3:ModelBuilder> */
6933 if (unlikely(var8
== NULL
)) {
6934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6935 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6943 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (var6) on <var6:ToolContext> */
6944 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <var6:ToolContext> */
6945 if (unlikely(var11
== NULL
)) {
6946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
6947 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 56);
6951 RET_LABEL10
:(void)0;
6955 { /* Inline opts#Option#value (var9) on <var9:OptionBool> */
6956 var14
= var9
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var9:OptionBool> */
6958 RET_LABEL13
:(void)0;
6961 var15
= (short int)((long)(var12
)>>2);
6967 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
6968 var19
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
6969 if (unlikely(var19
== NULL
)) {
6970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
6971 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
6975 RET_LABEL18
:(void)0;
6978 /* <var17:MType> isa MNullableType */
6979 cltype
= type_nit__MNullableType
.color
;
6980 idtype
= type_nit__MNullableType
.id
;
6981 if(cltype
>= var17
->type
->table_size
) {
6984 var20
= var17
->type
->type_table
[cltype
] == idtype
;
6991 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_recv) on <var_recv:RuntimeVariable> */
6992 var23
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_recv:RuntimeVariable> */
6993 if (unlikely(var23
== NULL
)) {
6994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
6995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1787);
6999 RET_LABEL22
:(void)0;
7002 /* <var21:MType> isa MNullType */
7003 cltype25
= type_nit__MNullType
.color
;
7004 idtype26
= type_nit__MNullType
.id
;
7005 if(cltype25
>= var21
->type
->table_size
) {
7008 var24
= var21
->type
->type_table
[cltype25
] == idtype26
;
7012 var_maybenull
= var16
;
7014 if (unlikely(varonce
==NULL
)) {
7015 var27
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7016 if (likely(varonce28
!=NULL
)) {
7019 var30
= "if (unlikely(";
7020 var31
= standard___standard__NativeString___to_s_with_length(var30
, 13l);
7024 ((struct instance_standard__NativeArray
*)var27
)->values
[0]=var29
;
7025 if (likely(varonce32
!=NULL
)) {
7028 var34
= " == NULL)) {";
7029 var35
= standard___standard__NativeString___to_s_with_length(var34
, 12l);
7033 ((struct instance_standard__NativeArray
*)var27
)->values
[2]=var33
;
7039 var36
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
7041 ((struct instance_standard__NativeArray
*)var27
)->values
[1]=var36
;
7043 var37
= ((val
*(*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var27
); /* native_to_s on <var27:NativeArray[String]>*/
7047 nit___nit__AbstractCompilerVisitor___add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7049 if (likely(varonce38
!=NULL
)) {
7052 var40
= "Receiver is null";
7053 var41
= standard___standard__NativeString___to_s_with_length(var40
, 16l);
7058 nit___nit__AbstractCompilerVisitor___add_abort(self
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <self:AbstractCompilerVisitor>*/
7060 if (likely(varonce42
!=NULL
)) {
7064 var45
= standard___standard__NativeString___to_s_with_length(var44
, 1l);
7069 nit___nit__AbstractCompilerVisitor___add(self
, var43
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7075 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
7076 val
* nit___nit__AbstractCompilerVisitor___names(val
* self
) {
7077 val
* var
/* : HashSet[String] */;
7078 val
* var1
/* : HashSet[String] */;
7079 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7080 if (unlikely(var1
== NULL
)) {
7081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1335);
7089 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
7090 long nit___nit__AbstractCompilerVisitor___last(val
* self
) {
7091 long var
/* : Int */;
7092 long var1
/* : Int */;
7093 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7098 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
7099 void nit___nit__AbstractCompilerVisitor___last_61d(val
* self
, long p0
) {
7100 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
= p0
; /* _last on <self:AbstractCompilerVisitor> */
7103 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
7104 val
* nit___nit__AbstractCompilerVisitor___get_name(val
* self
, val
* p0
) {
7105 val
* var
/* : String */;
7106 val
* var_s
/* var s: String */;
7107 val
* var1
/* : HashSet[String] */;
7108 val
* var3
/* : HashSet[String] */;
7109 short int var4
/* : Bool */;
7110 short int var5
/* : Bool */;
7111 val
* var6
/* : HashSet[String] */;
7112 val
* var8
/* : HashSet[String] */;
7113 long var9
/* : Int */;
7114 long var11
/* : Int */;
7115 long var12
/* : Int */;
7116 short int var14
/* : Bool */;
7119 const char* var_class_name
;
7120 long var15
/* : Int */;
7121 long var_i
/* var i: Int */;
7122 val
* var16
/* : String */;
7123 val
* var17
/* : String */;
7124 val
* var_s2
/* var s2: String */;
7125 val
* var18
/* : HashSet[String] */;
7126 val
* var20
/* : HashSet[String] */;
7127 short int var21
/* : Bool */;
7128 short int var22
/* : Bool */;
7129 val
* var24
/* : HashSet[String] */;
7130 val
* var26
/* : HashSet[String] */;
7131 long var27
/* : Int */;
7132 short int var29
/* : Bool */;
7135 const char* var_class_name32
;
7136 long var33
/* : Int */;
7139 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7140 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7141 if (unlikely(var3
== NULL
)) {
7142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7143 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1335);
7151 var4
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var1
, var_s
);
7156 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7157 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7158 if (unlikely(var8
== NULL
)) {
7159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1335);
7168 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var6
, var_s
); /* Direct call hash_collection#HashSet#add on <var6:HashSet[String]>*/
7175 { /* Inline abstract_compiler#AbstractCompilerVisitor#last (self) on <self:AbstractCompilerVisitor> */
7176 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
; /* _last on <self:AbstractCompilerVisitor> */
7178 RET_LABEL10
:(void)0;
7182 { /* Inline kernel#Int#+ (var9,1l) on <var9:Int> */
7183 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7184 /* <1l:Int> isa OTHER */
7185 var14
= 1; /* easy <1l:Int> isa OTHER*/
7186 if (unlikely(!var14
)) {
7187 var_class_name
= type_standard__Int
.name
;
7188 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7189 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7195 RET_LABEL13
:(void)0;
7201 var16
= standard__string___Int___Object__to_s(var_i
);
7204 var17
= ((val
*(*)(val
* self
, val
* p0
))(var_s
->class->vft
[COLOR_standard__string__String___43d
]))(var_s
, var16
); /* + on <var_s:String>*/
7208 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7209 var20
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7210 if (unlikely(var20
== NULL
)) {
7211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1335);
7216 RET_LABEL19
:(void)0;
7220 var21
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var18
, var_s2
);
7225 { /* Inline abstract_compiler#AbstractCompilerVisitor#last= (self,var_i) on <self:AbstractCompilerVisitor> */
7226 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___last
].l
= var_i
; /* _last on <self:AbstractCompilerVisitor> */
7227 RET_LABEL23
:(void)0;
7231 { /* Inline abstract_compiler#AbstractCompilerVisitor#names (self) on <self:AbstractCompilerVisitor> */
7232 var26
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___names
].val
; /* _names on <self:AbstractCompilerVisitor> */
7233 if (unlikely(var26
== NULL
)) {
7234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1335);
7239 RET_LABEL25
:(void)0;
7243 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var24
, var_s2
); /* Direct call hash_collection#HashSet#add on <var24:HashSet[String]>*/
7250 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
7251 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7252 /* <1l:Int> isa OTHER */
7253 var29
= 1; /* easy <1l:Int> isa OTHER*/
7254 if (unlikely(!var29
)) {
7255 var_class_name32
= type_standard__Int
.name
;
7256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
7257 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
7263 RET_LABEL28
:(void)0;
7271 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
7272 val
* nit___nit__AbstractCompilerVisitor___escapemark_name(val
* self
, val
* p0
) {
7273 val
* var
/* : String */;
7274 val
* var_e
/* var e: nullable EscapeMark */;
7275 short int var1
/* : Bool */;
7276 short int var2
/* : Bool */;
7277 val
* var_other
/* var other: nullable Object */;
7278 short int var4
/* : Bool */;
7279 short int var5
/* : Bool */;
7280 val
* var6
/* : nullable StaticFrame */;
7281 val
* var8
/* : nullable StaticFrame */;
7282 val
* var9
/* : HashMap[EscapeMark, String] */;
7283 val
* var11
/* : HashMap[EscapeMark, String] */;
7284 short int var12
/* : Bool */;
7285 val
* var13
/* : nullable StaticFrame */;
7286 val
* var15
/* : nullable StaticFrame */;
7287 val
* var16
/* : HashMap[EscapeMark, String] */;
7288 val
* var18
/* : HashMap[EscapeMark, String] */;
7289 val
* var19
/* : nullable Object */;
7290 val
* var20
/* : nullable String */;
7291 val
* var22
/* : nullable String */;
7292 val
* var_name
/* var name: nullable String */;
7293 short int var23
/* : Bool */;
7294 short int var24
/* : Bool */;
7295 static val
* varonce
;
7296 val
* var25
/* : String */;
7297 char* var26
/* : NativeString */;
7298 val
* var27
/* : FlatString */;
7299 val
* var28
/* : String */;
7300 val
* var29
/* : nullable StaticFrame */;
7301 val
* var31
/* : nullable StaticFrame */;
7302 val
* var32
/* : HashMap[EscapeMark, String] */;
7303 val
* var34
/* : HashMap[EscapeMark, String] */;
7305 if (var_e
== NULL
) {
7306 var1
= 0; /* is null */
7308 var1
= 1; /* arg is null and recv is not */
7311 { /* Inline kernel#Object#!= (var_e,((val*)NULL)) on <var_e:nullable EscapeMark> */
7312 var_other
= ((val
*)NULL
);
7314 var4
= ((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)>*/
7323 if (unlikely(!var1
)) {
7324 PRINT_ERROR("Runtime error: %s", "Assert failed");
7325 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1360);
7329 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7330 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7336 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1361);
7340 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var6) on <var6:nullable StaticFrame> */
7341 if (unlikely(var6
== NULL
)) {
7342 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7343 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7346 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var6:nullable StaticFrame> */
7347 if (unlikely(var11
== NULL
)) {
7348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
7349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7353 RET_LABEL10
:(void)0;
7357 var12
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var9
, var_e
);
7361 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7362 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7364 RET_LABEL14
:(void)0;
7367 if (var13
== NULL
) {
7368 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7369 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1361);
7372 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var13) on <var13:nullable StaticFrame> */
7373 if (unlikely(var13
== NULL
)) {
7374 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7375 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7378 var18
= var13
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var13:nullable StaticFrame> */
7379 if (unlikely(var18
== NULL
)) {
7380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
7381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7385 RET_LABEL17
:(void)0;
7389 var19
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var16
, var_e
);
7396 { /* Inline scope#EscapeMark#name (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
7397 var22
= var_e
->attrs
[COLOR_nit__scope__EscapeMark___name
].val
; /* _name on <var_e:nullable EscapeMark(EscapeMark)> */
7399 RET_LABEL21
:(void)0;
7403 if (var_name
== NULL
) {
7404 var23
= 1; /* is null */
7406 var23
= 0; /* arg is null but recv is not */
7409 var24
= ((short int(*)(val
* self
, val
* p0
))(var_name
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_name
, ((val
*)NULL
)); /* == on <var_name:nullable String>*/
7413 if (likely(varonce
!=NULL
)) {
7417 var27
= standard___standard__NativeString___to_s_with_length(var26
, 5l);
7425 var28
= nit___nit__AbstractCompilerVisitor___get_name(self
, var_name
);
7429 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:AbstractCompilerVisitor> */
7430 var31
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:AbstractCompilerVisitor> */
7432 RET_LABEL30
:(void)0;
7435 if (var29
== NULL
) {
7436 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7437 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1365);
7440 { /* Inline abstract_compiler#StaticFrame#escapemark_names (var29) on <var29:nullable StaticFrame> */
7441 if (unlikely(var29
== NULL
)) {
7442 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7446 var34
= var29
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___escapemark_names
].val
; /* _escapemark_names on <var29:nullable StaticFrame> */
7447 if (unlikely(var34
== NULL
)) {
7448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapemark_names");
7449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1844);
7453 RET_LABEL33
:(void)0;
7457 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var32
, var_e
, var_name
); /* Direct call hash_collection#HashMap#[]= on <var32:HashMap[EscapeMark, String]>*/
7464 /* method abstract_compiler#AbstractCompilerVisitor#add_escape_label for (self: AbstractCompilerVisitor, nullable EscapeMark) */
7465 void nit___nit__AbstractCompilerVisitor___add_escape_label(val
* self
, val
* p0
) {
7466 val
* var_e
/* var e: nullable EscapeMark */;
7467 short int var
/* : Bool */;
7468 short int var1
/* : Bool */;
7469 val
* var_other
/* var other: nullable Object */;
7470 short int var3
/* : Bool */;
7471 short int var5
/* : Bool */;
7472 val
* var6
/* : Array[AEscapeExpr] */;
7473 val
* var8
/* : Array[AEscapeExpr] */;
7474 short int var9
/* : Bool */;
7475 val
* var10
/* : NativeArray[String] */;
7476 static val
* varonce
;
7477 static val
* varonce11
;
7478 val
* var12
/* : String */;
7479 char* var13
/* : NativeString */;
7480 val
* var14
/* : FlatString */;
7481 static val
* varonce15
;
7482 val
* var16
/* : String */;
7483 char* var17
/* : NativeString */;
7484 val
* var18
/* : FlatString */;
7485 val
* var19
/* : String */;
7486 val
* var20
/* : String */;
7488 if (var_e
== NULL
) {
7489 var
= 1; /* is null */
7491 var
= 0; /* arg is null but recv is not */
7494 { /* Inline kernel#Object#== (var_e,((val*)NULL)) on <var_e:nullable EscapeMark> */
7495 var_other
= ((val
*)NULL
);
7497 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable EscapeMark(EscapeMark)> */
7498 var5
= var_e
== var_other
;
7515 { /* Inline scope#EscapeMark#escapes (var_e) on <var_e:nullable EscapeMark(EscapeMark)> */
7516 var8
= var_e
->attrs
[COLOR_nit__scope__EscapeMark___escapes
].val
; /* _escapes on <var_e:nullable EscapeMark(EscapeMark)> */
7517 if (unlikely(var8
== NULL
)) {
7518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _escapes");
7519 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 58);
7527 var9
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var6
);
7533 if (unlikely(varonce
==NULL
)) {
7534 var10
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7535 if (likely(varonce11
!=NULL
)) {
7539 var14
= standard___standard__NativeString___to_s_with_length(var13
, 6l);
7543 ((struct instance_standard__NativeArray
*)var10
)->values
[0]=var12
;
7544 if (likely(varonce15
!=NULL
)) {
7547 var17
= ": (void)0;";
7548 var18
= standard___standard__NativeString___to_s_with_length(var17
, 10l);
7552 ((struct instance_standard__NativeArray
*)var10
)->values
[2]=var16
;
7558 var19
= nit___nit__AbstractCompilerVisitor___escapemark_name(self
, var_e
);
7560 ((struct instance_standard__NativeArray
*)var10
)->values
[1]=var19
;
7562 var20
= ((val
*(*)(val
* self
))(var10
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var10
); /* native_to_s on <var10:NativeArray[String]>*/
7566 nit___nit__AbstractCompilerVisitor___add(self
, var20
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
7570 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
7571 val
* nit___nit__AbstractCompilerVisitor___variables(val
* self
) {
7572 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
7573 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
7574 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
7575 if (unlikely(var1
== NULL
)) {
7576 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
7577 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1383);
7584 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
7585 val
* nit___nit__AbstractCompilerVisitor___variable(val
* self
, val
* p0
) {
7586 val
* var
/* : RuntimeVariable */;
7587 val
* var_variable
/* var variable: Variable */;
7588 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
7589 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
7590 short int var4
/* : Bool */;
7591 val
* var5
/* : HashMap[Variable, RuntimeVariable] */;
7592 val
* var7
/* : HashMap[Variable, RuntimeVariable] */;
7593 val
* var8
/* : nullable Object */;
7594 val
* var9
/* : NativeArray[String] */;
7595 static val
* varonce
;
7596 static val
* varonce10
;
7597 val
* var11
/* : String */;
7598 char* var12
/* : NativeString */;
7599 val
* var13
/* : FlatString */;
7600 val
* var14
/* : String */;
7601 val
* var16
/* : String */;
7602 val
* var17
/* : String */;
7603 val
* var18
/* : String */;
7604 val
* var_name
/* var name: String */;
7605 val
* var19
/* : nullable MType */;
7606 val
* var21
/* : nullable MType */;
7607 val
* var_mtype
/* var mtype: MType */;
7608 val
* var22
/* : MType */;
7609 val
* var23
/* : RuntimeVariable */;
7610 val
* var_res
/* var res: RuntimeVariable */;
7611 val
* var25
/* : NativeArray[String] */;
7612 static val
* varonce24
;
7613 static val
* varonce26
;
7614 val
* var27
/* : String */;
7615 char* var28
/* : NativeString */;
7616 val
* var29
/* : FlatString */;
7617 static val
* varonce30
;
7618 val
* var31
/* : String */;
7619 char* var32
/* : NativeString */;
7620 val
* var33
/* : FlatString */;
7621 static val
* varonce34
;
7622 val
* var35
/* : String */;
7623 char* var36
/* : NativeString */;
7624 val
* var37
/* : FlatString */;
7625 static val
* varonce38
;
7626 val
* var39
/* : String */;
7627 char* var40
/* : NativeString */;
7628 val
* var41
/* : FlatString */;
7629 val
* var42
/* : String */;
7630 val
* var43
/* : String */;
7631 val
* var44
/* : String */;
7632 val
* var45
/* : String */;
7633 val
* var46
/* : HashMap[Variable, RuntimeVariable] */;
7634 val
* var48
/* : HashMap[Variable, RuntimeVariable] */;
7637 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
7638 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
7639 if (unlikely(var3
== NULL
)) {
7640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
7641 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1383);
7649 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var1
, var_variable
);
7653 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
7654 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
7655 if (unlikely(var7
== NULL
)) {
7656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
7657 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1383);
7665 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var5
, var_variable
);
7670 if (unlikely(varonce
==NULL
)) {
7671 var9
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7672 if (likely(varonce10
!=NULL
)) {
7676 var13
= standard___standard__NativeString___to_s_with_length(var12
, 4l);
7680 ((struct instance_standard__NativeArray
*)var9
)->values
[0]=var11
;
7686 { /* Inline scope#Variable#name (var_variable) on <var_variable:Variable> */
7687 var16
= var_variable
->attrs
[COLOR_nit__scope__Variable___name
].val
; /* _name on <var_variable:Variable> */
7688 if (unlikely(var16
== NULL
)) {
7689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
7690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__scope
, 35);
7694 RET_LABEL15
:(void)0;
7697 ((struct instance_standard__NativeArray
*)var9
)->values
[1]=var14
;
7699 var17
= ((val
*(*)(val
* self
))(var9
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var9
); /* native_to_s on <var9:NativeArray[String]>*/
7703 var18
= nit___nit__AbstractCompilerVisitor___get_name(self
, var17
);
7707 { /* Inline typing#Variable#declared_type (var_variable) on <var_variable:Variable> */
7708 var21
= var_variable
->attrs
[COLOR_nit__typing__Variable___declared_type
].val
; /* _declared_type on <var_variable:Variable> */
7710 RET_LABEL20
:(void)0;
7713 if (unlikely(var19
== NULL
)) {
7714 PRINT_ERROR("Runtime error: %s", "Cast failed");
7715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1392);
7720 var22
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
7723 var23
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
7725 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var23
, var_name
); /* name= on <var23:RuntimeVariable>*/
7728 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var23
, var_mtype
); /* mtype= on <var23:RuntimeVariable>*/
7731 ((void(*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var23
, var_mtype
); /* mcasttype= on <var23:RuntimeVariable>*/
7734 ((void(*)(val
* self
))(var23
->class->vft
[COLOR_standard__kernel__Object__init
]))(var23
); /* init on <var23:RuntimeVariable>*/
7737 if (unlikely(varonce24
==NULL
)) {
7738 var25
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
7739 if (likely(varonce26
!=NULL
)) {
7743 var29
= standard___standard__NativeString___to_s_with_length(var28
, 1l);
7747 ((struct instance_standard__NativeArray
*)var25
)->values
[1]=var27
;
7748 if (likely(varonce30
!=NULL
)) {
7752 var33
= standard___standard__NativeString___to_s_with_length(var32
, 8l);
7756 ((struct instance_standard__NativeArray
*)var25
)->values
[3]=var31
;
7757 if (likely(varonce34
!=NULL
)) {
7761 var37
= standard___standard__NativeString___to_s_with_length(var36
, 2l);
7765 ((struct instance_standard__NativeArray
*)var25
)->values
[5]=var35
;
7766 if (likely(varonce38
!=NULL
)) {
7770 var41
= standard___standard__NativeString___to_s_with_length(var40
, 4l);
7774 ((struct instance_standard__NativeArray
*)var25
)->values
[7]=var39
;
7780 var42
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
); /* ctype on <var_mtype:MType>*/
7782 ((struct instance_standard__NativeArray
*)var25
)->values
[0]=var42
;
7783 ((struct instance_standard__NativeArray
*)var25
)->values
[2]=var_name
;
7785 var43
= ((val
*(*)(val
* self
))(var_variable
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_variable
); /* to_s on <var_variable:Variable>*/
7787 ((struct instance_standard__NativeArray
*)var25
)->values
[4]=var43
;
7789 var44
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
7791 ((struct instance_standard__NativeArray
*)var25
)->values
[6]=var44
;
7793 var45
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
7797 nit___nit__AbstractCompilerVisitor___add_decl(self
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
7800 { /* Inline abstract_compiler#AbstractCompilerVisitor#variables (self) on <self:AbstractCompilerVisitor> */
7801 var48
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___variables
].val
; /* _variables on <self:AbstractCompilerVisitor> */
7802 if (unlikely(var48
== NULL
)) {
7803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _variables");
7804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1383);
7808 RET_LABEL47
:(void)0;
7812 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var46
, var_variable
, var_res
); /* Direct call hash_collection#HashMap#[]= on <var46:HashMap[Variable, RuntimeVariable]>*/
7820 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
7821 val
* nit___nit__AbstractCompilerVisitor___new_var(val
* self
, val
* p0
) {
7822 val
* var
/* : RuntimeVariable */;
7823 val
* var_mtype
/* var mtype: MType */;
7824 val
* var1
/* : MType */;
7825 static val
* varonce
;
7826 val
* var2
/* : String */;
7827 char* var3
/* : NativeString */;
7828 val
* var4
/* : FlatString */;
7829 val
* var5
/* : String */;
7830 val
* var_name
/* var name: String */;
7831 val
* var6
/* : RuntimeVariable */;
7832 val
* var_res
/* var res: RuntimeVariable */;
7833 val
* var8
/* : NativeArray[String] */;
7834 static val
* varonce7
;
7835 static val
* varonce9
;
7836 val
* var10
/* : String */;
7837 char* var11
/* : NativeString */;
7838 val
* var12
/* : FlatString */;
7839 static val
* varonce13
;
7840 val
* var14
/* : String */;
7841 char* var15
/* : NativeString */;
7842 val
* var16
/* : FlatString */;
7843 static val
* varonce17
;
7844 val
* var18
/* : String */;
7845 char* var19
/* : NativeString */;
7846 val
* var20
/* : FlatString */;
7847 val
* var21
/* : String */;
7848 val
* var22
/* : String */;
7849 val
* var23
/* : String */;
7852 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
7855 if (likely(varonce
!=NULL
)) {
7859 var4
= standard___standard__NativeString___to_s_with_length(var3
, 3l);
7864 var5
= nit___nit__AbstractCompilerVisitor___get_name(self
, var2
);
7867 var6
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
7869 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var6
, var_name
); /* name= on <var6:RuntimeVariable>*/
7872 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var6
, var_mtype
); /* mtype= on <var6:RuntimeVariable>*/
7875 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var6
, var_mtype
); /* mcasttype= on <var6:RuntimeVariable>*/
7878 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_standard__kernel__Object__init
]))(var6
); /* init on <var6:RuntimeVariable>*/
7881 if (unlikely(varonce7
==NULL
)) {
7882 var8
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7883 if (likely(varonce9
!=NULL
)) {
7887 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
7891 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var10
;
7892 if (likely(varonce13
!=NULL
)) {
7896 var16
= standard___standard__NativeString___to_s_with_length(var15
, 6l);
7900 ((struct instance_standard__NativeArray
*)var8
)->values
[3]=var14
;
7901 if (likely(varonce17
!=NULL
)) {
7905 var20
= standard___standard__NativeString___to_s_with_length(var19
, 4l);
7909 ((struct instance_standard__NativeArray
*)var8
)->values
[5]=var18
;
7915 var21
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
); /* ctype on <var_mtype:MType>*/
7917 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var21
;
7918 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var_name
;
7920 var22
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
7922 ((struct instance_standard__NativeArray
*)var8
)->values
[4]=var22
;
7924 var23
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
7928 nit___nit__AbstractCompilerVisitor___add_decl(self
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
7935 /* method abstract_compiler#AbstractCompilerVisitor#new_var_extern for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
7936 val
* nit___nit__AbstractCompilerVisitor___new_var_extern(val
* self
, val
* p0
) {
7937 val
* var
/* : RuntimeVariable */;
7938 val
* var_mtype
/* var mtype: MType */;
7939 val
* var1
/* : MType */;
7940 static val
* varonce
;
7941 val
* var2
/* : String */;
7942 char* var3
/* : NativeString */;
7943 val
* var4
/* : FlatString */;
7944 val
* var5
/* : String */;
7945 val
* var_name
/* var name: String */;
7946 val
* var6
/* : RuntimeVariable */;
7947 val
* var_res
/* var res: RuntimeVariable */;
7948 val
* var8
/* : NativeArray[String] */;
7949 static val
* varonce7
;
7950 static val
* varonce9
;
7951 val
* var10
/* : String */;
7952 char* var11
/* : NativeString */;
7953 val
* var12
/* : FlatString */;
7954 static val
* varonce13
;
7955 val
* var14
/* : String */;
7956 char* var15
/* : NativeString */;
7957 val
* var16
/* : FlatString */;
7958 static val
* varonce17
;
7959 val
* var18
/* : String */;
7960 char* var19
/* : NativeString */;
7961 val
* var20
/* : FlatString */;
7962 val
* var21
/* : String */;
7963 val
* var22
/* : String */;
7964 val
* var23
/* : String */;
7967 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
7970 if (likely(varonce
!=NULL
)) {
7974 var4
= standard___standard__NativeString___to_s_with_length(var3
, 3l);
7979 var5
= nit___nit__AbstractCompilerVisitor___get_name(self
, var2
);
7982 var6
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
7984 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var6
, var_name
); /* name= on <var6:RuntimeVariable>*/
7987 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var6
, var_mtype
); /* mtype= on <var6:RuntimeVariable>*/
7990 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var6
, var_mtype
); /* mcasttype= on <var6:RuntimeVariable>*/
7993 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_standard__kernel__Object__init
]))(var6
); /* init on <var6:RuntimeVariable>*/
7996 if (unlikely(varonce7
==NULL
)) {
7997 var8
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
7998 if (likely(varonce9
!=NULL
)) {
8002 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
8006 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var10
;
8007 if (likely(varonce13
!=NULL
)) {
8011 var16
= standard___standard__NativeString___to_s_with_length(var15
, 6l);
8015 ((struct instance_standard__NativeArray
*)var8
)->values
[3]=var14
;
8016 if (likely(varonce17
!=NULL
)) {
8019 var19
= " for extern */;";
8020 var20
= standard___standard__NativeString___to_s_with_length(var19
, 15l);
8024 ((struct instance_standard__NativeArray
*)var8
)->values
[5]=var18
;
8030 var21
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype_extern
]))(var_mtype
); /* ctype_extern on <var_mtype:MType>*/
8032 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var21
;
8033 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var_name
;
8035 var22
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
8037 ((struct instance_standard__NativeArray
*)var8
)->values
[4]=var22
;
8039 var23
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
8043 nit___nit__AbstractCompilerVisitor___add_decl(self
, var23
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8050 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
8051 val
* nit___nit__AbstractCompilerVisitor___new_named_var(val
* self
, val
* p0
, val
* p1
) {
8052 val
* var
/* : RuntimeVariable */;
8053 val
* var_mtype
/* var mtype: MType */;
8054 val
* var_name
/* var name: String */;
8055 val
* var1
/* : MType */;
8056 val
* var2
/* : RuntimeVariable */;
8057 val
* var_res
/* var res: RuntimeVariable */;
8058 val
* var3
/* : NativeArray[String] */;
8059 static val
* varonce
;
8060 static val
* varonce4
;
8061 val
* var5
/* : String */;
8062 char* var6
/* : NativeString */;
8063 val
* var7
/* : FlatString */;
8064 static val
* varonce8
;
8065 val
* var9
/* : String */;
8066 char* var10
/* : NativeString */;
8067 val
* var11
/* : FlatString */;
8068 static val
* varonce12
;
8069 val
* var13
/* : String */;
8070 char* var14
/* : NativeString */;
8071 val
* var15
/* : FlatString */;
8072 val
* var16
/* : String */;
8073 val
* var17
/* : String */;
8074 val
* var18
/* : String */;
8078 var1
= nit___nit__AbstractCompilerVisitor___anchor(self
, var_mtype
);
8081 var2
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8083 ((void(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var2
, var_name
); /* name= on <var2:RuntimeVariable>*/
8086 ((void(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var2
, var_mtype
); /* mtype= on <var2:RuntimeVariable>*/
8089 ((void(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var2
, var_mtype
); /* mcasttype= on <var2:RuntimeVariable>*/
8092 ((void(*)(val
* self
))(var2
->class->vft
[COLOR_standard__kernel__Object__init
]))(var2
); /* init on <var2:RuntimeVariable>*/
8095 if (unlikely(varonce
==NULL
)) {
8096 var3
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
8097 if (likely(varonce4
!=NULL
)) {
8101 var7
= standard___standard__NativeString___to_s_with_length(var6
, 1l);
8105 ((struct instance_standard__NativeArray
*)var3
)->values
[1]=var5
;
8106 if (likely(varonce8
!=NULL
)) {
8110 var11
= standard___standard__NativeString___to_s_with_length(var10
, 6l);
8114 ((struct instance_standard__NativeArray
*)var3
)->values
[3]=var9
;
8115 if (likely(varonce12
!=NULL
)) {
8119 var15
= standard___standard__NativeString___to_s_with_length(var14
, 4l);
8123 ((struct instance_standard__NativeArray
*)var3
)->values
[5]=var13
;
8129 var16
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
); /* ctype on <var_mtype:MType>*/
8131 ((struct instance_standard__NativeArray
*)var3
)->values
[0]=var16
;
8132 ((struct instance_standard__NativeArray
*)var3
)->values
[2]=var_name
;
8134 var17
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
8136 ((struct instance_standard__NativeArray
*)var3
)->values
[4]=var17
;
8138 var18
= ((val
*(*)(val
* self
))(var3
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var3
); /* native_to_s on <var3:NativeArray[String]>*/
8142 nit___nit__AbstractCompilerVisitor___add_decl(self
, var18
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
8149 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
8150 void nit___nit__AbstractCompilerVisitor___assign(val
* self
, val
* p0
, val
* p1
) {
8151 val
* var_left
/* var left: RuntimeVariable */;
8152 val
* var_right
/* var right: RuntimeVariable */;
8153 val
* var
/* : MType */;
8154 val
* var2
/* : MType */;
8155 val
* var3
/* : RuntimeVariable */;
8156 val
* var4
/* : NativeArray[String] */;
8157 static val
* varonce
;
8158 static val
* varonce5
;
8159 val
* var6
/* : String */;
8160 char* var7
/* : NativeString */;
8161 val
* var8
/* : FlatString */;
8162 static val
* varonce9
;
8163 val
* var10
/* : String */;
8164 char* var11
/* : NativeString */;
8165 val
* var12
/* : FlatString */;
8166 val
* var13
/* : String */;
8167 val
* var14
/* : String */;
8168 val
* var15
/* : String */;
8172 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_left) on <var_left:RuntimeVariable> */
8173 var2
= var_left
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_left:RuntimeVariable> */
8174 if (unlikely(var2
== NULL
)) {
8175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8176 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
8184 var3
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_right
, var
);
8187 if (unlikely(varonce
==NULL
)) {
8188 var4
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
8189 if (likely(varonce5
!=NULL
)) {
8193 var8
= standard___standard__NativeString___to_s_with_length(var7
, 3l);
8197 ((struct instance_standard__NativeArray
*)var4
)->values
[1]=var6
;
8198 if (likely(varonce9
!=NULL
)) {
8202 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
8206 ((struct instance_standard__NativeArray
*)var4
)->values
[3]=var10
;
8212 var13
= ((val
*(*)(val
* self
))(var_left
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_left
); /* to_s on <var_left:RuntimeVariable>*/
8214 ((struct instance_standard__NativeArray
*)var4
)->values
[0]=var13
;
8216 var14
= ((val
*(*)(val
* self
))(var_right
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_right
); /* to_s on <var_right:RuntimeVariable>*/
8218 ((struct instance_standard__NativeArray
*)var4
)->values
[2]=var14
;
8220 var15
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var4
); /* native_to_s on <var4:NativeArray[String]>*/
8224 nit___nit__AbstractCompilerVisitor___add(self
, var15
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8228 /* method abstract_compiler#AbstractCompilerVisitor#init_instance_or_extern for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
8229 val
* nit___nit__AbstractCompilerVisitor___init_instance_or_extern(val
* self
, val
* p0
) {
8230 val
* var
/* : RuntimeVariable */;
8231 val
* var_mtype
/* var mtype: MClassType */;
8232 val
* var1
/* : String */;
8233 val
* var_ctype
/* var ctype: String */;
8234 val
* var2
/* : MClass */;
8235 val
* var4
/* : MClass */;
8236 val
* var5
/* : String */;
8237 val
* var7
/* : String */;
8238 static val
* varonce
;
8239 val
* var8
/* : String */;
8240 char* var9
/* : NativeString */;
8241 val
* var10
/* : FlatString */;
8242 short int var11
/* : Bool */;
8243 val
* var_other
/* var other: nullable Object */;
8244 short int var13
/* : Bool */;
8245 short int var14
/* : Bool */;
8246 short int var15
/* : Bool */;
8247 short int var16
/* : Bool */;
8248 val
* var17
/* : RuntimeVariable */;
8249 val
* var_recv
/* var recv: nullable Object */;
8250 static val
* varonce18
;
8251 val
* var19
/* : String */;
8252 char* var20
/* : NativeString */;
8253 val
* var21
/* : FlatString */;
8254 short int var22
/* : Bool */;
8255 static val
* varonce23
;
8256 val
* var24
/* : String */;
8257 char* var25
/* : NativeString */;
8258 val
* var26
/* : FlatString */;
8259 val
* var27
/* : RuntimeVariable */;
8260 val
* var29
/* : NativeArray[String] */;
8261 static val
* varonce28
;
8262 static val
* varonce30
;
8263 val
* var31
/* : String */;
8264 char* var32
/* : NativeString */;
8265 val
* var33
/* : FlatString */;
8266 static val
* varonce34
;
8267 val
* var35
/* : String */;
8268 char* var36
/* : NativeString */;
8269 val
* var37
/* : FlatString */;
8270 val
* var38
/* : String */;
8271 val
* var39
/* : RuntimeVariable */;
8274 var1
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
8278 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
8279 var4
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
8280 if (unlikely(var4
== NULL
)) {
8281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8290 { /* Inline model#MClass#name (var2) on <var2:MClass> */
8291 var7
= var2
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var2:MClass> */
8292 if (unlikely(var7
== NULL
)) {
8293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 362);
8301 if (likely(varonce
!=NULL
)) {
8304 var9
= "NativeArray";
8305 var10
= standard___standard__NativeString___to_s_with_length(var9
, 11l);
8310 { /* Inline kernel#Object#!= (var5,var8) on <var5:String> */
8313 var13
= ((short int(*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var5
, var_other
); /* == on <var5:String>*/
8318 RET_LABEL12
:(void)0;
8321 if (unlikely(!var11
)) {
8322 PRINT_ERROR("Runtime error: %s", "Assert failed");
8323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1450);
8327 var15
= nit__abstract_compiler___MClassType___MType__is_c_primitive(var_mtype
);
8332 var17
= ((val
*(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_mtype
); /* init_instance on <self:AbstractCompilerVisitor>*/
8336 if (likely(varonce18
!=NULL
)) {
8340 var21
= standard___standard__NativeString___to_s_with_length(var20
, 5l);
8345 var22
= ((short int(*)(val
* self
, val
* p0
))(var_ctype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ctype
, var19
); /* == on <var_ctype:String>*/
8348 if (likely(varonce23
!=NULL
)) {
8351 var25
= "NULL/*special!*/";
8352 var26
= standard___standard__NativeString___to_s_with_length(var25
, 16l);
8357 var27
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var24
, var_mtype
);
8361 if (unlikely(varonce28
==NULL
)) {
8362 var29
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8363 if (likely(varonce30
!=NULL
)) {
8367 var33
= standard___standard__NativeString___to_s_with_length(var32
, 1l);
8371 ((struct instance_standard__NativeArray
*)var29
)->values
[0]=var31
;
8372 if (likely(varonce34
!=NULL
)) {
8375 var36
= ")0/*special!*/";
8376 var37
= standard___standard__NativeString___to_s_with_length(var36
, 14l);
8380 ((struct instance_standard__NativeArray
*)var29
)->values
[2]=var35
;
8385 ((struct instance_standard__NativeArray
*)var29
)->values
[1]=var_ctype
;
8387 var38
= ((val
*(*)(val
* self
))(var29
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var29
); /* native_to_s on <var29:NativeArray[String]>*/
8391 var39
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var38
, var_mtype
);
8401 /* method abstract_compiler#AbstractCompilerVisitor#set_finalizer for (self: AbstractCompilerVisitor, RuntimeVariable) */
8402 void nit___nit__AbstractCompilerVisitor___set_finalizer(val
* self
, val
* p0
) {
8403 val
* var_recv
/* var recv: RuntimeVariable */;
8404 val
* var
/* : MType */;
8405 val
* var2
/* : MType */;
8406 val
* var_mtype
/* var mtype: MType */;
8407 val
* var3
/* : AbstractCompiler */;
8408 val
* var5
/* : AbstractCompiler */;
8409 val
* var6
/* : MModule */;
8410 val
* var8
/* : MModule */;
8411 val
* var9
/* : nullable MClassType */;
8412 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
8413 short int var10
/* : Bool */;
8414 short int var11
/* : Bool */;
8415 short int var12
/* : Bool */;
8416 short int var13
/* : Bool */;
8417 val
* var_other
/* var other: nullable Object */;
8418 short int var15
/* : Bool */;
8419 short int var16
/* : Bool */;
8420 short int var_
/* var : Bool */;
8421 short int var17
/* : Bool */;
8422 short int var18
/* : Bool */;
8423 short int var_19
/* var : Bool */;
8424 val
* var20
/* : AbstractCompiler */;
8425 val
* var22
/* : AbstractCompiler */;
8426 val
* var23
/* : MModule */;
8427 val
* var25
/* : MModule */;
8428 short int var26
/* : Bool */;
8429 val
* var27
/* : NativeArray[String] */;
8430 static val
* varonce
;
8431 static val
* varonce28
;
8432 val
* var29
/* : String */;
8433 char* var30
/* : NativeString */;
8434 val
* var31
/* : FlatString */;
8435 static val
* varonce32
;
8436 val
* var33
/* : String */;
8437 char* var34
/* : NativeString */;
8438 val
* var35
/* : FlatString */;
8439 val
* var36
/* : String */;
8440 val
* var37
/* : String */;
8443 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
8444 var2
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
8445 if (unlikely(var2
== NULL
)) {
8446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8447 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
8456 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
8457 var5
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
8458 if (unlikely(var5
== NULL
)) {
8459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8468 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var3) on <var3:AbstractCompiler> */
8469 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var3:AbstractCompiler> */
8470 if (unlikely(var8
== NULL
)) {
8471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
8480 var9
= nit__model___MModule___finalizable_type(var6
);
8482 var_finalizable_type
= var9
;
8483 if (var_finalizable_type
== NULL
) {
8484 var12
= 0; /* is null */
8486 var12
= 1; /* arg is null and recv is not */
8489 { /* Inline kernel#Object#!= (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
8490 var_other
= ((val
*)NULL
);
8492 var15
= ((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)>*/
8497 RET_LABEL14
:(void)0;
8504 var17
= ((short int(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
); /* need_anchor on <var_mtype:MType>*/
8514 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
8515 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
8516 if (unlikely(var22
== NULL
)) {
8517 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8518 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8522 RET_LABEL21
:(void)0;
8526 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var20) on <var20:AbstractCompiler> */
8527 var25
= var20
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var20:AbstractCompiler> */
8528 if (unlikely(var25
== NULL
)) {
8529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
8534 RET_LABEL24
:(void)0;
8538 var26
= nit___nit__MType___is_subtype(var_mtype
, var23
, ((val
*)NULL
), var_finalizable_type
);
8545 if (unlikely(varonce
==NULL
)) {
8546 var27
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8547 if (likely(varonce28
!=NULL
)) {
8550 var30
= "gc_register_finalizer(";
8551 var31
= standard___standard__NativeString___to_s_with_length(var30
, 22l);
8555 ((struct instance_standard__NativeArray
*)var27
)->values
[0]=var29
;
8556 if (likely(varonce32
!=NULL
)) {
8560 var35
= standard___standard__NativeString___to_s_with_length(var34
, 2l);
8564 ((struct instance_standard__NativeArray
*)var27
)->values
[2]=var33
;
8570 var36
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
8572 ((struct instance_standard__NativeArray
*)var27
)->values
[1]=var36
;
8574 var37
= ((val
*(*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var27
); /* native_to_s on <var27:NativeArray[String]>*/
8578 nit___nit__AbstractCompilerVisitor___add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
8584 /* method abstract_compiler#AbstractCompilerVisitor#mmodule for (self: AbstractCompilerVisitor): MModule */
8585 val
* nit___nit__AbstractCompilerVisitor___mmodule(val
* self
) {
8586 val
* var
/* : MModule */;
8587 val
* var1
/* : AbstractCompiler */;
8588 val
* var3
/* : AbstractCompiler */;
8589 val
* var4
/* : MModule */;
8590 val
* var6
/* : MModule */;
8592 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
8593 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
8594 if (unlikely(var3
== NULL
)) {
8595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8604 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
8605 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
8606 if (unlikely(var6
== NULL
)) {
8607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8608 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
8620 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
8621 val
* nit___nit__AbstractCompilerVisitor___int_instance(val
* self
, long p0
) {
8622 val
* var
/* : RuntimeVariable */;
8623 long var_value
/* var value: Int */;
8624 val
* var1
/* : MModule */;
8625 val
* var2
/* : MClassType */;
8626 val
* var_t
/* var t: MClassType */;
8627 val
* var3
/* : RuntimeVariable */;
8628 val
* var4
/* : NativeArray[String] */;
8629 static val
* varonce
;
8630 static val
* varonce5
;
8631 val
* var6
/* : String */;
8632 char* var7
/* : NativeString */;
8633 val
* var8
/* : FlatString */;
8634 val
* var9
/* : String */;
8635 val
* var10
/* : String */;
8636 val
* var_res
/* var res: RuntimeVariable */;
8639 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
8642 var2
= nit__model___MModule___int_type(var1
);
8645 var3
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8646 if (unlikely(varonce
==NULL
)) {
8647 var4
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
8648 if (likely(varonce5
!=NULL
)) {
8652 var8
= standard___standard__NativeString___to_s_with_length(var7
, 1l);
8656 ((struct instance_standard__NativeArray
*)var4
)->values
[1]=var6
;
8662 var9
= standard__string___Int___Object__to_s(var_value
);
8664 ((struct instance_standard__NativeArray
*)var4
)->values
[0]=var9
;
8666 var10
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var4
); /* native_to_s on <var4:NativeArray[String]>*/
8670 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var3
, var10
); /* name= on <var3:RuntimeVariable>*/
8673 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var3
, var_t
); /* mtype= on <var3:RuntimeVariable>*/
8676 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var3
, var_t
); /* mcasttype= on <var3:RuntimeVariable>*/
8679 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
); /* init on <var3:RuntimeVariable>*/
8687 /* method abstract_compiler#AbstractCompilerVisitor#byte_instance for (self: AbstractCompilerVisitor, Byte): RuntimeVariable */
8688 val
* nit___nit__AbstractCompilerVisitor___byte_instance(val
* self
, unsigned char p0
) {
8689 val
* var
/* : RuntimeVariable */;
8690 unsigned char var_value
/* var value: Byte */;
8691 val
* var1
/* : MModule */;
8692 val
* var2
/* : MClassType */;
8693 val
* var_t
/* var t: MClassType */;
8694 val
* var3
/* : RuntimeVariable */;
8695 val
* var4
/* : NativeArray[String] */;
8696 static val
* varonce
;
8697 static val
* varonce5
;
8698 val
* var6
/* : String */;
8699 char* var7
/* : NativeString */;
8700 val
* var8
/* : FlatString */;
8701 static val
* varonce9
;
8702 val
* var10
/* : String */;
8703 char* var11
/* : NativeString */;
8704 val
* var12
/* : FlatString */;
8705 val
* var13
/* : String */;
8706 val
* var14
/* : String */;
8707 val
* var_res
/* var res: RuntimeVariable */;
8710 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
8713 var2
= nit__model___MModule___byte_type(var1
);
8716 var3
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8717 if (unlikely(varonce
==NULL
)) {
8718 var4
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8719 if (likely(varonce5
!=NULL
)) {
8722 var7
= "((unsigned char)";
8723 var8
= standard___standard__NativeString___to_s_with_length(var7
, 16l);
8727 ((struct instance_standard__NativeArray
*)var4
)->values
[0]=var6
;
8728 if (likely(varonce9
!=NULL
)) {
8732 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
8736 ((struct instance_standard__NativeArray
*)var4
)->values
[2]=var10
;
8742 var13
= standard__string___Byte___Object__to_s(var_value
);
8744 ((struct instance_standard__NativeArray
*)var4
)->values
[1]=var13
;
8746 var14
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var4
); /* native_to_s on <var4:NativeArray[String]>*/
8750 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var3
, var14
); /* name= on <var3:RuntimeVariable>*/
8753 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var3
, var_t
); /* mtype= on <var3:RuntimeVariable>*/
8756 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var3
, var_t
); /* mcasttype= on <var3:RuntimeVariable>*/
8759 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
); /* init on <var3:RuntimeVariable>*/
8767 /* method abstract_compiler#AbstractCompilerVisitor#char_instance for (self: AbstractCompilerVisitor, Char): RuntimeVariable */
8768 val
* nit___nit__AbstractCompilerVisitor___char_instance(val
* self
, uint32_t p0
) {
8769 val
* var
/* : RuntimeVariable */;
8770 uint32_t var_value
/* var value: Char */;
8771 val
* var1
/* : MModule */;
8772 val
* var2
/* : MClassType */;
8773 val
* var_t
/* var t: MClassType */;
8774 val
* var3
/* : RuntimeVariable */;
8775 val
* var4
/* : NativeArray[String] */;
8776 static val
* varonce
;
8777 static val
* varonce5
;
8778 val
* var6
/* : String */;
8779 char* var7
/* : NativeString */;
8780 val
* var8
/* : FlatString */;
8781 static val
* varonce9
;
8782 val
* var10
/* : String */;
8783 char* var11
/* : NativeString */;
8784 val
* var12
/* : FlatString */;
8785 val
* var13
/* : String */;
8786 val
* var14
/* : String */;
8787 val
* var15
/* : String */;
8788 val
* var_res
/* var res: RuntimeVariable */;
8791 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
8794 var2
= nit__model___MModule___char_type(var1
);
8797 var3
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8798 if (unlikely(varonce
==NULL
)) {
8799 var4
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
8800 if (likely(varonce5
!=NULL
)) {
8804 var8
= standard___standard__NativeString___to_s_with_length(var7
, 1l);
8808 ((struct instance_standard__NativeArray
*)var4
)->values
[0]=var6
;
8809 if (likely(varonce9
!=NULL
)) {
8813 var12
= standard___standard__NativeString___to_s_with_length(var11
, 1l);
8817 ((struct instance_standard__NativeArray
*)var4
)->values
[2]=var10
;
8823 var13
= standard__string___Char___Object__to_s(var_value
);
8826 var14
= standard___standard__Text___escape_to_c(var13
);
8828 ((struct instance_standard__NativeArray
*)var4
)->values
[1]=var14
;
8830 var15
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var4
); /* native_to_s on <var4:NativeArray[String]>*/
8834 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var3
, var15
); /* name= on <var3:RuntimeVariable>*/
8837 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var3
, var_t
); /* mtype= on <var3:RuntimeVariable>*/
8840 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var3
, var_t
); /* mcasttype= on <var3:RuntimeVariable>*/
8843 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
); /* init on <var3:RuntimeVariable>*/
8851 /* method abstract_compiler#AbstractCompilerVisitor#float_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
8852 val
* nit___nit__AbstractCompilerVisitor___float_instance(val
* self
, val
* p0
) {
8853 val
* var
/* : RuntimeVariable */;
8854 val
* var_value
/* var value: String */;
8855 val
* var1
/* : MModule */;
8856 val
* var2
/* : MClassType */;
8857 val
* var_t
/* var t: MClassType */;
8858 val
* var3
/* : RuntimeVariable */;
8859 val
* var4
/* : NativeArray[String] */;
8860 static val
* varonce
;
8861 val
* var5
/* : String */;
8862 val
* var_res
/* var res: RuntimeVariable */;
8865 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
8868 var2
= nit__model___MModule___float_type(var1
);
8871 var3
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8872 if (unlikely(varonce
==NULL
)) {
8873 var4
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__String
);
8878 ((struct instance_standard__NativeArray
*)var4
)->values
[0]=var_value
;
8880 var5
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var4
); /* native_to_s on <var4:NativeArray[String]>*/
8884 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var3
, var5
); /* name= on <var3:RuntimeVariable>*/
8887 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var3
, var_t
); /* mtype= on <var3:RuntimeVariable>*/
8890 ((void(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var3
, var_t
); /* mcasttype= on <var3:RuntimeVariable>*/
8893 ((void(*)(val
* self
))(var3
->class->vft
[COLOR_standard__kernel__Object__init
]))(var3
); /* init on <var3:RuntimeVariable>*/
8901 /* method abstract_compiler#AbstractCompilerVisitor#bool_instance for (self: AbstractCompilerVisitor, Bool): RuntimeVariable */
8902 val
* nit___nit__AbstractCompilerVisitor___bool_instance(val
* self
, short int p0
) {
8903 val
* var
/* : RuntimeVariable */;
8904 short int var_value
/* var value: Bool */;
8905 val
* var1
/* : String */;
8906 static val
* varonce
;
8907 val
* var2
/* : String */;
8908 char* var3
/* : NativeString */;
8909 val
* var4
/* : FlatString */;
8910 static val
* varonce5
;
8911 val
* var6
/* : String */;
8912 char* var7
/* : NativeString */;
8913 val
* var8
/* : FlatString */;
8914 val
* var_s
/* var s: String */;
8915 val
* var9
/* : RuntimeVariable */;
8916 val
* var10
/* : MClassType */;
8917 val
* var11
/* : MClassType */;
8918 val
* var_res
/* var res: RuntimeVariable */;
8921 if (likely(varonce
!=NULL
)) {
8925 var4
= standard___standard__NativeString___to_s_with_length(var3
, 1l);
8931 if (likely(varonce5
!=NULL
)) {
8935 var8
= standard___standard__NativeString___to_s_with_length(var7
, 1l);
8942 var9
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
8944 var10
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
8947 var11
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
8950 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var9
, var_s
); /* name= on <var9:RuntimeVariable>*/
8953 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var9
, var10
); /* mtype= on <var9:RuntimeVariable>*/
8956 ((void(*)(val
* self
, val
* p0
))(var9
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var9
, var11
); /* mcasttype= on <var9:RuntimeVariable>*/
8959 ((void(*)(val
* self
))(var9
->class->vft
[COLOR_standard__kernel__Object__init
]))(var9
); /* init on <var9:RuntimeVariable>*/
8967 /* method abstract_compiler#AbstractCompilerVisitor#null_instance for (self: AbstractCompilerVisitor): RuntimeVariable */
8968 val
* nit___nit__AbstractCompilerVisitor___null_instance(val
* self
) {
8969 val
* var
/* : RuntimeVariable */;
8970 val
* var1
/* : AbstractCompiler */;
8971 val
* var3
/* : AbstractCompiler */;
8972 val
* var4
/* : MModule */;
8973 val
* var6
/* : MModule */;
8974 val
* var7
/* : Model */;
8975 val
* var9
/* : Model */;
8976 val
* var10
/* : MNullType */;
8977 val
* var12
/* : MNullType */;
8978 val
* var_t
/* var t: MNullType */;
8979 val
* var13
/* : RuntimeVariable */;
8980 static val
* varonce
;
8981 val
* var14
/* : String */;
8982 char* var15
/* : NativeString */;
8983 val
* var16
/* : FlatString */;
8984 val
* var_res
/* var res: RuntimeVariable */;
8986 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
8987 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
8988 if (unlikely(var3
== NULL
)) {
8989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
8998 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
8999 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
9000 if (unlikely(var6
== NULL
)) {
9001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
9010 { /* Inline mmodule#MModule#model (var4) on <var4:MModule> */
9011 var9
= var4
->attrs
[COLOR_nit__mmodule__MModule___model
].val
; /* _model on <var4:MModule> */
9012 if (unlikely(var9
== NULL
)) {
9013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model");
9014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 73);
9022 { /* Inline model#Model#null_type (var7) on <var7:Model> */
9023 var12
= var7
->attrs
[COLOR_nit__model__Model___null_type
].val
; /* _null_type on <var7:Model> */
9024 if (unlikely(var12
== NULL
)) {
9025 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _null_type");
9026 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 94);
9030 RET_LABEL11
:(void)0;
9034 var13
= NEW_nit__RuntimeVariable(&type_nit__RuntimeVariable
);
9035 if (likely(varonce
!=NULL
)) {
9038 var15
= "((val*)NULL)";
9039 var16
= standard___standard__NativeString___to_s_with_length(var15
, 12l);
9044 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__name_61d
]))(var13
, var14
); /* name= on <var13:RuntimeVariable>*/
9047 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mtype_61d
]))(var13
, var_t
); /* mtype= on <var13:RuntimeVariable>*/
9050 ((void(*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_nit__abstract_compiler__RuntimeVariable__mcasttype_61d
]))(var13
, var_t
); /* mcasttype= on <var13:RuntimeVariable>*/
9053 ((void(*)(val
* self
))(var13
->class->vft
[COLOR_standard__kernel__Object__init
]))(var13
); /* init on <var13:RuntimeVariable>*/
9061 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
9062 val
* nit___nit__AbstractCompilerVisitor___string_instance(val
* self
, val
* p0
) {
9063 val
* var
/* : RuntimeVariable */;
9064 val
* var_string
/* var string: String */;
9065 val
* var1
/* : MModule */;
9066 val
* var2
/* : MClassType */;
9067 val
* var_mtype
/* var mtype: MClassType */;
9068 static val
* varonce
;
9069 val
* var3
/* : String */;
9070 char* var4
/* : NativeString */;
9071 val
* var5
/* : FlatString */;
9072 val
* var6
/* : String */;
9073 val
* var_name
/* var name: String */;
9074 val
* var8
/* : NativeArray[String] */;
9075 static val
* varonce7
;
9076 static val
* varonce9
;
9077 val
* var10
/* : String */;
9078 char* var11
/* : NativeString */;
9079 val
* var12
/* : FlatString */;
9080 static val
* varonce13
;
9081 val
* var14
/* : String */;
9082 char* var15
/* : NativeString */;
9083 val
* var16
/* : FlatString */;
9084 static val
* varonce17
;
9085 val
* var18
/* : String */;
9086 char* var19
/* : NativeString */;
9087 val
* var20
/* : FlatString */;
9088 val
* var21
/* : String */;
9089 val
* var22
/* : String */;
9090 val
* var23
/* : RuntimeVariable */;
9091 val
* var_res
/* var res: RuntimeVariable */;
9092 val
* var25
/* : NativeArray[String] */;
9093 static val
* varonce24
;
9094 static val
* varonce26
;
9095 val
* var27
/* : String */;
9096 char* var28
/* : NativeString */;
9097 val
* var29
/* : FlatString */;
9098 static val
* varonce30
;
9099 val
* var31
/* : String */;
9100 char* var32
/* : NativeString */;
9101 val
* var33
/* : FlatString */;
9102 val
* var34
/* : String */;
9103 val
* var36
/* : NativeArray[String] */;
9104 static val
* varonce35
;
9105 static val
* varonce37
;
9106 val
* var38
/* : String */;
9107 char* var39
/* : NativeString */;
9108 val
* var40
/* : FlatString */;
9109 static val
* varonce41
;
9110 val
* var42
/* : String */;
9111 char* var43
/* : NativeString */;
9112 val
* var44
/* : FlatString */;
9113 val
* var45
/* : String */;
9114 val
* var46
/* : String */;
9115 static val
* varonce47
;
9116 val
* var48
/* : String */;
9117 char* var49
/* : NativeString */;
9118 val
* var50
/* : FlatString */;
9119 val
* var51
/* : MModule */;
9120 val
* var52
/* : MClassType */;
9121 val
* var_native_mtype
/* var native_mtype: MClassType */;
9122 val
* var53
/* : RuntimeVariable */;
9123 val
* var_nat
/* var nat: RuntimeVariable */;
9124 val
* var55
/* : NativeArray[String] */;
9125 static val
* varonce54
;
9126 static val
* varonce56
;
9127 val
* var57
/* : String */;
9128 char* var58
/* : NativeString */;
9129 val
* var59
/* : FlatString */;
9130 static val
* varonce60
;
9131 val
* var61
/* : String */;
9132 char* var62
/* : NativeString */;
9133 val
* var63
/* : FlatString */;
9134 val
* var64
/* : String */;
9135 val
* var65
/* : String */;
9136 val
* var66
/* : String */;
9137 long var67
/* : Int */;
9138 val
* var68
/* : RuntimeVariable */;
9139 val
* var_length
/* var length: RuntimeVariable */;
9140 val
* var70
/* : NativeArray[String] */;
9141 static val
* varonce69
;
9142 static val
* varonce71
;
9143 val
* var72
/* : String */;
9144 char* var73
/* : NativeString */;
9145 val
* var74
/* : FlatString */;
9146 static val
* varonce75
;
9147 val
* var76
/* : String */;
9148 char* var77
/* : NativeString */;
9149 val
* var78
/* : FlatString */;
9150 val
* var79
/* : String */;
9151 static val
* varonce80
;
9152 val
* var81
/* : String */;
9153 char* var82
/* : NativeString */;
9154 val
* var83
/* : FlatString */;
9155 val
* var84
/* : MMethod */;
9156 val
* var85
/* : Array[RuntimeVariable] */;
9157 val
* var_
/* var : Array[RuntimeVariable] */;
9158 val
* var86
/* : nullable RuntimeVariable */;
9159 val
* var87
/* : String */;
9160 val
* var88
/* : String */;
9161 val
* var90
/* : NativeArray[String] */;
9162 static val
* varonce89
;
9163 static val
* varonce91
;
9164 val
* var92
/* : String */;
9165 char* var93
/* : NativeString */;
9166 val
* var94
/* : FlatString */;
9167 static val
* varonce95
;
9168 val
* var96
/* : String */;
9169 char* var97
/* : NativeString */;
9170 val
* var98
/* : FlatString */;
9171 val
* var99
/* : String */;
9172 val
* var100
/* : String */;
9173 static val
* varonce101
;
9174 val
* var102
/* : String */;
9175 char* var103
/* : NativeString */;
9176 val
* var104
/* : FlatString */;
9179 var1
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
9182 var2
= nit__model___MModule___string_type(var1
);
9185 if (likely(varonce
!=NULL
)) {
9189 var5
= standard___standard__NativeString___to_s_with_length(var4
, 7l);
9194 var6
= nit___nit__AbstractCompilerVisitor___get_name(self
, var3
);
9197 if (unlikely(varonce7
==NULL
)) {
9198 var8
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
9199 if (likely(varonce9
!=NULL
)) {
9203 var12
= standard___standard__NativeString___to_s_with_length(var11
, 7l);
9207 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var10
;
9208 if (likely(varonce13
!=NULL
)) {
9212 var16
= standard___standard__NativeString___to_s_with_length(var15
, 1l);
9216 ((struct instance_standard__NativeArray
*)var8
)->values
[2]=var14
;
9217 if (likely(varonce17
!=NULL
)) {
9221 var20
= standard___standard__NativeString___to_s_with_length(var19
, 1l);
9225 ((struct instance_standard__NativeArray
*)var8
)->values
[4]=var18
;
9231 var21
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
9233 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var21
;
9234 ((struct instance_standard__NativeArray
*)var8
)->values
[3]=var_name
;
9236 var22
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
9240 nit___nit__AbstractCompilerVisitor___add_decl(self
, var22
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:AbstractCompilerVisitor>*/
9243 var23
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_mtype
);
9246 if (unlikely(varonce24
==NULL
)) {
9247 var25
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
9248 if (likely(varonce26
!=NULL
)) {
9251 var28
= "if (likely(";
9252 var29
= standard___standard__NativeString___to_s_with_length(var28
, 11l);
9256 ((struct instance_standard__NativeArray
*)var25
)->values
[0]=var27
;
9257 if (likely(varonce30
!=NULL
)) {
9260 var32
= "!=NULL)) {";
9261 var33
= standard___standard__NativeString___to_s_with_length(var32
, 10l);
9265 ((struct instance_standard__NativeArray
*)var25
)->values
[2]=var31
;
9270 ((struct instance_standard__NativeArray
*)var25
)->values
[1]=var_name
;
9272 var34
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
9276 nit___nit__AbstractCompilerVisitor___add(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9278 if (unlikely(varonce35
==NULL
)) {
9279 var36
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
9280 if (likely(varonce37
!=NULL
)) {
9284 var40
= standard___standard__NativeString___to_s_with_length(var39
, 3l);
9288 ((struct instance_standard__NativeArray
*)var36
)->values
[1]=var38
;
9289 if (likely(varonce41
!=NULL
)) {
9293 var44
= standard___standard__NativeString___to_s_with_length(var43
, 1l);
9297 ((struct instance_standard__NativeArray
*)var36
)->values
[3]=var42
;
9303 var45
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
9305 ((struct instance_standard__NativeArray
*)var36
)->values
[0]=var45
;
9306 ((struct instance_standard__NativeArray
*)var36
)->values
[2]=var_name
;
9308 var46
= ((val
*(*)(val
* self
))(var36
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var36
); /* native_to_s on <var36:NativeArray[String]>*/
9312 nit___nit__AbstractCompilerVisitor___add(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9314 if (likely(varonce47
!=NULL
)) {
9318 var50
= standard___standard__NativeString___to_s_with_length(var49
, 8l);
9323 nit___nit__AbstractCompilerVisitor___add(self
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9326 var51
= nit___nit__AbstractCompilerVisitor___mmodule(self
);
9329 var52
= nit__model___MModule___native_string_type(var51
);
9331 var_native_mtype
= var52
;
9333 var53
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_native_mtype
);
9336 if (unlikely(varonce54
==NULL
)) {
9337 var55
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
9338 if (likely(varonce56
!=NULL
)) {
9342 var59
= standard___standard__NativeString___to_s_with_length(var58
, 4l);
9346 ((struct instance_standard__NativeArray
*)var55
)->values
[1]=var57
;
9347 if (likely(varonce60
!=NULL
)) {
9351 var63
= standard___standard__NativeString___to_s_with_length(var62
, 2l);
9355 ((struct instance_standard__NativeArray
*)var55
)->values
[3]=var61
;
9361 var64
= ((val
*(*)(val
* self
))(var_nat
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_nat
); /* to_s on <var_nat:RuntimeVariable>*/
9363 ((struct instance_standard__NativeArray
*)var55
)->values
[0]=var64
;
9365 var65
= standard___standard__Text___escape_to_c(var_string
);
9367 ((struct instance_standard__NativeArray
*)var55
)->values
[2]=var65
;
9369 var66
= ((val
*(*)(val
* self
))(var55
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var55
); /* native_to_s on <var55:NativeArray[String]>*/
9373 nit___nit__AbstractCompilerVisitor___add(self
, var66
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9376 var67
= ((long(*)(val
* self
))(var_string
->class->vft
[COLOR_standard__string__Text__length
]))(var_string
); /* length on <var_string:String>*/
9379 var68
= nit___nit__AbstractCompilerVisitor___int_instance(self
, var67
);
9382 if (unlikely(varonce69
==NULL
)) {
9383 var70
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
9384 if (likely(varonce71
!=NULL
)) {
9388 var74
= standard___standard__NativeString___to_s_with_length(var73
, 3l);
9392 ((struct instance_standard__NativeArray
*)var70
)->values
[1]=var72
;
9393 if (likely(varonce75
!=NULL
)) {
9397 var78
= standard___standard__NativeString___to_s_with_length(var77
, 1l);
9401 ((struct instance_standard__NativeArray
*)var70
)->values
[3]=var76
;
9407 var79
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
9409 ((struct instance_standard__NativeArray
*)var70
)->values
[0]=var79
;
9410 if (likely(varonce80
!=NULL
)) {
9413 var82
= "to_s_with_length";
9414 var83
= standard___standard__NativeString___to_s_with_length(var82
, 16l);
9419 var84
= nit___nit__AbstractCompilerVisitor___get_property(self
, var81
, var_native_mtype
);
9421 var85
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
9423 standard___standard__Array___with_capacity(var85
, 2l); /* Direct call array#Array#with_capacity on <var85:Array[RuntimeVariable]>*/
9427 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_nat
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9430 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_length
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9433 var86
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var84
, var_
);
9435 if (unlikely(var86
== NULL
)) {
9436 PRINT_ERROR("Runtime error: %s", "Cast failed");
9437 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1541);
9441 var87
= ((val
*(*)(val
* self
))(var86
->class->vft
[COLOR_standard__string__Object__to_s
]))(var86
); /* to_s on <var86:nullable RuntimeVariable(RuntimeVariable)>*/
9443 ((struct instance_standard__NativeArray
*)var70
)->values
[2]=var87
;
9445 var88
= ((val
*(*)(val
* self
))(var70
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var70
); /* native_to_s on <var70:NativeArray[String]>*/
9449 nit___nit__AbstractCompilerVisitor___add(self
, var88
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9451 if (unlikely(varonce89
==NULL
)) {
9452 var90
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
9453 if (likely(varonce91
!=NULL
)) {
9457 var94
= standard___standard__NativeString___to_s_with_length(var93
, 3l);
9461 ((struct instance_standard__NativeArray
*)var90
)->values
[1]=var92
;
9462 if (likely(varonce95
!=NULL
)) {
9466 var98
= standard___standard__NativeString___to_s_with_length(var97
, 1l);
9470 ((struct instance_standard__NativeArray
*)var90
)->values
[3]=var96
;
9475 ((struct instance_standard__NativeArray
*)var90
)->values
[0]=var_name
;
9477 var99
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
9479 ((struct instance_standard__NativeArray
*)var90
)->values
[2]=var99
;
9481 var100
= ((val
*(*)(val
* self
))(var90
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var90
); /* native_to_s on <var90:NativeArray[String]>*/
9485 nit___nit__AbstractCompilerVisitor___add(self
, var100
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9487 if (likely(varonce101
!=NULL
)) {
9488 var102
= varonce101
;
9491 var104
= standard___standard__NativeString___to_s_with_length(var103
, 1l);
9493 varonce101
= var102
;
9496 nit___nit__AbstractCompilerVisitor___add(self
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:AbstractCompilerVisitor>*/
9503 /* method abstract_compiler#AbstractCompilerVisitor#value_instance for (self: AbstractCompilerVisitor, Object): RuntimeVariable */
9504 val
* nit___nit__AbstractCompilerVisitor___value_instance(val
* self
, val
* p0
) {
9505 val
* var
/* : RuntimeVariable */;
9506 val
* var_object
/* var object: Object */;
9507 short int var1
/* : Bool */;
9510 val
* var2
/* : RuntimeVariable */;
9511 long var3
/* : Int */;
9512 short int var4
/* : Bool */;
9515 val
* var7
/* : RuntimeVariable */;
9516 short int var8
/* : Bool */;
9517 short int var9
/* : Bool */;
9520 val
* var12
/* : RuntimeVariable */;
9522 /* <var_object:Object> isa Int */
9523 cltype
= type_standard__Int
.color
;
9524 idtype
= type_standard__Int
.id
;
9525 if(cltype
>= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->table_size
) {
9528 var1
= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->type_table
[cltype
] == idtype
;
9532 var3
= (long)(var_object
)>>2;
9533 var2
= nit___nit__AbstractCompilerVisitor___int_instance(self
, var3
);
9538 /* <var_object:Object> isa Bool */
9539 cltype5
= type_standard__Bool
.color
;
9540 idtype6
= type_standard__Bool
.id
;
9541 if(cltype5
>= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->table_size
) {
9544 var4
= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->type_table
[cltype5
] == idtype6
;
9548 var8
= (short int)((long)(var_object
)>>2);
9549 var7
= nit___nit__AbstractCompilerVisitor___bool_instance(self
, var8
);
9554 /* <var_object:Object> isa String */
9555 cltype10
= type_standard__String
.color
;
9556 idtype11
= type_standard__String
.id
;
9557 if(cltype10
>= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->table_size
) {
9560 var9
= (((long)var_object
&3)?type_info
[((long)var_object
&3)]:var_object
->type
)->type_table
[cltype10
] == idtype11
;
9564 var12
= nit___nit__AbstractCompilerVisitor___string_instance(self
, var_object
);
9569 PRINT_ERROR("Runtime error: %s", "Aborted");
9570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1556);
9578 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
9579 void nit___nit__AbstractCompilerVisitor___add(val
* self
, val
* p0
) {
9580 val
* var_s
/* var s: String */;
9581 val
* var
/* : CodeWriter */;
9582 val
* var2
/* : CodeWriter */;
9583 val
* var3
/* : List[String] */;
9584 val
* var5
/* : List[String] */;
9587 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9588 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9589 if (unlikely(var2
== NULL
)) {
9590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1117);
9599 { /* Inline abstract_compiler#CodeWriter#lines (var) on <var:CodeWriter> */
9600 var5
= var
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var:CodeWriter> */
9601 if (unlikely(var5
== NULL
)) {
9602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
9603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1081);
9611 standard___standard__Sequence___SimpleCollection__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
9615 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
9616 void nit___nit__AbstractCompilerVisitor___add_decl(val
* self
, val
* p0
) {
9617 val
* var_s
/* var s: String */;
9618 val
* var
/* : CodeWriter */;
9619 val
* var2
/* : CodeWriter */;
9620 val
* var3
/* : List[String] */;
9621 val
* var5
/* : List[String] */;
9624 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9625 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9626 if (unlikely(var2
== NULL
)) {
9627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1117);
9636 { /* Inline abstract_compiler#CodeWriter#decl_lines (var) on <var:CodeWriter> */
9637 var5
= var
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var:CodeWriter> */
9638 if (unlikely(var5
== NULL
)) {
9639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
9640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
9648 standard___standard__Sequence___SimpleCollection__add(var3
, var_s
); /* Direct call abstract_collection#Sequence#add on <var3:List[String]>*/
9652 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
9653 void nit___nit__AbstractCompilerVisitor___require_declaration(val
* self
, val
* p0
) {
9654 val
* var_key
/* var key: String */;
9655 val
* var
/* : CodeWriter */;
9656 val
* var2
/* : CodeWriter */;
9657 val
* var3
/* : CodeFile */;
9658 val
* var5
/* : CodeFile */;
9659 val
* var6
/* : HashSet[String] */;
9660 val
* var8
/* : HashSet[String] */;
9661 val
* var_reqs
/* var reqs: HashSet[String] */;
9662 short int var9
/* : Bool */;
9663 val
* var10
/* : nullable ANode */;
9664 val
* var12
/* : nullable ANode */;
9665 val
* var_node
/* var node: nullable ANode */;
9666 short int var13
/* : Bool */;
9667 short int var14
/* : Bool */;
9668 val
* var_other
/* var other: nullable Object */;
9669 short int var16
/* : Bool */;
9670 short int var17
/* : Bool */;
9671 val
* var18
/* : AbstractCompiler */;
9672 val
* var20
/* : AbstractCompiler */;
9673 val
* var21
/* : HashMap[String, ANode] */;
9674 val
* var23
/* : HashMap[String, ANode] */;
9677 { /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:AbstractCompilerVisitor> */
9678 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___writer
].val
; /* _writer on <self:AbstractCompilerVisitor> */
9679 if (unlikely(var2
== NULL
)) {
9680 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
9681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1117);
9689 { /* Inline abstract_compiler#CodeWriter#file (var) on <var:CodeWriter> */
9690 var5
= var
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <var:CodeWriter> */
9691 if (unlikely(var5
== NULL
)) {
9692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
9693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1080);
9701 { /* Inline abstract_compiler#CodeFile#required_declarations (var3) on <var3:CodeFile> */
9702 var8
= var3
->attrs
[COLOR_nit__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var3:CodeFile> */
9703 if (unlikely(var8
== NULL
)) {
9704 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
9705 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1075);
9714 var9
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var_reqs
, var_key
);
9721 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var_reqs
, var_key
); /* Direct call hash_collection#HashSet#add on <var_reqs:HashSet[String]>*/
9724 { /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
9725 var12
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___current_node
].val
; /* _current_node on <self:AbstractCompilerVisitor> */
9727 RET_LABEL11
:(void)0;
9731 if (var_node
== NULL
) {
9732 var13
= 0; /* is null */
9734 var13
= 1; /* arg is null and recv is not */
9737 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ANode> */
9738 var_other
= ((val
*)NULL
);
9740 var16
= ((short int(*)(val
* self
, val
* p0
))(var_node
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_node
, var_other
); /* == on <var_node:nullable ANode(ANode)>*/
9745 RET_LABEL15
:(void)0;
9751 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9752 var20
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9753 if (unlikely(var20
== NULL
)) {
9754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
9759 RET_LABEL19
:(void)0;
9763 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var18) on <var18:AbstractCompiler> */
9764 var23
= var18
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var18:AbstractCompiler> */
9765 if (unlikely(var23
== NULL
)) {
9766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
9767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 587);
9771 RET_LABEL22
:(void)0;
9775 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var21
, var_key
, var_node
); /* Direct call hash_collection#HashMap#[]= on <var21:HashMap[String, ANode]>*/
9781 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
9782 void nit___nit__AbstractCompilerVisitor___declare_once(val
* self
, val
* p0
) {
9783 val
* var_s
/* var s: String */;
9784 val
* var
/* : AbstractCompiler */;
9785 val
* var2
/* : AbstractCompiler */;
9788 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
9789 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:AbstractCompilerVisitor> */
9790 if (unlikely(var2
== NULL
)) {
9791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
9800 nit___nit__AbstractCompiler___provide_declaration(var
, var_s
, var_s
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <var:AbstractCompiler>*/
9803 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var_s
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:AbstractCompilerVisitor>*/