1 #include "nitc__separate_erasure_compiler.sep.0.h"
2 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#type_test for (self: SeparateErasureCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
3 val
* nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value
/* var value: RuntimeVariable */;
6 val
* var_mtype
/* var mtype: MType */;
7 val
* var_tag
/* var tag: String */;
8 val
* var1
/* : NativeArray[String] */;
11 val
* var3
/* : String */;
12 char* var4
/* : NativeString */;
13 val
* var5
/* : String */;
15 val
* var7
/* : String */;
16 char* var8
/* : NativeString */;
17 val
* var9
/* : String */;
18 static val
* varonce10
;
19 val
* var11
/* : String */;
20 char* var12
/* : NativeString */;
21 val
* var13
/* : String */;
22 val
* var14
/* : String */;
23 val
* var15
/* : String */;
24 val
* var16
/* : String */;
25 val
* var17
/* : MClassType */;
26 val
* var18
/* : RuntimeVariable */;
27 val
* var_res
/* var res: RuntimeVariable */;
28 static val
* varonce19
;
29 val
* var20
/* : String */;
30 char* var21
/* : NativeString */;
31 val
* var22
/* : String */;
32 val
* var23
/* : String */;
33 val
* var_cltype
/* var cltype: String */;
34 val
* var25
/* : NativeArray[String] */;
35 static val
* varonce24
;
36 static val
* varonce26
;
37 val
* var27
/* : String */;
38 char* var28
/* : NativeString */;
39 val
* var29
/* : String */;
40 static val
* varonce30
;
41 val
* var31
/* : String */;
42 char* var32
/* : NativeString */;
43 val
* var33
/* : String */;
44 val
* var34
/* : String */;
45 static val
* varonce35
;
46 val
* var36
/* : String */;
47 char* var37
/* : NativeString */;
48 val
* var38
/* : String */;
49 val
* var39
/* : String */;
50 val
* var_idtype
/* var idtype: String */;
51 val
* var41
/* : NativeArray[String] */;
52 static val
* varonce40
;
53 static val
* varonce42
;
54 val
* var43
/* : String */;
55 char* var44
/* : NativeString */;
56 val
* var45
/* : String */;
57 static val
* varonce46
;
58 val
* var47
/* : String */;
59 char* var48
/* : NativeString */;
60 val
* var49
/* : String */;
61 val
* var50
/* : String */;
62 short int var51
/* : Bool */;
63 short int var_maybe_null
/* var maybe_null: Bool */;
64 static val
* varonce52
;
65 val
* var53
/* : String */;
66 char* var54
/* : NativeString */;
67 val
* var55
/* : String */;
68 val
* var_accept_null
/* var accept_null: String */;
69 short int var56
/* : Bool */;
72 val
* var57
/* : MType */;
73 val
* var59
/* : MType */;
74 static val
* varonce60
;
75 val
* var61
/* : String */;
76 char* var62
/* : NativeString */;
77 val
* var63
/* : String */;
78 short int var64
/* : Bool */;
81 val
* var67
/* : nullable StaticFrame */;
82 val
* var69
/* : nullable StaticFrame */;
83 val
* var70
/* : MPropDef */;
84 val
* var72
/* : MPropDef */;
85 val
* var73
/* : MClassDef */;
86 val
* var75
/* : MClassDef */;
87 val
* var76
/* : MClassType */;
88 val
* var78
/* : MClassType */;
89 val
* var79
/* : nullable StaticFrame */;
90 val
* var81
/* : nullable StaticFrame */;
91 val
* var82
/* : MPropDef */;
92 val
* var84
/* : MPropDef */;
93 val
* var85
/* : MClassDef */;
94 val
* var87
/* : MClassDef */;
95 val
* var88
/* : MClassType */;
96 val
* var90
/* : MClassType */;
97 val
* var91
/* : nullable StaticFrame */;
98 val
* var93
/* : nullable StaticFrame */;
99 val
* var94
/* : MPropDef */;
100 val
* var96
/* : MPropDef */;
101 val
* var97
/* : MClassDef */;
102 val
* var99
/* : MClassDef */;
103 val
* var100
/* : MModule */;
104 val
* var102
/* : MModule */;
105 val
* var103
/* : MType */;
106 short int var104
/* : Bool */;
109 val
* var107
/* : MType */;
110 val
* var109
/* : MType */;
111 static val
* varonce110
;
112 val
* var111
/* : String */;
113 char* var112
/* : NativeString */;
114 val
* var113
/* : String */;
115 val
* var114
/* : MType */;
116 val
* var116
/* : MType */;
117 val
* var117
/* : nullable StaticFrame */;
118 val
* var119
/* : nullable StaticFrame */;
119 val
* var120
/* : MPropDef */;
120 val
* var122
/* : MPropDef */;
121 val
* var123
/* : MClassDef */;
122 val
* var125
/* : MClassDef */;
123 val
* var126
/* : MModule */;
124 val
* var128
/* : MModule */;
125 val
* var129
/* : nullable StaticFrame */;
126 val
* var131
/* : nullable StaticFrame */;
127 val
* var132
/* : MPropDef */;
128 val
* var134
/* : MPropDef */;
129 val
* var135
/* : MClassDef */;
130 val
* var137
/* : MClassDef */;
131 val
* var138
/* : MClassType */;
132 val
* var140
/* : MClassType */;
133 short int var141
/* : Bool */;
134 val
* var143
/* : NativeArray[String] */;
135 static val
* varonce142
;
136 static val
* varonce144
;
137 val
* var145
/* : String */;
138 char* var146
/* : NativeString */;
139 val
* var147
/* : String */;
140 static val
* varonce148
;
141 val
* var149
/* : String */;
142 char* var150
/* : NativeString */;
143 val
* var151
/* : String */;
144 static val
* varonce152
;
145 val
* var153
/* : String */;
146 char* var154
/* : NativeString */;
147 val
* var155
/* : String */;
148 val
* var156
/* : String */;
149 val
* var157
/* : String */;
150 val
* var158
/* : String */;
151 val
* var159
/* : String */;
152 val
* var160
/* : AbstractCompiler */;
153 val
* var162
/* : AbstractCompiler */;
154 val
* var163
/* : ModelBuilder */;
155 val
* var165
/* : ModelBuilder */;
156 val
* var166
/* : ToolContext */;
157 val
* var168
/* : ToolContext */;
158 val
* var169
/* : OptionBool */;
159 val
* var171
/* : OptionBool */;
160 val
* var172
/* : nullable Object */;
161 val
* var174
/* : nullable Object */;
162 short int var175
/* : Bool */;
163 val
* var176
/* : AbstractCompiler */;
164 val
* var178
/* : AbstractCompiler */;
165 val
* var179
/* : HashMap[String, Int] */;
166 val
* var181
/* : HashMap[String, Int] */;
167 val
* var_
/* var : HashMap[String, Int] */;
168 val
* var_182
/* var : String */;
169 val
* var183
/* : nullable Object */;
170 long var184
/* : Int */;
171 short int var186
/* : Bool */;
174 const char* var_class_name
;
175 long var189
/* : Int */;
176 long var190
/* : Int */;
177 val
* var191
/* : nullable Object */;
178 val
* var193
/* : NativeArray[String] */;
179 static val
* varonce192
;
180 static val
* varonce194
;
181 val
* var195
/* : String */;
182 char* var196
/* : NativeString */;
183 val
* var197
/* : String */;
184 static val
* varonce198
;
185 val
* var199
/* : String */;
186 char* var200
/* : NativeString */;
187 val
* var201
/* : String */;
188 val
* var202
/* : String */;
189 val
* var203
/* : MType */;
190 val
* var205
/* : MType */;
191 short int var206
/* : Bool */;
192 short int var207
/* : Bool */;
193 val
* var209
/* : NativeArray[String] */;
194 static val
* varonce208
;
195 static val
* varonce210
;
196 val
* var211
/* : String */;
197 char* var212
/* : NativeString */;
198 val
* var213
/* : String */;
199 val
* var214
/* : String */;
200 val
* var215
/* : String */;
201 val
* var_class_ptr
/* var class_ptr: nullable Object */;
202 val
* var216
/* : MType */;
203 val
* var218
/* : MType */;
204 short int var219
/* : Bool */;
207 const char* var_class_name222
;
208 val
* var223
/* : MClass */;
209 val
* var225
/* : MClass */;
210 val
* var_mclass
/* var mclass: MClass */;
211 val
* var227
/* : NativeArray[String] */;
212 static val
* varonce226
;
213 static val
* varonce228
;
214 val
* var229
/* : String */;
215 char* var230
/* : NativeString */;
216 val
* var231
/* : String */;
217 val
* var232
/* : String */;
218 val
* var233
/* : String */;
219 val
* var235
/* : NativeArray[String] */;
220 static val
* varonce234
;
221 static val
* varonce236
;
222 val
* var237
/* : String */;
223 char* var238
/* : NativeString */;
224 val
* var239
/* : String */;
225 static val
* varonce240
;
226 val
* var241
/* : String */;
227 char* var242
/* : NativeString */;
228 val
* var243
/* : String */;
229 val
* var244
/* : String */;
230 val
* var245
/* : String */;
231 short int var246
/* : Bool */;
234 val
* var250
/* : NativeArray[String] */;
235 static val
* varonce249
;
236 static val
* varonce251
;
237 val
* var252
/* : String */;
238 char* var253
/* : NativeString */;
239 val
* var254
/* : String */;
240 val
* var255
/* : MClass */;
241 val
* var257
/* : MClass */;
242 val
* var258
/* : String */;
243 val
* var259
/* : String */;
244 val
* var261
/* : NativeArray[String] */;
245 static val
* varonce260
;
246 static val
* varonce262
;
247 val
* var263
/* : String */;
248 char* var264
/* : NativeString */;
249 val
* var265
/* : String */;
250 static val
* varonce266
;
251 val
* var267
/* : String */;
252 char* var268
/* : NativeString */;
253 val
* var269
/* : String */;
254 val
* var270
/* : MClass */;
255 val
* var272
/* : MClass */;
256 val
* var273
/* : String */;
257 val
* var274
/* : String */;
258 val
* var276
/* : NativeArray[String] */;
259 static val
* varonce275
;
260 static val
* varonce277
;
261 val
* var278
/* : String */;
262 char* var279
/* : NativeString */;
263 val
* var280
/* : String */;
264 static val
* varonce281
;
265 val
* var282
/* : String */;
266 char* var283
/* : NativeString */;
267 val
* var284
/* : String */;
268 val
* var285
/* : MClass */;
269 val
* var287
/* : MClass */;
270 val
* var288
/* : String */;
271 val
* var289
/* : String */;
272 val
* var290
/* : AbstractCompiler */;
273 val
* var292
/* : AbstractCompiler */;
274 val
* var293
/* : ModelBuilder */;
275 val
* var295
/* : ModelBuilder */;
276 val
* var296
/* : ToolContext */;
277 val
* var298
/* : ToolContext */;
278 val
* var299
/* : OptionBool */;
279 val
* var301
/* : OptionBool */;
280 val
* var302
/* : nullable Object */;
281 val
* var304
/* : nullable Object */;
282 short int var305
/* : Bool */;
283 val
* var306
/* : AbstractCompiler */;
284 val
* var308
/* : AbstractCompiler */;
285 val
* var309
/* : HashMap[String, Int] */;
286 val
* var311
/* : HashMap[String, Int] */;
287 val
* var_312
/* var : HashMap[String, Int] */;
288 val
* var_313
/* var : String */;
289 val
* var314
/* : nullable Object */;
290 long var315
/* : Int */;
291 short int var317
/* : Bool */;
294 const char* var_class_name320
;
295 long var321
/* : Int */;
296 long var322
/* : Int */;
297 val
* var323
/* : nullable Object */;
298 val
* var325
/* : NativeArray[String] */;
299 static val
* varonce324
;
300 static val
* varonce326
;
301 val
* var327
/* : String */;
302 char* var328
/* : NativeString */;
303 val
* var329
/* : String */;
304 static val
* varonce330
;
305 val
* var331
/* : String */;
306 char* var332
/* : NativeString */;
307 val
* var333
/* : String */;
308 val
* var334
/* : String */;
309 short int var335
/* : Bool */;
312 val
* var338
/* : nullable StaticFrame */;
313 val
* var340
/* : nullable StaticFrame */;
314 val
* var341
/* : Array[RuntimeVariable] */;
315 val
* var343
/* : Array[RuntimeVariable] */;
316 val
* var344
/* : nullable Object */;
317 val
* var_recv
/* var recv: RuntimeVariable */;
318 val
* var345
/* : MType */;
319 val
* var347
/* : MType */;
320 short int var348
/* : Bool */;
321 short int var349
/* : Bool */;
322 val
* var351
/* : NativeArray[String] */;
323 static val
* varonce350
;
324 static val
* varonce352
;
325 val
* var353
/* : String */;
326 char* var354
/* : NativeString */;
327 val
* var355
/* : String */;
328 val
* var356
/* : String */;
329 val
* var357
/* : String */;
330 val
* var_recv_ptr
/* var recv_ptr: nullable Object */;
331 val
* var358
/* : MType */;
332 val
* var360
/* : MType */;
333 short int var361
/* : Bool */;
336 const char* var_class_name364
;
337 val
* var365
/* : MClass */;
338 val
* var367
/* : MClass */;
339 val
* var_mclass368
/* var mclass: MClass */;
340 val
* var370
/* : NativeArray[String] */;
341 static val
* varonce369
;
342 static val
* varonce371
;
343 val
* var372
/* : String */;
344 char* var373
/* : NativeString */;
345 val
* var374
/* : String */;
346 val
* var375
/* : String */;
347 val
* var376
/* : String */;
348 val
* var378
/* : NativeArray[String] */;
349 static val
* varonce377
;
350 static val
* varonce379
;
351 val
* var380
/* : String */;
352 char* var381
/* : NativeString */;
353 val
* var382
/* : String */;
354 static val
* varonce383
;
355 val
* var384
/* : String */;
356 char* var385
/* : NativeString */;
357 val
* var386
/* : String */;
358 val
* var387
/* : String */;
359 val
* var388
/* : String */;
360 static val
* varonce389
;
361 val
* var390
/* : String */;
362 char* var391
/* : NativeString */;
363 val
* var392
/* : String */;
364 val
* var393
/* : String */;
365 val
* var_entry
/* var entry: String */;
366 val
* var395
/* : NativeArray[String] */;
367 static val
* varonce394
;
368 static val
* varonce396
;
369 val
* var397
/* : String */;
370 char* var398
/* : NativeString */;
371 val
* var399
/* : String */;
372 static val
* varonce400
;
373 val
* var401
/* : String */;
374 char* var402
/* : NativeString */;
375 val
* var403
/* : String */;
376 val
* var404
/* : String */;
377 val
* var405
/* : MVirtualTypeProp */;
378 val
* var407
/* : MVirtualTypeProp */;
379 val
* var408
/* : String */;
380 val
* var410
/* : NativeArray[String] */;
381 static val
* varonce409
;
382 static val
* varonce411
;
383 val
* var412
/* : String */;
384 char* var413
/* : NativeString */;
385 val
* var414
/* : String */;
386 static val
* varonce415
;
387 val
* var416
/* : String */;
388 char* var417
/* : NativeString */;
389 val
* var418
/* : String */;
390 static val
* varonce419
;
391 val
* var420
/* : String */;
392 char* var421
/* : NativeString */;
393 val
* var422
/* : String */;
394 val
* var423
/* : MVirtualTypeProp */;
395 val
* var425
/* : MVirtualTypeProp */;
396 val
* var426
/* : String */;
397 val
* var427
/* : String */;
398 val
* var429
/* : NativeArray[String] */;
399 static val
* varonce428
;
400 static val
* varonce430
;
401 val
* var431
/* : String */;
402 char* var432
/* : NativeString */;
403 val
* var433
/* : String */;
404 static val
* varonce434
;
405 val
* var435
/* : String */;
406 char* var436
/* : NativeString */;
407 val
* var437
/* : String */;
408 val
* var438
/* : String */;
409 val
* var440
/* : NativeArray[String] */;
410 static val
* varonce439
;
411 static val
* varonce441
;
412 val
* var442
/* : String */;
413 char* var443
/* : NativeString */;
414 val
* var444
/* : String */;
415 static val
* varonce445
;
416 val
* var446
/* : String */;
417 char* var447
/* : NativeString */;
418 val
* var448
/* : String */;
419 val
* var449
/* : String */;
420 short int var450
/* : Bool */;
421 short int var_451
/* var : Bool */;
422 static val
* varonce452
;
423 val
* var453
/* : String */;
424 char* var454
/* : NativeString */;
425 val
* var455
/* : String */;
426 short int var456
/* : Bool */;
427 static val
* varonce457
;
428 val
* var458
/* : String */;
429 char* var459
/* : NativeString */;
430 val
* var460
/* : String */;
431 val
* var461
/* : String */;
432 val
* var_is_nullable
/* var is_nullable: String */;
433 val
* var463
/* : NativeArray[String] */;
434 static val
* varonce462
;
435 static val
* varonce464
;
436 val
* var465
/* : String */;
437 char* var466
/* : NativeString */;
438 val
* var467
/* : String */;
439 static val
* varonce468
;
440 val
* var469
/* : String */;
441 char* var470
/* : NativeString */;
442 val
* var471
/* : String */;
443 val
* var472
/* : String */;
444 val
* var474
/* : NativeArray[String] */;
445 static val
* varonce473
;
446 static val
* varonce475
;
447 val
* var476
/* : String */;
448 char* var477
/* : NativeString */;
449 val
* var478
/* : String */;
450 static val
* varonce479
;
451 val
* var480
/* : String */;
452 char* var481
/* : NativeString */;
453 val
* var482
/* : String */;
454 val
* var483
/* : String */;
455 val
* var484
/* : String */;
456 val
* var485
/* : AbstractCompiler */;
457 val
* var487
/* : AbstractCompiler */;
458 val
* var488
/* : ModelBuilder */;
459 val
* var490
/* : ModelBuilder */;
460 val
* var491
/* : ToolContext */;
461 val
* var493
/* : ToolContext */;
462 val
* var494
/* : OptionBool */;
463 val
* var496
/* : OptionBool */;
464 val
* var497
/* : nullable Object */;
465 val
* var499
/* : nullable Object */;
466 short int var500
/* : Bool */;
467 val
* var501
/* : AbstractCompiler */;
468 val
* var503
/* : AbstractCompiler */;
469 val
* var504
/* : HashMap[String, Int] */;
470 val
* var506
/* : HashMap[String, Int] */;
471 val
* var_507
/* var : HashMap[String, Int] */;
472 val
* var_508
/* var : String */;
473 val
* var509
/* : nullable Object */;
474 long var510
/* : Int */;
475 short int var512
/* : Bool */;
478 const char* var_class_name515
;
479 long var516
/* : Int */;
480 long var517
/* : Int */;
481 val
* var518
/* : nullable Object */;
482 val
* var520
/* : NativeArray[String] */;
483 static val
* varonce519
;
484 static val
* varonce521
;
485 val
* var522
/* : String */;
486 char* var523
/* : NativeString */;
487 val
* var524
/* : String */;
488 static val
* varonce525
;
489 val
* var526
/* : String */;
490 char* var527
/* : NativeString */;
491 val
* var528
/* : String */;
492 val
* var529
/* : String */;
493 val
* var531
/* : NativeArray[String] */;
494 static val
* varonce530
;
495 static val
* varonce532
;
496 val
* var533
/* : String */;
497 char* var534
/* : NativeString */;
498 val
* var535
/* : String */;
499 static val
* varonce536
;
500 val
* var537
/* : String */;
501 char* var538
/* : NativeString */;
502 val
* var539
/* : String */;
503 static val
* varonce540
;
504 val
* var541
/* : String */;
505 char* var542
/* : NativeString */;
506 val
* var543
/* : String */;
507 val
* var544
/* : String */;
508 val
* var545
/* : String */;
509 val
* var546
/* : String */;
510 val
* var548
/* : NativeArray[String] */;
511 static val
* varonce547
;
512 static val
* varonce549
;
513 val
* var550
/* : String */;
514 char* var551
/* : NativeString */;
515 val
* var552
/* : String */;
516 static val
* varonce553
;
517 val
* var554
/* : String */;
518 char* var555
/* : NativeString */;
519 val
* var556
/* : String */;
520 val
* var557
/* : String */;
521 val
* var558
/* : String */;
522 val
* var560
/* : NativeArray[String] */;
523 static val
* varonce559
;
524 static val
* varonce561
;
525 val
* var562
/* : String */;
526 char* var563
/* : NativeString */;
527 val
* var564
/* : String */;
528 static val
* varonce565
;
529 val
* var566
/* : String */;
530 char* var567
/* : NativeString */;
531 val
* var568
/* : String */;
532 val
* var569
/* : String */;
533 val
* var570
/* : String */;
534 static val
* varonce571
;
535 val
* var572
/* : String */;
536 char* var573
/* : NativeString */;
537 val
* var574
/* : String */;
538 val
* var576
/* : NativeArray[String] */;
539 static val
* varonce575
;
540 static val
* varonce577
;
541 val
* var578
/* : String */;
542 char* var579
/* : NativeString */;
543 val
* var580
/* : String */;
544 static val
* varonce581
;
545 val
* var582
/* : String */;
546 char* var583
/* : NativeString */;
547 val
* var584
/* : String */;
548 static val
* varonce585
;
549 val
* var586
/* : String */;
550 char* var587
/* : NativeString */;
551 val
* var588
/* : String */;
552 val
* var589
/* : String */;
553 val
* var591
/* : NativeArray[String] */;
554 static val
* varonce590
;
555 static val
* varonce592
;
556 val
* var593
/* : String */;
557 char* var594
/* : NativeString */;
558 val
* var595
/* : String */;
559 val
* var596
/* : String */;
560 val
* var597
/* : String */;
561 static val
* varonce598
;
562 val
* var599
/* : String */;
563 char* var600
/* : NativeString */;
564 val
* var601
/* : String */;
565 val
* var603
/* : NativeArray[String] */;
566 static val
* varonce602
;
567 static val
* varonce604
;
568 val
* var605
/* : String */;
569 char* var606
/* : NativeString */;
570 val
* var607
/* : String */;
571 static val
* varonce608
;
572 val
* var609
/* : String */;
573 char* var610
/* : NativeString */;
574 val
* var611
/* : String */;
575 static val
* varonce612
;
576 val
* var613
/* : String */;
577 char* var614
/* : NativeString */;
578 val
* var615
/* : String */;
579 static val
* varonce616
;
580 val
* var617
/* : String */;
581 char* var618
/* : NativeString */;
582 val
* var619
/* : String */;
583 val
* var620
/* : String */;
584 val
* var621
/* : String */;
585 static val
* varonce622
;
586 val
* var623
/* : String */;
587 char* var624
/* : NativeString */;
588 val
* var625
/* : String */;
589 static val
* varonce626
;
590 val
* var627
/* : String */;
591 char* var628
/* : NativeString */;
592 val
* var629
/* : String */;
596 if (unlikely(varonce
==NULL
)) {
597 var1
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
598 if (likely(varonce2
!=NULL
)) {
601 var4
= "/* type test for ";
602 var5
= core__flat___NativeString___to_s_full(var4
, 17l, 17l);
606 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var3
;
607 if (likely(varonce6
!=NULL
)) {
611 var9
= core__flat___NativeString___to_s_full(var8
, 5l, 5l);
615 ((struct instance_core__NativeArray
*)var1
)->values
[2]=var7
;
616 if (likely(varonce10
!=NULL
)) {
620 var13
= core__flat___NativeString___to_s_full(var12
, 3l, 3l);
624 ((struct instance_core__NativeArray
*)var1
)->values
[4]=var11
;
630 var14
= nitc___nitc__RuntimeVariable___core__abstract_text__Object__inspect(var_value
);
632 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var14
;
634 var15
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
636 ((struct instance_core__NativeArray
*)var1
)->values
[3]=var15
;
638 var16
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
642 nitc___nitc__AbstractCompilerVisitor___add(self
, var16
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
645 var17
= nitc___nitc__AbstractCompilerVisitor___bool_type(self
);
648 var18
= nitc___nitc__AbstractCompilerVisitor___new_var(self
, var17
);
651 if (likely(varonce19
!=NULL
)) {
655 var22
= core__flat___NativeString___to_s_full(var21
, 6l, 6l);
660 var23
= nitc___nitc__AbstractCompilerVisitor___get_name(self
, var20
);
663 if (unlikely(varonce24
==NULL
)) {
664 var25
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
665 if (likely(varonce26
!=NULL
)) {
669 var29
= core__flat___NativeString___to_s_full(var28
, 4l, 4l);
673 ((struct instance_core__NativeArray
*)var25
)->values
[0]=var27
;
674 if (likely(varonce30
!=NULL
)) {
678 var33
= core__flat___NativeString___to_s_full(var32
, 1l, 1l);
682 ((struct instance_core__NativeArray
*)var25
)->values
[2]=var31
;
687 ((struct instance_core__NativeArray
*)var25
)->values
[1]=var_cltype
;
689 var34
= ((val
*(*)(val
* self
))(var25
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var25
); /* native_to_s on <var25:NativeArray[String]>*/
693 nitc___nitc__AbstractCompilerVisitor___add_decl(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateErasureCompilerVisitor>*/
695 if (likely(varonce35
!=NULL
)) {
699 var38
= core__flat___NativeString___to_s_full(var37
, 6l, 6l);
704 var39
= nitc___nitc__AbstractCompilerVisitor___get_name(self
, var36
);
707 if (unlikely(varonce40
==NULL
)) {
708 var41
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
709 if (likely(varonce42
!=NULL
)) {
713 var45
= core__flat___NativeString___to_s_full(var44
, 4l, 4l);
717 ((struct instance_core__NativeArray
*)var41
)->values
[0]=var43
;
718 if (likely(varonce46
!=NULL
)) {
722 var49
= core__flat___NativeString___to_s_full(var48
, 1l, 1l);
726 ((struct instance_core__NativeArray
*)var41
)->values
[2]=var47
;
731 ((struct instance_core__NativeArray
*)var41
)->values
[1]=var_idtype
;
733 var50
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
737 nitc___nitc__AbstractCompilerVisitor___add_decl(self
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateErasureCompilerVisitor>*/
740 var51
= nitc___nitc__SeparateCompilerVisitor___maybe_null(self
, var_value
);
742 var_maybe_null
= var51
;
743 if (likely(varonce52
!=NULL
)) {
747 var55
= core__flat___NativeString___to_s_full(var54
, 1l, 1l);
751 var_accept_null
= var53
;
752 /* <var_mtype:MType> isa MNullableType */
753 cltype
= type_nitc__MNullableType
.color
;
754 idtype
= type_nitc__MNullableType
.id
;
755 if(cltype
>= var_mtype
->type
->table_size
) {
758 var56
= var_mtype
->type
->type_table
[cltype
] == idtype
;
762 { /* Inline model#MProxyType#mtype (var_mtype) on <var_mtype:MType(MNullableType)> */
763 var59
= var_mtype
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_mtype:MType(MNullableType)> */
764 if (unlikely(var59
== NULL
)) {
765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
774 if (likely(varonce60
!=NULL
)) {
778 var63
= core__flat___NativeString___to_s_full(var62
, 1l, 1l);
782 var_accept_null
= var61
;
785 /* <var_mtype:MType> isa MParameterType */
786 cltype65
= type_nitc__MParameterType
.color
;
787 idtype66
= type_nitc__MParameterType
.id
;
788 if(cltype65
>= var_mtype
->type
->table_size
) {
791 var64
= var_mtype
->type
->type_table
[cltype65
] == idtype66
;
795 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
796 var69
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
802 PRINT_ERROR("Runtime error: %s", "Receiver is null");
803 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 521);
806 { /* Inline abstract_compiler#StaticFrame#mpropdef (var67) on <var67:nullable StaticFrame> */
807 if (unlikely(var67
== NULL
)) {
808 PRINT_ERROR("Runtime error: %s", "Receiver is null");
809 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
812 var72
= var67
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var67:nullable StaticFrame> */
813 if (unlikely(var72
== NULL
)) {
814 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
815 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
823 { /* Inline model#MPropDef#mclassdef (var70) on <var70:MPropDef> */
824 var75
= var70
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var70:MPropDef> */
825 if (unlikely(var75
== NULL
)) {
826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
827 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
835 { /* Inline model#MClassDef#bound_mtype (var73) on <var73:MClassDef> */
836 var78
= var73
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var73:MClassDef> */
837 if (unlikely(var78
== NULL
)) {
838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
839 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
847 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
848 var81
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
854 PRINT_ERROR("Runtime error: %s", "Receiver is null");
855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 521);
858 { /* Inline abstract_compiler#StaticFrame#mpropdef (var79) on <var79:nullable StaticFrame> */
859 if (unlikely(var79
== NULL
)) {
860 PRINT_ERROR("Runtime error: %s", "Receiver is null");
861 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
864 var84
= var79
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var79:nullable StaticFrame> */
865 if (unlikely(var84
== NULL
)) {
866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
867 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
875 { /* Inline model#MPropDef#mclassdef (var82) on <var82:MPropDef> */
876 var87
= var82
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var82:MPropDef> */
877 if (unlikely(var87
== NULL
)) {
878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
887 { /* Inline model#MClassDef#bound_mtype (var85) on <var85:MClassDef> */
888 var90
= var85
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var85:MClassDef> */
889 if (unlikely(var90
== NULL
)) {
890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
891 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
899 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
900 var93
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
906 PRINT_ERROR("Runtime error: %s", "Receiver is null");
907 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 521);
910 { /* Inline abstract_compiler#StaticFrame#mpropdef (var91) on <var91:nullable StaticFrame> */
911 if (unlikely(var91
== NULL
)) {
912 PRINT_ERROR("Runtime error: %s", "Receiver is null");
913 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
916 var96
= var91
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var91:nullable StaticFrame> */
917 if (unlikely(var96
== NULL
)) {
918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
919 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
927 { /* Inline model#MPropDef#mclassdef (var94) on <var94:MPropDef> */
928 var99
= var94
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var94:MPropDef> */
929 if (unlikely(var99
== NULL
)) {
930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
931 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
939 { /* Inline model#MClassDef#mmodule (var97) on <var97:MClassDef> */
940 var102
= var97
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var97:MClassDef> */
941 if (unlikely(var102
== NULL
)) {
942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
947 RET_LABEL101
:(void)0;
951 var103
= nitc___nitc__MParameterType___MType__resolve_for(var_mtype
, var76
, var88
, var100
, 0);
954 /* <var_mtype:MType> isa MNullableType */
955 cltype105
= type_nitc__MNullableType
.color
;
956 idtype106
= type_nitc__MNullableType
.id
;
957 if(cltype105
>= var_mtype
->type
->table_size
) {
960 var104
= var_mtype
->type
->type_table
[cltype105
] == idtype106
;
964 { /* Inline model#MProxyType#mtype (var_mtype) on <var_mtype:MType(MNullableType)> */
965 var109
= var_mtype
->attrs
[COLOR_nitc__model__MProxyType___mtype
].val
; /* _mtype on <var_mtype:MType(MNullableType)> */
966 if (unlikely(var109
== NULL
)) {
967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
968 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1625);
972 RET_LABEL108
:(void)0;
976 if (likely(varonce110
!=NULL
)) {
980 var113
= core__flat___NativeString___to_s_full(var112
, 1l, 1l);
984 var_accept_null
= var111
;
990 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
991 var116
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
992 if (unlikely(var116
== NULL
)) {
993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
994 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1873);
998 RET_LABEL115
:(void)0;
1002 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
1003 var119
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
1005 RET_LABEL118
:(void)0;
1008 if (var117
== NULL
) {
1009 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1010 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 528);
1013 { /* Inline abstract_compiler#StaticFrame#mpropdef (var117) on <var117:nullable StaticFrame> */
1014 if (unlikely(var117
== NULL
)) {
1015 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
1019 var122
= var117
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var117:nullable StaticFrame> */
1020 if (unlikely(var122
== NULL
)) {
1021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
1022 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
1026 RET_LABEL121
:(void)0;
1030 { /* Inline model#MPropDef#mclassdef (var120) on <var120:MPropDef> */
1031 var125
= var120
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var120:MPropDef> */
1032 if (unlikely(var125
== NULL
)) {
1033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1034 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1038 RET_LABEL124
:(void)0;
1042 { /* Inline model#MClassDef#mmodule (var123) on <var123:MClassDef> */
1043 var128
= var123
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var123:MClassDef> */
1044 if (unlikely(var128
== NULL
)) {
1045 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1046 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
1050 RET_LABEL127
:(void)0;
1054 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
1055 var131
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
1057 RET_LABEL130
:(void)0;
1060 if (var129
== NULL
) {
1061 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1062 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 528);
1065 { /* Inline abstract_compiler#StaticFrame#mpropdef (var129) on <var129:nullable StaticFrame> */
1066 if (unlikely(var129
== NULL
)) {
1067 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1068 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
1071 var134
= var129
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var129:nullable StaticFrame> */
1072 if (unlikely(var134
== NULL
)) {
1073 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
1074 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1914);
1078 RET_LABEL133
:(void)0;
1082 { /* Inline model#MPropDef#mclassdef (var132) on <var132:MPropDef> */
1083 var137
= var132
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var132:MPropDef> */
1084 if (unlikely(var137
== NULL
)) {
1085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1086 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1090 RET_LABEL136
:(void)0;
1094 { /* Inline model#MClassDef#bound_mtype (var135) on <var135:MClassDef> */
1095 var140
= var135
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var135:MClassDef> */
1096 if (unlikely(var140
== NULL
)) {
1097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1098 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
1102 RET_LABEL139
:(void)0;
1106 var141
= nitc___nitc__MType___is_subtype(var114
, var126
, var138
, var_mtype
);
1109 if (unlikely(varonce142
==NULL
)) {
1110 var143
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
1111 if (likely(varonce144
!=NULL
)) {
1112 var145
= varonce144
;
1114 var146
= " = 1; /* easy ";
1115 var147
= core__flat___NativeString___to_s_full(var146
, 14l, 14l);
1117 varonce144
= var145
;
1119 ((struct instance_core__NativeArray
*)var143
)->values
[1]=var145
;
1120 if (likely(varonce148
!=NULL
)) {
1121 var149
= varonce148
;
1124 var151
= core__flat___NativeString___to_s_full(var150
, 5l, 5l);
1126 varonce148
= var149
;
1128 ((struct instance_core__NativeArray
*)var143
)->values
[3]=var149
;
1129 if (likely(varonce152
!=NULL
)) {
1130 var153
= varonce152
;
1133 var155
= core__flat___NativeString___to_s_full(var154
, 2l, 2l);
1135 varonce152
= var153
;
1137 ((struct instance_core__NativeArray
*)var143
)->values
[5]=var153
;
1139 var143
= varonce142
;
1143 var156
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
1145 ((struct instance_core__NativeArray
*)var143
)->values
[0]=var156
;
1147 var157
= nitc___nitc__RuntimeVariable___core__abstract_text__Object__inspect(var_value
);
1149 ((struct instance_core__NativeArray
*)var143
)->values
[2]=var157
;
1151 var158
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
1153 ((struct instance_core__NativeArray
*)var143
)->values
[4]=var158
;
1155 var159
= ((val
*(*)(val
* self
))(var143
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var143
); /* native_to_s on <var143:NativeArray[String]>*/
1157 varonce142
= var143
;
1159 nitc___nitc__AbstractCompilerVisitor___add(self
, var159
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1162 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
1163 var162
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
1164 if (unlikely(var162
== NULL
)) {
1165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
1170 RET_LABEL161
:(void)0;
1174 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var160) on <var160:AbstractCompiler(SeparateCompiler)> */
1175 var165
= var160
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var160:AbstractCompiler(SeparateCompiler)> */
1176 if (unlikely(var165
== NULL
)) {
1177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1178 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
1182 RET_LABEL164
:(void)0;
1186 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var163) on <var163:ModelBuilder> */
1187 var168
= var163
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var163:ModelBuilder> */
1188 if (unlikely(var168
== NULL
)) {
1189 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1190 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1194 RET_LABEL167
:(void)0;
1198 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var166) on <var166:ToolContext> */
1199 var171
= var166
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var166:ToolContext> */
1200 if (unlikely(var171
== NULL
)) {
1201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1202 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
1206 RET_LABEL170
:(void)0;
1210 { /* Inline opts#Option#value (var169) on <var169:OptionBool> */
1211 var174
= var169
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var169:OptionBool> */
1213 RET_LABEL173
:(void)0;
1216 var175
= (short int)((long)(var172
)>>2);
1219 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
1220 var178
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
1221 if (unlikely(var178
== NULL
)) {
1222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
1227 RET_LABEL177
:(void)0;
1231 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (var176) on <var176:AbstractCompiler(SeparateCompiler)> */
1232 var181
= var176
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <var176:AbstractCompiler(SeparateCompiler)> */
1233 if (unlikely(var181
== NULL
)) {
1234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1048);
1239 RET_LABEL180
:(void)0;
1245 var183
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_
, var_182
);
1248 { /* Inline kernel#Int#+ (var183,1l) on <var183:nullable Object(Int)> */
1249 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1250 /* <1l:Int> isa OTHER */
1251 var186
= 1; /* easy <1l:Int> isa OTHER*/
1252 if (unlikely(!var186
)) {
1253 var_class_name
= type_core__Int
.name
;
1254 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1255 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1258 var189
= (long)(var183
)>>2;
1259 var190
= var189
+ 1l;
1262 RET_LABEL185
:(void)0;
1266 var191
= (val
*)(var184
<<2|1);
1267 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_
, var_182
, var191
); /* Direct call hash_collection#HashMap#[]= on <var_:HashMap[String, Int]>*/
1269 if (unlikely(varonce192
==NULL
)) {
1270 var193
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1271 if (likely(varonce194
!=NULL
)) {
1272 var195
= varonce194
;
1274 var196
= "count_type_test_skipped_";
1275 var197
= core__flat___NativeString___to_s_full(var196
, 24l, 24l);
1277 varonce194
= var195
;
1279 ((struct instance_core__NativeArray
*)var193
)->values
[0]=var195
;
1280 if (likely(varonce198
!=NULL
)) {
1281 var199
= varonce198
;
1284 var201
= core__flat___NativeString___to_s_full(var200
, 3l, 3l);
1286 varonce198
= var199
;
1288 ((struct instance_core__NativeArray
*)var193
)->values
[2]=var199
;
1290 var193
= varonce192
;
1293 ((struct instance_core__NativeArray
*)var193
)->values
[1]=var_tag
;
1295 var202
= ((val
*(*)(val
* self
))(var193
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var193
); /* native_to_s on <var193:NativeArray[String]>*/
1297 varonce192
= var193
;
1299 nitc___nitc__AbstractCompilerVisitor___add(self
, var202
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1308 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
1309 var205
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
1310 if (unlikely(var205
== NULL
)) {
1311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1312 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
1316 RET_LABEL204
:(void)0;
1320 var206
= ((short int(*)(val
* self
))(var203
->class->vft
[COLOR_nitc__abstract_compiler__MType__is_c_primitive
]))(var203
); /* is_c_primitive on <var203:MType>*/
1324 if (unlikely(varonce208
==NULL
)) {
1325 var209
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1326 if (likely(varonce210
!=NULL
)) {
1327 var211
= varonce210
;
1329 var212
= "->class->";
1330 var213
= core__flat___NativeString___to_s_full(var212
, 9l, 9l);
1332 varonce210
= var211
;
1334 ((struct instance_core__NativeArray
*)var209
)->values
[1]=var211
;
1336 var209
= varonce208
;
1340 var214
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
1342 ((struct instance_core__NativeArray
*)var209
)->values
[0]=var214
;
1344 var215
= ((val
*(*)(val
* self
))(var209
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var209
); /* native_to_s on <var209:NativeArray[String]>*/
1346 varonce208
= var209
;
1347 var_class_ptr
= var215
;
1350 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
1351 var218
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
1352 if (unlikely(var218
== NULL
)) {
1353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1354 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
1358 RET_LABEL217
:(void)0;
1361 /* <var216:MType> isa MClassType */
1362 cltype220
= type_nitc__MClassType
.color
;
1363 idtype221
= type_nitc__MClassType
.id
;
1364 if(cltype220
>= var216
->type
->table_size
) {
1367 var219
= var216
->type
->type_table
[cltype220
] == idtype221
;
1369 if (unlikely(!var219
)) {
1370 var_class_name222
= var216
== NULL ?
"null" : var216
->type
->name
;
1371 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name222
);
1372 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 541);
1376 { /* Inline model#MClassType#mclass (var216) on <var216:MType(MClassType)> */
1377 var225
= var216
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var216:MType(MClassType)> */
1378 if (unlikely(var225
== NULL
)) {
1379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1380 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
1384 RET_LABEL224
:(void)0;
1387 var_mclass
= var223
;
1388 if (unlikely(varonce226
==NULL
)) {
1389 var227
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1390 if (likely(varonce228
!=NULL
)) {
1391 var229
= varonce228
;
1394 var231
= core__flat___NativeString___to_s_full(var230
, 6l, 6l);
1396 varonce228
= var229
;
1398 ((struct instance_core__NativeArray
*)var227
)->values
[0]=var229
;
1400 var227
= varonce226
;
1404 var232
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
1406 ((struct instance_core__NativeArray
*)var227
)->values
[1]=var232
;
1408 var233
= ((val
*(*)(val
* self
))(var227
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var227
); /* native_to_s on <var227:NativeArray[String]>*/
1410 varonce226
= var227
;
1412 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var233
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
1414 if (unlikely(varonce234
==NULL
)) {
1415 var235
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1416 if (likely(varonce236
!=NULL
)) {
1417 var237
= varonce236
;
1420 var239
= core__flat___NativeString___to_s_full(var238
, 6l, 6l);
1422 varonce236
= var237
;
1424 ((struct instance_core__NativeArray
*)var235
)->values
[0]=var237
;
1425 if (likely(varonce240
!=NULL
)) {
1426 var241
= varonce240
;
1429 var243
= core__flat___NativeString___to_s_full(var242
, 1l, 1l);
1431 varonce240
= var241
;
1433 ((struct instance_core__NativeArray
*)var235
)->values
[2]=var241
;
1435 var235
= varonce234
;
1439 var244
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass
);
1441 ((struct instance_core__NativeArray
*)var235
)->values
[1]=var244
;
1443 var245
= ((val
*(*)(val
* self
))(var235
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var235
); /* native_to_s on <var235:NativeArray[String]>*/
1445 varonce234
= var235
;
1446 var_class_ptr
= var245
;
1448 /* <var_mtype:MType> isa MClassType */
1449 cltype247
= type_nitc__MClassType
.color
;
1450 idtype248
= type_nitc__MClassType
.id
;
1451 if(cltype247
>= var_mtype
->type
->table_size
) {
1454 var246
= var_mtype
->type
->type_table
[cltype247
] == idtype248
;
1457 if (unlikely(varonce249
==NULL
)) {
1458 var250
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1459 if (likely(varonce251
!=NULL
)) {
1460 var252
= varonce251
;
1463 var254
= core__flat___NativeString___to_s_full(var253
, 6l, 6l);
1465 varonce251
= var252
;
1467 ((struct instance_core__NativeArray
*)var250
)->values
[0]=var252
;
1469 var250
= varonce249
;
1473 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
1474 var257
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
1475 if (unlikely(var257
== NULL
)) {
1476 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1477 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
1481 RET_LABEL256
:(void)0;
1485 var258
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var255
);
1487 ((struct instance_core__NativeArray
*)var250
)->values
[1]=var258
;
1489 var259
= ((val
*(*)(val
* self
))(var250
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var250
); /* native_to_s on <var250:NativeArray[String]>*/
1491 varonce249
= var250
;
1493 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var259
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
1495 if (unlikely(varonce260
==NULL
)) {
1496 var261
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1497 if (likely(varonce262
!=NULL
)) {
1498 var263
= varonce262
;
1500 var264
= " = class_";
1501 var265
= core__flat___NativeString___to_s_full(var264
, 9l, 9l);
1503 varonce262
= var263
;
1505 ((struct instance_core__NativeArray
*)var261
)->values
[1]=var263
;
1506 if (likely(varonce266
!=NULL
)) {
1507 var267
= varonce266
;
1510 var269
= core__flat___NativeString___to_s_full(var268
, 7l, 7l);
1512 varonce266
= var267
;
1514 ((struct instance_core__NativeArray
*)var261
)->values
[3]=var267
;
1516 var261
= varonce260
;
1519 ((struct instance_core__NativeArray
*)var261
)->values
[0]=var_cltype
;
1521 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
1522 var272
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
1523 if (unlikely(var272
== NULL
)) {
1524 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1525 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
1529 RET_LABEL271
:(void)0;
1533 var273
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var270
);
1535 ((struct instance_core__NativeArray
*)var261
)->values
[2]=var273
;
1537 var274
= ((val
*(*)(val
* self
))(var261
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var261
); /* native_to_s on <var261:NativeArray[String]>*/
1539 varonce260
= var261
;
1541 nitc___nitc__AbstractCompilerVisitor___add(self
, var274
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1543 if (unlikely(varonce275
==NULL
)) {
1544 var276
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1545 if (likely(varonce277
!=NULL
)) {
1546 var278
= varonce277
;
1548 var279
= " = class_";
1549 var280
= core__flat___NativeString___to_s_full(var279
, 9l, 9l);
1551 varonce277
= var278
;
1553 ((struct instance_core__NativeArray
*)var276
)->values
[1]=var278
;
1554 if (likely(varonce281
!=NULL
)) {
1555 var282
= varonce281
;
1558 var284
= core__flat___NativeString___to_s_full(var283
, 4l, 4l);
1560 varonce281
= var282
;
1562 ((struct instance_core__NativeArray
*)var276
)->values
[3]=var282
;
1564 var276
= varonce275
;
1567 ((struct instance_core__NativeArray
*)var276
)->values
[0]=var_idtype
;
1569 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
1570 var287
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
1571 if (unlikely(var287
== NULL
)) {
1572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1573 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
1577 RET_LABEL286
:(void)0;
1581 var288
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var285
);
1583 ((struct instance_core__NativeArray
*)var276
)->values
[2]=var288
;
1585 var289
= ((val
*(*)(val
* self
))(var276
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var276
); /* native_to_s on <var276:NativeArray[String]>*/
1587 varonce275
= var276
;
1589 nitc___nitc__AbstractCompilerVisitor___add(self
, var289
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1592 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
1593 var292
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
1594 if (unlikely(var292
== NULL
)) {
1595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1596 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
1600 RET_LABEL291
:(void)0;
1604 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var290) on <var290:AbstractCompiler(SeparateCompiler)> */
1605 var295
= var290
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var290:AbstractCompiler(SeparateCompiler)> */
1606 if (unlikely(var295
== NULL
)) {
1607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1608 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
1612 RET_LABEL294
:(void)0;
1616 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var293) on <var293:ModelBuilder> */
1617 var298
= var293
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var293:ModelBuilder> */
1618 if (unlikely(var298
== NULL
)) {
1619 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1620 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1624 RET_LABEL297
:(void)0;
1628 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var296) on <var296:ToolContext> */
1629 var301
= var296
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var296:ToolContext> */
1630 if (unlikely(var301
== NULL
)) {
1631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1632 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
1636 RET_LABEL300
:(void)0;
1640 { /* Inline opts#Option#value (var299) on <var299:OptionBool> */
1641 var304
= var299
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var299:OptionBool> */
1643 RET_LABEL303
:(void)0;
1646 var305
= (short int)((long)(var302
)>>2);
1649 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
1650 var308
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
1651 if (unlikely(var308
== NULL
)) {
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1653 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
1657 RET_LABEL307
:(void)0;
1661 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (var306) on <var306:AbstractCompiler(SeparateCompiler)> */
1662 var311
= var306
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <var306:AbstractCompiler(SeparateCompiler)> */
1663 if (unlikely(var311
== NULL
)) {
1664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
1665 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1046);
1669 RET_LABEL310
:(void)0;
1675 var314
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_312
, var_313
);
1678 { /* Inline kernel#Int#+ (var314,1l) on <var314:nullable Object(Int)> */
1679 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1680 /* <1l:Int> isa OTHER */
1681 var317
= 1; /* easy <1l:Int> isa OTHER*/
1682 if (unlikely(!var317
)) {
1683 var_class_name320
= type_core__Int
.name
;
1684 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name320
);
1685 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1688 var321
= (long)(var314
)>>2;
1689 var322
= var321
+ 1l;
1692 RET_LABEL316
:(void)0;
1696 var323
= (val
*)(var315
<<2|1);
1697 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_312
, var_313
, var323
); /* Direct call hash_collection#HashMap#[]= on <var_312:HashMap[String, Int]>*/
1699 if (unlikely(varonce324
==NULL
)) {
1700 var325
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1701 if (likely(varonce326
!=NULL
)) {
1702 var327
= varonce326
;
1704 var328
= "count_type_test_resolved_";
1705 var329
= core__flat___NativeString___to_s_full(var328
, 25l, 25l);
1707 varonce326
= var327
;
1709 ((struct instance_core__NativeArray
*)var325
)->values
[0]=var327
;
1710 if (likely(varonce330
!=NULL
)) {
1711 var331
= varonce330
;
1714 var333
= core__flat___NativeString___to_s_full(var332
, 3l, 3l);
1716 varonce330
= var331
;
1718 ((struct instance_core__NativeArray
*)var325
)->values
[2]=var331
;
1720 var325
= varonce324
;
1723 ((struct instance_core__NativeArray
*)var325
)->values
[1]=var_tag
;
1725 var334
= ((val
*(*)(val
* self
))(var325
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var325
); /* native_to_s on <var325:NativeArray[String]>*/
1727 varonce324
= var325
;
1729 nitc___nitc__AbstractCompilerVisitor___add(self
, var334
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1734 /* <var_mtype:MType> isa MVirtualType */
1735 cltype336
= type_nitc__MVirtualType
.color
;
1736 idtype337
= type_nitc__MVirtualType
.id
;
1737 if(cltype336
>= var_mtype
->type
->table_size
) {
1740 var335
= var_mtype
->type
->type_table
[cltype336
] == idtype337
;
1744 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateErasureCompilerVisitor> */
1745 var340
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateErasureCompilerVisitor> */
1747 RET_LABEL339
:(void)0;
1750 if (var338
== NULL
) {
1751 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 555);
1755 { /* Inline abstract_compiler#StaticFrame#arguments (var338) on <var338:nullable StaticFrame> */
1756 if (unlikely(var338
== NULL
)) {
1757 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1921);
1761 var343
= var338
->attrs
[COLOR_nitc__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var338:nullable StaticFrame> */
1762 if (unlikely(var343
== NULL
)) {
1763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
1764 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1921);
1768 RET_LABEL342
:(void)0;
1772 var344
= core___core__SequenceRead___Collection__first(var341
);
1776 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
1777 var347
= var_recv
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
1778 if (unlikely(var347
== NULL
)) {
1779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1780 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
1784 RET_LABEL346
:(void)0;
1788 var348
= ((short int(*)(val
* self
))(var345
->class->vft
[COLOR_nitc__abstract_compiler__MType__is_c_primitive
]))(var345
); /* is_c_primitive on <var345:MType>*/
1792 if (unlikely(varonce350
==NULL
)) {
1793 var351
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1794 if (likely(varonce352
!=NULL
)) {
1795 var353
= varonce352
;
1797 var354
= "->class->";
1798 var355
= core__flat___NativeString___to_s_full(var354
, 9l, 9l);
1800 varonce352
= var353
;
1802 ((struct instance_core__NativeArray
*)var351
)->values
[1]=var353
;
1804 var351
= varonce350
;
1808 var356
= ((val
*(*)(val
* self
))(var_recv
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recv
); /* to_s on <var_recv:RuntimeVariable>*/
1810 ((struct instance_core__NativeArray
*)var351
)->values
[0]=var356
;
1812 var357
= ((val
*(*)(val
* self
))(var351
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var351
); /* native_to_s on <var351:NativeArray[String]>*/
1814 varonce350
= var351
;
1815 var_recv_ptr
= var357
;
1818 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
1819 var360
= var_recv
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
1820 if (unlikely(var360
== NULL
)) {
1821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1822 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
1826 RET_LABEL359
:(void)0;
1829 /* <var358:MType> isa MClassType */
1830 cltype362
= type_nitc__MClassType
.color
;
1831 idtype363
= type_nitc__MClassType
.id
;
1832 if(cltype362
>= var358
->type
->table_size
) {
1835 var361
= var358
->type
->type_table
[cltype362
] == idtype363
;
1837 if (unlikely(!var361
)) {
1838 var_class_name364
= var358
== NULL ?
"null" : var358
->type
->name
;
1839 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name364
);
1840 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 560);
1844 { /* Inline model#MClassType#mclass (var358) on <var358:MType(MClassType)> */
1845 var367
= var358
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var358:MType(MClassType)> */
1846 if (unlikely(var367
== NULL
)) {
1847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1848 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
1852 RET_LABEL366
:(void)0;
1855 var_mclass368
= var365
;
1856 if (unlikely(varonce369
==NULL
)) {
1857 var370
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1858 if (likely(varonce371
!=NULL
)) {
1859 var372
= varonce371
;
1862 var374
= core__flat___NativeString___to_s_full(var373
, 6l, 6l);
1864 varonce371
= var372
;
1866 ((struct instance_core__NativeArray
*)var370
)->values
[0]=var372
;
1868 var370
= varonce369
;
1872 var375
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass368
);
1874 ((struct instance_core__NativeArray
*)var370
)->values
[1]=var375
;
1876 var376
= ((val
*(*)(val
* self
))(var370
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var370
); /* native_to_s on <var370:NativeArray[String]>*/
1878 varonce369
= var370
;
1880 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var376
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
1882 if (unlikely(varonce377
==NULL
)) {
1883 var378
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1884 if (likely(varonce379
!=NULL
)) {
1885 var380
= varonce379
;
1888 var382
= core__flat___NativeString___to_s_full(var381
, 6l, 6l);
1890 varonce379
= var380
;
1892 ((struct instance_core__NativeArray
*)var378
)->values
[0]=var380
;
1893 if (likely(varonce383
!=NULL
)) {
1894 var384
= varonce383
;
1897 var386
= core__flat___NativeString___to_s_full(var385
, 1l, 1l);
1899 varonce383
= var384
;
1901 ((struct instance_core__NativeArray
*)var378
)->values
[2]=var384
;
1903 var378
= varonce377
;
1907 var387
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_mclass368
);
1909 ((struct instance_core__NativeArray
*)var378
)->values
[1]=var387
;
1911 var388
= ((val
*(*)(val
* self
))(var378
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var378
); /* native_to_s on <var378:NativeArray[String]>*/
1913 varonce377
= var378
;
1914 var_recv_ptr
= var388
;
1916 if (likely(varonce389
!=NULL
)) {
1917 var390
= varonce389
;
1920 var392
= core__flat___NativeString___to_s_full(var391
, 5l, 5l);
1922 varonce389
= var390
;
1925 var393
= nitc___nitc__AbstractCompilerVisitor___get_name(self
, var390
);
1928 if (unlikely(varonce394
==NULL
)) {
1929 var395
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1930 if (likely(varonce396
!=NULL
)) {
1931 var397
= varonce396
;
1933 var398
= "struct vts_entry ";
1934 var399
= core__flat___NativeString___to_s_full(var398
, 17l, 17l);
1936 varonce396
= var397
;
1938 ((struct instance_core__NativeArray
*)var395
)->values
[0]=var397
;
1939 if (likely(varonce400
!=NULL
)) {
1940 var401
= varonce400
;
1943 var403
= core__flat___NativeString___to_s_full(var402
, 1l, 1l);
1945 varonce400
= var401
;
1947 ((struct instance_core__NativeArray
*)var395
)->values
[2]=var401
;
1949 var395
= varonce394
;
1952 ((struct instance_core__NativeArray
*)var395
)->values
[1]=var_entry
;
1954 var404
= ((val
*(*)(val
* self
))(var395
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var395
); /* native_to_s on <var395:NativeArray[String]>*/
1956 varonce394
= var395
;
1958 nitc___nitc__AbstractCompilerVisitor___add(self
, var404
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
1961 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
1962 var407
= var_mtype
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
1963 if (unlikely(var407
== NULL
)) {
1964 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1965 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
1969 RET_LABEL406
:(void)0;
1973 var408
= nitc__separate_compiler___MEntity___const_color(var405
);
1976 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var408
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
1978 if (unlikely(varonce409
==NULL
)) {
1979 var410
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
1980 if (likely(varonce411
!=NULL
)) {
1981 var412
= varonce411
;
1984 var414
= core__flat___NativeString___to_s_full(var413
, 3l, 3l);
1986 varonce411
= var412
;
1988 ((struct instance_core__NativeArray
*)var410
)->values
[1]=var412
;
1989 if (likely(varonce415
!=NULL
)) {
1990 var416
= varonce415
;
1992 var417
= "vts_table->vts[";
1993 var418
= core__flat___NativeString___to_s_full(var417
, 15l, 15l);
1995 varonce415
= var416
;
1997 ((struct instance_core__NativeArray
*)var410
)->values
[3]=var416
;
1998 if (likely(varonce419
!=NULL
)) {
1999 var420
= varonce419
;
2002 var422
= core__flat___NativeString___to_s_full(var421
, 2l, 2l);
2004 varonce419
= var420
;
2006 ((struct instance_core__NativeArray
*)var410
)->values
[5]=var420
;
2008 var410
= varonce409
;
2011 ((struct instance_core__NativeArray
*)var410
)->values
[0]=var_entry
;
2012 ((struct instance_core__NativeArray
*)var410
)->values
[2]=var_recv_ptr
;
2014 { /* Inline model#MVirtualType#mproperty (var_mtype) on <var_mtype:MType(MVirtualType)> */
2015 var425
= var_mtype
->attrs
[COLOR_nitc__model__MVirtualType___mproperty
].val
; /* _mproperty on <var_mtype:MType(MVirtualType)> */
2016 if (unlikely(var425
== NULL
)) {
2017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2018 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1369);
2022 RET_LABEL424
:(void)0;
2026 var426
= nitc__separate_compiler___MEntity___const_color(var423
);
2028 ((struct instance_core__NativeArray
*)var410
)->values
[4]=var426
;
2030 var427
= ((val
*(*)(val
* self
))(var410
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var410
); /* native_to_s on <var410:NativeArray[String]>*/
2032 varonce409
= var410
;
2034 nitc___nitc__AbstractCompilerVisitor___add(self
, var427
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2036 if (unlikely(varonce428
==NULL
)) {
2037 var429
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
2038 if (likely(varonce430
!=NULL
)) {
2039 var431
= varonce430
;
2042 var433
= core__flat___NativeString___to_s_full(var432
, 3l, 3l);
2044 varonce430
= var431
;
2046 ((struct instance_core__NativeArray
*)var429
)->values
[1]=var431
;
2047 if (likely(varonce434
!=NULL
)) {
2048 var435
= varonce434
;
2050 var436
= ".class->color;";
2051 var437
= core__flat___NativeString___to_s_full(var436
, 14l, 14l);
2053 varonce434
= var435
;
2055 ((struct instance_core__NativeArray
*)var429
)->values
[3]=var435
;
2057 var429
= varonce428
;
2060 ((struct instance_core__NativeArray
*)var429
)->values
[0]=var_cltype
;
2061 ((struct instance_core__NativeArray
*)var429
)->values
[2]=var_entry
;
2063 var438
= ((val
*(*)(val
* self
))(var429
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var429
); /* native_to_s on <var429:NativeArray[String]>*/
2065 varonce428
= var429
;
2067 nitc___nitc__AbstractCompilerVisitor___add(self
, var438
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2069 if (unlikely(varonce439
==NULL
)) {
2070 var440
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
2071 if (likely(varonce441
!=NULL
)) {
2072 var442
= varonce441
;
2075 var444
= core__flat___NativeString___to_s_full(var443
, 3l, 3l);
2077 varonce441
= var442
;
2079 ((struct instance_core__NativeArray
*)var440
)->values
[1]=var442
;
2080 if (likely(varonce445
!=NULL
)) {
2081 var446
= varonce445
;
2083 var447
= ".class->id;";
2084 var448
= core__flat___NativeString___to_s_full(var447
, 11l, 11l);
2086 varonce445
= var446
;
2088 ((struct instance_core__NativeArray
*)var440
)->values
[3]=var446
;
2090 var440
= varonce439
;
2093 ((struct instance_core__NativeArray
*)var440
)->values
[0]=var_idtype
;
2094 ((struct instance_core__NativeArray
*)var440
)->values
[2]=var_entry
;
2096 var449
= ((val
*(*)(val
* self
))(var440
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var440
); /* native_to_s on <var440:NativeArray[String]>*/
2098 varonce439
= var440
;
2100 nitc___nitc__AbstractCompilerVisitor___add(self
, var449
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2102 var_451
= var_maybe_null
;
2103 if (var_maybe_null
){
2104 if (likely(varonce452
!=NULL
)) {
2105 var453
= varonce452
;
2108 var455
= core__flat___NativeString___to_s_full(var454
, 1l, 1l);
2110 varonce452
= var453
;
2113 var456
= ((short int(*)(val
* self
, val
* p0
))(var_accept_null
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_accept_null
, var453
); /* == on <var_accept_null:String>*/
2120 if (likely(varonce457
!=NULL
)) {
2121 var458
= varonce457
;
2123 var459
= "is_nullable";
2124 var460
= core__flat___NativeString___to_s_full(var459
, 11l, 11l);
2126 varonce457
= var458
;
2129 var461
= nitc___nitc__AbstractCompilerVisitor___get_name(self
, var458
);
2131 var_is_nullable
= var461
;
2132 if (unlikely(varonce462
==NULL
)) {
2133 var463
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2134 if (likely(varonce464
!=NULL
)) {
2135 var465
= varonce464
;
2137 var466
= "short int ";
2138 var467
= core__flat___NativeString___to_s_full(var466
, 10l, 10l);
2140 varonce464
= var465
;
2142 ((struct instance_core__NativeArray
*)var463
)->values
[0]=var465
;
2143 if (likely(varonce468
!=NULL
)) {
2144 var469
= varonce468
;
2147 var471
= core__flat___NativeString___to_s_full(var470
, 1l, 1l);
2149 varonce468
= var469
;
2151 ((struct instance_core__NativeArray
*)var463
)->values
[2]=var469
;
2153 var463
= varonce462
;
2156 ((struct instance_core__NativeArray
*)var463
)->values
[1]=var_is_nullable
;
2158 var472
= ((val
*(*)(val
* self
))(var463
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var463
); /* native_to_s on <var463:NativeArray[String]>*/
2160 varonce462
= var463
;
2162 nitc___nitc__AbstractCompilerVisitor___add_decl(self
, var472
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateErasureCompilerVisitor>*/
2164 if (unlikely(varonce473
==NULL
)) {
2165 var474
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
2166 if (likely(varonce475
!=NULL
)) {
2167 var476
= varonce475
;
2170 var478
= core__flat___NativeString___to_s_full(var477
, 3l, 3l);
2172 varonce475
= var476
;
2174 ((struct instance_core__NativeArray
*)var474
)->values
[1]=var476
;
2175 if (likely(varonce479
!=NULL
)) {
2176 var480
= varonce479
;
2178 var481
= ".is_nullable;";
2179 var482
= core__flat___NativeString___to_s_full(var481
, 13l, 13l);
2181 varonce479
= var480
;
2183 ((struct instance_core__NativeArray
*)var474
)->values
[3]=var480
;
2185 var474
= varonce473
;
2188 ((struct instance_core__NativeArray
*)var474
)->values
[0]=var_is_nullable
;
2189 ((struct instance_core__NativeArray
*)var474
)->values
[2]=var_entry
;
2191 var483
= ((val
*(*)(val
* self
))(var474
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var474
); /* native_to_s on <var474:NativeArray[String]>*/
2193 varonce473
= var474
;
2195 nitc___nitc__AbstractCompilerVisitor___add(self
, var483
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2198 var484
= core___core__String___Object__to_s(var_is_nullable
);
2200 var_accept_null
= var484
;
2204 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
2205 var487
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
2206 if (unlikely(var487
== NULL
)) {
2207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2208 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
2212 RET_LABEL486
:(void)0;
2216 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var485) on <var485:AbstractCompiler(SeparateCompiler)> */
2217 var490
= var485
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var485:AbstractCompiler(SeparateCompiler)> */
2218 if (unlikely(var490
== NULL
)) {
2219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
2220 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
2224 RET_LABEL489
:(void)0;
2228 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var488) on <var488:ModelBuilder> */
2229 var493
= var488
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var488:ModelBuilder> */
2230 if (unlikely(var493
== NULL
)) {
2231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2232 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
2236 RET_LABEL492
:(void)0;
2240 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var491) on <var491:ToolContext> */
2241 var496
= var491
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var491:ToolContext> */
2242 if (unlikely(var496
== NULL
)) {
2243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
2244 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
2248 RET_LABEL495
:(void)0;
2252 { /* Inline opts#Option#value (var494) on <var494:OptionBool> */
2253 var499
= var494
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var494:OptionBool> */
2255 RET_LABEL498
:(void)0;
2258 var500
= (short int)((long)(var497
)>>2);
2261 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
2262 var503
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
2263 if (unlikely(var503
== NULL
)) {
2264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2265 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
2269 RET_LABEL502
:(void)0;
2273 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (var501) on <var501:AbstractCompiler(SeparateCompiler)> */
2274 var506
= var501
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <var501:AbstractCompiler(SeparateCompiler)> */
2275 if (unlikely(var506
== NULL
)) {
2276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
2277 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1047);
2281 RET_LABEL505
:(void)0;
2287 var509
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var_507
, var_508
);
2290 { /* Inline kernel#Int#+ (var509,1l) on <var509:nullable Object(Int)> */
2291 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2292 /* <1l:Int> isa OTHER */
2293 var512
= 1; /* easy <1l:Int> isa OTHER*/
2294 if (unlikely(!var512
)) {
2295 var_class_name515
= type_core__Int
.name
;
2296 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name515
);
2297 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2300 var516
= (long)(var509
)>>2;
2301 var517
= var516
+ 1l;
2304 RET_LABEL511
:(void)0;
2308 var518
= (val
*)(var510
<<2|1);
2309 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_507
, var_508
, var518
); /* Direct call hash_collection#HashMap#[]= on <var_507:HashMap[String, Int]>*/
2311 if (unlikely(varonce519
==NULL
)) {
2312 var520
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2313 if (likely(varonce521
!=NULL
)) {
2314 var522
= varonce521
;
2316 var523
= "count_type_test_unresolved_";
2317 var524
= core__flat___NativeString___to_s_full(var523
, 27l, 27l);
2319 varonce521
= var522
;
2321 ((struct instance_core__NativeArray
*)var520
)->values
[0]=var522
;
2322 if (likely(varonce525
!=NULL
)) {
2323 var526
= varonce525
;
2326 var528
= core__flat___NativeString___to_s_full(var527
, 3l, 3l);
2328 varonce525
= var526
;
2330 ((struct instance_core__NativeArray
*)var520
)->values
[2]=var526
;
2332 var520
= varonce519
;
2335 ((struct instance_core__NativeArray
*)var520
)->values
[1]=var_tag
;
2337 var529
= ((val
*(*)(val
* self
))(var520
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var520
); /* native_to_s on <var520:NativeArray[String]>*/
2339 varonce519
= var520
;
2341 nitc___nitc__AbstractCompilerVisitor___add(self
, var529
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2346 if (unlikely(varonce530
==NULL
)) {
2347 var531
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2348 if (likely(varonce532
!=NULL
)) {
2349 var533
= varonce532
;
2351 var534
= "type_test(";
2352 var535
= core__flat___NativeString___to_s_full(var534
, 10l, 10l);
2354 varonce532
= var533
;
2356 ((struct instance_core__NativeArray
*)var531
)->values
[0]=var533
;
2357 if (likely(varonce536
!=NULL
)) {
2358 var537
= varonce536
;
2361 var539
= core__flat___NativeString___to_s_full(var538
, 2l, 2l);
2363 varonce536
= var537
;
2365 ((struct instance_core__NativeArray
*)var531
)->values
[2]=var537
;
2366 if (likely(varonce540
!=NULL
)) {
2367 var541
= varonce540
;
2370 var543
= core__flat___NativeString___to_s_full(var542
, 1l, 1l);
2372 varonce540
= var541
;
2374 ((struct instance_core__NativeArray
*)var531
)->values
[4]=var541
;
2376 var531
= varonce530
;
2380 var544
= nitc___nitc__RuntimeVariable___core__abstract_text__Object__inspect(var_value
);
2382 ((struct instance_core__NativeArray
*)var531
)->values
[1]=var544
;
2384 var545
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_mtype
); /* to_s on <var_mtype:MType>*/
2386 ((struct instance_core__NativeArray
*)var531
)->values
[3]=var545
;
2388 var546
= ((val
*(*)(val
* self
))(var531
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var531
); /* native_to_s on <var531:NativeArray[String]>*/
2390 varonce530
= var531
;
2392 nitc___nitc__AbstractCompilerVisitor___debug(self
, var546
); /* Direct call abstract_compiler#AbstractCompilerVisitor#debug on <self:SeparateErasureCompilerVisitor>*/
2394 PRINT_ERROR("Runtime error: %s", "Aborted");
2395 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 582);
2399 if (var_maybe_null
){
2400 if (unlikely(varonce547
==NULL
)) {
2401 var548
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2402 if (likely(varonce549
!=NULL
)) {
2403 var550
= varonce549
;
2406 var552
= core__flat___NativeString___to_s_full(var551
, 3l, 3l);
2408 varonce549
= var550
;
2410 ((struct instance_core__NativeArray
*)var548
)->values
[0]=var550
;
2411 if (likely(varonce553
!=NULL
)) {
2412 var554
= varonce553
;
2414 var555
= " == NULL) {";
2415 var556
= core__flat___NativeString___to_s_full(var555
, 11l, 11l);
2417 varonce553
= var554
;
2419 ((struct instance_core__NativeArray
*)var548
)->values
[2]=var554
;
2421 var548
= varonce547
;
2425 var557
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
2427 ((struct instance_core__NativeArray
*)var548
)->values
[1]=var557
;
2429 var558
= ((val
*(*)(val
* self
))(var548
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var548
); /* native_to_s on <var548:NativeArray[String]>*/
2431 varonce547
= var548
;
2433 nitc___nitc__AbstractCompilerVisitor___add(self
, var558
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2435 if (unlikely(varonce559
==NULL
)) {
2436 var560
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
2437 if (likely(varonce561
!=NULL
)) {
2438 var562
= varonce561
;
2441 var564
= core__flat___NativeString___to_s_full(var563
, 3l, 3l);
2443 varonce561
= var562
;
2445 ((struct instance_core__NativeArray
*)var560
)->values
[1]=var562
;
2446 if (likely(varonce565
!=NULL
)) {
2447 var566
= varonce565
;
2450 var568
= core__flat___NativeString___to_s_full(var567
, 1l, 1l);
2452 varonce565
= var566
;
2454 ((struct instance_core__NativeArray
*)var560
)->values
[3]=var566
;
2456 var560
= varonce559
;
2460 var569
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2462 ((struct instance_core__NativeArray
*)var560
)->values
[0]=var569
;
2463 ((struct instance_core__NativeArray
*)var560
)->values
[2]=var_accept_null
;
2465 var570
= ((val
*(*)(val
* self
))(var560
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var560
); /* native_to_s on <var560:NativeArray[String]>*/
2467 varonce559
= var560
;
2469 nitc___nitc__AbstractCompilerVisitor___add(self
, var570
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2471 if (likely(varonce571
!=NULL
)) {
2472 var572
= varonce571
;
2474 var573
= "} else {";
2475 var574
= core__flat___NativeString___to_s_full(var573
, 8l, 8l);
2477 varonce571
= var572
;
2480 nitc___nitc__AbstractCompilerVisitor___add(self
, var572
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2484 if (unlikely(varonce575
==NULL
)) {
2485 var576
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2486 if (likely(varonce577
!=NULL
)) {
2487 var578
= varonce577
;
2490 var580
= core__flat___NativeString___to_s_full(var579
, 3l, 3l);
2492 varonce577
= var578
;
2494 ((struct instance_core__NativeArray
*)var576
)->values
[0]=var578
;
2495 if (likely(varonce581
!=NULL
)) {
2496 var582
= varonce581
;
2499 var584
= core__flat___NativeString___to_s_full(var583
, 4l, 4l);
2501 varonce581
= var582
;
2503 ((struct instance_core__NativeArray
*)var576
)->values
[2]=var582
;
2504 if (likely(varonce585
!=NULL
)) {
2505 var586
= varonce585
;
2507 var587
= "type_table->size) {";
2508 var588
= core__flat___NativeString___to_s_full(var587
, 19l, 19l);
2510 varonce585
= var586
;
2512 ((struct instance_core__NativeArray
*)var576
)->values
[4]=var586
;
2514 var576
= varonce575
;
2517 ((struct instance_core__NativeArray
*)var576
)->values
[1]=var_cltype
;
2518 ((struct instance_core__NativeArray
*)var576
)->values
[3]=var_class_ptr
;
2520 var589
= ((val
*(*)(val
* self
))(var576
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var576
); /* native_to_s on <var576:NativeArray[String]>*/
2522 varonce575
= var576
;
2524 nitc___nitc__AbstractCompilerVisitor___add(self
, var589
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2526 if (unlikely(varonce590
==NULL
)) {
2527 var591
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2528 if (likely(varonce592
!=NULL
)) {
2529 var593
= varonce592
;
2532 var595
= core__flat___NativeString___to_s_full(var594
, 5l, 5l);
2534 varonce592
= var593
;
2536 ((struct instance_core__NativeArray
*)var591
)->values
[1]=var593
;
2538 var591
= varonce590
;
2542 var596
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2544 ((struct instance_core__NativeArray
*)var591
)->values
[0]=var596
;
2546 var597
= ((val
*(*)(val
* self
))(var591
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var591
); /* native_to_s on <var591:NativeArray[String]>*/
2548 varonce590
= var591
;
2550 nitc___nitc__AbstractCompilerVisitor___add(self
, var597
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2552 if (likely(varonce598
!=NULL
)) {
2553 var599
= varonce598
;
2555 var600
= "} else {";
2556 var601
= core__flat___NativeString___to_s_full(var600
, 8l, 8l);
2558 varonce598
= var599
;
2561 nitc___nitc__AbstractCompilerVisitor___add(self
, var599
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2563 if (unlikely(varonce602
==NULL
)) {
2564 var603
= NEW_core__NativeArray(8l, &type_core__NativeArray__core__String
);
2565 if (likely(varonce604
!=NULL
)) {
2566 var605
= varonce604
;
2569 var607
= core__flat___NativeString___to_s_full(var606
, 3l, 3l);
2571 varonce604
= var605
;
2573 ((struct instance_core__NativeArray
*)var603
)->values
[1]=var605
;
2574 if (likely(varonce608
!=NULL
)) {
2575 var609
= varonce608
;
2577 var610
= "type_table->table[";
2578 var611
= core__flat___NativeString___to_s_full(var610
, 18l, 18l);
2580 varonce608
= var609
;
2582 ((struct instance_core__NativeArray
*)var603
)->values
[3]=var609
;
2583 if (likely(varonce612
!=NULL
)) {
2584 var613
= varonce612
;
2587 var615
= core__flat___NativeString___to_s_full(var614
, 5l, 5l);
2589 varonce612
= var613
;
2591 ((struct instance_core__NativeArray
*)var603
)->values
[5]=var613
;
2592 if (likely(varonce616
!=NULL
)) {
2593 var617
= varonce616
;
2596 var619
= core__flat___NativeString___to_s_full(var618
, 1l, 1l);
2598 varonce616
= var617
;
2600 ((struct instance_core__NativeArray
*)var603
)->values
[7]=var617
;
2602 var603
= varonce602
;
2606 var620
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2608 ((struct instance_core__NativeArray
*)var603
)->values
[0]=var620
;
2609 ((struct instance_core__NativeArray
*)var603
)->values
[2]=var_class_ptr
;
2610 ((struct instance_core__NativeArray
*)var603
)->values
[4]=var_cltype
;
2611 ((struct instance_core__NativeArray
*)var603
)->values
[6]=var_idtype
;
2613 var621
= ((val
*(*)(val
* self
))(var603
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var603
); /* native_to_s on <var603:NativeArray[String]>*/
2615 varonce602
= var603
;
2617 nitc___nitc__AbstractCompilerVisitor___add(self
, var621
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2619 if (likely(varonce622
!=NULL
)) {
2620 var623
= varonce622
;
2623 var625
= core__flat___NativeString___to_s_full(var624
, 1l, 1l);
2625 varonce622
= var623
;
2628 nitc___nitc__AbstractCompilerVisitor___add(self
, var623
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2630 if (var_maybe_null
){
2631 if (likely(varonce626
!=NULL
)) {
2632 var627
= varonce626
;
2635 var629
= core__flat___NativeString___to_s_full(var628
, 1l, 1l);
2637 varonce626
= var627
;
2640 nitc___nitc__AbstractCompilerVisitor___add(self
, var627
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2649 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#unbox_extern for (self: SeparateErasureCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
2650 val
* nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__unbox_extern(val
* self
, val
* p0
, val
* p1
) {
2651 val
* var
/* : RuntimeVariable */;
2652 val
* var_value
/* var value: RuntimeVariable */;
2653 val
* var_mtype
/* var mtype: MType */;
2654 short int var1
/* : Bool */;
2655 short int var2
/* : Bool */;
2656 short int var3
/* : Bool */;
2659 short int var_
/* var : Bool */;
2660 val
* var4
/* : MClass */;
2661 val
* var6
/* : MClass */;
2662 val
* var7
/* : MClassKind */;
2663 val
* var9
/* : MClassKind */;
2664 val
* var10
/* : Sys */;
2665 val
* var11
/* : MClassKind */;
2666 short int var12
/* : Bool */;
2667 val
* var_other
/* var other: nullable Object */;
2668 short int var14
/* : Bool */;
2669 short int var16
/* : Bool */;
2670 short int var_17
/* var : Bool */;
2671 val
* var18
/* : MClass */;
2672 val
* var20
/* : MClass */;
2673 val
* var21
/* : String */;
2674 val
* var23
/* : String */;
2675 static val
* varonce
;
2676 val
* var24
/* : String */;
2677 char* var25
/* : NativeString */;
2678 val
* var26
/* : String */;
2679 short int var27
/* : Bool */;
2680 val
* var_other29
/* var other: nullable Object */;
2681 short int var30
/* : Bool */;
2682 short int var31
/* : Bool */;
2683 val
* var32
/* : AbstractCompiler */;
2684 val
* var34
/* : AbstractCompiler */;
2685 val
* var35
/* : MModule */;
2686 val
* var37
/* : MModule */;
2687 val
* var38
/* : MClassType */;
2688 val
* var_pointer_type
/* var pointer_type: MClassType */;
2689 val
* var39
/* : RuntimeVariable */;
2690 val
* var_res
/* var res: RuntimeVariable */;
2691 val
* var41
/* : NativeArray[String] */;
2692 static val
* varonce40
;
2693 static val
* varonce42
;
2694 val
* var43
/* : String */;
2695 char* var44
/* : NativeString */;
2696 val
* var45
/* : String */;
2697 static val
* varonce46
;
2698 val
* var47
/* : String */;
2699 char* var48
/* : NativeString */;
2700 val
* var49
/* : String */;
2701 static val
* varonce50
;
2702 val
* var51
/* : String */;
2703 char* var52
/* : NativeString */;
2704 val
* var53
/* : String */;
2705 static val
* varonce54
;
2706 val
* var55
/* : String */;
2707 char* var56
/* : NativeString */;
2708 val
* var57
/* : String */;
2709 val
* var58
/* : String */;
2710 val
* var59
/* : String */;
2711 val
* var60
/* : String */;
2712 val
* var61
/* : MType */;
2713 val
* var63
/* : MType */;
2714 val
* var64
/* : String */;
2715 val
* var65
/* : String */;
2718 /* <var_mtype:MType> isa MClassType */
2719 cltype
= type_nitc__MClassType
.color
;
2720 idtype
= type_nitc__MClassType
.id
;
2721 if(cltype
>= var_mtype
->type
->table_size
) {
2724 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2729 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
2730 var6
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
2731 if (unlikely(var6
== NULL
)) {
2732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2733 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2741 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
2742 var9
= var4
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var4:MClass> */
2743 if (unlikely(var9
== NULL
)) {
2744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
2745 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
2754 var11
= nitc__model___core__Sys___extern_kind(var10
);
2757 { /* Inline kernel#Object#== (var7,var11) on <var7:MClassKind> */
2760 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
2761 var16
= var7
== var_other
;
2764 RET_LABEL15
:(void)0;
2769 RET_LABEL13
:(void)0;
2779 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
2780 var20
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
2781 if (unlikely(var20
== NULL
)) {
2782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2783 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
2787 RET_LABEL19
:(void)0;
2791 { /* Inline model#MClass#name (var18) on <var18:MClass> */
2792 var23
= var18
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var18:MClass> */
2793 if (unlikely(var23
== NULL
)) {
2794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2795 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
2799 RET_LABEL22
:(void)0;
2802 if (likely(varonce
!=NULL
)) {
2805 var25
= "NativeString";
2806 var26
= core__flat___NativeString___to_s_full(var25
, 12l, 12l);
2811 { /* Inline kernel#Object#!= (var21,var24) on <var21:String> */
2812 var_other29
= var24
;
2814 var30
= ((short int(*)(val
* self
, val
* p0
))(var21
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var21
, var_other29
); /* == on <var21:String>*/
2819 RET_LABEL28
:(void)0;
2828 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
2829 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
2830 if (unlikely(var34
== NULL
)) {
2831 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2832 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
2836 RET_LABEL33
:(void)0;
2840 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var32) on <var32:AbstractCompiler(SeparateCompiler)> */
2841 var37
= var32
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var32:AbstractCompiler(SeparateCompiler)> */
2842 if (unlikely(var37
== NULL
)) {
2843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
2848 RET_LABEL36
:(void)0;
2852 var38
= nitc__model___MModule___pointer_type(var35
);
2854 var_pointer_type
= var38
;
2856 var39
= nitc___nitc__AbstractCompilerVisitor___new_var_extern(self
, var_mtype
);
2859 if (unlikely(varonce40
==NULL
)) {
2860 var41
= NEW_core__NativeArray(8l, &type_core__NativeArray__core__String
);
2861 if (likely(varonce42
!=NULL
)) {
2864 var44
= " = ((struct instance_";
2865 var45
= core__flat___NativeString___to_s_full(var44
, 21l, 21l);
2869 ((struct instance_core__NativeArray
*)var41
)->values
[1]=var43
;
2870 if (likely(varonce46
!=NULL
)) {
2874 var49
= core__flat___NativeString___to_s_full(var48
, 2l, 2l);
2878 ((struct instance_core__NativeArray
*)var41
)->values
[3]=var47
;
2879 if (likely(varonce50
!=NULL
)) {
2882 var52
= ")->value; /* unboxing ";
2883 var53
= core__flat___NativeString___to_s_full(var52
, 22l, 22l);
2887 ((struct instance_core__NativeArray
*)var41
)->values
[5]=var51
;
2888 if (likely(varonce54
!=NULL
)) {
2892 var57
= core__flat___NativeString___to_s_full(var56
, 3l, 3l);
2896 ((struct instance_core__NativeArray
*)var41
)->values
[7]=var55
;
2902 var58
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
2904 ((struct instance_core__NativeArray
*)var41
)->values
[0]=var58
;
2906 var59
= ((val
*(*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_pointer_type
); /* c_name on <var_pointer_type:MClassType>*/
2908 ((struct instance_core__NativeArray
*)var41
)->values
[2]=var59
;
2910 var60
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
2912 ((struct instance_core__NativeArray
*)var41
)->values
[4]=var60
;
2914 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
2915 var63
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
2916 if (unlikely(var63
== NULL
)) {
2917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2918 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
2922 RET_LABEL62
:(void)0;
2926 var64
= ((val
*(*)(val
* self
))(var61
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var61
); /* to_s on <var61:MType>*/
2928 ((struct instance_core__NativeArray
*)var41
)->values
[6]=var64
;
2930 var65
= ((val
*(*)(val
* self
))(var41
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var41
); /* native_to_s on <var41:NativeArray[String]>*/
2934 nitc___nitc__AbstractCompilerVisitor___add(self
, var65
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
2945 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#box_extern for (self: SeparateErasureCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
2946 val
* nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__box_extern(val
* self
, val
* p0
, val
* p1
) {
2947 val
* var
/* : RuntimeVariable */;
2948 val
* var_value
/* var value: RuntimeVariable */;
2949 val
* var_mtype
/* var mtype: MType */;
2950 short int var1
/* : Bool */;
2951 short int var2
/* : Bool */;
2952 short int var3
/* : Bool */;
2955 short int var_
/* var : Bool */;
2956 val
* var4
/* : MClass */;
2957 val
* var6
/* : MClass */;
2958 val
* var7
/* : MClassKind */;
2959 val
* var9
/* : MClassKind */;
2960 val
* var10
/* : Sys */;
2961 val
* var11
/* : MClassKind */;
2962 short int var12
/* : Bool */;
2963 val
* var_other
/* var other: nullable Object */;
2964 short int var14
/* : Bool */;
2965 short int var16
/* : Bool */;
2966 short int var_17
/* var : Bool */;
2967 val
* var18
/* : MClass */;
2968 val
* var20
/* : MClass */;
2969 val
* var21
/* : String */;
2970 val
* var23
/* : String */;
2971 static val
* varonce
;
2972 val
* var24
/* : String */;
2973 char* var25
/* : NativeString */;
2974 val
* var26
/* : String */;
2975 short int var27
/* : Bool */;
2976 val
* var_other29
/* var other: nullable Object */;
2977 short int var30
/* : Bool */;
2978 short int var31
/* : Bool */;
2979 val
* var32
/* : AbstractCompiler */;
2980 val
* var34
/* : AbstractCompiler */;
2981 val
* var35
/* : MModule */;
2982 val
* var37
/* : MModule */;
2983 val
* var38
/* : MClassType */;
2984 val
* var_valtype
/* var valtype: MClassType */;
2985 val
* var39
/* : RuntimeVariable */;
2986 val
* var_res
/* var res: RuntimeVariable */;
2987 short int var40
/* : Bool */;
2988 val
* var41
/* : AbstractCompiler */;
2989 val
* var43
/* : AbstractCompiler */;
2990 val
* var44
/* : nullable RapidTypeAnalysis */;
2991 val
* var46
/* : nullable RapidTypeAnalysis */;
2992 short int var47
/* : Bool */;
2993 short int var48
/* : Bool */;
2994 short int var50
/* : Bool */;
2995 short int var51
/* : Bool */;
2996 short int var_52
/* var : Bool */;
2997 val
* var53
/* : AbstractCompiler */;
2998 val
* var55
/* : AbstractCompiler */;
2999 val
* var56
/* : nullable RapidTypeAnalysis */;
3000 val
* var58
/* : nullable RapidTypeAnalysis */;
3001 val
* var59
/* : HashSet[MClassType] */;
3002 val
* var61
/* : HashSet[MClassType] */;
3003 val
* var62
/* : MType */;
3004 val
* var64
/* : MType */;
3005 short int var65
/* : Bool */;
3008 const char* var_class_name
;
3009 short int var68
/* : Bool */;
3010 short int var69
/* : Bool */;
3011 val
* var71
/* : NativeArray[String] */;
3012 static val
* varonce70
;
3013 static val
* varonce72
;
3014 val
* var73
/* : String */;
3015 char* var74
/* : NativeString */;
3016 val
* var75
/* : String */;
3017 static val
* varonce76
;
3018 val
* var77
/* : String */;
3019 char* var78
/* : NativeString */;
3020 val
* var79
/* : String */;
3021 static val
* varonce80
;
3022 val
* var81
/* : String */;
3023 char* var82
/* : NativeString */;
3024 val
* var83
/* : String */;
3025 val
* var84
/* : MType */;
3026 val
* var86
/* : MType */;
3027 val
* var87
/* : String */;
3028 val
* var88
/* : MType */;
3029 val
* var90
/* : MType */;
3030 val
* var91
/* : String */;
3031 val
* var92
/* : String */;
3032 static val
* varonce93
;
3033 val
* var94
/* : String */;
3034 char* var95
/* : NativeString */;
3035 val
* var96
/* : String */;
3036 val
* var98
/* : NativeArray[String] */;
3037 static val
* varonce97
;
3038 static val
* varonce99
;
3039 val
* var100
/* : String */;
3040 char* var101
/* : NativeString */;
3041 val
* var102
/* : String */;
3042 val
* var103
/* : String */;
3043 val
* var104
/* : String */;
3044 val
* var106
/* : NativeArray[String] */;
3045 static val
* varonce105
;
3046 static val
* varonce107
;
3047 val
* var108
/* : String */;
3048 char* var109
/* : NativeString */;
3049 val
* var110
/* : String */;
3050 static val
* varonce111
;
3051 val
* var112
/* : String */;
3052 char* var113
/* : NativeString */;
3053 val
* var114
/* : String */;
3054 static val
* varonce115
;
3055 val
* var116
/* : String */;
3056 char* var117
/* : NativeString */;
3057 val
* var118
/* : String */;
3058 static val
* varonce119
;
3059 val
* var120
/* : String */;
3060 char* var121
/* : NativeString */;
3061 val
* var122
/* : String */;
3062 val
* var123
/* : String */;
3063 val
* var124
/* : String */;
3064 val
* var125
/* : String */;
3065 val
* var126
/* : MType */;
3066 val
* var128
/* : MType */;
3067 val
* var129
/* : String */;
3068 val
* var130
/* : String */;
3069 val
* var132
/* : NativeArray[String] */;
3070 static val
* varonce131
;
3071 static val
* varonce133
;
3072 val
* var134
/* : String */;
3073 char* var135
/* : NativeString */;
3074 val
* var136
/* : String */;
3075 val
* var137
/* : String */;
3076 val
* var138
/* : String */;
3077 val
* var140
/* : NativeArray[String] */;
3078 static val
* varonce139
;
3079 static val
* varonce141
;
3080 val
* var142
/* : String */;
3081 char* var143
/* : NativeString */;
3082 val
* var144
/* : String */;
3083 static val
* varonce145
;
3084 val
* var146
/* : String */;
3085 char* var147
/* : NativeString */;
3086 val
* var148
/* : String */;
3087 val
* var149
/* : String */;
3088 val
* var150
/* : String */;
3089 val
* var151
/* : String */;
3092 /* <var_mtype:MType> isa MClassType */
3093 cltype
= type_nitc__MClassType
.color
;
3094 idtype
= type_nitc__MClassType
.id
;
3095 if(cltype
>= var_mtype
->type
->table_size
) {
3098 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
3103 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3104 var6
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3105 if (unlikely(var6
== NULL
)) {
3106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3107 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
3115 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
3116 var9
= var4
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var4:MClass> */
3117 if (unlikely(var9
== NULL
)) {
3118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3119 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
3128 var11
= nitc__model___core__Sys___extern_kind(var10
);
3131 { /* Inline kernel#Object#== (var7,var11) on <var7:MClassKind> */
3134 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
3135 var16
= var7
== var_other
;
3138 RET_LABEL15
:(void)0;
3143 RET_LABEL13
:(void)0;
3153 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
3154 var20
= var_mtype
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
3155 if (unlikely(var20
== NULL
)) {
3156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3157 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
3161 RET_LABEL19
:(void)0;
3165 { /* Inline model#MClass#name (var18) on <var18:MClass> */
3166 var23
= var18
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <var18:MClass> */
3167 if (unlikely(var23
== NULL
)) {
3168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3169 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
3173 RET_LABEL22
:(void)0;
3176 if (likely(varonce
!=NULL
)) {
3179 var25
= "NativeString";
3180 var26
= core__flat___NativeString___to_s_full(var25
, 12l, 12l);
3185 { /* Inline kernel#Object#!= (var21,var24) on <var21:String> */
3186 var_other29
= var24
;
3188 var30
= ((short int(*)(val
* self
, val
* p0
))(var21
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var21
, var_other29
); /* == on <var21:String>*/
3193 RET_LABEL28
:(void)0;
3202 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
3203 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
3204 if (unlikely(var34
== NULL
)) {
3205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3206 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
3210 RET_LABEL33
:(void)0;
3214 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var32) on <var32:AbstractCompiler(SeparateCompiler)> */
3215 var37
= var32
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var32:AbstractCompiler(SeparateCompiler)> */
3216 if (unlikely(var37
== NULL
)) {
3217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
3222 RET_LABEL36
:(void)0;
3226 var38
= nitc__model___MModule___pointer_type(var35
);
3228 var_valtype
= var38
;
3230 var39
= nitc___nitc__AbstractCompilerVisitor___new_var(self
, var_mtype
);
3234 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
3235 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
3236 if (unlikely(var43
== NULL
)) {
3237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3238 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
3242 RET_LABEL42
:(void)0;
3246 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var41) on <var41:AbstractCompiler(SeparateCompiler)> */
3247 var46
= var41
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var41:AbstractCompiler(SeparateCompiler)> */
3249 RET_LABEL45
:(void)0;
3252 if (var44
== NULL
) {
3253 var47
= 0; /* is null */
3255 var47
= 1; /* arg is null and recv is not */
3258 { /* Inline kernel#Object#!= (var44,((val*)NULL)) on <var44:nullable RapidTypeAnalysis> */
3259 var_other29
= ((val
*)NULL
);
3261 var50
= ((short int(*)(val
* self
, val
* p0
))(var44
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var44
, var_other29
); /* == on <var44:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/
3266 RET_LABEL49
:(void)0;
3273 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateErasureCompilerVisitor> */
3274 var55
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateErasureCompilerVisitor> */
3275 if (unlikely(var55
== NULL
)) {
3276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3277 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
3281 RET_LABEL54
:(void)0;
3285 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var53) on <var53:AbstractCompiler(SeparateCompiler)> */
3286 var58
= var53
->attrs
[COLOR_nitc__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var53:AbstractCompiler(SeparateCompiler)> */
3288 RET_LABEL57
:(void)0;
3291 if (var56
== NULL
) {
3292 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3293 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 622);
3296 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var56) on <var56:nullable RapidTypeAnalysis> */
3297 if (unlikely(var56
== NULL
)) {
3298 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3299 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
3302 var61
= var56
->attrs
[COLOR_nitc__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var56:nullable RapidTypeAnalysis> */
3303 if (unlikely(var61
== NULL
)) {
3304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
3305 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__rapid_type_analysis
, 60);
3309 RET_LABEL60
:(void)0;
3313 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3314 var64
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3315 if (unlikely(var64
== NULL
)) {
3316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3317 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3321 RET_LABEL63
:(void)0;
3324 /* <var62:MType> isa MClassType */
3325 cltype66
= type_nitc__MClassType
.color
;
3326 idtype67
= type_nitc__MClassType
.id
;
3327 if(cltype66
>= var62
->type
->table_size
) {
3330 var65
= var62
->type
->type_table
[cltype66
] == idtype67
;
3332 if (unlikely(!var65
)) {
3333 var_class_name
= var62
== NULL ?
"null" : var62
->type
->name
;
3334 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 622);
3339 var68
= core___core__HashSet___core__abstract_collection__Collection__has(var59
, var62
);
3347 if (unlikely(varonce70
==NULL
)) {
3348 var71
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
3349 if (likely(varonce72
!=NULL
)) {
3352 var74
= "/*no boxing of ";
3353 var75
= core__flat___NativeString___to_s_full(var74
, 15l, 15l);
3357 ((struct instance_core__NativeArray
*)var71
)->values
[0]=var73
;
3358 if (likely(varonce76
!=NULL
)) {
3362 var79
= core__flat___NativeString___to_s_full(var78
, 2l, 2l);
3366 ((struct instance_core__NativeArray
*)var71
)->values
[2]=var77
;
3367 if (likely(varonce80
!=NULL
)) {
3370 var82
= " is not live! */";
3371 var83
= core__flat___NativeString___to_s_full(var82
, 16l, 16l);
3375 ((struct instance_core__NativeArray
*)var71
)->values
[4]=var81
;
3381 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3382 var86
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3383 if (unlikely(var86
== NULL
)) {
3384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3385 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3389 RET_LABEL85
:(void)0;
3393 var87
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var84
); /* to_s on <var84:MType>*/
3395 ((struct instance_core__NativeArray
*)var71
)->values
[1]=var87
;
3397 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3398 var90
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3399 if (unlikely(var90
== NULL
)) {
3400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3401 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3405 RET_LABEL89
:(void)0;
3409 var91
= ((val
*(*)(val
* self
))(var88
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var88
); /* to_s on <var88:MType>*/
3411 ((struct instance_core__NativeArray
*)var71
)->values
[3]=var91
;
3413 var92
= ((val
*(*)(val
* self
))(var71
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var71
); /* native_to_s on <var71:NativeArray[String]>*/
3417 nitc___nitc__AbstractCompilerVisitor___add(self
, var92
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3419 if (likely(varonce93
!=NULL
)) {
3422 var95
= "PRINT_ERROR(\"Dead code executed!\\n\"); fatal_exit(1);";
3423 var96
= core__flat___NativeString___to_s_full(var95
, 52l, 52l);
3428 nitc___nitc__AbstractCompilerVisitor___add(self
, var94
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3434 if (unlikely(varonce97
==NULL
)) {
3435 var98
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3436 if (likely(varonce99
!=NULL
)) {
3440 var102
= core__flat___NativeString___to_s_full(var101
, 4l, 4l);
3444 ((struct instance_core__NativeArray
*)var98
)->values
[0]=var100
;
3450 var103
= ((val
*(*)(val
* self
))(var_valtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_valtype
); /* c_name on <var_valtype:MClassType>*/
3452 ((struct instance_core__NativeArray
*)var98
)->values
[1]=var103
;
3454 var104
= ((val
*(*)(val
* self
))(var98
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var98
); /* native_to_s on <var98:NativeArray[String]>*/
3458 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var104
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
3460 if (unlikely(varonce105
==NULL
)) {
3461 var106
= NEW_core__NativeArray(8l, &type_core__NativeArray__core__String
);
3462 if (likely(varonce107
!=NULL
)) {
3463 var108
= varonce107
;
3466 var110
= core__flat___NativeString___to_s_full(var109
, 7l, 7l);
3468 varonce107
= var108
;
3470 ((struct instance_core__NativeArray
*)var106
)->values
[1]=var108
;
3471 if (likely(varonce111
!=NULL
)) {
3472 var112
= varonce111
;
3475 var114
= core__flat___NativeString___to_s_full(var113
, 1l, 1l);
3477 varonce111
= var112
;
3479 ((struct instance_core__NativeArray
*)var106
)->values
[3]=var112
;
3480 if (likely(varonce115
!=NULL
)) {
3481 var116
= varonce115
;
3483 var117
= "); /* boxing ";
3484 var118
= core__flat___NativeString___to_s_full(var117
, 13l, 13l);
3486 varonce115
= var116
;
3488 ((struct instance_core__NativeArray
*)var106
)->values
[5]=var116
;
3489 if (likely(varonce119
!=NULL
)) {
3490 var120
= varonce119
;
3493 var122
= core__flat___NativeString___to_s_full(var121
, 3l, 3l);
3495 varonce119
= var120
;
3497 ((struct instance_core__NativeArray
*)var106
)->values
[7]=var120
;
3499 var106
= varonce105
;
3503 var123
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3505 ((struct instance_core__NativeArray
*)var106
)->values
[0]=var123
;
3507 var124
= ((val
*(*)(val
* self
))(var_valtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_valtype
); /* c_name on <var_valtype:MClassType>*/
3509 ((struct instance_core__NativeArray
*)var106
)->values
[2]=var124
;
3511 var125
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
3513 ((struct instance_core__NativeArray
*)var106
)->values
[4]=var125
;
3515 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3516 var128
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3517 if (unlikely(var128
== NULL
)) {
3518 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3519 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3523 RET_LABEL127
:(void)0;
3527 var129
= ((val
*(*)(val
* self
))(var126
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var126
); /* to_s on <var126:MType>*/
3529 ((struct instance_core__NativeArray
*)var106
)->values
[6]=var129
;
3531 var130
= ((val
*(*)(val
* self
))(var106
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var106
); /* native_to_s on <var106:NativeArray[String]>*/
3533 varonce105
= var106
;
3535 nitc___nitc__AbstractCompilerVisitor___add(self
, var130
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3537 if (unlikely(varonce131
==NULL
)) {
3538 var132
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3539 if (likely(varonce133
!=NULL
)) {
3540 var134
= varonce133
;
3543 var136
= core__flat___NativeString___to_s_full(var135
, 6l, 6l);
3545 varonce133
= var134
;
3547 ((struct instance_core__NativeArray
*)var132
)->values
[0]=var134
;
3549 var132
= varonce131
;
3553 var137
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType(MClassType)>*/
3555 ((struct instance_core__NativeArray
*)var132
)->values
[1]=var137
;
3557 var138
= ((val
*(*)(val
* self
))(var132
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var132
); /* native_to_s on <var132:NativeArray[String]>*/
3559 varonce131
= var132
;
3561 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var138
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
3563 if (unlikely(varonce139
==NULL
)) {
3564 var140
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3565 if (likely(varonce141
!=NULL
)) {
3566 var142
= varonce141
;
3568 var143
= "->class = &class_";
3569 var144
= core__flat___NativeString___to_s_full(var143
, 17l, 17l);
3571 varonce141
= var142
;
3573 ((struct instance_core__NativeArray
*)var140
)->values
[1]=var142
;
3574 if (likely(varonce145
!=NULL
)) {
3575 var146
= varonce145
;
3578 var148
= core__flat___NativeString___to_s_full(var147
, 1l, 1l);
3580 varonce145
= var146
;
3582 ((struct instance_core__NativeArray
*)var140
)->values
[3]=var146
;
3584 var140
= varonce139
;
3588 var149
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
3590 ((struct instance_core__NativeArray
*)var140
)->values
[0]=var149
;
3592 var150
= ((val
*(*)(val
* self
))(var_mtype
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var_mtype
); /* c_name on <var_mtype:MType(MClassType)>*/
3594 ((struct instance_core__NativeArray
*)var140
)->values
[2]=var150
;
3596 var151
= ((val
*(*)(val
* self
))(var140
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var140
); /* native_to_s on <var140:NativeArray[String]>*/
3598 varonce139
= var140
;
3600 nitc___nitc__AbstractCompilerVisitor___add(self
, var151
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3611 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#class_name_string for (self: SeparateErasureCompilerVisitor, RuntimeVariable): String */
3612 val
* nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
3613 val
* var
/* : String */;
3614 val
* var_value
/* var value: RuntimeVariable */;
3615 static val
* varonce
;
3616 val
* var1
/* : String */;
3617 char* var2
/* : NativeString */;
3618 val
* var3
/* : String */;
3619 val
* var4
/* : String */;
3620 val
* var_res
/* var res: String */;
3621 val
* var6
/* : NativeArray[String] */;
3622 static val
* varonce5
;
3623 static val
* varonce7
;
3624 val
* var8
/* : String */;
3625 char* var9
/* : NativeString */;
3626 val
* var10
/* : String */;
3627 static val
* varonce11
;
3628 val
* var12
/* : String */;
3629 char* var13
/* : NativeString */;
3630 val
* var14
/* : String */;
3631 val
* var15
/* : String */;
3632 val
* var16
/* : MType */;
3633 val
* var18
/* : MType */;
3634 short int var19
/* : Bool */;
3635 short int var20
/* : Bool */;
3636 val
* var22
/* : NativeArray[String] */;
3637 static val
* varonce21
;
3638 static val
* varonce23
;
3639 val
* var24
/* : String */;
3640 char* var25
/* : NativeString */;
3641 val
* var26
/* : String */;
3642 static val
* varonce27
;
3643 val
* var28
/* : String */;
3644 char* var29
/* : NativeString */;
3645 val
* var30
/* : String */;
3646 static val
* varonce31
;
3647 val
* var32
/* : String */;
3648 char* var33
/* : NativeString */;
3649 val
* var34
/* : String */;
3650 val
* var35
/* : String */;
3651 val
* var36
/* : String */;
3652 val
* var37
/* : String */;
3653 val
* var39
/* : NativeArray[String] */;
3654 static val
* varonce38
;
3655 static val
* varonce40
;
3656 val
* var41
/* : String */;
3657 char* var42
/* : NativeString */;
3658 val
* var43
/* : String */;
3659 val
* var44
/* : MType */;
3660 val
* var46
/* : MType */;
3661 val
* var47
/* : String */;
3662 val
* var48
/* : String */;
3663 val
* var50
/* : NativeArray[String] */;
3664 static val
* varonce49
;
3665 static val
* varonce51
;
3666 val
* var52
/* : String */;
3667 char* var53
/* : NativeString */;
3668 val
* var54
/* : String */;
3669 static val
* varonce55
;
3670 val
* var56
/* : String */;
3671 char* var57
/* : NativeString */;
3672 val
* var58
/* : String */;
3673 val
* var59
/* : MType */;
3674 val
* var61
/* : MType */;
3675 val
* var62
/* : String */;
3676 val
* var63
/* : String */;
3678 if (likely(varonce
!=NULL
)) {
3681 var2
= "var_class_name";
3682 var3
= core__flat___NativeString___to_s_full(var2
, 14l, 14l);
3687 var4
= nitc___nitc__AbstractCompilerVisitor___get_name(self
, var1
);
3690 if (unlikely(varonce5
==NULL
)) {
3691 var6
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3692 if (likely(varonce7
!=NULL
)) {
3695 var9
= "const char* ";
3696 var10
= core__flat___NativeString___to_s_full(var9
, 12l, 12l);
3700 ((struct instance_core__NativeArray
*)var6
)->values
[0]=var8
;
3701 if (likely(varonce11
!=NULL
)) {
3705 var14
= core__flat___NativeString___to_s_full(var13
, 1l, 1l);
3709 ((struct instance_core__NativeArray
*)var6
)->values
[2]=var12
;
3714 ((struct instance_core__NativeArray
*)var6
)->values
[1]=var_res
;
3716 var15
= ((val
*(*)(val
* self
))(var6
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var6
); /* native_to_s on <var6:NativeArray[String]>*/
3720 nitc___nitc__AbstractCompilerVisitor___add_decl(self
, var15
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateErasureCompilerVisitor>*/
3723 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3724 var18
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3725 if (unlikely(var18
== NULL
)) {
3726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3727 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3731 RET_LABEL17
:(void)0;
3735 var19
= ((short int(*)(val
* self
))(var16
->class->vft
[COLOR_nitc__abstract_compiler__MType__is_c_primitive
]))(var16
); /* is_c_primitive on <var16:MType>*/
3739 if (unlikely(varonce21
==NULL
)) {
3740 var22
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
3741 if (likely(varonce23
!=NULL
)) {
3745 var26
= core__flat___NativeString___to_s_full(var25
, 3l, 3l);
3749 ((struct instance_core__NativeArray
*)var22
)->values
[1]=var24
;
3750 if (likely(varonce27
!=NULL
)) {
3753 var29
= " == NULL ? \"null\" : ";
3754 var30
= core__flat___NativeString___to_s_full(var29
, 20l, 20l);
3758 ((struct instance_core__NativeArray
*)var22
)->values
[3]=var28
;
3759 if (likely(varonce31
!=NULL
)) {
3762 var33
= "->class->name;";
3763 var34
= core__flat___NativeString___to_s_full(var33
, 14l, 14l);
3767 ((struct instance_core__NativeArray
*)var22
)->values
[5]=var32
;
3772 ((struct instance_core__NativeArray
*)var22
)->values
[0]=var_res
;
3774 var35
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
3776 ((struct instance_core__NativeArray
*)var22
)->values
[2]=var35
;
3778 var36
= ((val
*(*)(val
* self
))(var_value
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_value
); /* to_s on <var_value:RuntimeVariable>*/
3780 ((struct instance_core__NativeArray
*)var22
)->values
[4]=var36
;
3782 var37
= ((val
*(*)(val
* self
))(var22
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var22
); /* native_to_s on <var22:NativeArray[String]>*/
3786 nitc___nitc__AbstractCompilerVisitor___add(self
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3789 if (unlikely(varonce38
==NULL
)) {
3790 var39
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3791 if (likely(varonce40
!=NULL
)) {
3795 var43
= core__flat___NativeString___to_s_full(var42
, 6l, 6l);
3799 ((struct instance_core__NativeArray
*)var39
)->values
[0]=var41
;
3805 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3806 var46
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3807 if (unlikely(var46
== NULL
)) {
3808 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3809 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3813 RET_LABEL45
:(void)0;
3817 var47
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var44
); /* c_name on <var44:MType>*/
3819 ((struct instance_core__NativeArray
*)var39
)->values
[1]=var47
;
3821 var48
= ((val
*(*)(val
* self
))(var39
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var39
); /* native_to_s on <var39:NativeArray[String]>*/
3825 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
3827 if (unlikely(varonce49
==NULL
)) {
3828 var50
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3829 if (likely(varonce51
!=NULL
)) {
3832 var53
= " = class_";
3833 var54
= core__flat___NativeString___to_s_full(var53
, 9l, 9l);
3837 ((struct instance_core__NativeArray
*)var50
)->values
[1]=var52
;
3838 if (likely(varonce55
!=NULL
)) {
3842 var58
= core__flat___NativeString___to_s_full(var57
, 6l, 6l);
3846 ((struct instance_core__NativeArray
*)var50
)->values
[3]=var56
;
3851 ((struct instance_core__NativeArray
*)var50
)->values
[0]=var_res
;
3853 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3854 var61
= var_value
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3855 if (unlikely(var61
== NULL
)) {
3856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3857 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
3861 RET_LABEL60
:(void)0;
3865 var62
= ((val
*(*)(val
* self
))(var59
->class->vft
[COLOR_nitc__model_base__MEntity__c_name
]))(var59
); /* c_name on <var59:MType>*/
3867 ((struct instance_core__NativeArray
*)var50
)->values
[2]=var62
;
3869 var63
= ((val
*(*)(val
* self
))(var50
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var50
); /* native_to_s on <var50:NativeArray[String]>*/
3873 nitc___nitc__AbstractCompilerVisitor___add(self
, var63
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
3881 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#native_array_instance for (self: SeparateErasureCompilerVisitor, MType, RuntimeVariable): RuntimeVariable */
3882 val
* nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
3883 val
* var
/* : RuntimeVariable */;
3884 val
* var_elttype
/* var elttype: MType */;
3885 val
* var_length
/* var length: RuntimeVariable */;
3886 val
* var1
/* : MModule */;
3887 val
* var2
/* : MClass */;
3888 val
* var_nclass
/* var nclass: MClass */;
3889 val
* var3
/* : Array[MType] */;
3890 val
* var_
/* var : Array[MType] */;
3891 val
* var4
/* : MClassType */;
3892 val
* var_mtype
/* var mtype: MClassType */;
3893 val
* var5
/* : RuntimeVariable */;
3894 val
* var_res
/* var res: RuntimeVariable */;
3895 val
* var7
/* : NativeArray[String] */;
3896 static val
* varonce
;
3897 static val
* varonce8
;
3898 val
* var9
/* : String */;
3899 char* var10
/* : NativeString */;
3900 val
* var11
/* : String */;
3901 val
* var12
/* : String */;
3902 val
* var13
/* : String */;
3903 val
* var15
/* : NativeArray[String] */;
3904 static val
* varonce14
;
3905 static val
* varonce16
;
3906 val
* var17
/* : String */;
3907 char* var18
/* : NativeString */;
3908 val
* var19
/* : String */;
3909 static val
* varonce20
;
3910 val
* var21
/* : String */;
3911 char* var22
/* : NativeString */;
3912 val
* var23
/* : String */;
3913 static val
* varonce24
;
3914 val
* var25
/* : String */;
3915 char* var26
/* : NativeString */;
3916 val
* var27
/* : String */;
3917 val
* var28
/* : String */;
3918 val
* var29
/* : String */;
3919 val
* var30
/* : String */;
3920 val
* var31
/* : String */;
3924 var1
= nitc___nitc__AbstractCompilerVisitor___mmodule(self
);
3927 var2
= nitc__model___MModule___native_array_class(var1
);
3930 var3
= NEW_core__Array(&type_core__Array__nitc__MType
);
3932 core___core__Array___with_capacity(var3
, 1l); /* Direct call array#Array#with_capacity on <var3:Array[MType]>*/
3936 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_elttype
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
3939 var4
= nitc___nitc__MClass___get_mtype(var_nclass
, var_
);
3943 var5
= nitc___nitc__AbstractCompilerVisitor___new_var(self
, var_mtype
);
3947 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res,1) on <var_res:RuntimeVariable> */
3948 var_res
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___is_exact
].s
= 1; /* _is_exact on <var_res:RuntimeVariable> */
3952 if (unlikely(varonce
==NULL
)) {
3953 var7
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3954 if (likely(varonce8
!=NULL
)) {
3958 var11
= core__flat___NativeString___to_s_full(var10
, 4l, 4l);
3962 ((struct instance_core__NativeArray
*)var7
)->values
[0]=var9
;
3968 var12
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_nclass
);
3970 ((struct instance_core__NativeArray
*)var7
)->values
[1]=var12
;
3972 var13
= ((val
*(*)(val
* self
))(var7
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var7
); /* native_to_s on <var7:NativeArray[String]>*/
3976 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var13
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
3978 if (unlikely(varonce14
==NULL
)) {
3979 var15
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
3980 if (likely(varonce16
!=NULL
)) {
3984 var19
= core__flat___NativeString___to_s_full(var18
, 7l, 7l);
3988 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var17
;
3989 if (likely(varonce20
!=NULL
)) {
3993 var23
= core__flat___NativeString___to_s_full(var22
, 1l, 1l);
3997 ((struct instance_core__NativeArray
*)var15
)->values
[3]=var21
;
3998 if (likely(varonce24
!=NULL
)) {
4002 var27
= core__flat___NativeString___to_s_full(var26
, 2l, 2l);
4006 ((struct instance_core__NativeArray
*)var15
)->values
[5]=var25
;
4012 var28
= ((val
*(*)(val
* self
))(var_res
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_res
); /* to_s on <var_res:RuntimeVariable>*/
4014 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var28
;
4016 var29
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var_nclass
);
4018 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var29
;
4020 var30
= ((val
*(*)(val
* self
))(var_length
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_length
); /* to_s on <var_length:RuntimeVariable>*/
4022 ((struct instance_core__NativeArray
*)var15
)->values
[4]=var30
;
4024 var31
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
4028 nitc___nitc__AbstractCompilerVisitor___add(self
, var31
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateErasureCompilerVisitor>*/
4035 /* method separate_erasure_compiler#SeparateErasureCompilerVisitor#calloc_array for (self: SeparateErasureCompilerVisitor, MType, Array[RuntimeVariable]) */
4036 void nitc___nitc__SeparateErasureCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
4037 val
* var_ret_type
/* var ret_type: MType */;
4038 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
4039 short int var
/* : Bool */;
4042 const char* var_class_name
;
4043 val
* var_ret
/* var ret: MClassType */;
4044 val
* var1
/* : NativeArray[String] */;
4045 static val
* varonce
;
4046 static val
* varonce2
;
4047 val
* var3
/* : String */;
4048 char* var4
/* : NativeString */;
4049 val
* var5
/* : String */;
4050 val
* var6
/* : MClass */;
4051 val
* var8
/* : MClass */;
4052 val
* var9
/* : String */;
4053 val
* var10
/* : String */;
4054 val
* var12
/* : NativeArray[String] */;
4055 static val
* varonce11
;
4056 static val
* varonce13
;
4057 val
* var14
/* : String */;
4058 char* var15
/* : NativeString */;
4059 val
* var16
/* : String */;
4060 static val
* varonce17
;
4061 val
* var18
/* : String */;
4062 char* var19
/* : NativeString */;
4063 val
* var20
/* : String */;
4064 static val
* varonce21
;
4065 val
* var22
/* : String */;
4066 char* var23
/* : NativeString */;
4067 val
* var24
/* : String */;
4068 val
* var25
/* : MClass */;
4069 val
* var27
/* : MClass */;
4070 val
* var28
/* : String */;
4071 val
* var29
/* : nullable Object */;
4072 val
* var30
/* : String */;
4073 val
* var31
/* : String */;
4074 val
* var32
/* : RuntimeVariable */;
4077 /* <var_ret_type:MType> isa MClassType */
4078 cltype
= type_nitc__MClassType
.color
;
4079 idtype
= type_nitc__MClassType
.id
;
4080 if(cltype
>= var_ret_type
->type
->table_size
) {
4083 var
= var_ret_type
->type
->type_table
[cltype
] == idtype
;
4085 if (unlikely(!var
)) {
4086 var_class_name
= var_ret_type
== NULL ?
"null" : var_ret_type
->type
->name
;
4087 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4088 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 663);
4091 var_ret
= var_ret_type
;
4092 if (unlikely(varonce
==NULL
)) {
4093 var1
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4094 if (likely(varonce2
!=NULL
)) {
4098 var5
= core__flat___NativeString___to_s_full(var4
, 4l, 4l);
4102 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var3
;
4108 { /* Inline model#MClassType#mclass (var_ret) on <var_ret:MClassType> */
4109 var8
= var_ret
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_ret:MClassType> */
4110 if (unlikely(var8
== NULL
)) {
4111 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4112 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
4120 var9
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var6
);
4122 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var9
;
4124 var10
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
4128 nitc___nitc__AbstractCompilerVisitor___require_declaration(self
, var10
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateErasureCompilerVisitor>*/
4130 if (unlikely(varonce11
==NULL
)) {
4131 var12
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
4132 if (likely(varonce13
!=NULL
)) {
4136 var16
= core__flat___NativeString___to_s_full(var15
, 4l, 4l);
4140 ((struct instance_core__NativeArray
*)var12
)->values
[0]=var14
;
4141 if (likely(varonce17
!=NULL
)) {
4145 var20
= core__flat___NativeString___to_s_full(var19
, 1l, 1l);
4149 ((struct instance_core__NativeArray
*)var12
)->values
[2]=var18
;
4150 if (likely(varonce21
!=NULL
)) {
4154 var24
= core__flat___NativeString___to_s_full(var23
, 1l, 1l);
4158 ((struct instance_core__NativeArray
*)var12
)->values
[4]=var22
;
4164 { /* Inline model#MClassType#mclass (var_ret) on <var_ret:MClassType> */
4165 var27
= var_ret
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_ret:MClassType> */
4166 if (unlikely(var27
== NULL
)) {
4167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
4168 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
4172 RET_LABEL26
:(void)0;
4176 var28
= nitc___nitc__MClass___nitc__model_base__MEntity__c_name(var25
);
4178 ((struct instance_core__NativeArray
*)var12
)->values
[1]=var28
;
4180 var29
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_arguments
, 1l);
4183 var30
= ((val
*(*)(val
* self
))(var29
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var29
); /* to_s on <var29:nullable Object(RuntimeVariable)>*/
4185 ((struct instance_core__NativeArray
*)var12
)->values
[3]=var30
;
4187 var31
= ((val
*(*)(val
* self
))(var12
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var12
); /* native_to_s on <var12:NativeArray[String]>*/
4191 var32
= nitc___nitc__AbstractCompilerVisitor___new_expr(self
, var31
, var_ret_type
);
4194 nitc___nitc__AbstractCompilerVisitor___ret(self
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:SeparateErasureCompilerVisitor>*/