1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompiler#compile_class_to_c for (self: SeparateCompiler, MClass) */
3 void nit___nit__SeparateCompiler___compile_class_to_c(val
* self
, val
* p0
) {
4 val
* var_mclass
/* var mclass: MClass */;
5 val
* var
/* : MClassDef */;
6 val
* var2
/* : MClassDef */;
7 val
* var3
/* : MClassType */;
8 val
* var5
/* : MClassType */;
9 val
* var_mtype
/* var mtype: MClassType */;
10 val
* var6
/* : String */;
11 val
* var_c_name
/* var c_name: String */;
12 val
* var7
/* : Map[MClass, Array[nullable MPropDef]] */;
13 val
* var9
/* : Map[MClass, Array[nullable MPropDef]] */;
14 val
* var10
/* : nullable Object */;
15 val
* var_vft
/* var vft: Array[nullable MPropDef] */;
16 val
* var11
/* : Map[MClass, Array[nullable MPropDef]] */;
17 val
* var13
/* : Map[MClass, Array[nullable MPropDef]] */;
18 val
* var14
/* : nullable Object */;
19 val
* var_attrs
/* var attrs: Array[nullable MPropDef] */;
20 val
* var15
/* : AbstractCompilerVisitor */;
21 val
* var_v
/* var v: SeparateCompilerVisitor */;
22 val
* var16
/* : nullable RapidTypeAnalysis */;
23 val
* var18
/* : nullable RapidTypeAnalysis */;
24 val
* var_rta
/* var rta: nullable RapidTypeAnalysis */;
25 short int var19
/* : Bool */;
26 short int var20
/* : Bool */;
27 short int var21
/* : Bool */;
28 short int var22
/* : Bool */;
29 val
* var23
/* : null */;
30 short int var24
/* : Bool */;
31 short int var25
/* : Bool */;
32 val
* var_other
/* var other: nullable Object */;
33 short int var27
/* : Bool */;
34 short int var28
/* : Bool */;
35 short int var_
/* var : Bool */;
36 val
* var29
/* : HashSet[MClass] */;
37 val
* var31
/* : HashSet[MClass] */;
38 short int var32
/* : Bool */;
39 short int var33
/* : Bool */;
40 short int var_34
/* var : Bool */;
41 val
* var35
/* : String */;
43 val
* var36
/* : String */;
44 char* var37
/* : NativeString */;
45 long var38
/* : Int */;
46 val
* var39
/* : FlatString */;
47 short int var40
/* : Bool */;
48 short int var_41
/* var : Bool */;
49 val
* var42
/* : String */;
50 val
* var44
/* : String */;
51 static val
* varonce45
;
52 val
* var46
/* : String */;
53 char* var47
/* : NativeString */;
54 long var48
/* : Int */;
55 val
* var49
/* : FlatString */;
56 short int var50
/* : Bool */;
57 short int var52
/* : Bool */;
58 short int var53
/* : Bool */;
59 short int var_54
/* var : Bool */;
60 val
* var55
/* : String */;
61 val
* var57
/* : String */;
62 static val
* varonce58
;
63 val
* var59
/* : String */;
64 char* var60
/* : NativeString */;
65 long var61
/* : Int */;
66 val
* var62
/* : FlatString */;
67 short int var63
/* : Bool */;
68 short int var65
/* : Bool */;
69 short int var66
/* : Bool */;
70 short int var_is_dead
/* var is_dead: Bool */;
71 static val
* varonce67
;
72 val
* var68
/* : String */;
73 char* var69
/* : NativeString */;
74 long var70
/* : Int */;
75 val
* var71
/* : FlatString */;
76 static val
* varonce72
;
77 val
* var73
/* : String */;
78 char* var74
/* : NativeString */;
79 long var75
/* : Int */;
80 val
* var76
/* : FlatString */;
81 val
* var77
/* : Array[Object] */;
82 long var78
/* : Int */;
83 val
* var79
/* : NativeArray[Object] */;
84 val
* var80
/* : String */;
85 short int var81
/* : Bool */;
86 static val
* varonce82
;
87 val
* var83
/* : String */;
88 char* var84
/* : NativeString */;
89 long var85
/* : Int */;
90 val
* var86
/* : FlatString */;
91 val
* var87
/* : Array[Object] */;
92 long var88
/* : Int */;
93 val
* var89
/* : NativeArray[Object] */;
94 val
* var90
/* : String */;
95 static val
* varonce91
;
96 val
* var92
/* : String */;
97 char* var93
/* : NativeString */;
98 long var94
/* : Int */;
99 val
* var95
/* : FlatString */;
100 static val
* varonce96
;
101 val
* var97
/* : String */;
102 char* var98
/* : NativeString */;
103 long var99
/* : Int */;
104 val
* var100
/* : FlatString */;
105 val
* var101
/* : Array[Object] */;
106 long var102
/* : Int */;
107 val
* var103
/* : NativeArray[Object] */;
108 val
* var104
/* : String */;
109 static val
* varonce105
;
110 val
* var106
/* : String */;
111 char* var107
/* : NativeString */;
112 long var108
/* : Int */;
113 val
* var109
/* : FlatString */;
114 static val
* varonce110
;
115 val
* var111
/* : String */;
116 char* var112
/* : NativeString */;
117 long var113
/* : Int */;
118 val
* var114
/* : FlatString */;
119 val
* var115
/* : Array[Object] */;
120 long var116
/* : Int */;
121 val
* var117
/* : NativeArray[Object] */;
122 val
* var118
/* : String */;
123 long var119
/* : Int */;
124 static val
* varonce120
;
125 val
* var121
/* : String */;
126 char* var122
/* : NativeString */;
127 long var123
/* : Int */;
128 val
* var124
/* : FlatString */;
129 val
* var125
/* : Array[Object] */;
130 long var126
/* : Int */;
131 val
* var127
/* : NativeArray[Object] */;
132 val
* var128
/* : Object */;
133 val
* var129
/* : String */;
134 static val
* varonce130
;
135 val
* var131
/* : String */;
136 char* var132
/* : NativeString */;
137 long var133
/* : Int */;
138 val
* var134
/* : FlatString */;
139 long var135
/* : Int */;
140 long var_i
/* var i: Int */;
141 long var136
/* : Int */;
142 long var138
/* : Int */;
143 long var_139
/* var : Int */;
144 short int var140
/* : Bool */;
145 short int var142
/* : Bool */;
148 const char* var_class_name
;
149 short int var143
/* : Bool */;
150 val
* var144
/* : nullable Object */;
151 val
* var_mpropdef
/* var mpropdef: nullable MPropDef */;
152 val
* var145
/* : null */;
153 short int var146
/* : Bool */;
154 short int var147
/* : Bool */;
155 val
* var_other149
/* var other: nullable Object */;
156 short int var150
/* : Bool */;
157 short int var152
/* : Bool */;
158 static val
* varonce153
;
159 val
* var154
/* : String */;
160 char* var155
/* : NativeString */;
161 long var156
/* : Int */;
162 val
* var157
/* : FlatString */;
163 short int var158
/* : Bool */;
166 short int var161
/* : Bool */;
167 val
* var162
/* : null */;
168 short int var163
/* : Bool */;
169 short int var164
/* : Bool */;
170 short int var166
/* : Bool */;
171 short int var167
/* : Bool */;
172 short int var_168
/* var : Bool */;
173 val
* var169
/* : HashSet[MMethodDef] */;
174 val
* var171
/* : HashSet[MMethodDef] */;
175 short int var172
/* : Bool */;
176 short int var173
/* : Bool */;
177 static val
* varonce174
;
178 val
* var175
/* : String */;
179 char* var176
/* : NativeString */;
180 long var177
/* : Int */;
181 val
* var178
/* : FlatString */;
182 val
* var179
/* : MModule */;
183 val
* var181
/* : MModule */;
184 static val
* varonce182
;
185 val
* var183
/* : String */;
186 char* var184
/* : NativeString */;
187 long var185
/* : Int */;
188 val
* var186
/* : FlatString */;
189 static val
* varonce187
;
190 val
* var188
/* : String */;
191 char* var189
/* : NativeString */;
192 long var190
/* : Int */;
193 val
* var191
/* : FlatString */;
194 static val
* varonce192
;
195 val
* var193
/* : String */;
196 char* var194
/* : NativeString */;
197 long var195
/* : Int */;
198 val
* var196
/* : FlatString */;
199 val
* var197
/* : Array[Object] */;
200 long var198
/* : Int */;
201 val
* var199
/* : NativeArray[Object] */;
202 val
* var200
/* : String */;
203 val
* var201
/* : SeparateRuntimeFunction */;
204 val
* var_rf
/* var rf: SeparateRuntimeFunction */;
205 val
* var202
/* : String */;
206 static val
* varonce203
;
207 val
* var204
/* : String */;
208 char* var205
/* : NativeString */;
209 long var206
/* : Int */;
210 val
* var207
/* : FlatString */;
211 val
* var208
/* : String */;
212 static val
* varonce209
;
213 val
* var210
/* : String */;
214 char* var211
/* : NativeString */;
215 long var212
/* : Int */;
216 val
* var213
/* : FlatString */;
217 val
* var214
/* : MModule */;
218 val
* var216
/* : MModule */;
219 static val
* varonce217
;
220 val
* var218
/* : String */;
221 char* var219
/* : NativeString */;
222 long var220
/* : Int */;
223 val
* var221
/* : FlatString */;
224 static val
* varonce222
;
225 val
* var223
/* : String */;
226 char* var224
/* : NativeString */;
227 long var225
/* : Int */;
228 val
* var226
/* : FlatString */;
229 static val
* varonce227
;
230 val
* var228
/* : String */;
231 char* var229
/* : NativeString */;
232 long var230
/* : Int */;
233 val
* var231
/* : FlatString */;
234 val
* var232
/* : Array[Object] */;
235 long var233
/* : Int */;
236 val
* var234
/* : NativeArray[Object] */;
237 val
* var235
/* : String */;
238 long var236
/* : Int */;
239 long var237
/* : Int */;
240 static val
* varonce239
;
241 val
* var240
/* : String */;
242 char* var241
/* : NativeString */;
243 long var242
/* : Int */;
244 val
* var243
/* : FlatString */;
245 static val
* varonce244
;
246 val
* var245
/* : String */;
247 char* var246
/* : NativeString */;
248 long var247
/* : Int */;
249 val
* var248
/* : FlatString */;
250 short int var249
/* : Bool */;
251 val
* var250
/* : String */;
252 static val
* varonce251
;
253 val
* var252
/* : String */;
254 char* var253
/* : NativeString */;
255 long var254
/* : Int */;
256 val
* var255
/* : FlatString */;
257 short int var256
/* : Bool */;
258 short int var258
/* : Bool */;
259 short int var259
/* : Bool */;
260 short int var_260
/* var : Bool */;
261 val
* var261
/* : MClass */;
262 val
* var263
/* : MClass */;
263 val
* var264
/* : String */;
264 val
* var266
/* : String */;
265 static val
* varonce267
;
266 val
* var268
/* : String */;
267 char* var269
/* : NativeString */;
268 long var270
/* : Int */;
269 val
* var271
/* : FlatString */;
270 short int var272
/* : Bool */;
271 val
* var273
/* : CodeWriter */;
272 val
* var275
/* : CodeWriter */;
273 static val
* varonce276
;
274 val
* var277
/* : String */;
275 char* var278
/* : NativeString */;
276 long var279
/* : Int */;
277 val
* var280
/* : FlatString */;
278 static val
* varonce281
;
279 val
* var282
/* : String */;
280 char* var283
/* : NativeString */;
281 long var284
/* : Int */;
282 val
* var285
/* : FlatString */;
283 val
* var286
/* : Array[Object] */;
284 long var287
/* : Int */;
285 val
* var288
/* : NativeArray[Object] */;
286 val
* var289
/* : String */;
287 val
* var290
/* : CodeWriter */;
288 val
* var292
/* : CodeWriter */;
289 static val
* varonce293
;
290 val
* var294
/* : String */;
291 char* var295
/* : NativeString */;
292 long var296
/* : Int */;
293 val
* var297
/* : FlatString */;
294 val
* var298
/* : CodeWriter */;
295 val
* var300
/* : CodeWriter */;
296 static val
* varonce301
;
297 val
* var302
/* : String */;
298 char* var303
/* : NativeString */;
299 long var304
/* : Int */;
300 val
* var305
/* : FlatString */;
301 val
* var306
/* : CodeWriter */;
302 val
* var308
/* : CodeWriter */;
303 val
* var309
/* : String */;
304 static val
* varonce310
;
305 val
* var311
/* : String */;
306 char* var312
/* : NativeString */;
307 long var313
/* : Int */;
308 val
* var314
/* : FlatString */;
309 val
* var315
/* : Array[Object] */;
310 long var316
/* : Int */;
311 val
* var317
/* : NativeArray[Object] */;
312 val
* var318
/* : String */;
313 val
* var319
/* : CodeWriter */;
314 val
* var321
/* : CodeWriter */;
315 static val
* varonce322
;
316 val
* var323
/* : String */;
317 char* var324
/* : NativeString */;
318 long var325
/* : Int */;
319 val
* var326
/* : FlatString */;
320 short int var327
/* : Bool */;
321 val
* var328
/* : HashSet[MClassType] */;
322 val
* var330
/* : HashSet[MClassType] */;
323 short int var331
/* : Bool */;
324 short int var332
/* : Bool */;
325 short int var_333
/* var : Bool */;
326 val
* var334
/* : MClass */;
327 val
* var336
/* : MClass */;
328 val
* var337
/* : String */;
329 val
* var339
/* : String */;
330 static val
* varonce340
;
331 val
* var341
/* : String */;
332 char* var342
/* : NativeString */;
333 long var343
/* : Int */;
334 val
* var344
/* : FlatString */;
335 short int var345
/* : Bool */;
336 short int var347
/* : Bool */;
337 short int var348
/* : Bool */;
338 static val
* varonce349
;
339 val
* var350
/* : String */;
340 char* var351
/* : NativeString */;
341 long var352
/* : Int */;
342 val
* var353
/* : FlatString */;
343 val
* var354
/* : Array[Object] */;
344 long var355
/* : Int */;
345 val
* var356
/* : NativeArray[Object] */;
346 val
* var357
/* : String */;
347 static val
* varonce358
;
348 val
* var359
/* : String */;
349 char* var360
/* : NativeString */;
350 long var361
/* : Int */;
351 val
* var362
/* : FlatString */;
352 static val
* varonce363
;
353 val
* var364
/* : String */;
354 char* var365
/* : NativeString */;
355 long var366
/* : Int */;
356 val
* var367
/* : FlatString */;
357 val
* var368
/* : String */;
358 static val
* varonce369
;
359 val
* var370
/* : String */;
360 char* var371
/* : NativeString */;
361 long var372
/* : Int */;
362 val
* var373
/* : FlatString */;
363 val
* var374
/* : Array[Object] */;
364 long var375
/* : Int */;
365 val
* var376
/* : NativeArray[Object] */;
366 val
* var377
/* : String */;
367 static val
* varonce378
;
368 val
* var379
/* : String */;
369 char* var380
/* : NativeString */;
370 long var381
/* : Int */;
371 val
* var382
/* : FlatString */;
372 static val
* varonce383
;
373 val
* var384
/* : String */;
374 char* var385
/* : NativeString */;
375 long var386
/* : Int */;
376 val
* var387
/* : FlatString */;
377 val
* var388
/* : Array[Object] */;
378 long var389
/* : Int */;
379 val
* var390
/* : NativeArray[Object] */;
380 val
* var391
/* : String */;
381 static val
* varonce392
;
382 val
* var393
/* : String */;
383 char* var394
/* : NativeString */;
384 long var395
/* : Int */;
385 val
* var396
/* : FlatString */;
386 val
* var397
/* : String */;
387 static val
* varonce398
;
388 val
* var399
/* : String */;
389 char* var400
/* : NativeString */;
390 long var401
/* : Int */;
391 val
* var402
/* : FlatString */;
392 val
* var403
/* : String */;
393 static val
* varonce404
;
394 val
* var405
/* : String */;
395 char* var406
/* : NativeString */;
396 long var407
/* : Int */;
397 val
* var408
/* : FlatString */;
398 val
* var409
/* : Array[Object] */;
399 long var410
/* : Int */;
400 val
* var411
/* : NativeArray[Object] */;
401 val
* var412
/* : String */;
402 static val
* varonce413
;
403 val
* var414
/* : String */;
404 char* var415
/* : NativeString */;
405 long var416
/* : Int */;
406 val
* var417
/* : FlatString */;
407 static val
* varonce418
;
408 val
* var419
/* : String */;
409 char* var420
/* : NativeString */;
410 long var421
/* : Int */;
411 val
* var422
/* : FlatString */;
412 static val
* varonce423
;
413 val
* var424
/* : String */;
414 char* var425
/* : NativeString */;
415 long var426
/* : Int */;
416 val
* var427
/* : FlatString */;
417 val
* var428
/* : Array[Object] */;
418 long var429
/* : Int */;
419 val
* var430
/* : NativeArray[Object] */;
420 val
* var431
/* : String */;
421 val
* var432
/* : AbstractCompiler */;
422 val
* var434
/* : AbstractCompiler */;
423 val
* var435
/* : Set[MType] */;
424 val
* var437
/* : Set[MType] */;
425 static val
* varonce438
;
426 val
* var439
/* : String */;
427 char* var440
/* : NativeString */;
428 long var441
/* : Int */;
429 val
* var442
/* : FlatString */;
430 val
* var443
/* : Array[Object] */;
431 long var444
/* : Int */;
432 val
* var445
/* : NativeArray[Object] */;
433 val
* var446
/* : String */;
434 static val
* varonce447
;
435 val
* var448
/* : String */;
436 char* var449
/* : NativeString */;
437 long var450
/* : Int */;
438 val
* var451
/* : FlatString */;
439 static val
* varonce452
;
440 val
* var453
/* : String */;
441 char* var454
/* : NativeString */;
442 long var455
/* : Int */;
443 val
* var456
/* : FlatString */;
444 val
* var457
/* : Array[Object] */;
445 long var458
/* : Int */;
446 val
* var459
/* : NativeArray[Object] */;
447 val
* var460
/* : String */;
448 static val
* varonce461
;
449 val
* var462
/* : String */;
450 char* var463
/* : NativeString */;
451 long var464
/* : Int */;
452 val
* var465
/* : FlatString */;
453 val
* var466
/* : Array[Object] */;
454 long var467
/* : Int */;
455 val
* var468
/* : NativeArray[Object] */;
456 val
* var469
/* : String */;
457 static val
* varonce470
;
458 val
* var471
/* : String */;
459 char* var472
/* : NativeString */;
460 long var473
/* : Int */;
461 val
* var474
/* : FlatString */;
462 static val
* varonce475
;
463 val
* var476
/* : String */;
464 char* var477
/* : NativeString */;
465 long var478
/* : Int */;
466 val
* var479
/* : FlatString */;
467 val
* var480
/* : Array[Object] */;
468 long var481
/* : Int */;
469 val
* var482
/* : NativeArray[Object] */;
470 val
* var483
/* : String */;
471 static val
* varonce484
;
472 val
* var485
/* : String */;
473 char* var486
/* : NativeString */;
474 long var487
/* : Int */;
475 val
* var488
/* : FlatString */;
476 static val
* varonce489
;
477 val
* var490
/* : String */;
478 char* var491
/* : NativeString */;
479 long var492
/* : Int */;
480 val
* var493
/* : FlatString */;
481 static val
* varonce494
;
482 val
* var495
/* : String */;
483 char* var496
/* : NativeString */;
484 long var497
/* : Int */;
485 val
* var498
/* : FlatString */;
486 val
* var499
/* : MClass */;
487 val
* var501
/* : MClass */;
488 val
* var502
/* : String */;
489 val
* var504
/* : String */;
490 static val
* varonce505
;
491 val
* var506
/* : String */;
492 char* var507
/* : NativeString */;
493 long var508
/* : Int */;
494 val
* var509
/* : FlatString */;
495 short int var510
/* : Bool */;
496 short int var512
/* : Bool */;
497 short int var513
/* : Bool */;
498 val
* var514
/* : AbstractCompilerVisitor */;
499 static val
* varonce515
;
500 val
* var516
/* : String */;
501 char* var517
/* : NativeString */;
502 long var518
/* : Int */;
503 val
* var519
/* : FlatString */;
504 val
* var520
/* : Array[Object] */;
505 long var521
/* : Int */;
506 val
* var522
/* : NativeArray[Object] */;
507 val
* var523
/* : String */;
508 val
* var524
/* : String */;
509 static val
* varonce525
;
510 val
* var526
/* : String */;
511 char* var527
/* : NativeString */;
512 long var528
/* : Int */;
513 val
* var529
/* : FlatString */;
514 static val
* varonce530
;
515 val
* var531
/* : String */;
516 char* var532
/* : NativeString */;
517 long var533
/* : Int */;
518 val
* var534
/* : FlatString */;
519 val
* var535
/* : Array[Object] */;
520 long var536
/* : Int */;
521 val
* var537
/* : NativeArray[Object] */;
522 val
* var538
/* : String */;
523 static val
* varonce539
;
524 val
* var540
/* : String */;
525 char* var541
/* : NativeString */;
526 long var542
/* : Int */;
527 val
* var543
/* : FlatString */;
528 static val
* varonce544
;
529 val
* var545
/* : String */;
530 char* var546
/* : NativeString */;
531 long var547
/* : Int */;
532 val
* var548
/* : FlatString */;
533 val
* var549
/* : Array[Object] */;
534 long var550
/* : Int */;
535 val
* var551
/* : NativeArray[Object] */;
536 val
* var552
/* : String */;
537 val
* var553
/* : String */;
538 static val
* varonce554
;
539 val
* var555
/* : String */;
540 char* var556
/* : NativeString */;
541 long var557
/* : Int */;
542 val
* var558
/* : FlatString */;
543 static val
* varonce559
;
544 val
* var560
/* : String */;
545 char* var561
/* : NativeString */;
546 long var562
/* : Int */;
547 val
* var563
/* : FlatString */;
548 val
* var564
/* : Array[Object] */;
549 long var565
/* : Int */;
550 val
* var566
/* : NativeArray[Object] */;
551 val
* var567
/* : String */;
552 static val
* varonce568
;
553 val
* var569
/* : String */;
554 char* var570
/* : NativeString */;
555 long var571
/* : Int */;
556 val
* var572
/* : FlatString */;
557 val
* var573
/* : Array[Object] */;
558 long var574
/* : Int */;
559 val
* var575
/* : NativeArray[Object] */;
560 val
* var576
/* : String */;
561 static val
* varonce577
;
562 val
* var578
/* : String */;
563 char* var579
/* : NativeString */;
564 long var580
/* : Int */;
565 val
* var581
/* : FlatString */;
566 val
* var582
/* : RuntimeVariable */;
567 val
* var_res
/* var res: RuntimeVariable */;
568 short int var583
/* : Bool */;
569 static val
* varonce585
;
570 val
* var586
/* : String */;
571 char* var587
/* : NativeString */;
572 long var588
/* : Int */;
573 val
* var589
/* : FlatString */;
574 val
* var590
/* : String */;
575 static val
* varonce591
;
576 val
* var592
/* : String */;
577 char* var593
/* : NativeString */;
578 long var594
/* : Int */;
579 val
* var595
/* : FlatString */;
580 val
* var596
/* : Array[Object] */;
581 long var597
/* : Int */;
582 val
* var598
/* : NativeArray[Object] */;
583 val
* var599
/* : String */;
584 static val
* varonce600
;
585 val
* var601
/* : String */;
586 char* var602
/* : NativeString */;
587 long var603
/* : Int */;
588 val
* var604
/* : FlatString */;
589 val
* var605
/* : Array[Object] */;
590 long var606
/* : Int */;
591 val
* var607
/* : NativeArray[Object] */;
592 val
* var608
/* : String */;
593 static val
* varonce609
;
594 val
* var610
/* : String */;
595 char* var611
/* : NativeString */;
596 long var612
/* : Int */;
597 val
* var613
/* : FlatString */;
598 static val
* varonce614
;
599 val
* var615
/* : String */;
600 char* var616
/* : NativeString */;
601 long var617
/* : Int */;
602 val
* var618
/* : FlatString */;
603 val
* var619
/* : Array[Object] */;
604 long var620
/* : Int */;
605 val
* var621
/* : NativeArray[Object] */;
606 val
* var622
/* : String */;
607 static val
* varonce623
;
608 val
* var624
/* : String */;
609 char* var625
/* : NativeString */;
610 long var626
/* : Int */;
611 val
* var627
/* : FlatString */;
612 static val
* varonce628
;
613 val
* var629
/* : String */;
614 char* var630
/* : NativeString */;
615 long var631
/* : Int */;
616 val
* var632
/* : FlatString */;
617 val
* var633
/* : Array[Object] */;
618 long var634
/* : Int */;
619 val
* var635
/* : NativeArray[Object] */;
620 val
* var636
/* : String */;
621 static val
* varonce637
;
622 val
* var638
/* : String */;
623 char* var639
/* : NativeString */;
624 long var640
/* : Int */;
625 val
* var641
/* : FlatString */;
626 val
* var642
/* : String */;
627 static val
* varonce643
;
628 val
* var644
/* : String */;
629 char* var645
/* : NativeString */;
630 long var646
/* : Int */;
631 val
* var647
/* : FlatString */;
632 static val
* varonce648
;
633 val
* var649
/* : String */;
634 char* var650
/* : NativeString */;
635 long var651
/* : Int */;
636 val
* var652
/* : FlatString */;
637 val
* var653
/* : Array[Object] */;
638 long var654
/* : Int */;
639 val
* var655
/* : NativeArray[Object] */;
640 val
* var656
/* : String */;
641 static val
* varonce657
;
642 val
* var658
/* : String */;
643 char* var659
/* : NativeString */;
644 long var660
/* : Int */;
645 val
* var661
/* : FlatString */;
646 static val
* varonce662
;
647 val
* var663
/* : String */;
648 char* var664
/* : NativeString */;
649 long var665
/* : Int */;
650 val
* var666
/* : FlatString */;
651 val
* var667
/* : Array[Object] */;
652 long var668
/* : Int */;
653 val
* var669
/* : NativeArray[Object] */;
654 val
* var670
/* : String */;
655 static val
* varonce671
;
656 val
* var672
/* : String */;
657 char* var673
/* : NativeString */;
658 long var674
/* : Int */;
659 val
* var675
/* : FlatString */;
660 val
* var676
/* : String */;
661 val
* var678
/* : String */;
662 static val
* varonce679
;
663 val
* var680
/* : String */;
664 char* var681
/* : NativeString */;
665 long var682
/* : Int */;
666 val
* var683
/* : FlatString */;
667 short int var684
/* : Bool */;
668 val
* var685
/* : CodeWriter */;
669 val
* var687
/* : CodeWriter */;
670 static val
* varonce688
;
671 val
* var689
/* : String */;
672 char* var690
/* : NativeString */;
673 long var691
/* : Int */;
674 val
* var692
/* : FlatString */;
675 static val
* varonce693
;
676 val
* var694
/* : String */;
677 char* var695
/* : NativeString */;
678 long var696
/* : Int */;
679 val
* var697
/* : FlatString */;
680 val
* var698
/* : Array[Object] */;
681 long var699
/* : Int */;
682 val
* var700
/* : NativeArray[Object] */;
683 val
* var701
/* : String */;
684 val
* var702
/* : CodeWriter */;
685 val
* var704
/* : CodeWriter */;
686 static val
* varonce705
;
687 val
* var706
/* : String */;
688 char* var707
/* : NativeString */;
689 long var708
/* : Int */;
690 val
* var709
/* : FlatString */;
691 val
* var710
/* : CodeWriter */;
692 val
* var712
/* : CodeWriter */;
693 static val
* varonce713
;
694 val
* var714
/* : String */;
695 char* var715
/* : NativeString */;
696 long var716
/* : Int */;
697 val
* var717
/* : FlatString */;
698 val
* var718
/* : CodeWriter */;
699 val
* var720
/* : CodeWriter */;
700 static val
* varonce721
;
701 val
* var722
/* : String */;
702 char* var723
/* : NativeString */;
703 long var724
/* : Int */;
704 val
* var725
/* : FlatString */;
705 val
* var726
/* : CodeWriter */;
706 val
* var728
/* : CodeWriter */;
707 static val
* varonce729
;
708 val
* var730
/* : String */;
709 char* var731
/* : NativeString */;
710 long var732
/* : Int */;
711 val
* var733
/* : FlatString */;
712 val
* var734
/* : CodeWriter */;
713 val
* var736
/* : CodeWriter */;
714 static val
* varonce737
;
715 val
* var738
/* : String */;
716 char* var739
/* : NativeString */;
717 long var740
/* : Int */;
718 val
* var741
/* : FlatString */;
719 static val
* varonce742
;
720 val
* var743
/* : String */;
721 char* var744
/* : NativeString */;
722 long var745
/* : Int */;
723 val
* var746
/* : FlatString */;
724 val
* var747
/* : Array[Object] */;
725 long var748
/* : Int */;
726 val
* var749
/* : NativeArray[Object] */;
727 val
* var750
/* : String */;
728 val
* var751
/* : String */;
729 static val
* varonce752
;
730 val
* var753
/* : String */;
731 char* var754
/* : NativeString */;
732 long var755
/* : Int */;
733 val
* var756
/* : FlatString */;
734 static val
* varonce757
;
735 val
* var758
/* : String */;
736 char* var759
/* : NativeString */;
737 long var760
/* : Int */;
738 val
* var761
/* : FlatString */;
739 val
* var762
/* : Array[Object] */;
740 long var763
/* : Int */;
741 val
* var764
/* : NativeArray[Object] */;
742 val
* var765
/* : String */;
743 static val
* varonce766
;
744 val
* var767
/* : String */;
745 char* var768
/* : NativeString */;
746 long var769
/* : Int */;
747 val
* var770
/* : FlatString */;
748 static val
* varonce771
;
749 val
* var772
/* : String */;
750 char* var773
/* : NativeString */;
751 long var774
/* : Int */;
752 val
* var775
/* : FlatString */;
753 val
* var776
/* : Array[Object] */;
754 long var777
/* : Int */;
755 val
* var778
/* : NativeArray[Object] */;
756 val
* var779
/* : String */;
757 val
* var780
/* : String */;
758 static val
* varonce781
;
759 val
* var782
/* : String */;
760 char* var783
/* : NativeString */;
761 long var784
/* : Int */;
762 val
* var785
/* : FlatString */;
763 static val
* varonce786
;
764 val
* var787
/* : String */;
765 char* var788
/* : NativeString */;
766 long var789
/* : Int */;
767 val
* var790
/* : FlatString */;
768 val
* var791
/* : Array[Object] */;
769 long var792
/* : Int */;
770 val
* var793
/* : NativeArray[Object] */;
771 val
* var794
/* : String */;
772 static val
* varonce795
;
773 val
* var796
/* : String */;
774 char* var797
/* : NativeString */;
775 long var798
/* : Int */;
776 val
* var799
/* : FlatString */;
777 val
* var800
/* : String */;
778 val
* var_res801
/* var res: String */;
779 static val
* varonce802
;
780 val
* var803
/* : String */;
781 char* var804
/* : NativeString */;
782 long var805
/* : Int */;
783 val
* var806
/* : FlatString */;
784 static val
* varonce807
;
785 val
* var808
/* : String */;
786 char* var809
/* : NativeString */;
787 long var810
/* : Int */;
788 val
* var811
/* : FlatString */;
789 static val
* varonce812
;
790 val
* var813
/* : String */;
791 char* var814
/* : NativeString */;
792 long var815
/* : Int */;
793 val
* var816
/* : FlatString */;
794 val
* var817
/* : Array[Object] */;
795 long var818
/* : Int */;
796 val
* var819
/* : NativeArray[Object] */;
797 val
* var820
/* : String */;
798 val
* var821
/* : Array[MType] */;
799 val
* var822
/* : nullable Object */;
800 val
* var_mtype_elt
/* var mtype_elt: MType */;
801 static val
* varonce823
;
802 val
* var824
/* : String */;
803 char* var825
/* : NativeString */;
804 long var826
/* : Int */;
805 val
* var827
/* : FlatString */;
806 static val
* varonce828
;
807 val
* var829
/* : String */;
808 char* var830
/* : NativeString */;
809 long var831
/* : Int */;
810 val
* var832
/* : FlatString */;
811 val
* var833
/* : String */;
812 static val
* varonce834
;
813 val
* var835
/* : String */;
814 char* var836
/* : NativeString */;
815 long var837
/* : Int */;
816 val
* var838
/* : FlatString */;
817 val
* var839
/* : Array[Object] */;
818 long var840
/* : Int */;
819 val
* var841
/* : NativeArray[Object] */;
820 val
* var842
/* : String */;
821 static val
* varonce843
;
822 val
* var844
/* : String */;
823 char* var845
/* : NativeString */;
824 long var846
/* : Int */;
825 val
* var847
/* : FlatString */;
826 val
* var848
/* : Array[Object] */;
827 long var849
/* : Int */;
828 val
* var850
/* : NativeArray[Object] */;
829 val
* var851
/* : String */;
830 static val
* varonce852
;
831 val
* var853
/* : String */;
832 char* var854
/* : NativeString */;
833 long var855
/* : Int */;
834 val
* var856
/* : FlatString */;
835 static val
* varonce857
;
836 val
* var858
/* : String */;
837 char* var859
/* : NativeString */;
838 long var860
/* : Int */;
839 val
* var861
/* : FlatString */;
840 val
* var862
/* : Array[Object] */;
841 long var863
/* : Int */;
842 val
* var864
/* : NativeArray[Object] */;
843 val
* var865
/* : String */;
844 static val
* varonce866
;
845 val
* var867
/* : String */;
846 char* var868
/* : NativeString */;
847 long var869
/* : Int */;
848 val
* var870
/* : FlatString */;
849 static val
* varonce871
;
850 val
* var872
/* : String */;
851 char* var873
/* : NativeString */;
852 long var874
/* : Int */;
853 val
* var875
/* : FlatString */;
854 val
* var876
/* : Array[Object] */;
855 long var877
/* : Int */;
856 val
* var878
/* : NativeArray[Object] */;
857 val
* var879
/* : String */;
858 static val
* varonce880
;
859 val
* var881
/* : String */;
860 char* var882
/* : NativeString */;
861 long var883
/* : Int */;
862 val
* var884
/* : FlatString */;
863 val
* var885
/* : Array[Object] */;
864 long var886
/* : Int */;
865 val
* var887
/* : NativeArray[Object] */;
866 val
* var888
/* : String */;
867 static val
* varonce889
;
868 val
* var890
/* : String */;
869 char* var891
/* : NativeString */;
870 long var892
/* : Int */;
871 val
* var893
/* : FlatString */;
872 static val
* varonce894
;
873 val
* var895
/* : String */;
874 char* var896
/* : NativeString */;
875 long var897
/* : Int */;
876 val
* var898
/* : FlatString */;
877 val
* var899
/* : Array[Object] */;
878 long var900
/* : Int */;
879 val
* var901
/* : NativeArray[Object] */;
880 val
* var902
/* : String */;
881 static val
* varonce903
;
882 val
* var904
/* : String */;
883 char* var905
/* : NativeString */;
884 long var906
/* : Int */;
885 val
* var907
/* : FlatString */;
886 short int var908
/* : Bool */;
887 val
* var909
/* : MClass */;
888 val
* var911
/* : MClass */;
889 val
* var912
/* : MClassKind */;
890 val
* var914
/* : MClassKind */;
891 val
* var915
/* : MClassKind */;
892 short int var916
/* : Bool */;
893 short int var918
/* : Bool */;
894 short int var920
/* : Bool */;
895 short int var_921
/* var : Bool */;
896 val
* var922
/* : MClass */;
897 val
* var924
/* : MClass */;
898 val
* var925
/* : String */;
899 val
* var927
/* : String */;
900 static val
* varonce928
;
901 val
* var929
/* : String */;
902 char* var930
/* : NativeString */;
903 long var931
/* : Int */;
904 val
* var932
/* : FlatString */;
905 short int var933
/* : Bool */;
906 short int var935
/* : Bool */;
907 short int var936
/* : Bool */;
908 val
* var937
/* : MModule */;
909 val
* var939
/* : MModule */;
910 val
* var940
/* : MClassType */;
911 val
* var_pointer_type
/* var pointer_type: MClassType */;
912 static val
* varonce941
;
913 val
* var942
/* : String */;
914 char* var943
/* : NativeString */;
915 long var944
/* : Int */;
916 val
* var945
/* : FlatString */;
917 val
* var946
/* : Array[Object] */;
918 long var947
/* : Int */;
919 val
* var948
/* : NativeArray[Object] */;
920 val
* var949
/* : String */;
921 val
* var950
/* : String */;
922 static val
* varonce951
;
923 val
* var952
/* : String */;
924 char* var953
/* : NativeString */;
925 long var954
/* : Int */;
926 val
* var955
/* : FlatString */;
927 static val
* varonce956
;
928 val
* var957
/* : String */;
929 char* var958
/* : NativeString */;
930 long var959
/* : Int */;
931 val
* var960
/* : FlatString */;
932 val
* var961
/* : Array[Object] */;
933 long var962
/* : Int */;
934 val
* var963
/* : NativeArray[Object] */;
935 val
* var964
/* : String */;
936 static val
* varonce965
;
937 val
* var966
/* : String */;
938 char* var967
/* : NativeString */;
939 long var968
/* : Int */;
940 val
* var969
/* : FlatString */;
941 static val
* varonce970
;
942 val
* var971
/* : String */;
943 char* var972
/* : NativeString */;
944 long var973
/* : Int */;
945 val
* var974
/* : FlatString */;
946 val
* var975
/* : Array[Object] */;
947 long var976
/* : Int */;
948 val
* var977
/* : NativeArray[Object] */;
949 val
* var978
/* : String */;
950 val
* var979
/* : String */;
951 static val
* varonce980
;
952 val
* var981
/* : String */;
953 char* var982
/* : NativeString */;
954 long var983
/* : Int */;
955 val
* var984
/* : FlatString */;
956 static val
* varonce985
;
957 val
* var986
/* : String */;
958 char* var987
/* : NativeString */;
959 long var988
/* : Int */;
960 val
* var989
/* : FlatString */;
961 val
* var990
/* : Array[Object] */;
962 long var991
/* : Int */;
963 val
* var992
/* : NativeArray[Object] */;
964 val
* var993
/* : String */;
965 static val
* varonce994
;
966 val
* var995
/* : String */;
967 char* var996
/* : NativeString */;
968 long var997
/* : Int */;
969 val
* var998
/* : FlatString */;
970 val
* var999
/* : Array[Object] */;
971 long var1000
/* : Int */;
972 val
* var1001
/* : NativeArray[Object] */;
973 val
* var1002
/* : String */;
974 static val
* varonce1003
;
975 val
* var1004
/* : String */;
976 char* var1005
/* : NativeString */;
977 long var1006
/* : Int */;
978 val
* var1007
/* : FlatString */;
979 val
* var1008
/* : RuntimeVariable */;
980 val
* var_res1009
/* var res: RuntimeVariable */;
981 short int var1010
/* : Bool */;
982 static val
* varonce1012
;
983 val
* var1013
/* : String */;
984 char* var1014
/* : NativeString */;
985 long var1015
/* : Int */;
986 val
* var1016
/* : FlatString */;
987 val
* var1017
/* : String */;
988 static val
* varonce1018
;
989 val
* var1019
/* : String */;
990 char* var1020
/* : NativeString */;
991 long var1021
/* : Int */;
992 val
* var1022
/* : FlatString */;
993 val
* var1023
/* : Array[Object] */;
994 long var1024
/* : Int */;
995 val
* var1025
/* : NativeArray[Object] */;
996 val
* var1026
/* : String */;
997 static val
* varonce1027
;
998 val
* var1028
/* : String */;
999 char* var1029
/* : NativeString */;
1000 long var1030
/* : Int */;
1001 val
* var1031
/* : FlatString */;
1002 val
* var1032
/* : Array[Object] */;
1003 long var1033
/* : Int */;
1004 val
* var1034
/* : NativeArray[Object] */;
1005 val
* var1035
/* : String */;
1006 static val
* varonce1036
;
1007 val
* var1037
/* : String */;
1008 char* var1038
/* : NativeString */;
1009 long var1039
/* : Int */;
1010 val
* var1040
/* : FlatString */;
1011 static val
* varonce1041
;
1012 val
* var1042
/* : String */;
1013 char* var1043
/* : NativeString */;
1014 long var1044
/* : Int */;
1015 val
* var1045
/* : FlatString */;
1016 val
* var1046
/* : Array[Object] */;
1017 long var1047
/* : Int */;
1018 val
* var1048
/* : NativeArray[Object] */;
1019 val
* var1049
/* : String */;
1020 static val
* varonce1050
;
1021 val
* var1051
/* : String */;
1022 char* var1052
/* : NativeString */;
1023 long var1053
/* : Int */;
1024 val
* var1054
/* : FlatString */;
1025 static val
* varonce1055
;
1026 val
* var1056
/* : String */;
1027 char* var1057
/* : NativeString */;
1028 long var1058
/* : Int */;
1029 val
* var1059
/* : FlatString */;
1030 val
* var1060
/* : Array[Object] */;
1031 long var1061
/* : Int */;
1032 val
* var1062
/* : NativeArray[Object] */;
1033 val
* var1063
/* : String */;
1034 static val
* varonce1064
;
1035 val
* var1065
/* : String */;
1036 char* var1066
/* : NativeString */;
1037 long var1067
/* : Int */;
1038 val
* var1068
/* : FlatString */;
1039 val
* var1069
/* : String */;
1040 static val
* varonce1070
;
1041 val
* var1071
/* : String */;
1042 char* var1072
/* : NativeString */;
1043 long var1073
/* : Int */;
1044 val
* var1074
/* : FlatString */;
1045 static val
* varonce1075
;
1046 val
* var1076
/* : String */;
1047 char* var1077
/* : NativeString */;
1048 long var1078
/* : Int */;
1049 val
* var1079
/* : FlatString */;
1050 val
* var1080
/* : Array[Object] */;
1051 long var1081
/* : Int */;
1052 val
* var1082
/* : NativeArray[Object] */;
1053 val
* var1083
/* : String */;
1054 static val
* varonce1084
;
1055 val
* var1085
/* : String */;
1056 char* var1086
/* : NativeString */;
1057 long var1087
/* : Int */;
1058 val
* var1088
/* : FlatString */;
1059 static val
* varonce1089
;
1060 val
* var1090
/* : String */;
1061 char* var1091
/* : NativeString */;
1062 long var1092
/* : Int */;
1063 val
* var1093
/* : FlatString */;
1064 val
* var1094
/* : Array[Object] */;
1065 long var1095
/* : Int */;
1066 val
* var1096
/* : NativeArray[Object] */;
1067 val
* var1097
/* : String */;
1068 static val
* varonce1098
;
1069 val
* var1099
/* : String */;
1070 char* var1100
/* : NativeString */;
1071 long var1101
/* : Int */;
1072 val
* var1102
/* : FlatString */;
1073 static val
* varonce1103
;
1074 val
* var1104
/* : String */;
1075 char* var1105
/* : NativeString */;
1076 long var1106
/* : Int */;
1077 val
* var1107
/* : FlatString */;
1078 val
* var1108
/* : Array[Object] */;
1079 long var1109
/* : Int */;
1080 val
* var1110
/* : NativeArray[Object] */;
1081 val
* var1111
/* : String */;
1082 val
* var1112
/* : String */;
1083 static val
* varonce1113
;
1084 val
* var1114
/* : String */;
1085 char* var1115
/* : NativeString */;
1086 long var1116
/* : Int */;
1087 val
* var1117
/* : FlatString */;
1088 static val
* varonce1118
;
1089 val
* var1119
/* : String */;
1090 char* var1120
/* : NativeString */;
1091 long var1121
/* : Int */;
1092 val
* var1122
/* : FlatString */;
1093 val
* var1123
/* : Array[Object] */;
1094 long var1124
/* : Int */;
1095 val
* var1125
/* : NativeArray[Object] */;
1096 val
* var1126
/* : String */;
1097 static val
* varonce1127
;
1098 val
* var1128
/* : String */;
1099 char* var1129
/* : NativeString */;
1100 long var1130
/* : Int */;
1101 val
* var1131
/* : FlatString */;
1102 static val
* varonce1132
;
1103 val
* var1133
/* : String */;
1104 char* var1134
/* : NativeString */;
1105 long var1135
/* : Int */;
1106 val
* var1136
/* : FlatString */;
1107 val
* var1137
/* : Array[Object] */;
1108 long var1138
/* : Int */;
1109 val
* var1139
/* : NativeArray[Object] */;
1110 val
* var1140
/* : String */;
1111 val
* var1141
/* : String */;
1112 static val
* varonce1142
;
1113 val
* var1143
/* : String */;
1114 char* var1144
/* : NativeString */;
1115 long var1145
/* : Int */;
1116 val
* var1146
/* : FlatString */;
1117 static val
* varonce1147
;
1118 val
* var1148
/* : String */;
1119 char* var1149
/* : NativeString */;
1120 long var1150
/* : Int */;
1121 val
* var1151
/* : FlatString */;
1122 val
* var1152
/* : Array[Object] */;
1123 long var1153
/* : Int */;
1124 val
* var1154
/* : NativeArray[Object] */;
1125 val
* var1155
/* : String */;
1126 static val
* varonce1156
;
1127 val
* var1157
/* : String */;
1128 char* var1158
/* : NativeString */;
1129 long var1159
/* : Int */;
1130 val
* var1160
/* : FlatString */;
1131 val
* var1161
/* : Array[Object] */;
1132 long var1162
/* : Int */;
1133 val
* var1163
/* : NativeArray[Object] */;
1134 val
* var1164
/* : String */;
1135 static val
* varonce1165
;
1136 val
* var1166
/* : String */;
1137 char* var1167
/* : NativeString */;
1138 long var1168
/* : Int */;
1139 val
* var1169
/* : FlatString */;
1140 val
* var1170
/* : RuntimeVariable */;
1141 val
* var_res1171
/* var res: RuntimeVariable */;
1142 short int var1172
/* : Bool */;
1143 static val
* varonce1174
;
1144 val
* var1175
/* : String */;
1145 char* var1176
/* : NativeString */;
1146 long var1177
/* : Int */;
1147 val
* var1178
/* : FlatString */;
1148 long var1179
/* : Int */;
1149 long var1181
/* : Int */;
1150 static val
* varonce1182
;
1151 val
* var1183
/* : String */;
1152 char* var1184
/* : NativeString */;
1153 long var1185
/* : Int */;
1154 val
* var1186
/* : FlatString */;
1155 val
* var1187
/* : Array[Object] */;
1156 long var1188
/* : Int */;
1157 val
* var1189
/* : NativeArray[Object] */;
1158 val
* var1190
/* : Object */;
1159 val
* var1191
/* : String */;
1160 static val
* varonce1192
;
1161 val
* var1193
/* : String */;
1162 char* var1194
/* : NativeString */;
1163 long var1195
/* : Int */;
1164 val
* var1196
/* : FlatString */;
1165 val
* var1197
/* : Array[Object] */;
1166 long var1198
/* : Int */;
1167 val
* var1199
/* : NativeArray[Object] */;
1168 val
* var1200
/* : String */;
1169 static val
* varonce1201
;
1170 val
* var1202
/* : String */;
1171 char* var1203
/* : NativeString */;
1172 long var1204
/* : Int */;
1173 val
* var1205
/* : FlatString */;
1174 static val
* varonce1206
;
1175 val
* var1207
/* : String */;
1176 char* var1208
/* : NativeString */;
1177 long var1209
/* : Int */;
1178 val
* var1210
/* : FlatString */;
1179 val
* var1211
/* : Array[Object] */;
1180 long var1212
/* : Int */;
1181 val
* var1213
/* : NativeArray[Object] */;
1182 val
* var1214
/* : String */;
1183 static val
* varonce1215
;
1184 val
* var1216
/* : String */;
1185 char* var1217
/* : NativeString */;
1186 long var1218
/* : Int */;
1187 val
* var1219
/* : FlatString */;
1188 static val
* varonce1220
;
1189 val
* var1221
/* : String */;
1190 char* var1222
/* : NativeString */;
1191 long var1223
/* : Int */;
1192 val
* var1224
/* : FlatString */;
1193 val
* var1225
/* : Array[Object] */;
1194 long var1226
/* : Int */;
1195 val
* var1227
/* : NativeArray[Object] */;
1196 val
* var1228
/* : String */;
1197 static val
* varonce1229
;
1198 val
* var1230
/* : String */;
1199 char* var1231
/* : NativeString */;
1200 long var1232
/* : Int */;
1201 val
* var1233
/* : FlatString */;
1202 static val
* varonce1234
;
1203 val
* var1235
/* : String */;
1204 char* var1236
/* : NativeString */;
1205 long var1237
/* : Int */;
1206 val
* var1238
/* : FlatString */;
1207 val
* var1239
/* : Array[Object] */;
1208 long var1240
/* : Int */;
1209 val
* var1241
/* : NativeArray[Object] */;
1210 val
* var1242
/* : String */;
1211 static val
* varonce1243
;
1212 val
* var1244
/* : String */;
1213 char* var1245
/* : NativeString */;
1214 long var1246
/* : Int */;
1215 val
* var1247
/* : FlatString */;
1218 { /* Inline model#MClass#intro (var_mclass) on <var_mclass:MClass> */
1219 var2
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_mclass:MClass> */
1220 if (unlikely(var2
== NULL
)) {
1221 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
1222 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
1230 { /* Inline model#MClassDef#bound_mtype (var) on <var:MClassDef> */
1231 var5
= var
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var:MClassDef> */
1232 if (unlikely(var5
== NULL
)) {
1233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1234 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
1243 var6
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_mclass
);
1247 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
1248 var9
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
1249 if (unlikely(var9
== NULL
)) {
1250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
1251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 856);
1259 var10
= ((val
* (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var7
, var_mclass
) /* [] on <var7:Map[MClass, Array[nullable MPropDef]]>*/;
1263 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
1264 var13
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
1265 if (unlikely(var13
== NULL
)) {
1266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
1267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 857);
1271 RET_LABEL12
:(void)0;
1275 var14
= ((val
* (*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var11
, var_mclass
) /* [] on <var11:Map[MClass, Array[nullable MPropDef]]>*/;
1279 var15
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:SeparateCompiler>*/;
1283 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (self) on <self:SeparateCompiler> */
1284 var18
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <self:SeparateCompiler> */
1286 RET_LABEL17
:(void)0;
1291 if (var_rta
== NULL
) {
1292 var24
= 0; /* is null */
1294 var24
= 1; /* arg is null and recv is not */
1297 { /* Inline kernel#Object#!= (var_rta,var23) on <var_rta:nullable RapidTypeAnalysis> */
1300 var27
= ((short int (*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_rta
, var_other
) /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
1305 RET_LABEL26
:(void)0;
1312 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_classes (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1313 var31
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_classes
].val
; /* _live_classes on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1314 if (unlikely(var31
== NULL
)) {
1315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_classes");
1316 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 62);
1320 RET_LABEL30
:(void)0;
1324 var32
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var29
, var_mclass
);
1334 var35
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
1341 var39
= standard___standard__NativeString___to_s_with_length(var37
, var38
);
1346 var40
= ((short int (*)(val
* self
, val
* p0
))(var35
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var35
, var36
) /* == on <var35:String>*/;
1355 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1356 var44
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1357 if (unlikely(var44
== NULL
)) {
1358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
1363 RET_LABEL43
:(void)0;
1369 var47
= "NativeArray";
1371 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
1376 { /* Inline kernel#Object#!= (var42,var46) on <var42:String> */
1379 var52
= ((short int (*)(val
* self
, val
* p0
))(var42
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var42
, var_other
) /* == on <var42:String>*/;
1384 RET_LABEL51
:(void)0;
1394 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
1395 var57
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
1396 if (unlikely(var57
== NULL
)) {
1397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
1402 RET_LABEL56
:(void)0;
1410 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
1415 { /* Inline kernel#Object#!= (var55,var59) on <var55:String> */
1418 var65
= ((short int (*)(val
* self
, val
* p0
))(var55
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var55
, var_other
) /* == on <var55:String>*/;
1423 RET_LABEL64
:(void)0;
1430 var_is_dead
= var19
;
1434 var69
= "/* runtime class ";
1436 var71
= standard___standard__NativeString___to_s_with_length(var69
, var70
);
1445 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
1449 var77
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1450 { /* var77 = array_instance Array[Object] */
1452 var79
= NEW_standard__NativeArray(var78
, &type_standard__NativeArray__standard__Object
);
1453 ((struct instance_standard__NativeArray
*)var79
)->values
[0] = (val
*) var68
;
1454 ((struct instance_standard__NativeArray
*)var79
)->values
[1] = (val
*) var_c_name
;
1455 ((struct instance_standard__NativeArray
*)var79
)->values
[2] = (val
*) var73
;
1457 ((void (*)(val
* self
, val
* p0
, long p1
))(var77
->class->vft
[COLOR_standard__array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
1461 var80
= ((val
* (*)(val
* self
))(var77
->class->vft
[COLOR_standard__string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
1464 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var80
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1466 var81
= !var_is_dead
;
1473 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
1477 var87
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1478 { /* var87 = array_instance Array[Object] */
1480 var89
= NEW_standard__NativeArray(var88
, &type_standard__NativeArray__standard__Object
);
1481 ((struct instance_standard__NativeArray
*)var89
)->values
[0] = (val
*) var83
;
1482 ((struct instance_standard__NativeArray
*)var89
)->values
[1] = (val
*) var_c_name
;
1484 ((void (*)(val
* self
, val
* p0
, long p1
))(var87
->class->vft
[COLOR_standard__array__Array__with_native
]))(var87
, var89
, var88
) /* with_native on <var87:Array[Object]>*/;
1488 var90
= ((val
* (*)(val
* self
))(var87
->class->vft
[COLOR_standard__string__Object__to_s
]))(var87
) /* to_s on <var87:Array[Object]>*/;
1493 var93
= "extern const struct class class_";
1495 var95
= standard___standard__NativeString___to_s_with_length(var93
, var94
);
1504 var100
= standard___standard__NativeString___to_s_with_length(var98
, var99
);
1508 var101
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1509 { /* var101 = array_instance Array[Object] */
1511 var103
= NEW_standard__NativeArray(var102
, &type_standard__NativeArray__standard__Object
);
1512 ((struct instance_standard__NativeArray
*)var103
)->values
[0] = (val
*) var92
;
1513 ((struct instance_standard__NativeArray
*)var103
)->values
[1] = (val
*) var_c_name
;
1514 ((struct instance_standard__NativeArray
*)var103
)->values
[2] = (val
*) var97
;
1516 ((void (*)(val
* self
, val
* p0
, long p1
))(var101
->class->vft
[COLOR_standard__array__Array__with_native
]))(var101
, var103
, var102
) /* with_native on <var101:Array[Object]>*/;
1520 var104
= ((val
* (*)(val
* self
))(var101
->class->vft
[COLOR_standard__string__Object__to_s
]))(var101
) /* to_s on <var101:Array[Object]>*/;
1523 nit___nit__AbstractCompiler___provide_declaration(self
, var90
, var104
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
1526 var106
= varonce105
;
1528 var107
= "const struct class class_";
1530 var109
= standard___standard__NativeString___to_s_with_length(var107
, var108
);
1532 varonce105
= var106
;
1535 var111
= varonce110
;
1539 var114
= standard___standard__NativeString___to_s_with_length(var112
, var113
);
1541 varonce110
= var111
;
1543 var115
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1544 { /* var115 = array_instance Array[Object] */
1546 var117
= NEW_standard__NativeArray(var116
, &type_standard__NativeArray__standard__Object
);
1547 ((struct instance_standard__NativeArray
*)var117
)->values
[0] = (val
*) var106
;
1548 ((struct instance_standard__NativeArray
*)var117
)->values
[1] = (val
*) var_c_name
;
1549 ((struct instance_standard__NativeArray
*)var117
)->values
[2] = (val
*) var111
;
1551 ((void (*)(val
* self
, val
* p0
, long p1
))(var115
->class->vft
[COLOR_standard__array__Array__with_native
]))(var115
, var117
, var116
) /* with_native on <var115:Array[Object]>*/;
1555 var118
= ((val
* (*)(val
* self
))(var115
->class->vft
[COLOR_standard__string__Object__to_s
]))(var115
) /* to_s on <var115:Array[Object]>*/;
1558 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var118
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1561 var119
= nit___nit__SeparateCompiler___box_kind_of(self
, var_mclass
);
1564 var121
= varonce120
;
1566 var122
= ", /* box_kind */";
1568 var124
= standard___standard__NativeString___to_s_with_length(var122
, var123
);
1570 varonce120
= var121
;
1572 var125
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1573 { /* var125 = array_instance Array[Object] */
1575 var127
= NEW_standard__NativeArray(var126
, &type_standard__NativeArray__standard__Object
);
1576 var128
= BOX_standard__Int(var119
); /* autobox from Int to Object */
1577 ((struct instance_standard__NativeArray
*)var127
)->values
[0] = (val
*) var128
;
1578 ((struct instance_standard__NativeArray
*)var127
)->values
[1] = (val
*) var121
;
1580 ((void (*)(val
* self
, val
* p0
, long p1
))(var125
->class->vft
[COLOR_standard__array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
1584 var129
= ((val
* (*)(val
* self
))(var125
->class->vft
[COLOR_standard__string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
1587 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var129
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1590 var131
= varonce130
;
1594 var134
= standard___standard__NativeString___to_s_with_length(var132
, var133
);
1596 varonce130
= var131
;
1599 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var131
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1604 { /* Inline array#AbstractArrayRead#length (var_vft) on <var_vft:Array[nullable MPropDef]> */
1605 var138
= var_vft
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_vft:Array[nullable MPropDef]> */
1607 RET_LABEL137
:(void)0;
1613 { /* Inline kernel#Int#< (var_i,var_139) on <var_i:Int> */
1614 /* Covariant cast for argument 0 (i) <var_139:Int> isa OTHER */
1615 /* <var_139:Int> isa OTHER */
1616 var142
= 1; /* easy <var_139:Int> isa OTHER*/
1617 if (unlikely(!var142
)) {
1618 var_class_name
= type_standard__Int
.name
;
1619 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1620 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
1623 var143
= var_i
< var_139
;
1626 RET_LABEL141
:(void)0;
1631 var144
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_vft
, var_i
);
1633 var_mpropdef
= var144
;
1635 if (var_mpropdef
== NULL
) {
1636 var146
= 1; /* is null */
1638 var146
= 0; /* arg is null but recv is not */
1641 { /* Inline kernel#Object#== (var_mpropdef,var145) on <var_mpropdef:nullable MPropDef> */
1642 var_other149
= var145
;
1644 { /* Inline kernel#Object#is_same_instance (var_mpropdef,var_other149) on <var_mpropdef:nullable MPropDef(MPropDef)> */
1645 var152
= var_mpropdef
== var_other149
;
1648 RET_LABEL151
:(void)0;
1653 RET_LABEL148
:(void)0;
1659 var154
= varonce153
;
1661 var155
= "NULL, /* empty */";
1663 var157
= standard___standard__NativeString___to_s_with_length(var155
, var156
);
1665 varonce153
= var154
;
1668 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var154
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1671 /* <var_mpropdef:nullable MPropDef(MPropDef)> isa MMethodDef */
1672 cltype159
= type_nit__MMethodDef
.color
;
1673 idtype160
= type_nit__MMethodDef
.id
;
1674 if(cltype159
>= var_mpropdef
->type
->table_size
) {
1677 var158
= var_mpropdef
->type
->type_table
[cltype159
] == idtype160
;
1679 if (unlikely(!var158
)) {
1680 PRINT_ERROR("Runtime error: %s", "Assert failed");
1681 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 703);
1685 if (var_rta
== NULL
) {
1686 var163
= 0; /* is null */
1688 var163
= 1; /* arg is null and recv is not */
1691 { /* Inline kernel#Object#!= (var_rta,var162) on <var_rta:nullable RapidTypeAnalysis> */
1694 var166
= ((short int (*)(val
* self
, val
* p0
))(var_rta
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_rta
, var_other
) /* == on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
1699 RET_LABEL165
:(void)0;
1706 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_methoddefs (var_rta) on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1707 var171
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_methoddefs
].val
; /* _live_methoddefs on <var_rta:nullable RapidTypeAnalysis(RapidTypeAnalysis)> */
1708 if (unlikely(var171
== NULL
)) {
1709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_methoddefs");
1710 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 72);
1714 RET_LABEL170
:(void)0;
1718 var172
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var169
, var_mpropdef
);
1727 var175
= varonce174
;
1729 var176
= "NULL, /* DEAD ";
1731 var178
= standard___standard__NativeString___to_s_with_length(var176
, var177
);
1733 varonce174
= var175
;
1736 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1737 var181
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1738 if (unlikely(var181
== NULL
)) {
1739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1740 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
1744 RET_LABEL180
:(void)0;
1748 var183
= varonce182
;
1752 var186
= standard___standard__NativeString___to_s_with_length(var184
, var185
);
1754 varonce182
= var183
;
1757 var188
= varonce187
;
1761 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
1763 varonce187
= var188
;
1766 var193
= varonce192
;
1770 var196
= standard___standard__NativeString___to_s_with_length(var194
, var195
);
1772 varonce192
= var193
;
1774 var197
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1775 { /* var197 = array_instance Array[Object] */
1777 var199
= NEW_standard__NativeArray(var198
, &type_standard__NativeArray__standard__Object
);
1778 ((struct instance_standard__NativeArray
*)var199
)->values
[0] = (val
*) var175
;
1779 ((struct instance_standard__NativeArray
*)var199
)->values
[1] = (val
*) var179
;
1780 ((struct instance_standard__NativeArray
*)var199
)->values
[2] = (val
*) var183
;
1781 ((struct instance_standard__NativeArray
*)var199
)->values
[3] = (val
*) var_mclass
;
1782 ((struct instance_standard__NativeArray
*)var199
)->values
[4] = (val
*) var188
;
1783 ((struct instance_standard__NativeArray
*)var199
)->values
[5] = (val
*) var_mpropdef
;
1784 ((struct instance_standard__NativeArray
*)var199
)->values
[6] = (val
*) var193
;
1786 ((void (*)(val
* self
, val
* p0
, long p1
))(var197
->class->vft
[COLOR_standard__array__Array__with_native
]))(var197
, var199
, var198
) /* with_native on <var197:Array[Object]>*/;
1790 var200
= ((val
* (*)(val
* self
))(var197
->class->vft
[COLOR_standard__string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
1793 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1799 var201
= nit__separate_compiler___MMethodDef___virtual_runtime_function(var_mpropdef
);
1803 var202
= nit___nit__AbstractRuntimeFunction___c_name(var_rf
);
1806 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var202
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
1809 var204
= varonce203
;
1811 var205
= "(nitmethod_t)";
1813 var207
= standard___standard__NativeString___to_s_with_length(var205
, var206
);
1815 varonce203
= var204
;
1818 var208
= nit___nit__AbstractRuntimeFunction___c_name(var_rf
);
1821 var210
= varonce209
;
1823 var211
= ", /* pointer to ";
1825 var213
= standard___standard__NativeString___to_s_with_length(var211
, var212
);
1827 varonce209
= var210
;
1830 { /* Inline model#MClass#intro_mmodule (var_mclass) on <var_mclass:MClass> */
1831 var216
= var_mclass
->attrs
[COLOR_nit__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <var_mclass:MClass> */
1832 if (unlikely(var216
== NULL
)) {
1833 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
1834 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 343);
1838 RET_LABEL215
:(void)0;
1842 var218
= varonce217
;
1846 var221
= standard___standard__NativeString___to_s_with_length(var219
, var220
);
1848 varonce217
= var218
;
1851 var223
= varonce222
;
1855 var226
= standard___standard__NativeString___to_s_with_length(var224
, var225
);
1857 varonce222
= var223
;
1860 var228
= varonce227
;
1864 var231
= standard___standard__NativeString___to_s_with_length(var229
, var230
);
1866 varonce227
= var228
;
1868 var232
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1869 { /* var232 = array_instance Array[Object] */
1871 var234
= NEW_standard__NativeArray(var233
, &type_standard__NativeArray__standard__Object
);
1872 ((struct instance_standard__NativeArray
*)var234
)->values
[0] = (val
*) var204
;
1873 ((struct instance_standard__NativeArray
*)var234
)->values
[1] = (val
*) var208
;
1874 ((struct instance_standard__NativeArray
*)var234
)->values
[2] = (val
*) var210
;
1875 ((struct instance_standard__NativeArray
*)var234
)->values
[3] = (val
*) var214
;
1876 ((struct instance_standard__NativeArray
*)var234
)->values
[4] = (val
*) var218
;
1877 ((struct instance_standard__NativeArray
*)var234
)->values
[5] = (val
*) var_mclass
;
1878 ((struct instance_standard__NativeArray
*)var234
)->values
[6] = (val
*) var223
;
1879 ((struct instance_standard__NativeArray
*)var234
)->values
[7] = (val
*) var_mpropdef
;
1880 ((struct instance_standard__NativeArray
*)var234
)->values
[8] = (val
*) var228
;
1882 ((void (*)(val
* self
, val
* p0
, long p1
))(var232
->class->vft
[COLOR_standard__array__Array__with_native
]))(var232
, var234
, var233
) /* with_native on <var232:Array[Object]>*/;
1886 var235
= ((val
* (*)(val
* self
))(var232
->class->vft
[COLOR_standard__string__Object__to_s
]))(var232
) /* to_s on <var232:Array[Object]>*/;
1889 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var235
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1892 BREAK_label
: (void)0;
1895 var237
= standard___standard__Int___Discrete__successor(var_i
, var236
);
1899 goto BREAK_label238
;
1902 BREAK_label238
: (void)0;
1904 var240
= varonce239
;
1908 var243
= standard___standard__NativeString___to_s_with_length(var241
, var242
);
1910 varonce239
= var240
;
1913 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var240
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1916 var245
= varonce244
;
1920 var248
= standard___standard__NativeString___to_s_with_length(var246
, var247
);
1922 varonce244
= var245
;
1925 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var245
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
1930 var250
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
1933 var252
= varonce251
;
1937 var255
= standard___standard__NativeString___to_s_with_length(var253
, var254
);
1939 varonce251
= var252
;
1942 { /* Inline kernel#Object#!= (var250,var252) on <var250:String> */
1945 var258
= ((short int (*)(val
* self
, val
* p0
))(var250
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var250
, var_other
) /* == on <var250:String>*/;
1950 RET_LABEL257
:(void)0;
1958 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
1959 var263
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
1960 if (unlikely(var263
== NULL
)) {
1961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1962 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
1966 RET_LABEL262
:(void)0;
1970 { /* Inline model#MClass#name (var261) on <var261:MClass> */
1971 var266
= var261
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var261:MClass> */
1972 if (unlikely(var266
== NULL
)) {
1973 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1974 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
1978 RET_LABEL265
:(void)0;
1982 var268
= varonce267
;
1986 var271
= standard___standard__NativeString___to_s_with_length(var269
, var270
);
1988 varonce267
= var268
;
1991 var272
= ((short int (*)(val
* self
, val
* p0
))(var264
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var264
, var268
) /* == on <var264:String>*/;
1997 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
1998 var275
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
1999 if (unlikely(var275
== NULL
)) {
2000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2005 RET_LABEL274
:(void)0;
2009 var277
= varonce276
;
2011 var278
= "struct instance_";
2013 var280
= standard___standard__NativeString___to_s_with_length(var278
, var279
);
2015 varonce276
= var277
;
2018 var282
= varonce281
;
2022 var285
= standard___standard__NativeString___to_s_with_length(var283
, var284
);
2024 varonce281
= var282
;
2026 var286
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2027 { /* var286 = array_instance Array[Object] */
2029 var288
= NEW_standard__NativeArray(var287
, &type_standard__NativeArray__standard__Object
);
2030 ((struct instance_standard__NativeArray
*)var288
)->values
[0] = (val
*) var277
;
2031 ((struct instance_standard__NativeArray
*)var288
)->values
[1] = (val
*) var_c_name
;
2032 ((struct instance_standard__NativeArray
*)var288
)->values
[2] = (val
*) var282
;
2034 ((void (*)(val
* self
, val
* p0
, long p1
))(var286
->class->vft
[COLOR_standard__array__Array__with_native
]))(var286
, var288
, var287
) /* with_native on <var286:Array[Object]>*/;
2038 var289
= ((val
* (*)(val
* self
))(var286
->class->vft
[COLOR_standard__string__Object__to_s
]))(var286
) /* to_s on <var286:Array[Object]>*/;
2041 nit___nit__CodeWriter___add_decl(var273
, var289
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var273:CodeWriter>*/
2044 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2045 var292
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2046 if (unlikely(var292
== NULL
)) {
2047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2052 RET_LABEL291
:(void)0;
2056 var294
= varonce293
;
2058 var295
= "const struct type *type;";
2060 var297
= standard___standard__NativeString___to_s_with_length(var295
, var296
);
2062 varonce293
= var294
;
2065 nit___nit__CodeWriter___add_decl(var290
, var294
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var290:CodeWriter>*/
2068 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2069 var300
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2070 if (unlikely(var300
== NULL
)) {
2071 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2072 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2076 RET_LABEL299
:(void)0;
2080 var302
= varonce301
;
2082 var303
= "const struct class *class;";
2084 var305
= standard___standard__NativeString___to_s_with_length(var303
, var304
);
2086 varonce301
= var302
;
2089 nit___nit__CodeWriter___add_decl(var298
, var302
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var298:CodeWriter>*/
2092 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2093 var308
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2094 if (unlikely(var308
== NULL
)) {
2095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2100 RET_LABEL307
:(void)0;
2104 var309
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2107 var311
= varonce310
;
2111 var314
= standard___standard__NativeString___to_s_with_length(var312
, var313
);
2113 varonce310
= var311
;
2115 var315
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2116 { /* var315 = array_instance Array[Object] */
2118 var317
= NEW_standard__NativeArray(var316
, &type_standard__NativeArray__standard__Object
);
2119 ((struct instance_standard__NativeArray
*)var317
)->values
[0] = (val
*) var309
;
2120 ((struct instance_standard__NativeArray
*)var317
)->values
[1] = (val
*) var311
;
2122 ((void (*)(val
* self
, val
* p0
, long p1
))(var315
->class->vft
[COLOR_standard__array__Array__with_native
]))(var315
, var317
, var316
) /* with_native on <var315:Array[Object]>*/;
2126 var318
= ((val
* (*)(val
* self
))(var315
->class->vft
[COLOR_standard__string__Object__to_s
]))(var315
) /* to_s on <var315:Array[Object]>*/;
2129 nit___nit__CodeWriter___add_decl(var306
, var318
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var306:CodeWriter>*/
2132 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
2133 var321
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
2134 if (unlikely(var321
== NULL
)) {
2135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2136 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2140 RET_LABEL320
:(void)0;
2144 var323
= varonce322
;
2148 var326
= standard___standard__NativeString___to_s_with_length(var324
, var325
);
2150 varonce322
= var323
;
2153 nit___nit__CodeWriter___add_decl(var319
, var323
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var319:CodeWriter>*/
2155 if (var_rta
== NULL
) {
2156 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2157 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 727);
2160 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var_rta) on <var_rta:nullable RapidTypeAnalysis> */
2161 if (unlikely(var_rta
== NULL
)) {
2162 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2163 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
2166 var330
= var_rta
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var_rta:nullable RapidTypeAnalysis> */
2167 if (unlikely(var330
== NULL
)) {
2168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
2169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
2173 RET_LABEL329
:(void)0;
2177 var331
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var328
, var_mtype
);
2183 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2184 var336
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2185 if (unlikely(var336
== NULL
)) {
2186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2191 RET_LABEL335
:(void)0;
2195 { /* Inline model#MClass#name (var334) on <var334:MClass> */
2196 var339
= var334
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var334:MClass> */
2197 if (unlikely(var339
== NULL
)) {
2198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2203 RET_LABEL338
:(void)0;
2207 var341
= varonce340
;
2211 var344
= standard___standard__NativeString___to_s_with_length(var342
, var343
);
2213 varonce340
= var341
;
2216 { /* Inline kernel#Object#!= (var337,var341) on <var337:String> */
2219 var347
= ((short int (*)(val
* self
, val
* p0
))(var337
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var337
, var_other
) /* == on <var337:String>*/;
2224 RET_LABEL346
:(void)0;
2236 var350
= varonce349
;
2240 var353
= standard___standard__NativeString___to_s_with_length(var351
, var352
);
2242 varonce349
= var350
;
2244 var354
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2245 { /* var354 = array_instance Array[Object] */
2247 var356
= NEW_standard__NativeArray(var355
, &type_standard__NativeArray__standard__Object
);
2248 ((struct instance_standard__NativeArray
*)var356
)->values
[0] = (val
*) var350
;
2249 ((struct instance_standard__NativeArray
*)var356
)->values
[1] = (val
*) var_c_name
;
2251 ((void (*)(val
* self
, val
* p0
, long p1
))(var354
->class->vft
[COLOR_standard__array__Array__with_native
]))(var354
, var356
, var355
) /* with_native on <var354:Array[Object]>*/;
2255 var357
= ((val
* (*)(val
* self
))(var354
->class->vft
[COLOR_standard__string__Object__to_s
]))(var354
) /* to_s on <var354:Array[Object]>*/;
2258 var359
= varonce358
;
2260 var360
= "val* BOX_";
2262 var362
= standard___standard__NativeString___to_s_with_length(var360
, var361
);
2264 varonce358
= var359
;
2267 var364
= varonce363
;
2271 var367
= standard___standard__NativeString___to_s_with_length(var365
, var366
);
2273 varonce363
= var364
;
2276 var368
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2279 var370
= varonce369
;
2283 var373
= standard___standard__NativeString___to_s_with_length(var371
, var372
);
2285 varonce369
= var370
;
2287 var374
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2288 { /* var374 = array_instance Array[Object] */
2290 var376
= NEW_standard__NativeArray(var375
, &type_standard__NativeArray__standard__Object
);
2291 ((struct instance_standard__NativeArray
*)var376
)->values
[0] = (val
*) var359
;
2292 ((struct instance_standard__NativeArray
*)var376
)->values
[1] = (val
*) var_c_name
;
2293 ((struct instance_standard__NativeArray
*)var376
)->values
[2] = (val
*) var364
;
2294 ((struct instance_standard__NativeArray
*)var376
)->values
[3] = (val
*) var368
;
2295 ((struct instance_standard__NativeArray
*)var376
)->values
[4] = (val
*) var370
;
2297 ((void (*)(val
* self
, val
* p0
, long p1
))(var374
->class->vft
[COLOR_standard__array__Array__with_native
]))(var374
, var376
, var375
) /* with_native on <var374:Array[Object]>*/;
2301 var377
= ((val
* (*)(val
* self
))(var374
->class->vft
[COLOR_standard__string__Object__to_s
]))(var374
) /* to_s on <var374:Array[Object]>*/;
2304 nit___nit__AbstractCompiler___provide_declaration(self
, var357
, var377
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2307 var379
= varonce378
;
2309 var380
= "/* allocate ";
2311 var382
= standard___standard__NativeString___to_s_with_length(var380
, var381
);
2313 varonce378
= var379
;
2316 var384
= varonce383
;
2320 var387
= standard___standard__NativeString___to_s_with_length(var385
, var386
);
2322 varonce383
= var384
;
2324 var388
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2325 { /* var388 = array_instance Array[Object] */
2327 var390
= NEW_standard__NativeArray(var389
, &type_standard__NativeArray__standard__Object
);
2328 ((struct instance_standard__NativeArray
*)var390
)->values
[0] = (val
*) var379
;
2329 ((struct instance_standard__NativeArray
*)var390
)->values
[1] = (val
*) var_mtype
;
2330 ((struct instance_standard__NativeArray
*)var390
)->values
[2] = (val
*) var384
;
2332 ((void (*)(val
* self
, val
* p0
, long p1
))(var388
->class->vft
[COLOR_standard__array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
2336 var391
= ((val
* (*)(val
* self
))(var388
->class->vft
[COLOR_standard__string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
2339 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var391
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2342 var393
= varonce392
;
2344 var394
= "val* BOX_";
2346 var396
= standard___standard__NativeString___to_s_with_length(var394
, var395
);
2348 varonce392
= var393
;
2351 var397
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
2354 var399
= varonce398
;
2358 var402
= standard___standard__NativeString___to_s_with_length(var400
, var401
);
2360 varonce398
= var399
;
2363 var403
= nit__abstract_compiler___MClassType___MType__ctype_extern(var_mtype
);
2366 var405
= varonce404
;
2368 var406
= " value) {";
2370 var408
= standard___standard__NativeString___to_s_with_length(var406
, var407
);
2372 varonce404
= var405
;
2374 var409
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2375 { /* var409 = array_instance Array[Object] */
2377 var411
= NEW_standard__NativeArray(var410
, &type_standard__NativeArray__standard__Object
);
2378 ((struct instance_standard__NativeArray
*)var411
)->values
[0] = (val
*) var393
;
2379 ((struct instance_standard__NativeArray
*)var411
)->values
[1] = (val
*) var397
;
2380 ((struct instance_standard__NativeArray
*)var411
)->values
[2] = (val
*) var399
;
2381 ((struct instance_standard__NativeArray
*)var411
)->values
[3] = (val
*) var403
;
2382 ((struct instance_standard__NativeArray
*)var411
)->values
[4] = (val
*) var405
;
2384 ((void (*)(val
* self
, val
* p0
, long p1
))(var409
->class->vft
[COLOR_standard__array__Array__with_native
]))(var409
, var411
, var410
) /* with_native on <var409:Array[Object]>*/;
2388 var412
= ((val
* (*)(val
* self
))(var409
->class->vft
[COLOR_standard__string__Object__to_s
]))(var409
) /* to_s on <var409:Array[Object]>*/;
2391 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var412
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2394 var414
= varonce413
;
2396 var415
= "struct instance_";
2398 var417
= standard___standard__NativeString___to_s_with_length(var415
, var416
);
2400 varonce413
= var414
;
2403 var419
= varonce418
;
2405 var420
= "*res = nit_alloc(sizeof(struct instance_";
2407 var422
= standard___standard__NativeString___to_s_with_length(var420
, var421
);
2409 varonce418
= var419
;
2412 var424
= varonce423
;
2416 var427
= standard___standard__NativeString___to_s_with_length(var425
, var426
);
2418 varonce423
= var424
;
2420 var428
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2421 { /* var428 = array_instance Array[Object] */
2423 var430
= NEW_standard__NativeArray(var429
, &type_standard__NativeArray__standard__Object
);
2424 ((struct instance_standard__NativeArray
*)var430
)->values
[0] = (val
*) var414
;
2425 ((struct instance_standard__NativeArray
*)var430
)->values
[1] = (val
*) var_c_name
;
2426 ((struct instance_standard__NativeArray
*)var430
)->values
[2] = (val
*) var419
;
2427 ((struct instance_standard__NativeArray
*)var430
)->values
[3] = (val
*) var_c_name
;
2428 ((struct instance_standard__NativeArray
*)var430
)->values
[4] = (val
*) var424
;
2430 ((void (*)(val
* self
, val
* p0
, long p1
))(var428
->class->vft
[COLOR_standard__array__Array__with_native
]))(var428
, var430
, var429
) /* with_native on <var428:Array[Object]>*/;
2434 var431
= ((val
* (*)(val
* self
))(var428
->class->vft
[COLOR_standard__string__Object__to_s
]))(var428
) /* to_s on <var428:Array[Object]>*/;
2437 nit___nit__AbstractCompilerVisitor___add(var_v
, var431
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2440 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
2441 var434
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
2442 if (unlikely(var434
== NULL
)) {
2443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2444 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
2448 RET_LABEL433
:(void)0;
2452 { /* Inline separate_compiler#SeparateCompiler#undead_types (var432) on <var432:AbstractCompiler(SeparateCompiler)> */
2453 var437
= var432
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var432:AbstractCompiler(SeparateCompiler)> */
2454 if (unlikely(var437
== NULL
)) {
2455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
2456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 121);
2460 RET_LABEL436
:(void)0;
2464 ((void (*)(val
* self
, val
* p0
))(var435
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var435
, var_mtype
) /* add on <var435:Set[MType]>*/;
2467 var439
= varonce438
;
2471 var442
= standard___standard__NativeString___to_s_with_length(var440
, var441
);
2473 varonce438
= var439
;
2475 var443
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2476 { /* var443 = array_instance Array[Object] */
2478 var445
= NEW_standard__NativeArray(var444
, &type_standard__NativeArray__standard__Object
);
2479 ((struct instance_standard__NativeArray
*)var445
)->values
[0] = (val
*) var439
;
2480 ((struct instance_standard__NativeArray
*)var445
)->values
[1] = (val
*) var_c_name
;
2482 ((void (*)(val
* self
, val
* p0
, long p1
))(var443
->class->vft
[COLOR_standard__array__Array__with_native
]))(var443
, var445
, var444
) /* with_native on <var443:Array[Object]>*/;
2486 var446
= ((val
* (*)(val
* self
))(var443
->class->vft
[COLOR_standard__string__Object__to_s
]))(var443
) /* to_s on <var443:Array[Object]>*/;
2489 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var446
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2492 var448
= varonce447
;
2494 var449
= "res->type = &type_";
2496 var451
= standard___standard__NativeString___to_s_with_length(var449
, var450
);
2498 varonce447
= var448
;
2501 var453
= varonce452
;
2505 var456
= standard___standard__NativeString___to_s_with_length(var454
, var455
);
2507 varonce452
= var453
;
2509 var457
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2510 { /* var457 = array_instance Array[Object] */
2512 var459
= NEW_standard__NativeArray(var458
, &type_standard__NativeArray__standard__Object
);
2513 ((struct instance_standard__NativeArray
*)var459
)->values
[0] = (val
*) var448
;
2514 ((struct instance_standard__NativeArray
*)var459
)->values
[1] = (val
*) var_c_name
;
2515 ((struct instance_standard__NativeArray
*)var459
)->values
[2] = (val
*) var453
;
2517 ((void (*)(val
* self
, val
* p0
, long p1
))(var457
->class->vft
[COLOR_standard__array__Array__with_native
]))(var457
, var459
, var458
) /* with_native on <var457:Array[Object]>*/;
2521 var460
= ((val
* (*)(val
* self
))(var457
->class->vft
[COLOR_standard__string__Object__to_s
]))(var457
) /* to_s on <var457:Array[Object]>*/;
2524 nit___nit__AbstractCompilerVisitor___add(var_v
, var460
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2527 var462
= varonce461
;
2531 var465
= standard___standard__NativeString___to_s_with_length(var463
, var464
);
2533 varonce461
= var462
;
2535 var466
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2536 { /* var466 = array_instance Array[Object] */
2538 var468
= NEW_standard__NativeArray(var467
, &type_standard__NativeArray__standard__Object
);
2539 ((struct instance_standard__NativeArray
*)var468
)->values
[0] = (val
*) var462
;
2540 ((struct instance_standard__NativeArray
*)var468
)->values
[1] = (val
*) var_c_name
;
2542 ((void (*)(val
* self
, val
* p0
, long p1
))(var466
->class->vft
[COLOR_standard__array__Array__with_native
]))(var466
, var468
, var467
) /* with_native on <var466:Array[Object]>*/;
2546 var469
= ((val
* (*)(val
* self
))(var466
->class->vft
[COLOR_standard__string__Object__to_s
]))(var466
) /* to_s on <var466:Array[Object]>*/;
2549 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var469
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2552 var471
= varonce470
;
2554 var472
= "res->class = &class_";
2556 var474
= standard___standard__NativeString___to_s_with_length(var472
, var473
);
2558 varonce470
= var471
;
2561 var476
= varonce475
;
2565 var479
= standard___standard__NativeString___to_s_with_length(var477
, var478
);
2567 varonce475
= var476
;
2569 var480
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2570 { /* var480 = array_instance Array[Object] */
2572 var482
= NEW_standard__NativeArray(var481
, &type_standard__NativeArray__standard__Object
);
2573 ((struct instance_standard__NativeArray
*)var482
)->values
[0] = (val
*) var471
;
2574 ((struct instance_standard__NativeArray
*)var482
)->values
[1] = (val
*) var_c_name
;
2575 ((struct instance_standard__NativeArray
*)var482
)->values
[2] = (val
*) var476
;
2577 ((void (*)(val
* self
, val
* p0
, long p1
))(var480
->class->vft
[COLOR_standard__array__Array__with_native
]))(var480
, var482
, var481
) /* with_native on <var480:Array[Object]>*/;
2581 var483
= ((val
* (*)(val
* self
))(var480
->class->vft
[COLOR_standard__string__Object__to_s
]))(var480
) /* to_s on <var480:Array[Object]>*/;
2584 nit___nit__AbstractCompilerVisitor___add(var_v
, var483
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2587 var485
= varonce484
;
2589 var486
= "res->value = value;";
2591 var488
= standard___standard__NativeString___to_s_with_length(var486
, var487
);
2593 varonce484
= var485
;
2596 nit___nit__AbstractCompilerVisitor___add(var_v
, var485
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2599 var490
= varonce489
;
2601 var491
= "return (val*)res;";
2603 var493
= standard___standard__NativeString___to_s_with_length(var491
, var492
);
2605 varonce489
= var490
;
2608 nit___nit__AbstractCompilerVisitor___add(var_v
, var490
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2611 var495
= varonce494
;
2615 var498
= standard___standard__NativeString___to_s_with_length(var496
, var497
);
2617 varonce494
= var495
;
2620 nit___nit__AbstractCompilerVisitor___add(var_v
, var495
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2623 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
2624 var501
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
2625 if (unlikely(var501
== NULL
)) {
2626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
2627 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
2631 RET_LABEL500
:(void)0;
2635 { /* Inline model#MClass#name (var499) on <var499:MClass> */
2636 var504
= var499
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var499:MClass> */
2637 if (unlikely(var504
== NULL
)) {
2638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
2643 RET_LABEL503
:(void)0;
2647 var506
= varonce505
;
2651 var509
= standard___standard__NativeString___to_s_with_length(var507
, var508
);
2653 varonce505
= var506
;
2656 { /* Inline kernel#Object#!= (var502,var506) on <var502:String> */
2659 var512
= ((short int (*)(val
* self
, val
* p0
))(var502
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var502
, var_other
) /* == on <var502:String>*/;
2664 RET_LABEL511
:(void)0;
2672 var514
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:SeparateCompiler>*/;
2676 var516
= varonce515
;
2680 var519
= standard___standard__NativeString___to_s_with_length(var517
, var518
);
2682 varonce515
= var516
;
2684 var520
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2685 { /* var520 = array_instance Array[Object] */
2687 var522
= NEW_standard__NativeArray(var521
, &type_standard__NativeArray__standard__Object
);
2688 ((struct instance_standard__NativeArray
*)var522
)->values
[0] = (val
*) var516
;
2689 ((struct instance_standard__NativeArray
*)var522
)->values
[1] = (val
*) var_c_name
;
2691 ((void (*)(val
* self
, val
* p0
, long p1
))(var520
->class->vft
[COLOR_standard__array__Array__with_native
]))(var520
, var522
, var521
) /* with_native on <var520:Array[Object]>*/;
2695 var523
= ((val
* (*)(val
* self
))(var520
->class->vft
[COLOR_standard__string__Object__to_s
]))(var520
) /* to_s on <var520:Array[Object]>*/;
2698 var524
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
2701 var526
= varonce525
;
2705 var529
= standard___standard__NativeString___to_s_with_length(var527
, var528
);
2707 varonce525
= var526
;
2710 var531
= varonce530
;
2712 var532
= "(const struct type* type);";
2714 var534
= standard___standard__NativeString___to_s_with_length(var532
, var533
);
2716 varonce530
= var531
;
2718 var535
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2719 { /* var535 = array_instance Array[Object] */
2721 var537
= NEW_standard__NativeArray(var536
, &type_standard__NativeArray__standard__Object
);
2722 ((struct instance_standard__NativeArray
*)var537
)->values
[0] = (val
*) var524
;
2723 ((struct instance_standard__NativeArray
*)var537
)->values
[1] = (val
*) var526
;
2724 ((struct instance_standard__NativeArray
*)var537
)->values
[2] = (val
*) var_c_name
;
2725 ((struct instance_standard__NativeArray
*)var537
)->values
[3] = (val
*) var531
;
2727 ((void (*)(val
* self
, val
* p0
, long p1
))(var535
->class->vft
[COLOR_standard__array__Array__with_native
]))(var535
, var537
, var536
) /* with_native on <var535:Array[Object]>*/;
2731 var538
= ((val
* (*)(val
* self
))(var535
->class->vft
[COLOR_standard__string__Object__to_s
]))(var535
) /* to_s on <var535:Array[Object]>*/;
2734 nit___nit__AbstractCompiler___provide_declaration(self
, var523
, var538
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
2737 var540
= varonce539
;
2739 var541
= "/* allocate ";
2741 var543
= standard___standard__NativeString___to_s_with_length(var541
, var542
);
2743 varonce539
= var540
;
2746 var545
= varonce544
;
2750 var548
= standard___standard__NativeString___to_s_with_length(var546
, var547
);
2752 varonce544
= var545
;
2754 var549
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2755 { /* var549 = array_instance Array[Object] */
2757 var551
= NEW_standard__NativeArray(var550
, &type_standard__NativeArray__standard__Object
);
2758 ((struct instance_standard__NativeArray
*)var551
)->values
[0] = (val
*) var540
;
2759 ((struct instance_standard__NativeArray
*)var551
)->values
[1] = (val
*) var_mtype
;
2760 ((struct instance_standard__NativeArray
*)var551
)->values
[2] = (val
*) var545
;
2762 ((void (*)(val
* self
, val
* p0
, long p1
))(var549
->class->vft
[COLOR_standard__array__Array__with_native
]))(var549
, var551
, var550
) /* with_native on <var549:Array[Object]>*/;
2766 var552
= ((val
* (*)(val
* self
))(var549
->class->vft
[COLOR_standard__string__Object__to_s
]))(var549
) /* to_s on <var549:Array[Object]>*/;
2769 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var552
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2772 var553
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
2775 var555
= varonce554
;
2779 var558
= standard___standard__NativeString___to_s_with_length(var556
, var557
);
2781 varonce554
= var555
;
2784 var560
= varonce559
;
2786 var561
= "(const struct type* type) {";
2788 var563
= standard___standard__NativeString___to_s_with_length(var561
, var562
);
2790 varonce559
= var560
;
2792 var564
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2793 { /* var564 = array_instance Array[Object] */
2795 var566
= NEW_standard__NativeArray(var565
, &type_standard__NativeArray__standard__Object
);
2796 ((struct instance_standard__NativeArray
*)var566
)->values
[0] = (val
*) var553
;
2797 ((struct instance_standard__NativeArray
*)var566
)->values
[1] = (val
*) var555
;
2798 ((struct instance_standard__NativeArray
*)var566
)->values
[2] = (val
*) var_c_name
;
2799 ((struct instance_standard__NativeArray
*)var566
)->values
[3] = (val
*) var560
;
2801 ((void (*)(val
* self
, val
* p0
, long p1
))(var564
->class->vft
[COLOR_standard__array__Array__with_native
]))(var564
, var566
, var565
) /* with_native on <var564:Array[Object]>*/;
2805 var567
= ((val
* (*)(val
* self
))(var564
->class->vft
[COLOR_standard__string__Object__to_s
]))(var564
) /* to_s on <var564:Array[Object]>*/;
2808 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var567
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
2812 var569
= varonce568
;
2814 var570
= " is DEAD";
2816 var572
= standard___standard__NativeString___to_s_with_length(var570
, var571
);
2818 varonce568
= var569
;
2820 var573
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2821 { /* var573 = array_instance Array[Object] */
2823 var575
= NEW_standard__NativeArray(var574
, &type_standard__NativeArray__standard__Object
);
2824 ((struct instance_standard__NativeArray
*)var575
)->values
[0] = (val
*) var_mclass
;
2825 ((struct instance_standard__NativeArray
*)var575
)->values
[1] = (val
*) var569
;
2827 ((void (*)(val
* self
, val
* p0
, long p1
))(var573
->class->vft
[COLOR_standard__array__Array__with_native
]))(var573
, var575
, var574
) /* with_native on <var573:Array[Object]>*/;
2831 var576
= ((val
* (*)(val
* self
))(var573
->class->vft
[COLOR_standard__string__Object__to_s
]))(var573
) /* to_s on <var573:Array[Object]>*/;
2834 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var576
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
2838 var578
= varonce577
;
2842 var581
= standard___standard__NativeString___to_s_with_length(var579
, var580
);
2844 varonce577
= var578
;
2847 var582
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var578
);
2852 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res,var583) on <var_res:RuntimeVariable> */
2853 var_res
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= var583
; /* _is_exact on <var_res:RuntimeVariable> */
2854 RET_LABEL584
:(void)0;
2858 var586
= varonce585
;
2860 var587
= " = nit_alloc(sizeof(struct instance_";
2862 var589
= standard___standard__NativeString___to_s_with_length(var587
, var588
);
2864 varonce585
= var586
;
2867 var590
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
2870 var592
= varonce591
;
2874 var595
= standard___standard__NativeString___to_s_with_length(var593
, var594
);
2876 varonce591
= var592
;
2878 var596
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2879 { /* var596 = array_instance Array[Object] */
2881 var598
= NEW_standard__NativeArray(var597
, &type_standard__NativeArray__standard__Object
);
2882 ((struct instance_standard__NativeArray
*)var598
)->values
[0] = (val
*) var_res
;
2883 ((struct instance_standard__NativeArray
*)var598
)->values
[1] = (val
*) var586
;
2884 ((struct instance_standard__NativeArray
*)var598
)->values
[2] = (val
*) var590
;
2885 ((struct instance_standard__NativeArray
*)var598
)->values
[3] = (val
*) var592
;
2887 ((void (*)(val
* self
, val
* p0
, long p1
))(var596
->class->vft
[COLOR_standard__array__Array__with_native
]))(var596
, var598
, var597
) /* with_native on <var596:Array[Object]>*/;
2891 var599
= ((val
* (*)(val
* self
))(var596
->class->vft
[COLOR_standard__string__Object__to_s
]))(var596
) /* to_s on <var596:Array[Object]>*/;
2894 nit___nit__AbstractCompilerVisitor___add(var_v
, var599
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2897 var601
= varonce600
;
2899 var602
= "->type = type;";
2901 var604
= standard___standard__NativeString___to_s_with_length(var602
, var603
);
2903 varonce600
= var601
;
2905 var605
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2906 { /* var605 = array_instance Array[Object] */
2908 var607
= NEW_standard__NativeArray(var606
, &type_standard__NativeArray__standard__Object
);
2909 ((struct instance_standard__NativeArray
*)var607
)->values
[0] = (val
*) var_res
;
2910 ((struct instance_standard__NativeArray
*)var607
)->values
[1] = (val
*) var601
;
2912 ((void (*)(val
* self
, val
* p0
, long p1
))(var605
->class->vft
[COLOR_standard__array__Array__with_native
]))(var605
, var607
, var606
) /* with_native on <var605:Array[Object]>*/;
2916 var608
= ((val
* (*)(val
* self
))(var605
->class->vft
[COLOR_standard__string__Object__to_s
]))(var605
) /* to_s on <var605:Array[Object]>*/;
2919 nit___nit__AbstractCompilerVisitor___add(var_v
, var608
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2922 var610
= varonce609
;
2926 var613
= standard___standard__NativeString___to_s_with_length(var611
, var612
);
2928 varonce609
= var610
;
2931 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var610
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
2934 var615
= varonce614
;
2938 var618
= standard___standard__NativeString___to_s_with_length(var616
, var617
);
2940 varonce614
= var615
;
2942 var619
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2943 { /* var619 = array_instance Array[Object] */
2945 var621
= NEW_standard__NativeArray(var620
, &type_standard__NativeArray__standard__Object
);
2946 ((struct instance_standard__NativeArray
*)var621
)->values
[0] = (val
*) var615
;
2947 ((struct instance_standard__NativeArray
*)var621
)->values
[1] = (val
*) var_c_name
;
2949 ((void (*)(val
* self
, val
* p0
, long p1
))(var619
->class->vft
[COLOR_standard__array__Array__with_native
]))(var619
, var621
, var620
) /* with_native on <var619:Array[Object]>*/;
2953 var622
= ((val
* (*)(val
* self
))(var619
->class->vft
[COLOR_standard__string__Object__to_s
]))(var619
) /* to_s on <var619:Array[Object]>*/;
2956 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var622
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
2959 var624
= varonce623
;
2961 var625
= "->class = &class_";
2963 var627
= standard___standard__NativeString___to_s_with_length(var625
, var626
);
2965 varonce623
= var624
;
2968 var629
= varonce628
;
2972 var632
= standard___standard__NativeString___to_s_with_length(var630
, var631
);
2974 varonce628
= var629
;
2976 var633
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2977 { /* var633 = array_instance Array[Object] */
2979 var635
= NEW_standard__NativeArray(var634
, &type_standard__NativeArray__standard__Object
);
2980 ((struct instance_standard__NativeArray
*)var635
)->values
[0] = (val
*) var_res
;
2981 ((struct instance_standard__NativeArray
*)var635
)->values
[1] = (val
*) var624
;
2982 ((struct instance_standard__NativeArray
*)var635
)->values
[2] = (val
*) var_c_name
;
2983 ((struct instance_standard__NativeArray
*)var635
)->values
[3] = (val
*) var629
;
2985 ((void (*)(val
* self
, val
* p0
, long p1
))(var633
->class->vft
[COLOR_standard__array__Array__with_native
]))(var633
, var635
, var634
) /* with_native on <var633:Array[Object]>*/;
2989 var636
= ((val
* (*)(val
* self
))(var633
->class->vft
[COLOR_standard__string__Object__to_s
]))(var633
) /* to_s on <var633:Array[Object]>*/;
2992 nit___nit__AbstractCompilerVisitor___add(var_v
, var636
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
2995 var638
= varonce637
;
2997 var639
= "((struct instance_";
2999 var641
= standard___standard__NativeString___to_s_with_length(var639
, var640
);
3001 varonce637
= var638
;
3004 var642
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MClassType>*/;
3007 var644
= varonce643
;
3011 var647
= standard___standard__NativeString___to_s_with_length(var645
, var646
);
3013 varonce643
= var644
;
3016 var649
= varonce648
;
3018 var650
= ")->value = NULL;";
3020 var652
= standard___standard__NativeString___to_s_with_length(var650
, var651
);
3022 varonce648
= var649
;
3024 var653
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3025 { /* var653 = array_instance Array[Object] */
3027 var655
= NEW_standard__NativeArray(var654
, &type_standard__NativeArray__standard__Object
);
3028 ((struct instance_standard__NativeArray
*)var655
)->values
[0] = (val
*) var638
;
3029 ((struct instance_standard__NativeArray
*)var655
)->values
[1] = (val
*) var642
;
3030 ((struct instance_standard__NativeArray
*)var655
)->values
[2] = (val
*) var644
;
3031 ((struct instance_standard__NativeArray
*)var655
)->values
[3] = (val
*) var_res
;
3032 ((struct instance_standard__NativeArray
*)var655
)->values
[4] = (val
*) var649
;
3034 ((void (*)(val
* self
, val
* p0
, long p1
))(var653
->class->vft
[COLOR_standard__array__Array__with_native
]))(var653
, var655
, var654
) /* with_native on <var653:Array[Object]>*/;
3038 var656
= ((val
* (*)(val
* self
))(var653
->class->vft
[COLOR_standard__string__Object__to_s
]))(var653
) /* to_s on <var653:Array[Object]>*/;
3041 nit___nit__AbstractCompilerVisitor___add(var_v
, var656
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3044 var658
= varonce657
;
3048 var661
= standard___standard__NativeString___to_s_with_length(var659
, var660
);
3050 varonce657
= var658
;
3053 var663
= varonce662
;
3057 var666
= standard___standard__NativeString___to_s_with_length(var664
, var665
);
3059 varonce662
= var663
;
3061 var667
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3062 { /* var667 = array_instance Array[Object] */
3064 var669
= NEW_standard__NativeArray(var668
, &type_standard__NativeArray__standard__Object
);
3065 ((struct instance_standard__NativeArray
*)var669
)->values
[0] = (val
*) var658
;
3066 ((struct instance_standard__NativeArray
*)var669
)->values
[1] = (val
*) var_res
;
3067 ((struct instance_standard__NativeArray
*)var669
)->values
[2] = (val
*) var663
;
3069 ((void (*)(val
* self
, val
* p0
, long p1
))(var667
->class->vft
[COLOR_standard__array__Array__with_native
]))(var667
, var669
, var668
) /* with_native on <var667:Array[Object]>*/;
3073 var670
= ((val
* (*)(val
* self
))(var667
->class->vft
[COLOR_standard__string__Object__to_s
]))(var667
) /* to_s on <var667:Array[Object]>*/;
3076 nit___nit__AbstractCompilerVisitor___add(var_v
, var670
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3080 var672
= varonce671
;
3084 var675
= standard___standard__NativeString___to_s_with_length(var673
, var674
);
3086 varonce671
= var672
;
3089 nit___nit__AbstractCompilerVisitor___add(var_v
, var672
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3094 { /* Inline model#MClass#name (var_mclass) on <var_mclass:MClass> */
3095 var678
= var_mclass
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var_mclass:MClass> */
3096 if (unlikely(var678
== NULL
)) {
3097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
3102 RET_LABEL677
:(void)0;
3106 var680
= varonce679
;
3108 var681
= "NativeArray";
3110 var683
= standard___standard__NativeString___to_s_with_length(var681
, var682
);
3112 varonce679
= var680
;
3115 var684
= ((short int (*)(val
* self
, val
* p0
))(var676
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var676
, var680
) /* == on <var676:String>*/;
3119 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3120 var687
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3121 if (unlikely(var687
== NULL
)) {
3122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3127 RET_LABEL686
:(void)0;
3131 var689
= varonce688
;
3133 var690
= "struct instance_";
3135 var692
= standard___standard__NativeString___to_s_with_length(var690
, var691
);
3137 varonce688
= var689
;
3140 var694
= varonce693
;
3144 var697
= standard___standard__NativeString___to_s_with_length(var695
, var696
);
3146 varonce693
= var694
;
3148 var698
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3149 { /* var698 = array_instance Array[Object] */
3151 var700
= NEW_standard__NativeArray(var699
, &type_standard__NativeArray__standard__Object
);
3152 ((struct instance_standard__NativeArray
*)var700
)->values
[0] = (val
*) var689
;
3153 ((struct instance_standard__NativeArray
*)var700
)->values
[1] = (val
*) var_c_name
;
3154 ((struct instance_standard__NativeArray
*)var700
)->values
[2] = (val
*) var694
;
3156 ((void (*)(val
* self
, val
* p0
, long p1
))(var698
->class->vft
[COLOR_standard__array__Array__with_native
]))(var698
, var700
, var699
) /* with_native on <var698:Array[Object]>*/;
3160 var701
= ((val
* (*)(val
* self
))(var698
->class->vft
[COLOR_standard__string__Object__to_s
]))(var698
) /* to_s on <var698:Array[Object]>*/;
3163 nit___nit__CodeWriter___add_decl(var685
, var701
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var685:CodeWriter>*/
3166 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3167 var704
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3168 if (unlikely(var704
== NULL
)) {
3169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3174 RET_LABEL703
:(void)0;
3178 var706
= varonce705
;
3180 var707
= "const struct type *type;";
3182 var709
= standard___standard__NativeString___to_s_with_length(var707
, var708
);
3184 varonce705
= var706
;
3187 nit___nit__CodeWriter___add_decl(var702
, var706
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var702:CodeWriter>*/
3190 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3191 var712
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3192 if (unlikely(var712
== NULL
)) {
3193 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3194 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3198 RET_LABEL711
:(void)0;
3202 var714
= varonce713
;
3204 var715
= "const struct class *class;";
3206 var717
= standard___standard__NativeString___to_s_with_length(var715
, var716
);
3208 varonce713
= var714
;
3211 nit___nit__CodeWriter___add_decl(var710
, var714
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var710:CodeWriter>*/
3214 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3215 var720
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3216 if (unlikely(var720
== NULL
)) {
3217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3222 RET_LABEL719
:(void)0;
3226 var722
= varonce721
;
3228 var723
= "int length;";
3230 var725
= standard___standard__NativeString___to_s_with_length(var723
, var724
);
3232 varonce721
= var722
;
3235 nit___nit__CodeWriter___add_decl(var718
, var722
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var718:CodeWriter>*/
3238 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3239 var728
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3240 if (unlikely(var728
== NULL
)) {
3241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3246 RET_LABEL727
:(void)0;
3250 var730
= varonce729
;
3252 var731
= "val* values[0];";
3254 var733
= standard___standard__NativeString___to_s_with_length(var731
, var732
);
3256 varonce729
= var730
;
3259 nit___nit__CodeWriter___add_decl(var726
, var730
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var726:CodeWriter>*/
3262 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
3263 var736
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
3264 if (unlikely(var736
== NULL
)) {
3265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3266 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3270 RET_LABEL735
:(void)0;
3274 var738
= varonce737
;
3278 var741
= standard___standard__NativeString___to_s_with_length(var739
, var740
);
3280 varonce737
= var738
;
3283 nit___nit__CodeWriter___add_decl(var734
, var738
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var734:CodeWriter>*/
3286 var743
= varonce742
;
3290 var746
= standard___standard__NativeString___to_s_with_length(var744
, var745
);
3292 varonce742
= var743
;
3294 var747
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3295 { /* var747 = array_instance Array[Object] */
3297 var749
= NEW_standard__NativeArray(var748
, &type_standard__NativeArray__standard__Object
);
3298 ((struct instance_standard__NativeArray
*)var749
)->values
[0] = (val
*) var743
;
3299 ((struct instance_standard__NativeArray
*)var749
)->values
[1] = (val
*) var_c_name
;
3301 ((void (*)(val
* self
, val
* p0
, long p1
))(var747
->class->vft
[COLOR_standard__array__Array__with_native
]))(var747
, var749
, var748
) /* with_native on <var747:Array[Object]>*/;
3305 var750
= ((val
* (*)(val
* self
))(var747
->class->vft
[COLOR_standard__string__Object__to_s
]))(var747
) /* to_s on <var747:Array[Object]>*/;
3308 var751
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3311 var753
= varonce752
;
3315 var756
= standard___standard__NativeString___to_s_with_length(var754
, var755
);
3317 varonce752
= var753
;
3320 var758
= varonce757
;
3322 var759
= "(int length, const struct type* type);";
3324 var761
= standard___standard__NativeString___to_s_with_length(var759
, var760
);
3326 varonce757
= var758
;
3328 var762
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3329 { /* var762 = array_instance Array[Object] */
3331 var764
= NEW_standard__NativeArray(var763
, &type_standard__NativeArray__standard__Object
);
3332 ((struct instance_standard__NativeArray
*)var764
)->values
[0] = (val
*) var751
;
3333 ((struct instance_standard__NativeArray
*)var764
)->values
[1] = (val
*) var753
;
3334 ((struct instance_standard__NativeArray
*)var764
)->values
[2] = (val
*) var_c_name
;
3335 ((struct instance_standard__NativeArray
*)var764
)->values
[3] = (val
*) var758
;
3337 ((void (*)(val
* self
, val
* p0
, long p1
))(var762
->class->vft
[COLOR_standard__array__Array__with_native
]))(var762
, var764
, var763
) /* with_native on <var762:Array[Object]>*/;
3341 var765
= ((val
* (*)(val
* self
))(var762
->class->vft
[COLOR_standard__string__Object__to_s
]))(var762
) /* to_s on <var762:Array[Object]>*/;
3344 nit___nit__AbstractCompiler___provide_declaration(self
, var750
, var765
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3347 var767
= varonce766
;
3349 var768
= "/* allocate ";
3351 var770
= standard___standard__NativeString___to_s_with_length(var768
, var769
);
3353 varonce766
= var767
;
3356 var772
= varonce771
;
3360 var775
= standard___standard__NativeString___to_s_with_length(var773
, var774
);
3362 varonce771
= var772
;
3364 var776
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3365 { /* var776 = array_instance Array[Object] */
3367 var778
= NEW_standard__NativeArray(var777
, &type_standard__NativeArray__standard__Object
);
3368 ((struct instance_standard__NativeArray
*)var778
)->values
[0] = (val
*) var767
;
3369 ((struct instance_standard__NativeArray
*)var778
)->values
[1] = (val
*) var_mtype
;
3370 ((struct instance_standard__NativeArray
*)var778
)->values
[2] = (val
*) var772
;
3372 ((void (*)(val
* self
, val
* p0
, long p1
))(var776
->class->vft
[COLOR_standard__array__Array__with_native
]))(var776
, var778
, var777
) /* with_native on <var776:Array[Object]>*/;
3376 var779
= ((val
* (*)(val
* self
))(var776
->class->vft
[COLOR_standard__string__Object__to_s
]))(var776
) /* to_s on <var776:Array[Object]>*/;
3379 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var779
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3382 var780
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3385 var782
= varonce781
;
3389 var785
= standard___standard__NativeString___to_s_with_length(var783
, var784
);
3391 varonce781
= var782
;
3394 var787
= varonce786
;
3396 var788
= "(int length, const struct type* type) {";
3398 var790
= standard___standard__NativeString___to_s_with_length(var788
, var789
);
3400 varonce786
= var787
;
3402 var791
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3403 { /* var791 = array_instance Array[Object] */
3405 var793
= NEW_standard__NativeArray(var792
, &type_standard__NativeArray__standard__Object
);
3406 ((struct instance_standard__NativeArray
*)var793
)->values
[0] = (val
*) var780
;
3407 ((struct instance_standard__NativeArray
*)var793
)->values
[1] = (val
*) var782
;
3408 ((struct instance_standard__NativeArray
*)var793
)->values
[2] = (val
*) var_c_name
;
3409 ((struct instance_standard__NativeArray
*)var793
)->values
[3] = (val
*) var787
;
3411 ((void (*)(val
* self
, val
* p0
, long p1
))(var791
->class->vft
[COLOR_standard__array__Array__with_native
]))(var791
, var793
, var792
) /* with_native on <var791:Array[Object]>*/;
3415 var794
= ((val
* (*)(val
* self
))(var791
->class->vft
[COLOR_standard__string__Object__to_s
]))(var791
) /* to_s on <var791:Array[Object]>*/;
3418 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var794
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3421 var796
= varonce795
;
3425 var799
= standard___standard__NativeString___to_s_with_length(var797
, var798
);
3427 varonce795
= var796
;
3430 var800
= nit___nit__AbstractCompilerVisitor___get_name(var_v
, var796
);
3432 var_res801
= var800
;
3434 var803
= varonce802
;
3436 var804
= "struct instance_";
3438 var806
= standard___standard__NativeString___to_s_with_length(var804
, var805
);
3440 varonce802
= var803
;
3443 var808
= varonce807
;
3447 var811
= standard___standard__NativeString___to_s_with_length(var809
, var810
);
3449 varonce807
= var808
;
3452 var813
= varonce812
;
3456 var816
= standard___standard__NativeString___to_s_with_length(var814
, var815
);
3458 varonce812
= var813
;
3460 var817
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3461 { /* var817 = array_instance Array[Object] */
3463 var819
= NEW_standard__NativeArray(var818
, &type_standard__NativeArray__standard__Object
);
3464 ((struct instance_standard__NativeArray
*)var819
)->values
[0] = (val
*) var803
;
3465 ((struct instance_standard__NativeArray
*)var819
)->values
[1] = (val
*) var_c_name
;
3466 ((struct instance_standard__NativeArray
*)var819
)->values
[2] = (val
*) var808
;
3467 ((struct instance_standard__NativeArray
*)var819
)->values
[3] = (val
*) var_res801
;
3468 ((struct instance_standard__NativeArray
*)var819
)->values
[4] = (val
*) var813
;
3470 ((void (*)(val
* self
, val
* p0
, long p1
))(var817
->class->vft
[COLOR_standard__array__Array__with_native
]))(var817
, var819
, var818
) /* with_native on <var817:Array[Object]>*/;
3474 var820
= ((val
* (*)(val
* self
))(var817
->class->vft
[COLOR_standard__string__Object__to_s
]))(var817
) /* to_s on <var817:Array[Object]>*/;
3477 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var820
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3480 var821
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MClassType__arguments
]))(var_mtype
) /* arguments on <var_mtype:MClassType>*/;
3483 var822
= standard___standard__SequenceRead___Collection__first(var821
);
3485 var_mtype_elt
= var822
;
3487 var824
= varonce823
;
3489 var825
= " = nit_alloc(sizeof(struct instance_";
3491 var827
= standard___standard__NativeString___to_s_with_length(var825
, var826
);
3493 varonce823
= var824
;
3496 var829
= varonce828
;
3498 var830
= ") + length*sizeof(";
3500 var832
= standard___standard__NativeString___to_s_with_length(var830
, var831
);
3502 varonce828
= var829
;
3505 var833
= ((val
* (*)(val
* self
))(var_mtype_elt
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype_elt
) /* ctype on <var_mtype_elt:MType>*/;
3508 var835
= varonce834
;
3512 var838
= standard___standard__NativeString___to_s_with_length(var836
, var837
);
3514 varonce834
= var835
;
3516 var839
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3517 { /* var839 = array_instance Array[Object] */
3519 var841
= NEW_standard__NativeArray(var840
, &type_standard__NativeArray__standard__Object
);
3520 ((struct instance_standard__NativeArray
*)var841
)->values
[0] = (val
*) var_res801
;
3521 ((struct instance_standard__NativeArray
*)var841
)->values
[1] = (val
*) var824
;
3522 ((struct instance_standard__NativeArray
*)var841
)->values
[2] = (val
*) var_c_name
;
3523 ((struct instance_standard__NativeArray
*)var841
)->values
[3] = (val
*) var829
;
3524 ((struct instance_standard__NativeArray
*)var841
)->values
[4] = (val
*) var833
;
3525 ((struct instance_standard__NativeArray
*)var841
)->values
[5] = (val
*) var835
;
3527 ((void (*)(val
* self
, val
* p0
, long p1
))(var839
->class->vft
[COLOR_standard__array__Array__with_native
]))(var839
, var841
, var840
) /* with_native on <var839:Array[Object]>*/;
3531 var842
= ((val
* (*)(val
* self
))(var839
->class->vft
[COLOR_standard__string__Object__to_s
]))(var839
) /* to_s on <var839:Array[Object]>*/;
3534 nit___nit__AbstractCompilerVisitor___add(var_v
, var842
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3537 var844
= varonce843
;
3539 var845
= "->type = type;";
3541 var847
= standard___standard__NativeString___to_s_with_length(var845
, var846
);
3543 varonce843
= var844
;
3545 var848
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3546 { /* var848 = array_instance Array[Object] */
3548 var850
= NEW_standard__NativeArray(var849
, &type_standard__NativeArray__standard__Object
);
3549 ((struct instance_standard__NativeArray
*)var850
)->values
[0] = (val
*) var_res801
;
3550 ((struct instance_standard__NativeArray
*)var850
)->values
[1] = (val
*) var844
;
3552 ((void (*)(val
* self
, val
* p0
, long p1
))(var848
->class->vft
[COLOR_standard__array__Array__with_native
]))(var848
, var850
, var849
) /* with_native on <var848:Array[Object]>*/;
3556 var851
= ((val
* (*)(val
* self
))(var848
->class->vft
[COLOR_standard__string__Object__to_s
]))(var848
) /* to_s on <var848:Array[Object]>*/;
3559 nit___nit__AbstractCompilerVisitor___add(var_v
, var851
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3562 var853
= varonce852
;
3566 var856
= standard___standard__NativeString___to_s_with_length(var854
, var855
);
3568 varonce852
= var853
;
3571 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var853
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
3574 var858
= varonce857
;
3578 var861
= standard___standard__NativeString___to_s_with_length(var859
, var860
);
3580 varonce857
= var858
;
3582 var862
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3583 { /* var862 = array_instance Array[Object] */
3585 var864
= NEW_standard__NativeArray(var863
, &type_standard__NativeArray__standard__Object
);
3586 ((struct instance_standard__NativeArray
*)var864
)->values
[0] = (val
*) var858
;
3587 ((struct instance_standard__NativeArray
*)var864
)->values
[1] = (val
*) var_c_name
;
3589 ((void (*)(val
* self
, val
* p0
, long p1
))(var862
->class->vft
[COLOR_standard__array__Array__with_native
]))(var862
, var864
, var863
) /* with_native on <var862:Array[Object]>*/;
3593 var865
= ((val
* (*)(val
* self
))(var862
->class->vft
[COLOR_standard__string__Object__to_s
]))(var862
) /* to_s on <var862:Array[Object]>*/;
3596 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var865
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
3599 var867
= varonce866
;
3601 var868
= "->class = &class_";
3603 var870
= standard___standard__NativeString___to_s_with_length(var868
, var869
);
3605 varonce866
= var867
;
3608 var872
= varonce871
;
3612 var875
= standard___standard__NativeString___to_s_with_length(var873
, var874
);
3614 varonce871
= var872
;
3616 var876
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3617 { /* var876 = array_instance Array[Object] */
3619 var878
= NEW_standard__NativeArray(var877
, &type_standard__NativeArray__standard__Object
);
3620 ((struct instance_standard__NativeArray
*)var878
)->values
[0] = (val
*) var_res801
;
3621 ((struct instance_standard__NativeArray
*)var878
)->values
[1] = (val
*) var867
;
3622 ((struct instance_standard__NativeArray
*)var878
)->values
[2] = (val
*) var_c_name
;
3623 ((struct instance_standard__NativeArray
*)var878
)->values
[3] = (val
*) var872
;
3625 ((void (*)(val
* self
, val
* p0
, long p1
))(var876
->class->vft
[COLOR_standard__array__Array__with_native
]))(var876
, var878
, var877
) /* with_native on <var876:Array[Object]>*/;
3629 var879
= ((val
* (*)(val
* self
))(var876
->class->vft
[COLOR_standard__string__Object__to_s
]))(var876
) /* to_s on <var876:Array[Object]>*/;
3632 nit___nit__AbstractCompilerVisitor___add(var_v
, var879
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3635 var881
= varonce880
;
3637 var882
= "->length = length;";
3639 var884
= standard___standard__NativeString___to_s_with_length(var882
, var883
);
3641 varonce880
= var881
;
3643 var885
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3644 { /* var885 = array_instance Array[Object] */
3646 var887
= NEW_standard__NativeArray(var886
, &type_standard__NativeArray__standard__Object
);
3647 ((struct instance_standard__NativeArray
*)var887
)->values
[0] = (val
*) var_res801
;
3648 ((struct instance_standard__NativeArray
*)var887
)->values
[1] = (val
*) var881
;
3650 ((void (*)(val
* self
, val
* p0
, long p1
))(var885
->class->vft
[COLOR_standard__array__Array__with_native
]))(var885
, var887
, var886
) /* with_native on <var885:Array[Object]>*/;
3654 var888
= ((val
* (*)(val
* self
))(var885
->class->vft
[COLOR_standard__string__Object__to_s
]))(var885
) /* to_s on <var885:Array[Object]>*/;
3657 nit___nit__AbstractCompilerVisitor___add(var_v
, var888
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3660 var890
= varonce889
;
3662 var891
= "return (val*)";
3664 var893
= standard___standard__NativeString___to_s_with_length(var891
, var892
);
3666 varonce889
= var890
;
3669 var895
= varonce894
;
3673 var898
= standard___standard__NativeString___to_s_with_length(var896
, var897
);
3675 varonce894
= var895
;
3677 var899
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3678 { /* var899 = array_instance Array[Object] */
3680 var901
= NEW_standard__NativeArray(var900
, &type_standard__NativeArray__standard__Object
);
3681 ((struct instance_standard__NativeArray
*)var901
)->values
[0] = (val
*) var890
;
3682 ((struct instance_standard__NativeArray
*)var901
)->values
[1] = (val
*) var_res801
;
3683 ((struct instance_standard__NativeArray
*)var901
)->values
[2] = (val
*) var895
;
3685 ((void (*)(val
* self
, val
* p0
, long p1
))(var899
->class->vft
[COLOR_standard__array__Array__with_native
]))(var899
, var901
, var900
) /* with_native on <var899:Array[Object]>*/;
3689 var902
= ((val
* (*)(val
* self
))(var899
->class->vft
[COLOR_standard__string__Object__to_s
]))(var899
) /* to_s on <var899:Array[Object]>*/;
3692 nit___nit__AbstractCompilerVisitor___add(var_v
, var902
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3695 var904
= varonce903
;
3699 var907
= standard___standard__NativeString___to_s_with_length(var905
, var906
);
3701 varonce903
= var904
;
3704 nit___nit__AbstractCompilerVisitor___add(var_v
, var904
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
3709 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3710 var911
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3711 if (unlikely(var911
== NULL
)) {
3712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3713 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3717 RET_LABEL910
:(void)0;
3721 { /* Inline model#MClass#kind (var909) on <var909:MClass> */
3722 var914
= var909
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var909:MClass> */
3723 if (unlikely(var914
== NULL
)) {
3724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3725 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3729 RET_LABEL913
:(void)0;
3733 var915
= nit__model___standard__Object___extern_kind(self
);
3736 { /* Inline kernel#Object#== (var912,var915) on <var912:MClassKind> */
3737 var_other149
= var915
;
3739 { /* Inline kernel#Object#is_same_instance (var912,var_other149) on <var912:MClassKind> */
3740 var920
= var912
== var_other149
;
3743 RET_LABEL919
:(void)0;
3748 RET_LABEL917
:(void)0;
3754 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
3755 var924
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
3756 if (unlikely(var924
== NULL
)) {
3757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3758 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3762 RET_LABEL923
:(void)0;
3766 { /* Inline model#MClass#name (var922) on <var922:MClass> */
3767 var927
= var922
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var922:MClass> */
3768 if (unlikely(var927
== NULL
)) {
3769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
3774 RET_LABEL926
:(void)0;
3778 var929
= varonce928
;
3780 var930
= "NativeString";
3782 var932
= standard___standard__NativeString___to_s_with_length(var930
, var931
);
3784 varonce928
= var929
;
3787 { /* Inline kernel#Object#!= (var925,var929) on <var925:String> */
3790 var935
= ((short int (*)(val
* self
, val
* p0
))(var925
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var925
, var_other
) /* == on <var925:String>*/;
3795 RET_LABEL934
:(void)0;
3804 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
3805 var939
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
3806 if (unlikely(var939
== NULL
)) {
3807 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3808 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
3812 RET_LABEL938
:(void)0;
3816 var940
= nit__model___MModule___pointer_type(var937
);
3818 var_pointer_type
= var940
;
3820 var942
= varonce941
;
3824 var945
= standard___standard__NativeString___to_s_with_length(var943
, var944
);
3826 varonce941
= var942
;
3828 var946
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3829 { /* var946 = array_instance Array[Object] */
3831 var948
= NEW_standard__NativeArray(var947
, &type_standard__NativeArray__standard__Object
);
3832 ((struct instance_standard__NativeArray
*)var948
)->values
[0] = (val
*) var942
;
3833 ((struct instance_standard__NativeArray
*)var948
)->values
[1] = (val
*) var_c_name
;
3835 ((void (*)(val
* self
, val
* p0
, long p1
))(var946
->class->vft
[COLOR_standard__array__Array__with_native
]))(var946
, var948
, var947
) /* with_native on <var946:Array[Object]>*/;
3839 var949
= ((val
* (*)(val
* self
))(var946
->class->vft
[COLOR_standard__string__Object__to_s
]))(var946
) /* to_s on <var946:Array[Object]>*/;
3842 var950
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3845 var952
= varonce951
;
3849 var955
= standard___standard__NativeString___to_s_with_length(var953
, var954
);
3851 varonce951
= var952
;
3854 var957
= varonce956
;
3856 var958
= "(const struct type* type);";
3858 var960
= standard___standard__NativeString___to_s_with_length(var958
, var959
);
3860 varonce956
= var957
;
3862 var961
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3863 { /* var961 = array_instance Array[Object] */
3865 var963
= NEW_standard__NativeArray(var962
, &type_standard__NativeArray__standard__Object
);
3866 ((struct instance_standard__NativeArray
*)var963
)->values
[0] = (val
*) var950
;
3867 ((struct instance_standard__NativeArray
*)var963
)->values
[1] = (val
*) var952
;
3868 ((struct instance_standard__NativeArray
*)var963
)->values
[2] = (val
*) var_c_name
;
3869 ((struct instance_standard__NativeArray
*)var963
)->values
[3] = (val
*) var957
;
3871 ((void (*)(val
* self
, val
* p0
, long p1
))(var961
->class->vft
[COLOR_standard__array__Array__with_native
]))(var961
, var963
, var962
) /* with_native on <var961:Array[Object]>*/;
3875 var964
= ((val
* (*)(val
* self
))(var961
->class->vft
[COLOR_standard__string__Object__to_s
]))(var961
) /* to_s on <var961:Array[Object]>*/;
3878 nit___nit__AbstractCompiler___provide_declaration(self
, var949
, var964
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
3881 var966
= varonce965
;
3883 var967
= "/* allocate ";
3885 var969
= standard___standard__NativeString___to_s_with_length(var967
, var968
);
3887 varonce965
= var966
;
3890 var971
= varonce970
;
3894 var974
= standard___standard__NativeString___to_s_with_length(var972
, var973
);
3896 varonce970
= var971
;
3898 var975
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3899 { /* var975 = array_instance Array[Object] */
3901 var977
= NEW_standard__NativeArray(var976
, &type_standard__NativeArray__standard__Object
);
3902 ((struct instance_standard__NativeArray
*)var977
)->values
[0] = (val
*) var966
;
3903 ((struct instance_standard__NativeArray
*)var977
)->values
[1] = (val
*) var_mtype
;
3904 ((struct instance_standard__NativeArray
*)var977
)->values
[2] = (val
*) var971
;
3906 ((void (*)(val
* self
, val
* p0
, long p1
))(var975
->class->vft
[COLOR_standard__array__Array__with_native
]))(var975
, var977
, var976
) /* with_native on <var975:Array[Object]>*/;
3910 var978
= ((val
* (*)(val
* self
))(var975
->class->vft
[COLOR_standard__string__Object__to_s
]))(var975
) /* to_s on <var975:Array[Object]>*/;
3913 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var978
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3916 var979
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
3919 var981
= varonce980
;
3923 var984
= standard___standard__NativeString___to_s_with_length(var982
, var983
);
3925 varonce980
= var981
;
3928 var986
= varonce985
;
3930 var987
= "(const struct type* type) {";
3932 var989
= standard___standard__NativeString___to_s_with_length(var987
, var988
);
3934 varonce985
= var986
;
3936 var990
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3937 { /* var990 = array_instance Array[Object] */
3939 var992
= NEW_standard__NativeArray(var991
, &type_standard__NativeArray__standard__Object
);
3940 ((struct instance_standard__NativeArray
*)var992
)->values
[0] = (val
*) var979
;
3941 ((struct instance_standard__NativeArray
*)var992
)->values
[1] = (val
*) var981
;
3942 ((struct instance_standard__NativeArray
*)var992
)->values
[2] = (val
*) var_c_name
;
3943 ((struct instance_standard__NativeArray
*)var992
)->values
[3] = (val
*) var986
;
3945 ((void (*)(val
* self
, val
* p0
, long p1
))(var990
->class->vft
[COLOR_standard__array__Array__with_native
]))(var990
, var992
, var991
) /* with_native on <var990:Array[Object]>*/;
3949 var993
= ((val
* (*)(val
* self
))(var990
->class->vft
[COLOR_standard__string__Object__to_s
]))(var990
) /* to_s on <var990:Array[Object]>*/;
3952 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var993
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
3956 var995
= varonce994
;
3958 var996
= " is DEAD";
3960 var998
= standard___standard__NativeString___to_s_with_length(var996
, var997
);
3962 varonce994
= var995
;
3964 var999
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3965 { /* var999 = array_instance Array[Object] */
3967 var1001
= NEW_standard__NativeArray(var1000
, &type_standard__NativeArray__standard__Object
);
3968 ((struct instance_standard__NativeArray
*)var1001
)->values
[0] = (val
*) var_mclass
;
3969 ((struct instance_standard__NativeArray
*)var1001
)->values
[1] = (val
*) var995
;
3971 ((void (*)(val
* self
, val
* p0
, long p1
))(var999
->class->vft
[COLOR_standard__array__Array__with_native
]))(var999
, var1001
, var1000
) /* with_native on <var999:Array[Object]>*/;
3975 var1002
= ((val
* (*)(val
* self
))(var999
->class->vft
[COLOR_standard__string__Object__to_s
]))(var999
) /* to_s on <var999:Array[Object]>*/;
3978 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var1002
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
3982 var1004
= varonce1003
;
3986 var1007
= standard___standard__NativeString___to_s_with_length(var1005
, var1006
);
3988 varonce1003
= var1004
;
3991 var1008
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var1004
);
3993 var_res1009
= var1008
;
3996 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res1009,var1010) on <var_res1009:RuntimeVariable> */
3997 var_res1009
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= var1010
; /* _is_exact on <var_res1009:RuntimeVariable> */
3998 RET_LABEL1011
:(void)0;
4002 var1013
= varonce1012
;
4004 var1014
= " = nit_alloc(sizeof(struct instance_";
4006 var1016
= standard___standard__NativeString___to_s_with_length(var1014
, var1015
);
4008 varonce1012
= var1013
;
4011 var1017
= ((val
* (*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
4014 var1019
= varonce1018
;
4018 var1022
= standard___standard__NativeString___to_s_with_length(var1020
, var1021
);
4020 varonce1018
= var1019
;
4022 var1023
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4023 { /* var1023 = array_instance Array[Object] */
4025 var1025
= NEW_standard__NativeArray(var1024
, &type_standard__NativeArray__standard__Object
);
4026 ((struct instance_standard__NativeArray
*)var1025
)->values
[0] = (val
*) var_res1009
;
4027 ((struct instance_standard__NativeArray
*)var1025
)->values
[1] = (val
*) var1013
;
4028 ((struct instance_standard__NativeArray
*)var1025
)->values
[2] = (val
*) var1017
;
4029 ((struct instance_standard__NativeArray
*)var1025
)->values
[3] = (val
*) var1019
;
4031 ((void (*)(val
* self
, val
* p0
, long p1
))(var1023
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1023
, var1025
, var1024
) /* with_native on <var1023:Array[Object]>*/;
4035 var1026
= ((val
* (*)(val
* self
))(var1023
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1023
) /* to_s on <var1023:Array[Object]>*/;
4038 nit___nit__AbstractCompilerVisitor___add(var_v
, var1026
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4041 var1028
= varonce1027
;
4043 var1029
= "->type = type;";
4045 var1031
= standard___standard__NativeString___to_s_with_length(var1029
, var1030
);
4047 varonce1027
= var1028
;
4049 var1032
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4050 { /* var1032 = array_instance Array[Object] */
4052 var1034
= NEW_standard__NativeArray(var1033
, &type_standard__NativeArray__standard__Object
);
4053 ((struct instance_standard__NativeArray
*)var1034
)->values
[0] = (val
*) var_res1009
;
4054 ((struct instance_standard__NativeArray
*)var1034
)->values
[1] = (val
*) var1028
;
4056 ((void (*)(val
* self
, val
* p0
, long p1
))(var1032
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1032
, var1034
, var1033
) /* with_native on <var1032:Array[Object]>*/;
4060 var1035
= ((val
* (*)(val
* self
))(var1032
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1032
) /* to_s on <var1032:Array[Object]>*/;
4063 nit___nit__AbstractCompilerVisitor___add(var_v
, var1035
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4066 var1037
= varonce1036
;
4070 var1040
= standard___standard__NativeString___to_s_with_length(var1038
, var1039
);
4072 varonce1036
= var1037
;
4075 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var1037
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4078 var1042
= varonce1041
;
4082 var1045
= standard___standard__NativeString___to_s_with_length(var1043
, var1044
);
4084 varonce1041
= var1042
;
4086 var1046
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4087 { /* var1046 = array_instance Array[Object] */
4089 var1048
= NEW_standard__NativeArray(var1047
, &type_standard__NativeArray__standard__Object
);
4090 ((struct instance_standard__NativeArray
*)var1048
)->values
[0] = (val
*) var1042
;
4091 ((struct instance_standard__NativeArray
*)var1048
)->values
[1] = (val
*) var_c_name
;
4093 ((void (*)(val
* self
, val
* p0
, long p1
))(var1046
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1046
, var1048
, var1047
) /* with_native on <var1046:Array[Object]>*/;
4097 var1049
= ((val
* (*)(val
* self
))(var1046
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1046
) /* to_s on <var1046:Array[Object]>*/;
4100 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var1049
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4103 var1051
= varonce1050
;
4105 var1052
= "->class = &class_";
4107 var1054
= standard___standard__NativeString___to_s_with_length(var1052
, var1053
);
4109 varonce1050
= var1051
;
4112 var1056
= varonce1055
;
4116 var1059
= standard___standard__NativeString___to_s_with_length(var1057
, var1058
);
4118 varonce1055
= var1056
;
4120 var1060
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4121 { /* var1060 = array_instance Array[Object] */
4123 var1062
= NEW_standard__NativeArray(var1061
, &type_standard__NativeArray__standard__Object
);
4124 ((struct instance_standard__NativeArray
*)var1062
)->values
[0] = (val
*) var_res1009
;
4125 ((struct instance_standard__NativeArray
*)var1062
)->values
[1] = (val
*) var1051
;
4126 ((struct instance_standard__NativeArray
*)var1062
)->values
[2] = (val
*) var_c_name
;
4127 ((struct instance_standard__NativeArray
*)var1062
)->values
[3] = (val
*) var1056
;
4129 ((void (*)(val
* self
, val
* p0
, long p1
))(var1060
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1060
, var1062
, var1061
) /* with_native on <var1060:Array[Object]>*/;
4133 var1063
= ((val
* (*)(val
* self
))(var1060
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1060
) /* to_s on <var1060:Array[Object]>*/;
4136 nit___nit__AbstractCompilerVisitor___add(var_v
, var1063
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4139 var1065
= varonce1064
;
4141 var1066
= "((struct instance_";
4143 var1068
= standard___standard__NativeString___to_s_with_length(var1066
, var1067
);
4145 varonce1064
= var1065
;
4148 var1069
= ((val
* (*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
4151 var1071
= varonce1070
;
4155 var1074
= standard___standard__NativeString___to_s_with_length(var1072
, var1073
);
4157 varonce1070
= var1071
;
4160 var1076
= varonce1075
;
4162 var1077
= ")->value = NULL;";
4164 var1079
= standard___standard__NativeString___to_s_with_length(var1077
, var1078
);
4166 varonce1075
= var1076
;
4168 var1080
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4169 { /* var1080 = array_instance Array[Object] */
4171 var1082
= NEW_standard__NativeArray(var1081
, &type_standard__NativeArray__standard__Object
);
4172 ((struct instance_standard__NativeArray
*)var1082
)->values
[0] = (val
*) var1065
;
4173 ((struct instance_standard__NativeArray
*)var1082
)->values
[1] = (val
*) var1069
;
4174 ((struct instance_standard__NativeArray
*)var1082
)->values
[2] = (val
*) var1071
;
4175 ((struct instance_standard__NativeArray
*)var1082
)->values
[3] = (val
*) var_res1009
;
4176 ((struct instance_standard__NativeArray
*)var1082
)->values
[4] = (val
*) var1076
;
4178 ((void (*)(val
* self
, val
* p0
, long p1
))(var1080
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1080
, var1082
, var1081
) /* with_native on <var1080:Array[Object]>*/;
4182 var1083
= ((val
* (*)(val
* self
))(var1080
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1080
) /* to_s on <var1080:Array[Object]>*/;
4185 nit___nit__AbstractCompilerVisitor___add(var_v
, var1083
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4188 var1085
= varonce1084
;
4190 var1086
= "return ";
4192 var1088
= standard___standard__NativeString___to_s_with_length(var1086
, var1087
);
4194 varonce1084
= var1085
;
4197 var1090
= varonce1089
;
4201 var1093
= standard___standard__NativeString___to_s_with_length(var1091
, var1092
);
4203 varonce1089
= var1090
;
4205 var1094
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4206 { /* var1094 = array_instance Array[Object] */
4208 var1096
= NEW_standard__NativeArray(var1095
, &type_standard__NativeArray__standard__Object
);
4209 ((struct instance_standard__NativeArray
*)var1096
)->values
[0] = (val
*) var1085
;
4210 ((struct instance_standard__NativeArray
*)var1096
)->values
[1] = (val
*) var_res1009
;
4211 ((struct instance_standard__NativeArray
*)var1096
)->values
[2] = (val
*) var1090
;
4213 ((void (*)(val
* self
, val
* p0
, long p1
))(var1094
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1094
, var1096
, var1095
) /* with_native on <var1094:Array[Object]>*/;
4217 var1097
= ((val
* (*)(val
* self
))(var1094
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1094
) /* to_s on <var1094:Array[Object]>*/;
4220 nit___nit__AbstractCompilerVisitor___add(var_v
, var1097
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4224 var1099
= varonce1098
;
4228 var1102
= standard___standard__NativeString___to_s_with_length(var1100
, var1101
);
4230 varonce1098
= var1099
;
4233 nit___nit__AbstractCompilerVisitor___add(var_v
, var1099
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4241 var1104
= varonce1103
;
4245 var1107
= standard___standard__NativeString___to_s_with_length(var1105
, var1106
);
4247 varonce1103
= var1104
;
4249 var1108
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4250 { /* var1108 = array_instance Array[Object] */
4252 var1110
= NEW_standard__NativeArray(var1109
, &type_standard__NativeArray__standard__Object
);
4253 ((struct instance_standard__NativeArray
*)var1110
)->values
[0] = (val
*) var1104
;
4254 ((struct instance_standard__NativeArray
*)var1110
)->values
[1] = (val
*) var_c_name
;
4256 ((void (*)(val
* self
, val
* p0
, long p1
))(var1108
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1108
, var1110
, var1109
) /* with_native on <var1108:Array[Object]>*/;
4260 var1111
= ((val
* (*)(val
* self
))(var1108
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1108
) /* to_s on <var1108:Array[Object]>*/;
4263 var1112
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4266 var1114
= varonce1113
;
4270 var1117
= standard___standard__NativeString___to_s_with_length(var1115
, var1116
);
4272 varonce1113
= var1114
;
4275 var1119
= varonce1118
;
4277 var1120
= "(const struct type* type);";
4279 var1122
= standard___standard__NativeString___to_s_with_length(var1120
, var1121
);
4281 varonce1118
= var1119
;
4283 var1123
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4284 { /* var1123 = array_instance Array[Object] */
4286 var1125
= NEW_standard__NativeArray(var1124
, &type_standard__NativeArray__standard__Object
);
4287 ((struct instance_standard__NativeArray
*)var1125
)->values
[0] = (val
*) var1112
;
4288 ((struct instance_standard__NativeArray
*)var1125
)->values
[1] = (val
*) var1114
;
4289 ((struct instance_standard__NativeArray
*)var1125
)->values
[2] = (val
*) var_c_name
;
4290 ((struct instance_standard__NativeArray
*)var1125
)->values
[3] = (val
*) var1119
;
4292 ((void (*)(val
* self
, val
* p0
, long p1
))(var1123
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1123
, var1125
, var1124
) /* with_native on <var1123:Array[Object]>*/;
4296 var1126
= ((val
* (*)(val
* self
))(var1123
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1123
) /* to_s on <var1123:Array[Object]>*/;
4299 nit___nit__AbstractCompiler___provide_declaration(self
, var1111
, var1126
); /* Direct call abstract_compiler#AbstractCompiler#provide_declaration on <self:SeparateCompiler>*/
4302 var1128
= varonce1127
;
4304 var1129
= "/* allocate ";
4306 var1131
= standard___standard__NativeString___to_s_with_length(var1129
, var1130
);
4308 varonce1127
= var1128
;
4311 var1133
= varonce1132
;
4315 var1136
= standard___standard__NativeString___to_s_with_length(var1134
, var1135
);
4317 varonce1132
= var1133
;
4319 var1137
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4320 { /* var1137 = array_instance Array[Object] */
4322 var1139
= NEW_standard__NativeArray(var1138
, &type_standard__NativeArray__standard__Object
);
4323 ((struct instance_standard__NativeArray
*)var1139
)->values
[0] = (val
*) var1128
;
4324 ((struct instance_standard__NativeArray
*)var1139
)->values
[1] = (val
*) var_mtype
;
4325 ((struct instance_standard__NativeArray
*)var1139
)->values
[2] = (val
*) var1133
;
4327 ((void (*)(val
* self
, val
* p0
, long p1
))(var1137
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1137
, var1139
, var1138
) /* with_native on <var1137:Array[Object]>*/;
4331 var1140
= ((val
* (*)(val
* self
))(var1137
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1137
) /* to_s on <var1137:Array[Object]>*/;
4334 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var1140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4337 var1141
= nit__abstract_compiler___MClassType___MType__ctype(var_mtype
);
4340 var1143
= varonce1142
;
4344 var1146
= standard___standard__NativeString___to_s_with_length(var1144
, var1145
);
4346 varonce1142
= var1143
;
4349 var1148
= varonce1147
;
4351 var1149
= "(const struct type* type) {";
4353 var1151
= standard___standard__NativeString___to_s_with_length(var1149
, var1150
);
4355 varonce1147
= var1148
;
4357 var1152
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4358 { /* var1152 = array_instance Array[Object] */
4360 var1154
= NEW_standard__NativeArray(var1153
, &type_standard__NativeArray__standard__Object
);
4361 ((struct instance_standard__NativeArray
*)var1154
)->values
[0] = (val
*) var1141
;
4362 ((struct instance_standard__NativeArray
*)var1154
)->values
[1] = (val
*) var1143
;
4363 ((struct instance_standard__NativeArray
*)var1154
)->values
[2] = (val
*) var_c_name
;
4364 ((struct instance_standard__NativeArray
*)var1154
)->values
[3] = (val
*) var1148
;
4366 ((void (*)(val
* self
, val
* p0
, long p1
))(var1152
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1152
, var1154
, var1153
) /* with_native on <var1152:Array[Object]>*/;
4370 var1155
= ((val
* (*)(val
* self
))(var1152
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1152
) /* to_s on <var1152:Array[Object]>*/;
4373 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var1155
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:SeparateCompilerVisitor>*/
4377 var1157
= varonce1156
;
4379 var1158
= " is DEAD";
4381 var1160
= standard___standard__NativeString___to_s_with_length(var1158
, var1159
);
4383 varonce1156
= var1157
;
4385 var1161
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4386 { /* var1161 = array_instance Array[Object] */
4388 var1163
= NEW_standard__NativeArray(var1162
, &type_standard__NativeArray__standard__Object
);
4389 ((struct instance_standard__NativeArray
*)var1163
)->values
[0] = (val
*) var_mclass
;
4390 ((struct instance_standard__NativeArray
*)var1163
)->values
[1] = (val
*) var1157
;
4392 ((void (*)(val
* self
, val
* p0
, long p1
))(var1161
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1161
, var1163
, var1162
) /* with_native on <var1161:Array[Object]>*/;
4396 var1164
= ((val
* (*)(val
* self
))(var1161
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1161
) /* to_s on <var1161:Array[Object]>*/;
4399 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var1164
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4403 var1166
= varonce1165
;
4407 var1169
= standard___standard__NativeString___to_s_with_length(var1167
, var1168
);
4409 varonce1165
= var1166
;
4412 var1170
= nit___nit__AbstractCompilerVisitor___new_named_var(var_v
, var_mtype
, var1166
);
4414 var_res1171
= var1170
;
4417 { /* Inline abstract_compiler#RuntimeVariable#is_exact= (var_res1171,var1172) on <var_res1171:RuntimeVariable> */
4418 var_res1171
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___is_exact
].s
= var1172
; /* _is_exact on <var_res1171:RuntimeVariable> */
4419 RET_LABEL1173
:(void)0;
4423 var1175
= varonce1174
;
4425 var1176
= " = nit_alloc(sizeof(struct instance) + ";
4427 var1178
= standard___standard__NativeString___to_s_with_length(var1176
, var1177
);
4429 varonce1174
= var1175
;
4432 { /* Inline array#AbstractArrayRead#length (var_attrs) on <var_attrs:Array[nullable MPropDef]> */
4433 var1181
= var_attrs
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_attrs:Array[nullable MPropDef]> */
4435 RET_LABEL1180
:(void)0;
4439 var1183
= varonce1182
;
4441 var1184
= "*sizeof(nitattribute_t));";
4443 var1186
= standard___standard__NativeString___to_s_with_length(var1184
, var1185
);
4445 varonce1182
= var1183
;
4447 var1187
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4448 { /* var1187 = array_instance Array[Object] */
4450 var1189
= NEW_standard__NativeArray(var1188
, &type_standard__NativeArray__standard__Object
);
4451 ((struct instance_standard__NativeArray
*)var1189
)->values
[0] = (val
*) var_res1171
;
4452 ((struct instance_standard__NativeArray
*)var1189
)->values
[1] = (val
*) var1175
;
4453 var1190
= BOX_standard__Int(var1179
); /* autobox from Int to Object */
4454 ((struct instance_standard__NativeArray
*)var1189
)->values
[2] = (val
*) var1190
;
4455 ((struct instance_standard__NativeArray
*)var1189
)->values
[3] = (val
*) var1183
;
4457 ((void (*)(val
* self
, val
* p0
, long p1
))(var1187
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1187
, var1189
, var1188
) /* with_native on <var1187:Array[Object]>*/;
4461 var1191
= ((val
* (*)(val
* self
))(var1187
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1187
) /* to_s on <var1187:Array[Object]>*/;
4464 nit___nit__AbstractCompilerVisitor___add(var_v
, var1191
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4467 var1193
= varonce1192
;
4469 var1194
= "->type = type;";
4471 var1196
= standard___standard__NativeString___to_s_with_length(var1194
, var1195
);
4473 varonce1192
= var1193
;
4475 var1197
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4476 { /* var1197 = array_instance Array[Object] */
4478 var1199
= NEW_standard__NativeArray(var1198
, &type_standard__NativeArray__standard__Object
);
4479 ((struct instance_standard__NativeArray
*)var1199
)->values
[0] = (val
*) var_res1171
;
4480 ((struct instance_standard__NativeArray
*)var1199
)->values
[1] = (val
*) var1193
;
4482 ((void (*)(val
* self
, val
* p0
, long p1
))(var1197
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1197
, var1199
, var1198
) /* with_native on <var1197:Array[Object]>*/;
4486 var1200
= ((val
* (*)(val
* self
))(var1197
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1197
) /* to_s on <var1197:Array[Object]>*/;
4489 nit___nit__AbstractCompilerVisitor___add(var_v
, var1200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4492 var1202
= varonce1201
;
4496 var1205
= standard___standard__NativeString___to_s_with_length(var1203
, var1204
);
4498 varonce1201
= var1202
;
4501 nit___nit__SeparateCompiler___hardening_live_type(self
, var_v
, var1202
); /* Direct call separate_compiler#SeparateCompiler#hardening_live_type on <self:SeparateCompiler>*/
4504 var1207
= varonce1206
;
4508 var1210
= standard___standard__NativeString___to_s_with_length(var1208
, var1209
);
4510 varonce1206
= var1207
;
4512 var1211
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4513 { /* var1211 = array_instance Array[Object] */
4515 var1213
= NEW_standard__NativeArray(var1212
, &type_standard__NativeArray__standard__Object
);
4516 ((struct instance_standard__NativeArray
*)var1213
)->values
[0] = (val
*) var1207
;
4517 ((struct instance_standard__NativeArray
*)var1213
)->values
[1] = (val
*) var_c_name
;
4519 ((void (*)(val
* self
, val
* p0
, long p1
))(var1211
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1211
, var1213
, var1212
) /* with_native on <var1211:Array[Object]>*/;
4523 var1214
= ((val
* (*)(val
* self
))(var1211
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1211
) /* to_s on <var1211:Array[Object]>*/;
4526 nit___nit__AbstractCompilerVisitor___require_declaration(var_v
, var1214
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <var_v:SeparateCompilerVisitor>*/
4529 var1216
= varonce1215
;
4531 var1217
= "->class = &class_";
4533 var1219
= standard___standard__NativeString___to_s_with_length(var1217
, var1218
);
4535 varonce1215
= var1216
;
4538 var1221
= varonce1220
;
4542 var1224
= standard___standard__NativeString___to_s_with_length(var1222
, var1223
);
4544 varonce1220
= var1221
;
4546 var1225
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4547 { /* var1225 = array_instance Array[Object] */
4549 var1227
= NEW_standard__NativeArray(var1226
, &type_standard__NativeArray__standard__Object
);
4550 ((struct instance_standard__NativeArray
*)var1227
)->values
[0] = (val
*) var_res1171
;
4551 ((struct instance_standard__NativeArray
*)var1227
)->values
[1] = (val
*) var1216
;
4552 ((struct instance_standard__NativeArray
*)var1227
)->values
[2] = (val
*) var_c_name
;
4553 ((struct instance_standard__NativeArray
*)var1227
)->values
[3] = (val
*) var1221
;
4555 ((void (*)(val
* self
, val
* p0
, long p1
))(var1225
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1225
, var1227
, var1226
) /* with_native on <var1225:Array[Object]>*/;
4559 var1228
= ((val
* (*)(val
* self
))(var1225
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1225
) /* to_s on <var1225:Array[Object]>*/;
4562 nit___nit__AbstractCompilerVisitor___add(var_v
, var1228
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4565 nit___nit__AbstractCompiler___generate_init_attr(self
, var_v
, var_res1171
, var_mtype
); /* Direct call abstract_compiler#AbstractCompiler#generate_init_attr on <self:SeparateCompiler>*/
4568 nit___nit__AbstractCompilerVisitor___set_finalizer(var_v
, var_res1171
); /* Direct call abstract_compiler#AbstractCompilerVisitor#set_finalizer on <var_v:SeparateCompilerVisitor>*/
4571 var1230
= varonce1229
;
4573 var1231
= "return ";
4575 var1233
= standard___standard__NativeString___to_s_with_length(var1231
, var1232
);
4577 varonce1229
= var1230
;
4580 var1235
= varonce1234
;
4584 var1238
= standard___standard__NativeString___to_s_with_length(var1236
, var1237
);
4586 varonce1234
= var1235
;
4588 var1239
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4589 { /* var1239 = array_instance Array[Object] */
4591 var1241
= NEW_standard__NativeArray(var1240
, &type_standard__NativeArray__standard__Object
);
4592 ((struct instance_standard__NativeArray
*)var1241
)->values
[0] = (val
*) var1230
;
4593 ((struct instance_standard__NativeArray
*)var1241
)->values
[1] = (val
*) var_res1171
;
4594 ((struct instance_standard__NativeArray
*)var1241
)->values
[2] = (val
*) var1235
;
4596 ((void (*)(val
* self
, val
* p0
, long p1
))(var1239
->class->vft
[COLOR_standard__array__Array__with_native
]))(var1239
, var1241
, var1240
) /* with_native on <var1239:Array[Object]>*/;
4600 var1242
= ((val
* (*)(val
* self
))(var1239
->class->vft
[COLOR_standard__string__Object__to_s
]))(var1239
) /* to_s on <var1239:Array[Object]>*/;
4603 nit___nit__AbstractCompilerVisitor___add(var_v
, var1242
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4607 var1244
= varonce1243
;
4611 var1247
= standard___standard__NativeString___to_s_with_length(var1245
, var1246
);
4613 varonce1243
= var1244
;
4616 nit___nit__AbstractCompilerVisitor___add(var_v
, var1244
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4620 /* method separate_compiler#SeparateCompiler#hardening_live_type for (self: SeparateCompiler, SeparateCompilerVisitor, String) */
4621 void nit___nit__SeparateCompiler___hardening_live_type(val
* self
, val
* p0
, val
* p1
) {
4622 short int var
/* : Bool */;
4625 const struct type
* type_struct
;
4626 const char* var_class_name
;
4627 val
* var_v
/* var v: SeparateCompilerVisitor */;
4628 val
* var_t
/* var t: String */;
4629 val
* var1
/* : AbstractCompiler */;
4630 val
* var3
/* : AbstractCompiler */;
4631 val
* var4
/* : ModelBuilder */;
4632 val
* var6
/* : ModelBuilder */;
4633 val
* var7
/* : ToolContext */;
4634 val
* var9
/* : ToolContext */;
4635 val
* var10
/* : OptionBool */;
4636 val
* var12
/* : OptionBool */;
4637 val
* var13
/* : nullable Object */;
4638 val
* var15
/* : nullable Object */;
4639 short int var16
/* : Bool */;
4640 short int var17
/* : Bool */;
4641 static val
* varonce
;
4642 val
* var18
/* : String */;
4643 char* var19
/* : NativeString */;
4644 long var20
/* : Int */;
4645 val
* var21
/* : FlatString */;
4646 static val
* varonce22
;
4647 val
* var23
/* : String */;
4648 char* var24
/* : NativeString */;
4649 long var25
/* : Int */;
4650 val
* var26
/* : FlatString */;
4651 val
* var27
/* : Array[Object] */;
4652 long var28
/* : Int */;
4653 val
* var29
/* : NativeArray[Object] */;
4654 val
* var30
/* : String */;
4655 static val
* varonce31
;
4656 val
* var32
/* : String */;
4657 char* var33
/* : NativeString */;
4658 long var34
/* : Int */;
4659 val
* var35
/* : FlatString */;
4660 static val
* varonce36
;
4661 val
* var37
/* : String */;
4662 char* var38
/* : NativeString */;
4663 long var39
/* : Int */;
4664 val
* var40
/* : FlatString */;
4665 static val
* varonce41
;
4666 val
* var42
/* : String */;
4667 char* var43
/* : NativeString */;
4668 long var44
/* : Int */;
4669 val
* var45
/* : FlatString */;
4670 static val
* varonce46
;
4671 val
* var47
/* : String */;
4672 char* var48
/* : NativeString */;
4673 long var49
/* : Int */;
4674 val
* var50
/* : FlatString */;
4675 val
* var51
/* : Array[Object] */;
4676 long var52
/* : Int */;
4677 val
* var53
/* : NativeArray[Object] */;
4678 val
* var54
/* : String */;
4679 static val
* varonce55
;
4680 val
* var56
/* : String */;
4681 char* var57
/* : NativeString */;
4682 long var58
/* : Int */;
4683 val
* var59
/* : FlatString */;
4684 static val
* varonce60
;
4685 val
* var61
/* : String */;
4686 char* var62
/* : NativeString */;
4687 long var63
/* : Int */;
4688 val
* var64
/* : FlatString */;
4689 val
* var65
/* : Array[Object] */;
4690 long var66
/* : Int */;
4691 val
* var67
/* : NativeArray[Object] */;
4692 val
* var68
/* : String */;
4693 static val
* varonce69
;
4694 val
* var70
/* : String */;
4695 char* var71
/* : NativeString */;
4696 long var72
/* : Int */;
4697 val
* var73
/* : FlatString */;
4698 static val
* varonce74
;
4699 val
* var75
/* : String */;
4700 char* var76
/* : NativeString */;
4701 long var77
/* : Int */;
4702 val
* var78
/* : FlatString */;
4703 /* Covariant cast for argument 0 (v) <p0:SeparateCompilerVisitor> isa VISITOR */
4704 /* <p0:SeparateCompilerVisitor> isa VISITOR */
4705 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
4706 cltype
= type_struct
->color
;
4707 idtype
= type_struct
->id
;
4708 if(cltype
>= p0
->type
->table_size
) {
4711 var
= p0
->type
->type_table
[cltype
] == idtype
;
4713 if (unlikely(!var
)) {
4714 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4715 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
4716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 837);
4722 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:SeparateCompilerVisitor> */
4723 var3
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:SeparateCompilerVisitor> */
4724 if (unlikely(var3
== NULL
)) {
4725 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
4734 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler(SeparateCompiler)> */
4735 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler(SeparateCompiler)> */
4736 if (unlikely(var6
== NULL
)) {
4737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
4738 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
4746 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var4) on <var4:ModelBuilder> */
4747 var9
= var4
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var4:ModelBuilder> */
4748 if (unlikely(var9
== NULL
)) {
4749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
4758 { /* Inline abstract_compiler#ToolContext#opt_hardening (var7) on <var7:ToolContext> */
4759 var12
= var7
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <var7:ToolContext> */
4760 if (unlikely(var12
== NULL
)) {
4761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
4762 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 45);
4766 RET_LABEL11
:(void)0;
4770 { /* Inline opts#Option#value (var10) on <var10:OptionBool> */
4771 var15
= var10
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var10:OptionBool> */
4773 RET_LABEL14
:(void)0;
4776 var16
= ((struct instance_standard__Bool
*)var13
)->value
; /* autounbox from nullable Object to Bool */;
4787 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
4794 var24
= " == NULL) {";
4796 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
4800 var27
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4801 { /* var27 = array_instance Array[Object] */
4803 var29
= NEW_standard__NativeArray(var28
, &type_standard__NativeArray__standard__Object
);
4804 ((struct instance_standard__NativeArray
*)var29
)->values
[0] = (val
*) var18
;
4805 ((struct instance_standard__NativeArray
*)var29
)->values
[1] = (val
*) var_t
;
4806 ((struct instance_standard__NativeArray
*)var29
)->values
[2] = (val
*) var23
;
4808 ((void (*)(val
* self
, val
* p0
, long p1
))(var27
->class->vft
[COLOR_standard__array__Array__with_native
]))(var27
, var29
, var28
) /* with_native on <var27:Array[Object]>*/;
4812 var30
= ((val
* (*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
4815 nit___nit__AbstractCompilerVisitor___add(var_v
, var30
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4820 var33
= "type null";
4822 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
4827 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var32
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4834 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
4839 nit___nit__AbstractCompilerVisitor___add(var_v
, var37
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4846 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
4853 var48
= "->table_size == 0) {";
4855 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
4859 var51
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4860 { /* var51 = array_instance Array[Object] */
4862 var53
= NEW_standard__NativeArray(var52
, &type_standard__NativeArray__standard__Object
);
4863 ((struct instance_standard__NativeArray
*)var53
)->values
[0] = (val
*) var42
;
4864 ((struct instance_standard__NativeArray
*)var53
)->values
[1] = (val
*) var_t
;
4865 ((struct instance_standard__NativeArray
*)var53
)->values
[2] = (val
*) var47
;
4867 ((void (*)(val
* self
, val
* p0
, long p1
))(var51
->class->vft
[COLOR_standard__array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
4871 var54
= ((val
* (*)(val
* self
))(var51
->class->vft
[COLOR_standard__string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
4874 nit___nit__AbstractCompilerVisitor___add(var_v
, var54
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4879 var57
= "PRINT_ERROR(\"Insantiation of a dead type: %s\\n\", ";
4881 var59
= standard___standard__NativeString___to_s_with_length(var57
, var58
);
4890 var64
= standard___standard__NativeString___to_s_with_length(var62
, var63
);
4894 var65
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4895 { /* var65 = array_instance Array[Object] */
4897 var67
= NEW_standard__NativeArray(var66
, &type_standard__NativeArray__standard__Object
);
4898 ((struct instance_standard__NativeArray
*)var67
)->values
[0] = (val
*) var56
;
4899 ((struct instance_standard__NativeArray
*)var67
)->values
[1] = (val
*) var_t
;
4900 ((struct instance_standard__NativeArray
*)var67
)->values
[2] = (val
*) var61
;
4902 ((void (*)(val
* self
, val
* p0
, long p1
))(var65
->class->vft
[COLOR_standard__array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
4906 var68
= ((val
* (*)(val
* self
))(var65
->class->vft
[COLOR_standard__string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
4909 nit___nit__AbstractCompilerVisitor___add(var_v
, var68
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4914 var71
= "type dead";
4916 var73
= standard___standard__NativeString___to_s_with_length(var71
, var72
);
4921 nit___nit__AbstractCompilerVisitor___add_abort(var_v
, var70
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_abort on <var_v:SeparateCompilerVisitor>*/
4928 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
4933 nit___nit__AbstractCompilerVisitor___add(var_v
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:SeparateCompilerVisitor>*/
4937 /* method separate_compiler#SeparateCompiler#new_visitor for (self: SeparateCompiler): SeparateCompilerVisitor */
4938 val
* nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
4939 val
* var
/* : SeparateCompilerVisitor */;
4940 val
* var1
/* : SeparateCompilerVisitor */;
4941 short int var2
/* : Bool */;
4944 const struct type
* type_struct
;
4945 const char* var_class_name
;
4946 var1
= NEW_nit__SeparateCompilerVisitor(&type_nit__SeparateCompilerVisitor
);
4948 ((void (*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(var1
, self
) /* compiler= on <var1:SeparateCompilerVisitor>*/;
4951 ((void (*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
) /* init on <var1:SeparateCompilerVisitor>*/;
4953 /* <var1:SeparateCompilerVisitor> isa VISITOR */
4954 type_struct
= self
->type
->resolution_table
->types
[COLOR_nit__abstract_compiler__AbstractCompiler__VISITOR
];
4955 cltype
= type_struct
->color
;
4956 idtype
= type_struct
->id
;
4957 if(cltype
>= var1
->type
->table_size
) {
4960 var2
= var1
->type
->type_table
[cltype
] == idtype
;
4962 if (unlikely(!var2
)) {
4963 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
4964 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
4965 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 850);
4973 /* method separate_compiler#SeparateCompiler#type_tables for (self: SeparateCompiler): Map[MType, Array[nullable MType]] */
4974 val
* nit___nit__SeparateCompiler___type_tables(val
* self
) {
4975 val
* var
/* : Map[MType, Array[nullable MType]] */;
4976 val
* var1
/* : Map[MType, Array[nullable MType]] */;
4977 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
4978 if (unlikely(var1
== NULL
)) {
4979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
4980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 854);
4987 /* method separate_compiler#SeparateCompiler#type_tables= for (self: SeparateCompiler, Map[MType, Array[nullable MType]]) */
4988 void nit___nit__SeparateCompiler___type_tables_61d(val
* self
, val
* p0
) {
4989 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
= p0
; /* _type_tables on <self:SeparateCompiler> */
4992 /* method separate_compiler#SeparateCompiler#resolution_tables for (self: SeparateCompiler): Map[MClassType, Array[nullable MType]] */
4993 val
* nit___nit__SeparateCompiler___resolution_tables(val
* self
) {
4994 val
* var
/* : Map[MClassType, Array[nullable MType]] */;
4995 val
* var1
/* : Map[MClassType, Array[nullable MType]] */;
4996 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
4997 if (unlikely(var1
== NULL
)) {
4998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
4999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 855);
5006 /* method separate_compiler#SeparateCompiler#resolution_tables= for (self: SeparateCompiler, Map[MClassType, Array[nullable MType]]) */
5007 void nit___nit__SeparateCompiler___resolution_tables_61d(val
* self
, val
* p0
) {
5008 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
= p0
; /* _resolution_tables on <self:SeparateCompiler> */
5011 /* method separate_compiler#SeparateCompiler#method_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
5012 val
* nit___nit__SeparateCompiler___method_tables(val
* self
) {
5013 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5014 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5015 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
5016 if (unlikely(var1
== NULL
)) {
5017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
5018 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 856);
5025 /* method separate_compiler#SeparateCompiler#method_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
5026 void nit___nit__SeparateCompiler___method_tables_61d(val
* self
, val
* p0
) {
5027 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
= p0
; /* _method_tables on <self:SeparateCompiler> */
5030 /* method separate_compiler#SeparateCompiler#attr_tables for (self: SeparateCompiler): Map[MClass, Array[nullable MPropDef]] */
5031 val
* nit___nit__SeparateCompiler___attr_tables(val
* self
) {
5032 val
* var
/* : Map[MClass, Array[nullable MPropDef]] */;
5033 val
* var1
/* : Map[MClass, Array[nullable MPropDef]] */;
5034 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
5035 if (unlikely(var1
== NULL
)) {
5036 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
5037 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 857);
5044 /* method separate_compiler#SeparateCompiler#attr_tables= for (self: SeparateCompiler, Map[MClass, Array[nullable MPropDef]]) */
5045 void nit___nit__SeparateCompiler___attr_tables_61d(val
* self
, val
* p0
) {
5046 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
= p0
; /* _attr_tables on <self:SeparateCompiler> */
5049 /* method separate_compiler#SeparateCompiler#display_stats for (self: SeparateCompiler) */
5050 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5051 val
* var
/* : ModelBuilder */;
5052 val
* var2
/* : ModelBuilder */;
5053 val
* var3
/* : ToolContext */;
5054 val
* var5
/* : ToolContext */;
5055 val
* var6
/* : OptionBool */;
5056 val
* var8
/* : OptionBool */;
5057 val
* var9
/* : nullable Object */;
5058 val
* var11
/* : nullable Object */;
5059 short int var12
/* : Bool */;
5060 val
* var13
/* : ModelBuilder */;
5061 val
* var15
/* : ModelBuilder */;
5062 val
* var16
/* : ToolContext */;
5063 val
* var18
/* : ToolContext */;
5064 val
* var19
/* : OptionBool */;
5065 val
* var21
/* : OptionBool */;
5066 val
* var22
/* : nullable Object */;
5067 val
* var24
/* : nullable Object */;
5068 short int var25
/* : Bool */;
5069 val
* var26
/* : ModelBuilder */;
5070 val
* var28
/* : ModelBuilder */;
5071 val
* var29
/* : ToolContext */;
5072 val
* var31
/* : ToolContext */;
5073 val
* var_tc
/* var tc: ToolContext */;
5074 static val
* varonce
;
5075 val
* var32
/* : String */;
5076 char* var33
/* : NativeString */;
5077 long var34
/* : Int */;
5078 val
* var35
/* : FlatString */;
5079 long var36
/* : Int */;
5080 val
* var37
/* : ModelBuilder */;
5081 val
* var39
/* : ModelBuilder */;
5082 long var40
/* : Int */;
5083 long var42
/* : Int */;
5084 val
* var43
/* : ModelBuilder */;
5085 val
* var45
/* : ModelBuilder */;
5086 long var46
/* : Int */;
5087 long var48
/* : Int */;
5088 long var49
/* : Int */;
5089 short int var51
/* : Bool */;
5092 const char* var_class_name
;
5093 long var52
/* : Int */;
5094 val
* var53
/* : ModelBuilder */;
5095 val
* var55
/* : ModelBuilder */;
5096 long var56
/* : Int */;
5097 long var58
/* : Int */;
5098 long var59
/* : Int */;
5099 short int var61
/* : Bool */;
5102 const char* var_class_name64
;
5103 long var65
/* : Int */;
5104 long var_nb_invok_total
/* var nb_invok_total: Int */;
5105 static val
* varonce66
;
5106 val
* var67
/* : String */;
5107 char* var68
/* : NativeString */;
5108 long var69
/* : Int */;
5109 val
* var70
/* : FlatString */;
5110 val
* var71
/* : Array[Object] */;
5111 long var72
/* : Int */;
5112 val
* var73
/* : NativeArray[Object] */;
5113 val
* var74
/* : Object */;
5114 val
* var75
/* : String */;
5115 long var76
/* : Int */;
5116 static val
* varonce77
;
5117 val
* var78
/* : String */;
5118 char* var79
/* : NativeString */;
5119 long var80
/* : Int */;
5120 val
* var81
/* : FlatString */;
5121 val
* var82
/* : ModelBuilder */;
5122 val
* var84
/* : ModelBuilder */;
5123 long var85
/* : Int */;
5124 long var87
/* : Int */;
5125 static val
* varonce88
;
5126 val
* var89
/* : String */;
5127 char* var90
/* : NativeString */;
5128 long var91
/* : Int */;
5129 val
* var92
/* : FlatString */;
5130 val
* var93
/* : ModelBuilder */;
5131 val
* var95
/* : ModelBuilder */;
5132 long var96
/* : Int */;
5133 long var98
/* : Int */;
5134 val
* var99
/* : String */;
5135 static val
* varonce100
;
5136 val
* var101
/* : String */;
5137 char* var102
/* : NativeString */;
5138 long var103
/* : Int */;
5139 val
* var104
/* : FlatString */;
5140 val
* var105
/* : Array[Object] */;
5141 long var106
/* : Int */;
5142 val
* var107
/* : NativeArray[Object] */;
5143 val
* var108
/* : Object */;
5144 val
* var109
/* : String */;
5145 long var110
/* : Int */;
5146 static val
* varonce111
;
5147 val
* var112
/* : String */;
5148 char* var113
/* : NativeString */;
5149 long var114
/* : Int */;
5150 val
* var115
/* : FlatString */;
5151 val
* var116
/* : ModelBuilder */;
5152 val
* var118
/* : ModelBuilder */;
5153 long var119
/* : Int */;
5154 long var121
/* : Int */;
5155 static val
* varonce122
;
5156 val
* var123
/* : String */;
5157 char* var124
/* : NativeString */;
5158 long var125
/* : Int */;
5159 val
* var126
/* : FlatString */;
5160 val
* var127
/* : ModelBuilder */;
5161 val
* var129
/* : ModelBuilder */;
5162 long var130
/* : Int */;
5163 long var132
/* : Int */;
5164 val
* var133
/* : String */;
5165 static val
* varonce134
;
5166 val
* var135
/* : String */;
5167 char* var136
/* : NativeString */;
5168 long var137
/* : Int */;
5169 val
* var138
/* : FlatString */;
5170 val
* var139
/* : Array[Object] */;
5171 long var140
/* : Int */;
5172 val
* var141
/* : NativeArray[Object] */;
5173 val
* var142
/* : Object */;
5174 val
* var143
/* : String */;
5175 long var144
/* : Int */;
5176 static val
* varonce145
;
5177 val
* var146
/* : String */;
5178 char* var147
/* : NativeString */;
5179 long var148
/* : Int */;
5180 val
* var149
/* : FlatString */;
5181 val
* var150
/* : ModelBuilder */;
5182 val
* var152
/* : ModelBuilder */;
5183 long var153
/* : Int */;
5184 long var155
/* : Int */;
5185 static val
* varonce156
;
5186 val
* var157
/* : String */;
5187 char* var158
/* : NativeString */;
5188 long var159
/* : Int */;
5189 val
* var160
/* : FlatString */;
5190 val
* var161
/* : ModelBuilder */;
5191 val
* var163
/* : ModelBuilder */;
5192 long var164
/* : Int */;
5193 long var166
/* : Int */;
5194 val
* var167
/* : String */;
5195 static val
* varonce168
;
5196 val
* var169
/* : String */;
5197 char* var170
/* : NativeString */;
5198 long var171
/* : Int */;
5199 val
* var172
/* : FlatString */;
5200 val
* var173
/* : Array[Object] */;
5201 long var174
/* : Int */;
5202 val
* var175
/* : NativeArray[Object] */;
5203 val
* var176
/* : Object */;
5204 val
* var177
/* : String */;
5205 long var178
/* : Int */;
5207 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__display_stats
]))(self
) /* display_stats on <self:SeparateCompiler>*/;
5210 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5211 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5212 if (unlikely(var2
== NULL
)) {
5213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5222 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
5223 var5
= var
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var:ModelBuilder> */
5224 if (unlikely(var5
== NULL
)) {
5225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5226 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5234 { /* Inline separate_compiler#ToolContext#opt_tables_metrics (var3) on <var3:ToolContext> */
5235 var8
= var3
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_tables_metrics
].val
; /* _opt_tables_metrics on <var3:ToolContext> */
5236 if (unlikely(var8
== NULL
)) {
5237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_tables_metrics");
5238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 47);
5246 { /* Inline opts#Option#value (var6) on <var6:OptionBool> */
5247 var11
= var6
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var6:OptionBool> */
5249 RET_LABEL10
:(void)0;
5252 var12
= ((struct instance_standard__Bool
*)var9
)->value
; /* autounbox from nullable Object to Bool */;
5255 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__separate_compiler__SeparateCompiler__display_sizes
]))(self
) /* display_sizes on <self:SeparateCompiler>*/;
5260 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5261 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5262 if (unlikely(var15
== NULL
)) {
5263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5268 RET_LABEL14
:(void)0;
5272 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var13) on <var13:ModelBuilder> */
5273 var18
= var13
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var13:ModelBuilder> */
5274 if (unlikely(var18
== NULL
)) {
5275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5280 RET_LABEL17
:(void)0;
5284 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (var16) on <var16:ToolContext> */
5285 var21
= var16
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <var16:ToolContext> */
5286 if (unlikely(var21
== NULL
)) {
5287 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
5288 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
5292 RET_LABEL20
:(void)0;
5296 { /* Inline opts#Option#value (var19) on <var19:OptionBool> */
5297 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionBool> */
5299 RET_LABEL23
:(void)0;
5302 var25
= ((struct instance_standard__Bool
*)var22
)->value
; /* autounbox from nullable Object to Bool */;
5305 nit___nit__SeparateCompiler___display_isset_checks(self
); /* Direct call separate_compiler#SeparateCompiler#display_isset_checks on <self:SeparateCompiler>*/
5310 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5311 var28
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5312 if (unlikely(var28
== NULL
)) {
5313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5314 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5318 RET_LABEL27
:(void)0;
5322 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
5323 var31
= var26
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
5324 if (unlikely(var31
== NULL
)) {
5325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
5330 RET_LABEL30
:(void)0;
5337 var33
= "# implementation of method invocation";
5339 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
5345 nit___nit__ToolContext___info(var_tc
, var32
, var36
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5348 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5349 var39
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5350 if (unlikely(var39
== NULL
)) {
5351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5352 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5356 RET_LABEL38
:(void)0;
5360 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var37) on <var37:ModelBuilder> */
5361 var42
= var37
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var37:ModelBuilder> */
5363 RET_LABEL41
:(void)0;
5367 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5368 var45
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5369 if (unlikely(var45
== NULL
)) {
5370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5371 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5375 RET_LABEL44
:(void)0;
5379 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var43) on <var43:ModelBuilder> */
5380 var48
= var43
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var43:ModelBuilder> */
5382 RET_LABEL47
:(void)0;
5386 { /* Inline kernel#Int#+ (var40,var46) on <var40:Int> */
5387 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
5388 /* <var46:Int> isa OTHER */
5389 var51
= 1; /* easy <var46:Int> isa OTHER*/
5390 if (unlikely(!var51
)) {
5391 var_class_name
= type_standard__Int
.name
;
5392 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5393 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
5396 var52
= var40
+ var46
;
5399 RET_LABEL50
:(void)0;
5403 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5404 var55
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5405 if (unlikely(var55
== NULL
)) {
5406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5407 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5411 RET_LABEL54
:(void)0;
5415 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var53) on <var53:ModelBuilder> */
5416 var58
= var53
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var53:ModelBuilder> */
5418 RET_LABEL57
:(void)0;
5422 { /* Inline kernel#Int#+ (var49,var56) on <var49:Int> */
5423 /* Covariant cast for argument 0 (i) <var56:Int> isa OTHER */
5424 /* <var56:Int> isa OTHER */
5425 var61
= 1; /* easy <var56:Int> isa OTHER*/
5426 if (unlikely(!var61
)) {
5427 var_class_name64
= type_standard__Int
.name
;
5428 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64
);
5429 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
5432 var65
= var49
+ var56
;
5435 RET_LABEL60
:(void)0;
5438 var_nb_invok_total
= var59
;
5442 var68
= "total number of invocations: ";
5444 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
5448 var71
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5449 { /* var71 = array_instance Array[Object] */
5451 var73
= NEW_standard__NativeArray(var72
, &type_standard__NativeArray__standard__Object
);
5452 ((struct instance_standard__NativeArray
*)var73
)->values
[0] = (val
*) var67
;
5453 var74
= BOX_standard__Int(var_nb_invok_total
); /* autobox from Int to Object */
5454 ((struct instance_standard__NativeArray
*)var73
)->values
[1] = (val
*) var74
;
5456 ((void (*)(val
* self
, val
* p0
, long p1
))(var71
->class->vft
[COLOR_standard__array__Array__with_native
]))(var71
, var73
, var72
) /* with_native on <var71:Array[Object]>*/;
5460 var75
= ((val
* (*)(val
* self
))(var71
->class->vft
[COLOR_standard__string__Object__to_s
]))(var71
) /* to_s on <var71:Array[Object]>*/;
5464 nit___nit__ToolContext___info(var_tc
, var75
, var76
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5469 var79
= "invocations by VFT send: ";
5471 var81
= standard___standard__NativeString___to_s_with_length(var79
, var80
);
5476 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5477 var84
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5478 if (unlikely(var84
== NULL
)) {
5479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5480 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5484 RET_LABEL83
:(void)0;
5488 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var82) on <var82:ModelBuilder> */
5489 var87
= var82
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var82:ModelBuilder> */
5491 RET_LABEL86
:(void)0;
5499 var92
= standard___standard__NativeString___to_s_with_length(var90
, var91
);
5504 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5505 var95
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5506 if (unlikely(var95
== NULL
)) {
5507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5512 RET_LABEL94
:(void)0;
5516 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_tables (var93) on <var93:ModelBuilder> */
5517 var98
= var93
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_tables
].l
; /* _nb_invok_by_tables on <var93:ModelBuilder> */
5519 RET_LABEL97
:(void)0;
5523 var99
= nit___nit__AbstractCompiler___div(self
, var96
, var_nb_invok_total
);
5526 var101
= varonce100
;
5530 var104
= standard___standard__NativeString___to_s_with_length(var102
, var103
);
5532 varonce100
= var101
;
5534 var105
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5535 { /* var105 = array_instance Array[Object] */
5537 var107
= NEW_standard__NativeArray(var106
, &type_standard__NativeArray__standard__Object
);
5538 ((struct instance_standard__NativeArray
*)var107
)->values
[0] = (val
*) var78
;
5539 var108
= BOX_standard__Int(var85
); /* autobox from Int to Object */
5540 ((struct instance_standard__NativeArray
*)var107
)->values
[1] = (val
*) var108
;
5541 ((struct instance_standard__NativeArray
*)var107
)->values
[2] = (val
*) var89
;
5542 ((struct instance_standard__NativeArray
*)var107
)->values
[3] = (val
*) var99
;
5543 ((struct instance_standard__NativeArray
*)var107
)->values
[4] = (val
*) var101
;
5545 ((void (*)(val
* self
, val
* p0
, long p1
))(var105
->class->vft
[COLOR_standard__array__Array__with_native
]))(var105
, var107
, var106
) /* with_native on <var105:Array[Object]>*/;
5549 var109
= ((val
* (*)(val
* self
))(var105
->class->vft
[COLOR_standard__string__Object__to_s
]))(var105
) /* to_s on <var105:Array[Object]>*/;
5553 nit___nit__ToolContext___info(var_tc
, var109
, var110
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5556 var112
= varonce111
;
5558 var113
= "invocations by direct call: ";
5560 var115
= standard___standard__NativeString___to_s_with_length(var113
, var114
);
5562 varonce111
= var112
;
5565 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5566 var118
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5567 if (unlikely(var118
== NULL
)) {
5568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5569 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5573 RET_LABEL117
:(void)0;
5577 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var116) on <var116:ModelBuilder> */
5578 var121
= var116
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var116:ModelBuilder> */
5580 RET_LABEL120
:(void)0;
5584 var123
= varonce122
;
5588 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
5590 varonce122
= var123
;
5593 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5594 var129
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5595 if (unlikely(var129
== NULL
)) {
5596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5601 RET_LABEL128
:(void)0;
5605 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_direct (var127) on <var127:ModelBuilder> */
5606 var132
= var127
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_direct
].l
; /* _nb_invok_by_direct on <var127:ModelBuilder> */
5608 RET_LABEL131
:(void)0;
5612 var133
= nit___nit__AbstractCompiler___div(self
, var130
, var_nb_invok_total
);
5615 var135
= varonce134
;
5619 var138
= standard___standard__NativeString___to_s_with_length(var136
, var137
);
5621 varonce134
= var135
;
5623 var139
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5624 { /* var139 = array_instance Array[Object] */
5626 var141
= NEW_standard__NativeArray(var140
, &type_standard__NativeArray__standard__Object
);
5627 ((struct instance_standard__NativeArray
*)var141
)->values
[0] = (val
*) var112
;
5628 var142
= BOX_standard__Int(var119
); /* autobox from Int to Object */
5629 ((struct instance_standard__NativeArray
*)var141
)->values
[1] = (val
*) var142
;
5630 ((struct instance_standard__NativeArray
*)var141
)->values
[2] = (val
*) var123
;
5631 ((struct instance_standard__NativeArray
*)var141
)->values
[3] = (val
*) var133
;
5632 ((struct instance_standard__NativeArray
*)var141
)->values
[4] = (val
*) var135
;
5634 ((void (*)(val
* self
, val
* p0
, long p1
))(var139
->class->vft
[COLOR_standard__array__Array__with_native
]))(var139
, var141
, var140
) /* with_native on <var139:Array[Object]>*/;
5638 var143
= ((val
* (*)(val
* self
))(var139
->class->vft
[COLOR_standard__string__Object__to_s
]))(var139
) /* to_s on <var139:Array[Object]>*/;
5642 nit___nit__ToolContext___info(var_tc
, var143
, var144
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5645 var146
= varonce145
;
5647 var147
= "invocations by inlining: ";
5649 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
5651 varonce145
= var146
;
5654 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5655 var152
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5656 if (unlikely(var152
== NULL
)) {
5657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5658 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5662 RET_LABEL151
:(void)0;
5666 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var150) on <var150:ModelBuilder> */
5667 var155
= var150
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var150:ModelBuilder> */
5669 RET_LABEL154
:(void)0;
5673 var157
= varonce156
;
5677 var160
= standard___standard__NativeString___to_s_with_length(var158
, var159
);
5679 varonce156
= var157
;
5682 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:SeparateCompiler> */
5683 var163
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:SeparateCompiler> */
5684 if (unlikely(var163
== NULL
)) {
5685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
5686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
5690 RET_LABEL162
:(void)0;
5694 { /* Inline separate_compiler#ModelBuilder#nb_invok_by_inline (var161) on <var161:ModelBuilder> */
5695 var166
= var161
->attrs
[COLOR_nit__separate_compiler__ModelBuilder___nb_invok_by_inline
].l
; /* _nb_invok_by_inline on <var161:ModelBuilder> */
5697 RET_LABEL165
:(void)0;
5701 var167
= nit___nit__AbstractCompiler___div(self
, var164
, var_nb_invok_total
);
5704 var169
= varonce168
;
5708 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
5710 varonce168
= var169
;
5712 var173
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5713 { /* var173 = array_instance Array[Object] */
5715 var175
= NEW_standard__NativeArray(var174
, &type_standard__NativeArray__standard__Object
);
5716 ((struct instance_standard__NativeArray
*)var175
)->values
[0] = (val
*) var146
;
5717 var176
= BOX_standard__Int(var153
); /* autobox from Int to Object */
5718 ((struct instance_standard__NativeArray
*)var175
)->values
[1] = (val
*) var176
;
5719 ((struct instance_standard__NativeArray
*)var175
)->values
[2] = (val
*) var157
;
5720 ((struct instance_standard__NativeArray
*)var175
)->values
[3] = (val
*) var167
;
5721 ((struct instance_standard__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
5723 ((void (*)(val
* self
, val
* p0
, long p1
))(var173
->class->vft
[COLOR_standard__array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
5727 var177
= ((val
* (*)(val
* self
))(var173
->class->vft
[COLOR_standard__string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
5731 nit___nit__ToolContext___info(var_tc
, var177
, var178
); /* Direct call toolcontext#ToolContext#info on <var_tc:ToolContext>*/
5735 /* method separate_compiler#SeparateCompiler#display_sizes for (self: SeparateCompiler) */
5736 void nit___nit__SeparateCompiler___display_sizes(val
* self
) {
5737 static val
* varonce
;
5738 val
* var
/* : String */;
5739 char* var1
/* : NativeString */;
5740 long var2
/* : Int */;
5741 val
* var3
/* : FlatString */;
5742 static val
* varonce4
;
5743 val
* var5
/* : String */;
5744 char* var6
/* : NativeString */;
5745 long var7
/* : Int */;
5746 val
* var8
/* : FlatString */;
5747 long var9
/* : Int */;
5748 long var_total
/* var total: Int */;
5749 long var10
/* : Int */;
5750 long var_holes
/* var holes: Int */;
5751 val
* var11
/* : Map[MType, Array[nullable MType]] */;
5752 val
* var13
/* : Map[MType, Array[nullable MType]] */;
5753 val
* var_
/* var : Map[MType, Array[nullable MType]] */;
5754 val
* var14
/* : MapIterator[nullable Object, nullable Object] */;
5755 val
* var_15
/* var : MapIterator[MType, Array[nullable MType]] */;
5756 short int var16
/* : Bool */;
5757 val
* var17
/* : nullable Object */;
5758 val
* var_t
/* var t: MType */;
5759 val
* var18
/* : nullable Object */;
5760 val
* var_table
/* var table: Array[nullable MType] */;
5761 long var19
/* : Int */;
5762 long var21
/* : Int */;
5763 long var22
/* : Int */;
5764 short int var24
/* : Bool */;
5767 const char* var_class_name
;
5768 long var25
/* : Int */;
5769 val
* var_26
/* var : Array[nullable MType] */;
5770 val
* var27
/* : ArrayIterator[nullable Object] */;
5771 val
* var_28
/* var : ArrayIterator[nullable MType] */;
5772 short int var29
/* : Bool */;
5773 val
* var30
/* : nullable Object */;
5774 val
* var_e
/* var e: nullable MType */;
5775 val
* var31
/* : null */;
5776 short int var32
/* : Bool */;
5777 short int var33
/* : Bool */;
5778 val
* var_other
/* var other: nullable Object */;
5779 short int var35
/* : Bool */;
5780 short int var37
/* : Bool */;
5781 long var38
/* : Int */;
5782 long var39
/* : Int */;
5783 short int var41
/* : Bool */;
5786 const char* var_class_name44
;
5787 long var45
/* : Int */;
5788 static val
* varonce49
;
5789 val
* var50
/* : String */;
5790 char* var51
/* : NativeString */;
5791 long var52
/* : Int */;
5792 val
* var53
/* : FlatString */;
5793 static val
* varonce54
;
5794 val
* var55
/* : String */;
5795 char* var56
/* : NativeString */;
5796 long var57
/* : Int */;
5797 val
* var58
/* : FlatString */;
5798 val
* var59
/* : Array[Object] */;
5799 long var60
/* : Int */;
5800 val
* var61
/* : NativeArray[Object] */;
5801 val
* var62
/* : Object */;
5802 val
* var63
/* : Object */;
5803 val
* var64
/* : String */;
5804 static val
* varonce65
;
5805 val
* var66
/* : String */;
5806 char* var67
/* : NativeString */;
5807 long var68
/* : Int */;
5808 val
* var69
/* : FlatString */;
5809 static val
* varonce70
;
5810 val
* var71
/* : String */;
5811 char* var72
/* : NativeString */;
5812 long var73
/* : Int */;
5813 val
* var74
/* : FlatString */;
5814 long var75
/* : Int */;
5815 long var76
/* : Int */;
5816 val
* var77
/* : Map[MClassType, Array[nullable MType]] */;
5817 val
* var79
/* : Map[MClassType, Array[nullable MType]] */;
5818 val
* var_80
/* var : Map[MClassType, Array[nullable MType]] */;
5819 val
* var81
/* : MapIterator[nullable Object, nullable Object] */;
5820 val
* var_82
/* var : MapIterator[MClassType, Array[nullable MType]] */;
5821 short int var83
/* : Bool */;
5822 val
* var84
/* : nullable Object */;
5823 val
* var_t85
/* var t: MClassType */;
5824 val
* var86
/* : nullable Object */;
5825 val
* var_table87
/* var table: Array[nullable MType] */;
5826 long var88
/* : Int */;
5827 long var90
/* : Int */;
5828 long var91
/* : Int */;
5829 short int var93
/* : Bool */;
5832 const char* var_class_name96
;
5833 long var97
/* : Int */;
5834 val
* var_98
/* var : Array[nullable MType] */;
5835 val
* var99
/* : ArrayIterator[nullable Object] */;
5836 val
* var_100
/* var : ArrayIterator[nullable MType] */;
5837 short int var101
/* : Bool */;
5838 val
* var102
/* : nullable Object */;
5839 val
* var_e103
/* var e: nullable MType */;
5840 val
* var104
/* : null */;
5841 short int var105
/* : Bool */;
5842 short int var106
/* : Bool */;
5843 short int var108
/* : Bool */;
5844 short int var110
/* : Bool */;
5845 long var111
/* : Int */;
5846 long var112
/* : Int */;
5847 short int var114
/* : Bool */;
5850 const char* var_class_name117
;
5851 long var118
/* : Int */;
5852 static val
* varonce123
;
5853 val
* var124
/* : String */;
5854 char* var125
/* : NativeString */;
5855 long var126
/* : Int */;
5856 val
* var127
/* : FlatString */;
5857 static val
* varonce128
;
5858 val
* var129
/* : String */;
5859 char* var130
/* : NativeString */;
5860 long var131
/* : Int */;
5861 val
* var132
/* : FlatString */;
5862 val
* var133
/* : Array[Object] */;
5863 long var134
/* : Int */;
5864 val
* var135
/* : NativeArray[Object] */;
5865 val
* var136
/* : Object */;
5866 val
* var137
/* : Object */;
5867 val
* var138
/* : String */;
5868 static val
* varonce139
;
5869 val
* var140
/* : String */;
5870 char* var141
/* : NativeString */;
5871 long var142
/* : Int */;
5872 val
* var143
/* : FlatString */;
5873 static val
* varonce144
;
5874 val
* var145
/* : String */;
5875 char* var146
/* : NativeString */;
5876 long var147
/* : Int */;
5877 val
* var148
/* : FlatString */;
5878 long var149
/* : Int */;
5879 long var150
/* : Int */;
5880 val
* var151
/* : Map[MClass, Array[nullable MPropDef]] */;
5881 val
* var153
/* : Map[MClass, Array[nullable MPropDef]] */;
5882 val
* var_154
/* var : Map[MClass, Array[nullable MPropDef]] */;
5883 val
* var155
/* : MapIterator[nullable Object, nullable Object] */;
5884 val
* var_156
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
5885 short int var157
/* : Bool */;
5886 val
* var158
/* : nullable Object */;
5887 val
* var_t159
/* var t: MClass */;
5888 val
* var160
/* : nullable Object */;
5889 val
* var_table161
/* var table: Array[nullable MPropDef] */;
5890 long var162
/* : Int */;
5891 long var164
/* : Int */;
5892 long var165
/* : Int */;
5893 short int var167
/* : Bool */;
5896 const char* var_class_name170
;
5897 long var171
/* : Int */;
5898 val
* var_172
/* var : Array[nullable MPropDef] */;
5899 val
* var173
/* : ArrayIterator[nullable Object] */;
5900 val
* var_174
/* var : ArrayIterator[nullable MPropDef] */;
5901 short int var175
/* : Bool */;
5902 val
* var176
/* : nullable Object */;
5903 val
* var_e177
/* var e: nullable MPropDef */;
5904 val
* var178
/* : null */;
5905 short int var179
/* : Bool */;
5906 short int var180
/* : Bool */;
5907 short int var182
/* : Bool */;
5908 short int var184
/* : Bool */;
5909 long var185
/* : Int */;
5910 long var186
/* : Int */;
5911 short int var188
/* : Bool */;
5914 const char* var_class_name191
;
5915 long var192
/* : Int */;
5916 static val
* varonce197
;
5917 val
* var198
/* : String */;
5918 char* var199
/* : NativeString */;
5919 long var200
/* : Int */;
5920 val
* var201
/* : FlatString */;
5921 static val
* varonce202
;
5922 val
* var203
/* : String */;
5923 char* var204
/* : NativeString */;
5924 long var205
/* : Int */;
5925 val
* var206
/* : FlatString */;
5926 val
* var207
/* : Array[Object] */;
5927 long var208
/* : Int */;
5928 val
* var209
/* : NativeArray[Object] */;
5929 val
* var210
/* : Object */;
5930 val
* var211
/* : Object */;
5931 val
* var212
/* : String */;
5932 static val
* varonce213
;
5933 val
* var214
/* : String */;
5934 char* var215
/* : NativeString */;
5935 long var216
/* : Int */;
5936 val
* var217
/* : FlatString */;
5937 static val
* varonce218
;
5938 val
* var219
/* : String */;
5939 char* var220
/* : NativeString */;
5940 long var221
/* : Int */;
5941 val
* var222
/* : FlatString */;
5942 long var223
/* : Int */;
5943 long var224
/* : Int */;
5944 val
* var225
/* : Map[MClass, Array[nullable MPropDef]] */;
5945 val
* var227
/* : Map[MClass, Array[nullable MPropDef]] */;
5946 val
* var_228
/* var : Map[MClass, Array[nullable MPropDef]] */;
5947 val
* var229
/* : MapIterator[nullable Object, nullable Object] */;
5948 val
* var_230
/* var : MapIterator[MClass, Array[nullable MPropDef]] */;
5949 short int var231
/* : Bool */;
5950 val
* var232
/* : nullable Object */;
5951 val
* var_t233
/* var t: MClass */;
5952 val
* var234
/* : nullable Object */;
5953 val
* var_table235
/* var table: Array[nullable MPropDef] */;
5954 long var236
/* : Int */;
5955 long var238
/* : Int */;
5956 long var239
/* : Int */;
5957 short int var241
/* : Bool */;
5960 const char* var_class_name244
;
5961 long var245
/* : Int */;
5962 val
* var_246
/* var : Array[nullable MPropDef] */;
5963 val
* var247
/* : ArrayIterator[nullable Object] */;
5964 val
* var_248
/* var : ArrayIterator[nullable MPropDef] */;
5965 short int var249
/* : Bool */;
5966 val
* var250
/* : nullable Object */;
5967 val
* var_e251
/* var e: nullable MPropDef */;
5968 val
* var252
/* : null */;
5969 short int var253
/* : Bool */;
5970 short int var254
/* : Bool */;
5971 short int var256
/* : Bool */;
5972 short int var258
/* : Bool */;
5973 long var259
/* : Int */;
5974 long var260
/* : Int */;
5975 short int var262
/* : Bool */;
5978 const char* var_class_name265
;
5979 long var266
/* : Int */;
5980 static val
* varonce271
;
5981 val
* var272
/* : String */;
5982 char* var273
/* : NativeString */;
5983 long var274
/* : Int */;
5984 val
* var275
/* : FlatString */;
5985 static val
* varonce276
;
5986 val
* var277
/* : String */;
5987 char* var278
/* : NativeString */;
5988 long var279
/* : Int */;
5989 val
* var280
/* : FlatString */;
5990 val
* var281
/* : Array[Object] */;
5991 long var282
/* : Int */;
5992 val
* var283
/* : NativeArray[Object] */;
5993 val
* var284
/* : Object */;
5994 val
* var285
/* : Object */;
5995 val
* var286
/* : String */;
5999 var1
= "# size of subtyping tables";
6001 var3
= standard___standard__NativeString___to_s_with_length(var1
, var2
);
6006 standard__file___Object___print(self
, var
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6011 var6
= "\11total \11holes";
6013 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
6018 standard__file___Object___print(self
, var5
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6025 { /* Inline separate_compiler#SeparateCompiler#type_tables (self) on <self:SeparateCompiler> */
6026 var13
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___type_tables
].val
; /* _type_tables on <self:SeparateCompiler> */
6027 if (unlikely(var13
== NULL
)) {
6028 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _type_tables");
6029 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 854);
6033 RET_LABEL12
:(void)0;
6038 var14
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_
) /* iterator on <var_:Map[MType, Array[nullable MType]]>*/;
6043 var16
= ((short int (*)(val
* self
))(var_15
->class->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_15
) /* is_ok on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6047 var17
= ((val
* (*)(val
* self
))(var_15
->class->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_15
) /* key on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6051 var18
= ((val
* (*)(val
* self
))(var_15
->class->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_15
) /* item on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6055 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable MType]> */
6056 var21
= var_table
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable MType]> */
6058 RET_LABEL20
:(void)0;
6062 { /* Inline kernel#Int#+ (var_total,var19) on <var_total:Int> */
6063 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
6064 /* <var19:Int> isa OTHER */
6065 var24
= 1; /* easy <var19:Int> isa OTHER*/
6066 if (unlikely(!var24
)) {
6067 var_class_name
= type_standard__Int
.name
;
6068 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6069 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6072 var25
= var_total
+ var19
;
6075 RET_LABEL23
:(void)0;
6081 var27
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_26
);
6086 var29
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_28
);
6090 var30
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_28
);
6094 if (var_e
== NULL
) {
6095 var32
= 1; /* is null */
6097 var32
= 0; /* arg is null but recv is not */
6100 { /* Inline kernel#Object#== (var_e,var31) on <var_e:nullable MType> */
6103 { /* Inline kernel#Object#is_same_instance (var_e,var_other) on <var_e:nullable MType(MType)> */
6104 var37
= var_e
== var_other
;
6107 RET_LABEL36
:(void)0;
6112 RET_LABEL34
:(void)0;
6119 { /* Inline kernel#Int#+ (var_holes,var38) on <var_holes:Int> */
6120 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
6121 /* <var38:Int> isa OTHER */
6122 var41
= 1; /* easy <var38:Int> isa OTHER*/
6123 if (unlikely(!var41
)) {
6124 var_class_name44
= type_standard__Int
.name
;
6125 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44
);
6126 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6129 var45
= var_holes
+ var38
;
6132 RET_LABEL40
:(void)0;
6139 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_28
); /* Direct call array#ArrayIterator#next on <var_28:ArrayIterator[nullable MType]>*/
6145 BREAK_label
: (void)0;
6147 { /* Inline abstract_collection#Iterator#finish (var_28) on <var_28:ArrayIterator[nullable MType]> */
6148 RET_LABEL46
:(void)0;
6152 ((void (*)(val
* self
))(var_15
->class->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_15
) /* next on <var_15:MapIterator[MType, Array[nullable MType]]>*/;
6158 BREAK_label47
: (void)0;
6160 { /* Inline abstract_collection#MapIterator#finish (var_15) on <var_15:MapIterator[MType, Array[nullable MType]]> */
6161 RET_LABEL48
:(void)0;
6169 var53
= standard___standard__NativeString___to_s_with_length(var51
, var52
);
6178 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
6182 var59
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6183 { /* var59 = array_instance Array[Object] */
6185 var61
= NEW_standard__NativeArray(var60
, &type_standard__NativeArray__standard__Object
);
6186 ((struct instance_standard__NativeArray
*)var61
)->values
[0] = (val
*) var50
;
6187 var62
= BOX_standard__Int(var_total
); /* autobox from Int to Object */
6188 ((struct instance_standard__NativeArray
*)var61
)->values
[1] = (val
*) var62
;
6189 ((struct instance_standard__NativeArray
*)var61
)->values
[2] = (val
*) var55
;
6190 var63
= BOX_standard__Int(var_holes
); /* autobox from Int to Object */
6191 ((struct instance_standard__NativeArray
*)var61
)->values
[3] = (val
*) var63
;
6193 ((void (*)(val
* self
, val
* p0
, long p1
))(var59
->class->vft
[COLOR_standard__array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
6197 var64
= ((val
* (*)(val
* self
))(var59
->class->vft
[COLOR_standard__string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
6200 standard__file___Object___print(self
, var64
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6205 var67
= "# size of resolution tables";
6207 var69
= standard___standard__NativeString___to_s_with_length(var67
, var68
);
6212 standard__file___Object___print(self
, var66
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6217 var72
= "\11total \11holes";
6219 var74
= standard___standard__NativeString___to_s_with_length(var72
, var73
);
6224 standard__file___Object___print(self
, var71
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6231 { /* Inline separate_compiler#SeparateCompiler#resolution_tables (self) on <self:SeparateCompiler> */
6232 var79
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___resolution_tables
].val
; /* _resolution_tables on <self:SeparateCompiler> */
6233 if (unlikely(var79
== NULL
)) {
6234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _resolution_tables");
6235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 855);
6239 RET_LABEL78
:(void)0;
6244 var81
= ((val
* (*)(val
* self
))(var_80
->class->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_80
) /* iterator on <var_80:Map[MClassType, Array[nullable MType]]>*/;
6249 var83
= ((short int (*)(val
* self
))(var_82
->class->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_82
) /* is_ok on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6253 var84
= ((val
* (*)(val
* self
))(var_82
->class->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_82
) /* key on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6257 var86
= ((val
* (*)(val
* self
))(var_82
->class->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_82
) /* item on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6259 var_table87
= var86
;
6261 { /* Inline array#AbstractArrayRead#length (var_table87) on <var_table87:Array[nullable MType]> */
6262 var90
= var_table87
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table87:Array[nullable MType]> */
6264 RET_LABEL89
:(void)0;
6268 { /* Inline kernel#Int#+ (var_total,var88) on <var_total:Int> */
6269 /* Covariant cast for argument 0 (i) <var88:Int> isa OTHER */
6270 /* <var88:Int> isa OTHER */
6271 var93
= 1; /* easy <var88:Int> isa OTHER*/
6272 if (unlikely(!var93
)) {
6273 var_class_name96
= type_standard__Int
.name
;
6274 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
6275 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6278 var97
= var_total
+ var88
;
6281 RET_LABEL92
:(void)0;
6285 var_98
= var_table87
;
6287 var99
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_98
);
6292 var101
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_100
);
6296 var102
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_100
);
6300 if (var_e103
== NULL
) {
6301 var105
= 1; /* is null */
6303 var105
= 0; /* arg is null but recv is not */
6306 { /* Inline kernel#Object#== (var_e103,var104) on <var_e103:nullable MType> */
6309 { /* Inline kernel#Object#is_same_instance (var_e103,var_other) on <var_e103:nullable MType(MType)> */
6310 var110
= var_e103
== var_other
;
6313 RET_LABEL109
:(void)0;
6318 RET_LABEL107
:(void)0;
6325 { /* Inline kernel#Int#+ (var_holes,var111) on <var_holes:Int> */
6326 /* Covariant cast for argument 0 (i) <var111:Int> isa OTHER */
6327 /* <var111:Int> isa OTHER */
6328 var114
= 1; /* easy <var111:Int> isa OTHER*/
6329 if (unlikely(!var114
)) {
6330 var_class_name117
= type_standard__Int
.name
;
6331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117
);
6332 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6335 var118
= var_holes
+ var111
;
6338 RET_LABEL113
:(void)0;
6345 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_100
); /* Direct call array#ArrayIterator#next on <var_100:ArrayIterator[nullable MType]>*/
6348 goto BREAK_label119
;
6351 BREAK_label119
: (void)0;
6353 { /* Inline abstract_collection#Iterator#finish (var_100) on <var_100:ArrayIterator[nullable MType]> */
6354 RET_LABEL120
:(void)0;
6358 ((void (*)(val
* self
))(var_82
->class->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_82
) /* next on <var_82:MapIterator[MClassType, Array[nullable MType]]>*/;
6361 goto BREAK_label121
;
6364 BREAK_label121
: (void)0;
6366 { /* Inline abstract_collection#MapIterator#finish (var_82) on <var_82:MapIterator[MClassType, Array[nullable MType]]> */
6367 RET_LABEL122
:(void)0;
6371 var124
= varonce123
;
6375 var127
= standard___standard__NativeString___to_s_with_length(var125
, var126
);
6377 varonce123
= var124
;
6380 var129
= varonce128
;
6384 var132
= standard___standard__NativeString___to_s_with_length(var130
, var131
);
6386 varonce128
= var129
;
6388 var133
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6389 { /* var133 = array_instance Array[Object] */
6391 var135
= NEW_standard__NativeArray(var134
, &type_standard__NativeArray__standard__Object
);
6392 ((struct instance_standard__NativeArray
*)var135
)->values
[0] = (val
*) var124
;
6393 var136
= BOX_standard__Int(var_total
); /* autobox from Int to Object */
6394 ((struct instance_standard__NativeArray
*)var135
)->values
[1] = (val
*) var136
;
6395 ((struct instance_standard__NativeArray
*)var135
)->values
[2] = (val
*) var129
;
6396 var137
= BOX_standard__Int(var_holes
); /* autobox from Int to Object */
6397 ((struct instance_standard__NativeArray
*)var135
)->values
[3] = (val
*) var137
;
6399 ((void (*)(val
* self
, val
* p0
, long p1
))(var133
->class->vft
[COLOR_standard__array__Array__with_native
]))(var133
, var135
, var134
) /* with_native on <var133:Array[Object]>*/;
6403 var138
= ((val
* (*)(val
* self
))(var133
->class->vft
[COLOR_standard__string__Object__to_s
]))(var133
) /* to_s on <var133:Array[Object]>*/;
6406 standard__file___Object___print(self
, var138
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6409 var140
= varonce139
;
6411 var141
= "# size of methods tables";
6413 var143
= standard___standard__NativeString___to_s_with_length(var141
, var142
);
6415 varonce139
= var140
;
6418 standard__file___Object___print(self
, var140
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6421 var145
= varonce144
;
6423 var146
= "\11total \11holes";
6425 var148
= standard___standard__NativeString___to_s_with_length(var146
, var147
);
6427 varonce144
= var145
;
6430 standard__file___Object___print(self
, var145
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6437 { /* Inline separate_compiler#SeparateCompiler#method_tables (self) on <self:SeparateCompiler> */
6438 var153
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___method_tables
].val
; /* _method_tables on <self:SeparateCompiler> */
6439 if (unlikely(var153
== NULL
)) {
6440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _method_tables");
6441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 856);
6445 RET_LABEL152
:(void)0;
6450 var155
= ((val
* (*)(val
* self
))(var_154
->class->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_154
) /* iterator on <var_154:Map[MClass, Array[nullable MPropDef]]>*/;
6455 var157
= ((short int (*)(val
* self
))(var_156
->class->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_156
) /* is_ok on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6459 var158
= ((val
* (*)(val
* self
))(var_156
->class->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_156
) /* key on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6463 var160
= ((val
* (*)(val
* self
))(var_156
->class->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_156
) /* item on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6465 var_table161
= var160
;
6467 { /* Inline array#AbstractArrayRead#length (var_table161) on <var_table161:Array[nullable MPropDef]> */
6468 var164
= var_table161
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table161:Array[nullable MPropDef]> */
6470 RET_LABEL163
:(void)0;
6474 { /* Inline kernel#Int#+ (var_total,var162) on <var_total:Int> */
6475 /* Covariant cast for argument 0 (i) <var162:Int> isa OTHER */
6476 /* <var162:Int> isa OTHER */
6477 var167
= 1; /* easy <var162:Int> isa OTHER*/
6478 if (unlikely(!var167
)) {
6479 var_class_name170
= type_standard__Int
.name
;
6480 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name170
);
6481 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6484 var171
= var_total
+ var162
;
6487 RET_LABEL166
:(void)0;
6491 var_172
= var_table161
;
6493 var173
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_172
);
6498 var175
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_174
);
6502 var176
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_174
);
6506 if (var_e177
== NULL
) {
6507 var179
= 1; /* is null */
6509 var179
= 0; /* arg is null but recv is not */
6512 { /* Inline kernel#Object#== (var_e177,var178) on <var_e177:nullable MPropDef> */
6515 { /* Inline kernel#Object#is_same_instance (var_e177,var_other) on <var_e177:nullable MPropDef(MPropDef)> */
6516 var184
= var_e177
== var_other
;
6519 RET_LABEL183
:(void)0;
6524 RET_LABEL181
:(void)0;
6531 { /* Inline kernel#Int#+ (var_holes,var185) on <var_holes:Int> */
6532 /* Covariant cast for argument 0 (i) <var185:Int> isa OTHER */
6533 /* <var185:Int> isa OTHER */
6534 var188
= 1; /* easy <var185:Int> isa OTHER*/
6535 if (unlikely(!var188
)) {
6536 var_class_name191
= type_standard__Int
.name
;
6537 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name191
);
6538 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6541 var192
= var_holes
+ var185
;
6544 RET_LABEL187
:(void)0;
6551 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_174
); /* Direct call array#ArrayIterator#next on <var_174:ArrayIterator[nullable MPropDef]>*/
6554 goto BREAK_label193
;
6557 BREAK_label193
: (void)0;
6559 { /* Inline abstract_collection#Iterator#finish (var_174) on <var_174:ArrayIterator[nullable MPropDef]> */
6560 RET_LABEL194
:(void)0;
6564 ((void (*)(val
* self
))(var_156
->class->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_156
) /* next on <var_156:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6567 goto BREAK_label195
;
6570 BREAK_label195
: (void)0;
6572 { /* Inline abstract_collection#MapIterator#finish (var_156) on <var_156:MapIterator[MClass, Array[nullable MPropDef]]> */
6573 RET_LABEL196
:(void)0;
6577 var198
= varonce197
;
6581 var201
= standard___standard__NativeString___to_s_with_length(var199
, var200
);
6583 varonce197
= var198
;
6586 var203
= varonce202
;
6590 var206
= standard___standard__NativeString___to_s_with_length(var204
, var205
);
6592 varonce202
= var203
;
6594 var207
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6595 { /* var207 = array_instance Array[Object] */
6597 var209
= NEW_standard__NativeArray(var208
, &type_standard__NativeArray__standard__Object
);
6598 ((struct instance_standard__NativeArray
*)var209
)->values
[0] = (val
*) var198
;
6599 var210
= BOX_standard__Int(var_total
); /* autobox from Int to Object */
6600 ((struct instance_standard__NativeArray
*)var209
)->values
[1] = (val
*) var210
;
6601 ((struct instance_standard__NativeArray
*)var209
)->values
[2] = (val
*) var203
;
6602 var211
= BOX_standard__Int(var_holes
); /* autobox from Int to Object */
6603 ((struct instance_standard__NativeArray
*)var209
)->values
[3] = (val
*) var211
;
6605 ((void (*)(val
* self
, val
* p0
, long p1
))(var207
->class->vft
[COLOR_standard__array__Array__with_native
]))(var207
, var209
, var208
) /* with_native on <var207:Array[Object]>*/;
6609 var212
= ((val
* (*)(val
* self
))(var207
->class->vft
[COLOR_standard__string__Object__to_s
]))(var207
) /* to_s on <var207:Array[Object]>*/;
6612 standard__file___Object___print(self
, var212
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6615 var214
= varonce213
;
6617 var215
= "# size of attributes tables";
6619 var217
= standard___standard__NativeString___to_s_with_length(var215
, var216
);
6621 varonce213
= var214
;
6624 standard__file___Object___print(self
, var214
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6627 var219
= varonce218
;
6629 var220
= "\11total \11holes";
6631 var222
= standard___standard__NativeString___to_s_with_length(var220
, var221
);
6633 varonce218
= var219
;
6636 standard__file___Object___print(self
, var219
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6643 { /* Inline separate_compiler#SeparateCompiler#attr_tables (self) on <self:SeparateCompiler> */
6644 var227
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_tables
].val
; /* _attr_tables on <self:SeparateCompiler> */
6645 if (unlikely(var227
== NULL
)) {
6646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _attr_tables");
6647 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 857);
6651 RET_LABEL226
:(void)0;
6656 var229
= ((val
* (*)(val
* self
))(var_228
->class->vft
[COLOR_standard__abstract_collection__MapRead__iterator
]))(var_228
) /* iterator on <var_228:Map[MClass, Array[nullable MPropDef]]>*/;
6661 var231
= ((short int (*)(val
* self
))(var_230
->class->vft
[COLOR_standard__abstract_collection__MapIterator__is_ok
]))(var_230
) /* is_ok on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6665 var232
= ((val
* (*)(val
* self
))(var_230
->class->vft
[COLOR_standard__abstract_collection__MapIterator__key
]))(var_230
) /* key on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6669 var234
= ((val
* (*)(val
* self
))(var_230
->class->vft
[COLOR_standard__abstract_collection__MapIterator__item
]))(var_230
) /* item on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6671 var_table235
= var234
;
6673 { /* Inline array#AbstractArrayRead#length (var_table235) on <var_table235:Array[nullable MPropDef]> */
6674 var238
= var_table235
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_table235:Array[nullable MPropDef]> */
6676 RET_LABEL237
:(void)0;
6680 { /* Inline kernel#Int#+ (var_total,var236) on <var_total:Int> */
6681 /* Covariant cast for argument 0 (i) <var236:Int> isa OTHER */
6682 /* <var236:Int> isa OTHER */
6683 var241
= 1; /* easy <var236:Int> isa OTHER*/
6684 if (unlikely(!var241
)) {
6685 var_class_name244
= type_standard__Int
.name
;
6686 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name244
);
6687 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6690 var245
= var_total
+ var236
;
6693 RET_LABEL240
:(void)0;
6697 var_246
= var_table235
;
6699 var247
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_246
);
6704 var249
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_248
);
6708 var250
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_248
);
6712 if (var_e251
== NULL
) {
6713 var253
= 1; /* is null */
6715 var253
= 0; /* arg is null but recv is not */
6718 { /* Inline kernel#Object#== (var_e251,var252) on <var_e251:nullable MPropDef> */
6721 { /* Inline kernel#Object#is_same_instance (var_e251,var_other) on <var_e251:nullable MPropDef(MPropDef)> */
6722 var258
= var_e251
== var_other
;
6725 RET_LABEL257
:(void)0;
6730 RET_LABEL255
:(void)0;
6737 { /* Inline kernel#Int#+ (var_holes,var259) on <var_holes:Int> */
6738 /* Covariant cast for argument 0 (i) <var259:Int> isa OTHER */
6739 /* <var259:Int> isa OTHER */
6740 var262
= 1; /* easy <var259:Int> isa OTHER*/
6741 if (unlikely(!var262
)) {
6742 var_class_name265
= type_standard__Int
.name
;
6743 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name265
);
6744 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
6747 var266
= var_holes
+ var259
;
6750 RET_LABEL261
:(void)0;
6757 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_248
); /* Direct call array#ArrayIterator#next on <var_248:ArrayIterator[nullable MPropDef]>*/
6760 goto BREAK_label267
;
6763 BREAK_label267
: (void)0;
6765 { /* Inline abstract_collection#Iterator#finish (var_248) on <var_248:ArrayIterator[nullable MPropDef]> */
6766 RET_LABEL268
:(void)0;
6770 ((void (*)(val
* self
))(var_230
->class->vft
[COLOR_standard__abstract_collection__MapIterator__next
]))(var_230
) /* next on <var_230:MapIterator[MClass, Array[nullable MPropDef]]>*/;
6773 goto BREAK_label269
;
6776 BREAK_label269
: (void)0;
6778 { /* Inline abstract_collection#MapIterator#finish (var_230) on <var_230:MapIterator[MClass, Array[nullable MPropDef]]> */
6779 RET_LABEL270
:(void)0;
6783 var272
= varonce271
;
6787 var275
= standard___standard__NativeString___to_s_with_length(var273
, var274
);
6789 varonce271
= var272
;
6792 var277
= varonce276
;
6796 var280
= standard___standard__NativeString___to_s_with_length(var278
, var279
);
6798 varonce276
= var277
;
6800 var281
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6801 { /* var281 = array_instance Array[Object] */
6803 var283
= NEW_standard__NativeArray(var282
, &type_standard__NativeArray__standard__Object
);
6804 ((struct instance_standard__NativeArray
*)var283
)->values
[0] = (val
*) var272
;
6805 var284
= BOX_standard__Int(var_total
); /* autobox from Int to Object */
6806 ((struct instance_standard__NativeArray
*)var283
)->values
[1] = (val
*) var284
;
6807 ((struct instance_standard__NativeArray
*)var283
)->values
[2] = (val
*) var277
;
6808 var285
= BOX_standard__Int(var_holes
); /* autobox from Int to Object */
6809 ((struct instance_standard__NativeArray
*)var283
)->values
[3] = (val
*) var285
;
6811 ((void (*)(val
* self
, val
* p0
, long p1
))(var281
->class->vft
[COLOR_standard__array__Array__with_native
]))(var281
, var283
, var282
) /* with_native on <var281:Array[Object]>*/;
6815 var286
= ((val
* (*)(val
* self
))(var281
->class->vft
[COLOR_standard__string__Object__to_s
]))(var281
) /* to_s on <var281:Array[Object]>*/;
6818 standard__file___Object___print(self
, var286
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6822 /* method separate_compiler#SeparateCompiler#isset_checks_count for (self: SeparateCompiler): Int */
6823 long nit___nit__SeparateCompiler___isset_checks_count(val
* self
) {
6824 long var
/* : Int */;
6825 long var1
/* : Int */;
6826 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
6831 /* method separate_compiler#SeparateCompiler#isset_checks_count= for (self: SeparateCompiler, Int) */
6832 void nit___nit__SeparateCompiler___isset_checks_count_61d(val
* self
, long p0
) {
6833 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
= p0
; /* _isset_checks_count on <self:SeparateCompiler> */
6836 /* method separate_compiler#SeparateCompiler#attr_read_count for (self: SeparateCompiler): Int */
6837 long nit___nit__SeparateCompiler___attr_read_count(val
* self
) {
6838 long var
/* : Int */;
6839 long var1
/* : Int */;
6840 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
6845 /* method separate_compiler#SeparateCompiler#attr_read_count= for (self: SeparateCompiler, Int) */
6846 void nit___nit__SeparateCompiler___attr_read_count_61d(val
* self
, long p0
) {
6847 self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
= p0
; /* _attr_read_count on <self:SeparateCompiler> */
6850 /* method separate_compiler#SeparateCompiler#display_isset_checks for (self: SeparateCompiler) */
6851 void nit___nit__SeparateCompiler___display_isset_checks(val
* self
) {
6852 static val
* varonce
;
6853 val
* var
/* : String */;
6854 char* var1
/* : NativeString */;
6855 long var2
/* : Int */;
6856 val
* var3
/* : FlatString */;
6857 static val
* varonce4
;
6858 val
* var5
/* : String */;
6859 char* var6
/* : NativeString */;
6860 long var7
/* : Int */;
6861 val
* var8
/* : FlatString */;
6862 long var9
/* : Int */;
6863 long var11
/* : Int */;
6864 val
* var12
/* : Array[Object] */;
6865 long var13
/* : Int */;
6866 val
* var14
/* : NativeArray[Object] */;
6867 val
* var15
/* : Object */;
6868 val
* var16
/* : String */;
6869 static val
* varonce17
;
6870 val
* var18
/* : String */;
6871 char* var19
/* : NativeString */;
6872 long var20
/* : Int */;
6873 val
* var21
/* : FlatString */;
6874 static val
* varonce22
;
6875 val
* var23
/* : String */;
6876 char* var24
/* : NativeString */;
6877 long var25
/* : Int */;
6878 val
* var26
/* : FlatString */;
6879 long var27
/* : Int */;
6880 long var29
/* : Int */;
6881 val
* var30
/* : Array[Object] */;
6882 long var31
/* : Int */;
6883 val
* var32
/* : NativeArray[Object] */;
6884 val
* var33
/* : Object */;
6885 val
* var34
/* : String */;
6889 var1
= "# total number of compiled attribute reads";
6891 var3
= standard___standard__NativeString___to_s_with_length(var1
, var2
);
6896 standard__file___Object___print(self
, var
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6903 var8
= standard___standard__NativeString___to_s_with_length(var6
, var7
);
6908 { /* Inline separate_compiler#SeparateCompiler#attr_read_count (self) on <self:SeparateCompiler> */
6909 var11
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___attr_read_count
].l
; /* _attr_read_count on <self:SeparateCompiler> */
6911 RET_LABEL10
:(void)0;
6914 var12
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6915 { /* var12 = array_instance Array[Object] */
6917 var14
= NEW_standard__NativeArray(var13
, &type_standard__NativeArray__standard__Object
);
6918 ((struct instance_standard__NativeArray
*)var14
)->values
[0] = (val
*) var5
;
6919 var15
= BOX_standard__Int(var9
); /* autobox from Int to Object */
6920 ((struct instance_standard__NativeArray
*)var14
)->values
[1] = (val
*) var15
;
6922 ((void (*)(val
* self
, val
* p0
, long p1
))(var12
->class->vft
[COLOR_standard__array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Object]>*/;
6926 var16
= ((val
* (*)(val
* self
))(var12
->class->vft
[COLOR_standard__string__Object__to_s
]))(var12
) /* to_s on <var12:Array[Object]>*/;
6929 standard__file___Object___print(self
, var16
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6934 var19
= "# total number of compiled isset-checks";
6936 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
6941 standard__file___Object___print(self
, var18
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6948 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
6953 { /* Inline separate_compiler#SeparateCompiler#isset_checks_count (self) on <self:SeparateCompiler> */
6954 var29
= self
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___isset_checks_count
].l
; /* _isset_checks_count on <self:SeparateCompiler> */
6956 RET_LABEL28
:(void)0;
6959 var30
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6960 { /* var30 = array_instance Array[Object] */
6962 var32
= NEW_standard__NativeArray(var31
, &type_standard__NativeArray__standard__Object
);
6963 ((struct instance_standard__NativeArray
*)var32
)->values
[0] = (val
*) var23
;
6964 var33
= BOX_standard__Int(var27
); /* autobox from Int to Object */
6965 ((struct instance_standard__NativeArray
*)var32
)->values
[1] = (val
*) var33
;
6967 ((void (*)(val
* self
, val
* p0
, long p1
))(var30
->class->vft
[COLOR_standard__array__Array__with_native
]))(var30
, var32
, var31
) /* with_native on <var30:Array[Object]>*/;
6971 var34
= ((val
* (*)(val
* self
))(var30
->class->vft
[COLOR_standard__string__Object__to_s
]))(var30
) /* to_s on <var30:Array[Object]>*/;
6974 standard__file___Object___print(self
, var34
); /* Direct call file#Object#print on <self:SeparateCompiler>*/
6978 /* method separate_compiler#SeparateCompiler#compile_nitni_structs for (self: SeparateCompiler) */
6979 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs(val
* self
) {
6980 val
* var
/* : CodeWriter */;
6981 val
* var2
/* : CodeWriter */;
6982 static val
* varonce
;
6983 val
* var3
/* : String */;
6984 char* var4
/* : NativeString */;
6985 long var5
/* : Int */;
6986 val
* var6
/* : FlatString */;
6988 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:SeparateCompiler> */
6989 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:SeparateCompiler> */
6990 if (unlikely(var2
== NULL
)) {
6991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
6992 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
7002 var4
= "struct nitni_instance {\n\11struct nitni_instance *next,\n\11\11*prev; /* adjacent global references in global list */\n\11int count; /* number of time this global reference has been marked */\n\11struct instance *value;\n};\n";
7004 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
7009 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
7012 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs
]))(self
) /* compile_nitni_structs on <self:SeparateCompiler>*/;
7016 /* method separate_compiler#SeparateCompiler#finalize_ffi_for_module for (self: SeparateCompiler, MModule) */
7017 void nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
7018 val
* var_mmodule
/* var mmodule: MModule */;
7019 val
* var
/* : MModule */;
7020 val
* var2
/* : MModule */;
7021 val
* var_old_module
/* var old_module: MModule */;
7024 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:SeparateCompiler> */
7025 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:SeparateCompiler> */
7026 if (unlikely(var2
== NULL
)) {
7027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7035 var_old_module
= var
;
7037 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_mmodule) on <self:SeparateCompiler> */
7038 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_mmodule
; /* _mainmodule on <self:SeparateCompiler> */
7043 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module
]))(self
, p0
) /* finalize_ffi_for_module on <self:SeparateCompiler>*/;
7046 { /* Inline abstract_compiler#AbstractCompiler#mainmodule= (self,var_old_module) on <self:SeparateCompiler> */
7047 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= var_old_module
; /* _mainmodule on <self:SeparateCompiler> */
7053 /* method separate_compiler#SeparateCompilerVisitor#adapt_signature for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7054 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7055 val
* var_m
/* var m: MMethodDef */;
7056 val
* var_args
/* var args: Array[RuntimeVariable] */;
7057 val
* var
/* : nullable MSignature */;
7058 val
* var2
/* : nullable MSignature */;
7059 val
* var3
/* : MClassDef */;
7060 val
* var5
/* : MClassDef */;
7061 val
* var6
/* : MClassType */;
7062 val
* var8
/* : MClassType */;
7063 val
* var9
/* : MClassDef */;
7064 val
* var11
/* : MClassDef */;
7065 val
* var12
/* : MClassType */;
7066 val
* var14
/* : MClassType */;
7067 val
* var15
/* : MClassDef */;
7068 val
* var17
/* : MClassDef */;
7069 val
* var18
/* : MModule */;
7070 val
* var20
/* : MModule */;
7071 short int var21
/* : Bool */;
7072 val
* var22
/* : MSignature */;
7073 val
* var_msignature
/* var msignature: MSignature */;
7074 val
* var23
/* : nullable Object */;
7075 val
* var_recv
/* var recv: RuntimeVariable */;
7076 val
* var24
/* : MType */;
7077 val
* var26
/* : MType */;
7078 val
* var27
/* : String */;
7079 val
* var28
/* : MClassDef */;
7080 val
* var30
/* : MClassDef */;
7081 val
* var31
/* : MClass */;
7082 val
* var33
/* : MClass */;
7083 val
* var34
/* : MClassType */;
7084 val
* var36
/* : MClassType */;
7085 val
* var37
/* : String */;
7086 short int var38
/* : Bool */;
7087 val
* var_other
/* var other: nullable Object */;
7088 short int var40
/* : Bool */;
7089 short int var41
/* : Bool */;
7090 val
* var42
/* : nullable Object */;
7091 val
* var43
/* : MClassDef */;
7092 val
* var45
/* : MClassDef */;
7093 val
* var46
/* : MClass */;
7094 val
* var48
/* : MClass */;
7095 val
* var49
/* : MClassType */;
7096 val
* var51
/* : MClassType */;
7097 val
* var52
/* : RuntimeVariable */;
7098 long var53
/* : Int */;
7099 long var_i
/* var i: Int */;
7100 long var54
/* : Int */;
7101 long var_
/* var : Int */;
7102 short int var55
/* : Bool */;
7103 short int var57
/* : Bool */;
7106 const char* var_class_name
;
7107 short int var58
/* : Bool */;
7108 val
* var59
/* : Array[MParameter] */;
7109 val
* var61
/* : Array[MParameter] */;
7110 val
* var62
/* : nullable Object */;
7111 val
* var63
/* : MType */;
7112 val
* var65
/* : MType */;
7113 val
* var_t
/* var t: MType */;
7114 long var66
/* : Int */;
7115 long var68
/* : Int */;
7116 short int var69
/* : Bool */;
7117 short int var71
/* : Bool */;
7118 long var72
/* : Int */;
7119 long var73
/* : Int */;
7120 short int var75
/* : Bool */;
7123 const char* var_class_name78
;
7124 long var79
/* : Int */;
7125 val
* var80
/* : nullable Object */;
7126 val
* var81
/* : MType */;
7127 val
* var83
/* : MType */;
7128 long var84
/* : Int */;
7129 long var85
/* : Int */;
7130 short int var87
/* : Bool */;
7133 const char* var_class_name90
;
7134 long var91
/* : Int */;
7135 long var92
/* : Int */;
7136 long var93
/* : Int */;
7137 short int var95
/* : Bool */;
7140 const char* var_class_name98
;
7141 long var99
/* : Int */;
7142 val
* var100
/* : nullable Object */;
7143 val
* var101
/* : RuntimeVariable */;
7144 long var102
/* : Int */;
7145 long var103
/* : Int */;
7149 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
7150 var2
= var_m
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
7156 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7157 var5
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7158 if (unlikely(var5
== NULL
)) {
7159 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7168 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
7169 var8
= var3
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
7170 if (unlikely(var8
== NULL
)) {
7171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7180 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7181 var11
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7182 if (unlikely(var11
== NULL
)) {
7183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7188 RET_LABEL10
:(void)0;
7192 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
7193 var14
= var9
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
7194 if (unlikely(var14
== NULL
)) {
7195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7196 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7200 RET_LABEL13
:(void)0;
7204 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7205 var17
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7206 if (unlikely(var17
== NULL
)) {
7207 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7208 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7212 RET_LABEL16
:(void)0;
7216 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
7217 var20
= var15
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
7218 if (unlikely(var20
== NULL
)) {
7219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7220 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7224 RET_LABEL19
:(void)0;
7229 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7230 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 960);
7233 var22
= nit___nit__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, var21
);
7235 var_msignature
= var22
;
7237 var23
= standard___standard__SequenceRead___Collection__first(var_args
);
7241 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_recv) on <var_recv:RuntimeVariable> */
7242 var26
= var_recv
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_recv:RuntimeVariable> */
7243 if (unlikely(var26
== NULL
)) {
7244 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7245 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
7249 RET_LABEL25
:(void)0;
7253 var27
= ((val
* (*)(val
* self
))(var24
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var24
) /* ctype on <var24:MType>*/;
7256 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7257 var30
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7258 if (unlikely(var30
== NULL
)) {
7259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7264 RET_LABEL29
:(void)0;
7268 { /* Inline model#MClassDef#mclass (var28) on <var28:MClassDef> */
7269 var33
= var28
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var28:MClassDef> */
7270 if (unlikely(var33
== NULL
)) {
7271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
7276 RET_LABEL32
:(void)0;
7280 { /* Inline model#MClass#mclass_type (var31) on <var31:MClass> */
7281 var36
= var31
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var31:MClass> */
7282 if (unlikely(var36
== NULL
)) {
7283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7284 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
7288 RET_LABEL35
:(void)0;
7292 var37
= nit__abstract_compiler___MClassType___MType__ctype(var34
);
7295 { /* Inline kernel#Object#!= (var27,var37) on <var27:String> */
7298 var40
= ((short int (*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var27
, var_other
) /* == on <var27:String>*/;
7303 RET_LABEL39
:(void)0;
7308 var42
= standard___standard__SequenceRead___Collection__first(var_args
);
7311 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7312 var45
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7313 if (unlikely(var45
== NULL
)) {
7314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7319 RET_LABEL44
:(void)0;
7323 { /* Inline model#MClassDef#mclass (var43) on <var43:MClassDef> */
7324 var48
= var43
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var43:MClassDef> */
7325 if (unlikely(var48
== NULL
)) {
7326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
7331 RET_LABEL47
:(void)0;
7335 { /* Inline model#MClass#mclass_type (var46) on <var46:MClass> */
7336 var51
= var46
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var46:MClass> */
7337 if (unlikely(var51
== NULL
)) {
7338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
7343 RET_LABEL50
:(void)0;
7347 var52
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var42
, var49
);
7350 standard___standard__Sequence___first_61d(var_args
, var52
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
7357 var54
= nit___nit__MSignature___arity(var_msignature
);
7362 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
7363 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
7364 /* <var_:Int> isa OTHER */
7365 var57
= 1; /* easy <var_:Int> isa OTHER*/
7366 if (unlikely(!var57
)) {
7367 var_class_name
= type_standard__Int
.name
;
7368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7369 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
7372 var58
= var_i
< var_
;
7375 RET_LABEL56
:(void)0;
7380 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
7381 var61
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7382 if (unlikely(var61
== NULL
)) {
7383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7384 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
7388 RET_LABEL60
:(void)0;
7392 var62
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var59
, var_i
);
7395 { /* Inline model#MParameter#mtype (var62) on <var62:nullable Object(MParameter)> */
7396 var65
= var62
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var62:nullable Object(MParameter)> */
7397 if (unlikely(var65
== NULL
)) {
7398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
7403 RET_LABEL64
:(void)0;
7408 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
7409 var68
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
7411 RET_LABEL67
:(void)0;
7415 { /* Inline kernel#Int#== (var_i,var66) on <var_i:Int> */
7416 var71
= var_i
== var66
;
7419 RET_LABEL70
:(void)0;
7425 { /* Inline kernel#Int#+ (var_i,var72) on <var_i:Int> */
7426 /* Covariant cast for argument 0 (i) <var72:Int> isa OTHER */
7427 /* <var72:Int> isa OTHER */
7428 var75
= 1; /* easy <var72:Int> isa OTHER*/
7429 if (unlikely(!var75
)) {
7430 var_class_name78
= type_standard__Int
.name
;
7431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78
);
7432 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7435 var79
= var_i
+ var72
;
7438 RET_LABEL74
:(void)0;
7442 var80
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var73
);
7445 { /* Inline abstract_compiler#RuntimeVariable#mtype (var80) on <var80:nullable Object(RuntimeVariable)> */
7446 var83
= var80
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var80:nullable Object(RuntimeVariable)> */
7447 if (unlikely(var83
== NULL
)) {
7448 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7449 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
7453 RET_LABEL82
:(void)0;
7461 { /* Inline kernel#Int#+ (var_i,var84) on <var_i:Int> */
7462 /* Covariant cast for argument 0 (i) <var84:Int> isa OTHER */
7463 /* <var84:Int> isa OTHER */
7464 var87
= 1; /* easy <var84:Int> isa OTHER*/
7465 if (unlikely(!var87
)) {
7466 var_class_name90
= type_standard__Int
.name
;
7467 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90
);
7468 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7471 var91
= var_i
+ var84
;
7474 RET_LABEL86
:(void)0;
7479 { /* Inline kernel#Int#+ (var_i,var92) on <var_i:Int> */
7480 /* Covariant cast for argument 0 (i) <var92:Int> isa OTHER */
7481 /* <var92:Int> isa OTHER */
7482 var95
= 1; /* easy <var92:Int> isa OTHER*/
7483 if (unlikely(!var95
)) {
7484 var_class_name98
= type_standard__Int
.name
;
7485 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98
);
7486 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7489 var99
= var_i
+ var92
;
7492 RET_LABEL94
:(void)0;
7496 var100
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var93
);
7499 var101
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var100
, var_t
);
7502 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_args
, var85
, var101
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
7506 var103
= standard___standard__Int___Discrete__successor(var_i
, var102
);
7513 BREAK_label
: (void)0;
7516 /* method separate_compiler#SeparateCompilerVisitor#unbox_signature_extern for (self: SeparateCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7517 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(val
* self
, val
* p0
, val
* p1
) {
7518 val
* var_m
/* var m: MMethodDef */;
7519 val
* var_args
/* var args: Array[RuntimeVariable] */;
7520 val
* var
/* : nullable MSignature */;
7521 val
* var2
/* : nullable MSignature */;
7522 val
* var3
/* : MClassDef */;
7523 val
* var5
/* : MClassDef */;
7524 val
* var6
/* : MClassType */;
7525 val
* var8
/* : MClassType */;
7526 val
* var9
/* : MClassDef */;
7527 val
* var11
/* : MClassDef */;
7528 val
* var12
/* : MClassType */;
7529 val
* var14
/* : MClassType */;
7530 val
* var15
/* : MClassDef */;
7531 val
* var17
/* : MClassDef */;
7532 val
* var18
/* : MModule */;
7533 val
* var20
/* : MModule */;
7534 short int var21
/* : Bool */;
7535 val
* var22
/* : MSignature */;
7536 val
* var_msignature
/* var msignature: MSignature */;
7537 short int var23
/* : Bool */;
7538 val
* var24
/* : MProperty */;
7539 val
* var26
/* : MProperty */;
7540 short int var27
/* : Bool */;
7541 short int var29
/* : Bool */;
7542 short int var30
/* : Bool */;
7543 short int var_
/* var : Bool */;
7544 short int var31
/* : Bool */;
7545 short int var33
/* : Bool */;
7546 val
* var34
/* : nullable Object */;
7547 val
* var35
/* : MClassDef */;
7548 val
* var37
/* : MClassDef */;
7549 val
* var38
/* : MClass */;
7550 val
* var40
/* : MClass */;
7551 val
* var41
/* : MClassType */;
7552 val
* var43
/* : MClassType */;
7553 val
* var44
/* : RuntimeVariable */;
7554 long var45
/* : Int */;
7555 long var_i
/* var i: Int */;
7556 long var46
/* : Int */;
7557 long var_47
/* var : Int */;
7558 short int var48
/* : Bool */;
7559 short int var50
/* : Bool */;
7562 const char* var_class_name
;
7563 short int var51
/* : Bool */;
7564 val
* var52
/* : Array[MParameter] */;
7565 val
* var54
/* : Array[MParameter] */;
7566 val
* var55
/* : nullable Object */;
7567 val
* var56
/* : MType */;
7568 val
* var58
/* : MType */;
7569 val
* var_t
/* var t: MType */;
7570 long var59
/* : Int */;
7571 long var61
/* : Int */;
7572 short int var62
/* : Bool */;
7573 short int var64
/* : Bool */;
7574 long var65
/* : Int */;
7575 long var66
/* : Int */;
7576 short int var68
/* : Bool */;
7579 const char* var_class_name71
;
7580 long var72
/* : Int */;
7581 val
* var73
/* : nullable Object */;
7582 val
* var74
/* : MType */;
7583 val
* var76
/* : MType */;
7584 short int var77
/* : Bool */;
7585 short int var79
/* : Bool */;
7586 long var80
/* : Int */;
7587 long var81
/* : Int */;
7588 short int var83
/* : Bool */;
7591 const char* var_class_name86
;
7592 long var87
/* : Int */;
7593 long var88
/* : Int */;
7594 long var89
/* : Int */;
7595 short int var91
/* : Bool */;
7598 const char* var_class_name94
;
7599 long var95
/* : Int */;
7600 val
* var96
/* : nullable Object */;
7601 val
* var97
/* : RuntimeVariable */;
7602 long var98
/* : Int */;
7603 long var99
/* : Int */;
7607 { /* Inline model#MMethodDef#msignature (var_m) on <var_m:MMethodDef> */
7608 var2
= var_m
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_m:MMethodDef> */
7614 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7615 var5
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7616 if (unlikely(var5
== NULL
)) {
7617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7626 { /* Inline model#MClassDef#bound_mtype (var3) on <var3:MClassDef> */
7627 var8
= var3
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var3:MClassDef> */
7628 if (unlikely(var8
== NULL
)) {
7629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7638 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7639 var11
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7640 if (unlikely(var11
== NULL
)) {
7641 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7646 RET_LABEL10
:(void)0;
7650 { /* Inline model#MClassDef#bound_mtype (var9) on <var9:MClassDef> */
7651 var14
= var9
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var9:MClassDef> */
7652 if (unlikely(var14
== NULL
)) {
7653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7654 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7658 RET_LABEL13
:(void)0;
7662 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7663 var17
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7664 if (unlikely(var17
== NULL
)) {
7665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7670 RET_LABEL16
:(void)0;
7674 { /* Inline model#MClassDef#mmodule (var15) on <var15:MClassDef> */
7675 var20
= var15
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var15:MClassDef> */
7676 if (unlikely(var20
== NULL
)) {
7677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7682 RET_LABEL19
:(void)0;
7687 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 976);
7691 var22
= nit___nit__MSignature___MType__resolve_for(var
, var6
, var12
, var18
, var21
);
7693 var_msignature
= var22
;
7695 { /* Inline model#MPropDef#mproperty (var_m) on <var_m:MMethodDef> */
7696 var26
= var_m
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_m:MMethodDef> */
7697 if (unlikely(var26
== NULL
)) {
7698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
7703 RET_LABEL25
:(void)0;
7707 { /* Inline model#MMethod#is_init (var24) on <var24:MProperty(MMethod)> */
7708 var29
= var24
->attrs
[COLOR_nit__model__MMethod___is_init
].s
; /* _is_init on <var24:MProperty(MMethod)> */
7710 RET_LABEL28
:(void)0;
7717 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
7718 var33
= var_m
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
7720 RET_LABEL32
:(void)0;
7729 var34
= standard___standard__SequenceRead___Collection__first(var_args
);
7732 { /* Inline model#MPropDef#mclassdef (var_m) on <var_m:MMethodDef> */
7733 var37
= var_m
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_m:MMethodDef> */
7734 if (unlikely(var37
== NULL
)) {
7735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7736 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7740 RET_LABEL36
:(void)0;
7744 { /* Inline model#MClassDef#mclass (var35) on <var35:MClassDef> */
7745 var40
= var35
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var35:MClassDef> */
7746 if (unlikely(var40
== NULL
)) {
7747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
7748 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 492);
7752 RET_LABEL39
:(void)0;
7756 { /* Inline model#MClass#mclass_type (var38) on <var38:MClass> */
7757 var43
= var38
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var38:MClass> */
7758 if (unlikely(var43
== NULL
)) {
7759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
7760 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 438);
7764 RET_LABEL42
:(void)0;
7768 var44
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var34
, var41
) /* unbox_extern on <self:SeparateCompilerVisitor>*/;
7771 standard___standard__Sequence___first_61d(var_args
, var44
); /* Direct call abstract_collection#Sequence#first= on <var_args:Array[RuntimeVariable]>*/
7778 var46
= nit___nit__MSignature___arity(var_msignature
);
7783 { /* Inline kernel#Int#< (var_i,var_47) on <var_i:Int> */
7784 /* Covariant cast for argument 0 (i) <var_47:Int> isa OTHER */
7785 /* <var_47:Int> isa OTHER */
7786 var50
= 1; /* easy <var_47:Int> isa OTHER*/
7787 if (unlikely(!var50
)) {
7788 var_class_name
= type_standard__Int
.name
;
7789 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7790 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
7793 var51
= var_i
< var_47
;
7796 RET_LABEL49
:(void)0;
7801 { /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
7802 var54
= var_msignature
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_msignature:MSignature> */
7803 if (unlikely(var54
== NULL
)) {
7804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
7809 RET_LABEL53
:(void)0;
7813 var55
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var52
, var_i
);
7816 { /* Inline model#MParameter#mtype (var55) on <var55:nullable Object(MParameter)> */
7817 var58
= var55
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var55:nullable Object(MParameter)> */
7818 if (unlikely(var58
== NULL
)) {
7819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
7824 RET_LABEL57
:(void)0;
7829 { /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
7830 var61
= var_msignature
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var_msignature:MSignature> */
7832 RET_LABEL60
:(void)0;
7836 { /* Inline kernel#Int#== (var_i,var59) on <var_i:Int> */
7837 var64
= var_i
== var59
;
7840 RET_LABEL63
:(void)0;
7846 { /* Inline kernel#Int#+ (var_i,var65) on <var_i:Int> */
7847 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
7848 /* <var65:Int> isa OTHER */
7849 var68
= 1; /* easy <var65:Int> isa OTHER*/
7850 if (unlikely(!var68
)) {
7851 var_class_name71
= type_standard__Int
.name
;
7852 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71
);
7853 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7856 var72
= var_i
+ var65
;
7859 RET_LABEL67
:(void)0;
7863 var73
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var66
);
7866 { /* Inline abstract_compiler#RuntimeVariable#mtype (var73) on <var73:nullable Object(RuntimeVariable)> */
7867 var76
= var73
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var73:nullable Object(RuntimeVariable)> */
7868 if (unlikely(var76
== NULL
)) {
7869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
7870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
7874 RET_LABEL75
:(void)0;
7881 { /* Inline model#MMethodDef#is_extern (var_m) on <var_m:MMethodDef> */
7882 var79
= var_m
->attrs
[COLOR_nit__model__MMethodDef___is_extern
].s
; /* _is_extern on <var_m:MMethodDef> */
7884 RET_LABEL78
:(void)0;
7890 { /* Inline kernel#Int#+ (var_i,var80) on <var_i:Int> */
7891 /* Covariant cast for argument 0 (i) <var80:Int> isa OTHER */
7892 /* <var80:Int> isa OTHER */
7893 var83
= 1; /* easy <var80:Int> isa OTHER*/
7894 if (unlikely(!var83
)) {
7895 var_class_name86
= type_standard__Int
.name
;
7896 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
7897 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7900 var87
= var_i
+ var80
;
7903 RET_LABEL82
:(void)0;
7908 { /* Inline kernel#Int#+ (var_i,var88) on <var_i:Int> */
7909 /* Covariant cast for argument 0 (i) <var88:Int> isa OTHER */
7910 /* <var88:Int> isa OTHER */
7911 var91
= 1; /* easy <var88:Int> isa OTHER*/
7912 if (unlikely(!var91
)) {
7913 var_class_name94
= type_standard__Int
.name
;
7914 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94
);
7915 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
7918 var95
= var_i
+ var88
;
7921 RET_LABEL90
:(void)0;
7925 var96
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_args
, var89
);
7928 var97
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__unbox_extern
]))(self
, var96
, var_t
) /* unbox_extern on <self:SeparateCompilerVisitor>*/;
7931 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_args
, var81
, var97
); /* Direct call array#Array#[]= on <var_args:Array[RuntimeVariable]>*/
7937 var99
= standard___standard__Int___Discrete__successor(var_i
, var98
);
7944 BREAK_label
: (void)0;
7947 /* method separate_compiler#SeparateCompilerVisitor#autobox for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7948 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
7949 val
* var
/* : RuntimeVariable */;
7950 val
* var_value
/* var value: RuntimeVariable */;
7951 val
* var_mtype
/* var mtype: MType */;
7952 val
* var1
/* : MType */;
7953 val
* var3
/* : MType */;
7954 short int var4
/* : Bool */;
7955 val
* var_other
/* var other: nullable Object */;
7956 short int var6
/* : Bool */;
7957 short int var8
/* : Bool */;
7958 short int var9
/* : Bool */;
7959 val
* var10
/* : MType */;
7960 val
* var12
/* : MType */;
7961 val
* var13
/* : String */;
7962 static val
* varonce
;
7963 val
* var14
/* : String */;
7964 char* var15
/* : NativeString */;
7965 long var16
/* : Int */;
7966 val
* var17
/* : FlatString */;
7967 short int var18
/* : Bool */;
7968 short int var_
/* var : Bool */;
7969 val
* var19
/* : String */;
7970 static val
* varonce20
;
7971 val
* var21
/* : String */;
7972 char* var22
/* : NativeString */;
7973 long var23
/* : Int */;
7974 val
* var24
/* : FlatString */;
7975 short int var25
/* : Bool */;
7976 val
* var26
/* : MType */;
7977 val
* var28
/* : MType */;
7978 val
* var29
/* : String */;
7979 static val
* varonce30
;
7980 val
* var31
/* : String */;
7981 char* var32
/* : NativeString */;
7982 long var33
/* : Int */;
7983 val
* var34
/* : FlatString */;
7984 short int var35
/* : Bool */;
7985 static val
* varonce36
;
7986 val
* var37
/* : String */;
7987 char* var38
/* : NativeString */;
7988 long var39
/* : Int */;
7989 val
* var40
/* : FlatString */;
7990 val
* var41
/* : String */;
7991 static val
* varonce42
;
7992 val
* var43
/* : String */;
7993 char* var44
/* : NativeString */;
7994 long var45
/* : Int */;
7995 val
* var46
/* : FlatString */;
7996 static val
* varonce47
;
7997 val
* var48
/* : String */;
7998 char* var49
/* : NativeString */;
7999 long var50
/* : Int */;
8000 val
* var51
/* : FlatString */;
8001 val
* var52
/* : MType */;
8002 val
* var54
/* : MType */;
8003 static val
* varonce55
;
8004 val
* var56
/* : String */;
8005 char* var57
/* : NativeString */;
8006 long var58
/* : Int */;
8007 val
* var59
/* : FlatString */;
8008 static val
* varonce60
;
8009 val
* var61
/* : String */;
8010 char* var62
/* : NativeString */;
8011 long var63
/* : Int */;
8012 val
* var64
/* : FlatString */;
8013 val
* var65
/* : Array[Object] */;
8014 long var66
/* : Int */;
8015 val
* var67
/* : NativeArray[Object] */;
8016 val
* var68
/* : String */;
8017 val
* var69
/* : RuntimeVariable */;
8018 val
* var70
/* : String */;
8019 static val
* varonce71
;
8020 val
* var72
/* : String */;
8021 char* var73
/* : NativeString */;
8022 long var74
/* : Int */;
8023 val
* var75
/* : FlatString */;
8024 short int var76
/* : Bool */;
8025 val
* var77
/* : MType */;
8026 val
* var79
/* : MType */;
8027 short int var80
/* : Bool */;
8030 const char* var_class_name
;
8031 val
* var_valtype
/* var valtype: MClassType */;
8032 short int var81
/* : Bool */;
8033 short int var82
/* : Bool */;
8034 short int var83
/* : Bool */;
8037 short int var_86
/* var : Bool */;
8038 val
* var87
/* : MClass */;
8039 val
* var89
/* : MClass */;
8040 val
* var90
/* : MClassKind */;
8041 val
* var92
/* : MClassKind */;
8042 val
* var93
/* : MClassKind */;
8043 short int var94
/* : Bool */;
8044 short int var96
/* : Bool */;
8045 short int var98
/* : Bool */;
8046 short int var_99
/* var : Bool */;
8047 val
* var100
/* : MClass */;
8048 val
* var102
/* : MClass */;
8049 val
* var103
/* : String */;
8050 val
* var105
/* : String */;
8051 static val
* varonce106
;
8052 val
* var107
/* : String */;
8053 char* var108
/* : NativeString */;
8054 long var109
/* : Int */;
8055 val
* var110
/* : FlatString */;
8056 short int var111
/* : Bool */;
8057 val
* var_other113
/* var other: nullable Object */;
8058 short int var114
/* : Bool */;
8059 short int var115
/* : Bool */;
8060 val
* var116
/* : AbstractCompiler */;
8061 val
* var118
/* : AbstractCompiler */;
8062 val
* var119
/* : MModule */;
8063 val
* var121
/* : MModule */;
8064 val
* var122
/* : MClassType */;
8065 val
* var123
/* : RuntimeVariable */;
8066 val
* var_res
/* var res: RuntimeVariable */;
8067 short int var124
/* : Bool */;
8068 val
* var125
/* : AbstractCompiler */;
8069 val
* var127
/* : AbstractCompiler */;
8070 val
* var128
/* : nullable RapidTypeAnalysis */;
8071 val
* var130
/* : nullable RapidTypeAnalysis */;
8072 val
* var131
/* : null */;
8073 short int var132
/* : Bool */;
8074 short int var133
/* : Bool */;
8075 short int var135
/* : Bool */;
8076 short int var136
/* : Bool */;
8077 short int var_137
/* var : Bool */;
8078 val
* var138
/* : AbstractCompiler */;
8079 val
* var140
/* : AbstractCompiler */;
8080 val
* var141
/* : nullable RapidTypeAnalysis */;
8081 val
* var143
/* : nullable RapidTypeAnalysis */;
8082 val
* var144
/* : HashSet[MClassType] */;
8083 val
* var146
/* : HashSet[MClassType] */;
8084 short int var147
/* : Bool */;
8085 short int var148
/* : Bool */;
8086 static val
* varonce149
;
8087 val
* var150
/* : String */;
8088 char* var151
/* : NativeString */;
8089 long var152
/* : Int */;
8090 val
* var153
/* : FlatString */;
8091 val
* var154
/* : MType */;
8092 val
* var156
/* : MType */;
8093 static val
* varonce157
;
8094 val
* var158
/* : String */;
8095 char* var159
/* : NativeString */;
8096 long var160
/* : Int */;
8097 val
* var161
/* : FlatString */;
8098 static val
* varonce162
;
8099 val
* var163
/* : String */;
8100 char* var164
/* : NativeString */;
8101 long var165
/* : Int */;
8102 val
* var166
/* : FlatString */;
8103 val
* var167
/* : MType */;
8104 val
* var169
/* : MType */;
8105 static val
* varonce170
;
8106 val
* var171
/* : String */;
8107 char* var172
/* : NativeString */;
8108 long var173
/* : Int */;
8109 val
* var174
/* : FlatString */;
8110 val
* var175
/* : Array[Object] */;
8111 long var176
/* : Int */;
8112 val
* var177
/* : NativeArray[Object] */;
8113 val
* var178
/* : String */;
8114 static val
* varonce179
;
8115 val
* var180
/* : String */;
8116 char* var181
/* : NativeString */;
8117 long var182
/* : Int */;
8118 val
* var183
/* : FlatString */;
8119 static val
* varonce184
;
8120 val
* var185
/* : String */;
8121 char* var186
/* : NativeString */;
8122 long var187
/* : Int */;
8123 val
* var188
/* : FlatString */;
8124 val
* var189
/* : String */;
8125 val
* var190
/* : Array[Object] */;
8126 long var191
/* : Int */;
8127 val
* var192
/* : NativeArray[Object] */;
8128 val
* var193
/* : String */;
8129 static val
* varonce194
;
8130 val
* var195
/* : String */;
8131 char* var196
/* : NativeString */;
8132 long var197
/* : Int */;
8133 val
* var198
/* : FlatString */;
8134 val
* var199
/* : String */;
8135 static val
* varonce200
;
8136 val
* var201
/* : String */;
8137 char* var202
/* : NativeString */;
8138 long var203
/* : Int */;
8139 val
* var204
/* : FlatString */;
8140 static val
* varonce205
;
8141 val
* var206
/* : String */;
8142 char* var207
/* : NativeString */;
8143 long var208
/* : Int */;
8144 val
* var209
/* : FlatString */;
8145 val
* var210
/* : MType */;
8146 val
* var212
/* : MType */;
8147 static val
* varonce213
;
8148 val
* var214
/* : String */;
8149 char* var215
/* : NativeString */;
8150 long var216
/* : Int */;
8151 val
* var217
/* : FlatString */;
8152 static val
* varonce218
;
8153 val
* var219
/* : String */;
8154 char* var220
/* : NativeString */;
8155 long var221
/* : Int */;
8156 val
* var222
/* : FlatString */;
8157 val
* var223
/* : Array[Object] */;
8158 long var224
/* : Int */;
8159 val
* var225
/* : NativeArray[Object] */;
8160 val
* var226
/* : String */;
8161 short int var227
/* : Bool */;
8162 short int var228
/* : Bool */;
8163 short int var229
/* : Bool */;
8164 val
* var230
/* : MType */;
8165 val
* var232
/* : MType */;
8166 val
* var233
/* : String */;
8167 static val
* varonce234
;
8168 val
* var235
/* : String */;
8169 char* var236
/* : NativeString */;
8170 long var237
/* : Int */;
8171 val
* var238
/* : FlatString */;
8172 short int var239
/* : Bool */;
8173 short int var_240
/* var : Bool */;
8174 val
* var241
/* : String */;
8175 static val
* varonce242
;
8176 val
* var243
/* : String */;
8177 char* var244
/* : NativeString */;
8178 long var245
/* : Int */;
8179 val
* var246
/* : FlatString */;
8180 short int var247
/* : Bool */;
8181 short int var_248
/* var : Bool */;
8182 short int var249
/* : Bool */;
8183 val
* var250
/* : MType */;
8184 val
* var252
/* : MType */;
8185 val
* var253
/* : String */;
8186 static val
* varonce254
;
8187 val
* var255
/* : String */;
8188 char* var256
/* : NativeString */;
8189 long var257
/* : Int */;
8190 val
* var258
/* : FlatString */;
8191 short int var259
/* : Bool */;
8192 short int var_260
/* var : Bool */;
8193 val
* var261
/* : String */;
8194 static val
* varonce262
;
8195 val
* var263
/* : String */;
8196 char* var264
/* : NativeString */;
8197 long var265
/* : Int */;
8198 val
* var266
/* : FlatString */;
8199 short int var267
/* : Bool */;
8200 short int var_268
/* var : Bool */;
8201 short int var269
/* : Bool */;
8202 val
* var270
/* : MType */;
8203 val
* var272
/* : MType */;
8204 val
* var273
/* : String */;
8205 static val
* varonce274
;
8206 val
* var275
/* : String */;
8207 char* var276
/* : NativeString */;
8208 long var277
/* : Int */;
8209 val
* var278
/* : FlatString */;
8210 short int var279
/* : Bool */;
8211 short int var_280
/* var : Bool */;
8212 val
* var281
/* : String */;
8213 static val
* varonce282
;
8214 val
* var283
/* : String */;
8215 char* var284
/* : NativeString */;
8216 long var285
/* : Int */;
8217 val
* var286
/* : FlatString */;
8218 short int var287
/* : Bool */;
8219 val
* var288
/* : RuntimeVariable */;
8220 val
* var_res289
/* var res: RuntimeVariable */;
8221 static val
* varonce290
;
8222 val
* var291
/* : String */;
8223 char* var292
/* : NativeString */;
8224 long var293
/* : Int */;
8225 val
* var294
/* : FlatString */;
8226 static val
* varonce295
;
8227 val
* var296
/* : String */;
8228 char* var297
/* : NativeString */;
8229 long var298
/* : Int */;
8230 val
* var299
/* : FlatString */;
8231 val
* var300
/* : MType */;
8232 val
* var302
/* : MType */;
8233 static val
* varonce303
;
8234 val
* var304
/* : String */;
8235 char* var305
/* : NativeString */;
8236 long var306
/* : Int */;
8237 val
* var307
/* : FlatString */;
8238 static val
* varonce308
;
8239 val
* var309
/* : String */;
8240 char* var310
/* : NativeString */;
8241 long var311
/* : Int */;
8242 val
* var312
/* : FlatString */;
8243 val
* var313
/* : Array[Object] */;
8244 long var314
/* : Int */;
8245 val
* var315
/* : NativeArray[Object] */;
8246 val
* var316
/* : String */;
8247 static val
* varonce317
;
8248 val
* var318
/* : String */;
8249 char* var319
/* : NativeString */;
8250 long var320
/* : Int */;
8251 val
* var321
/* : FlatString */;
8252 val
* var322
/* : MType */;
8253 val
* var324
/* : MType */;
8254 static val
* varonce325
;
8255 val
* var326
/* : String */;
8256 char* var327
/* : NativeString */;
8257 long var328
/* : Int */;
8258 val
* var329
/* : FlatString */;
8259 static val
* varonce330
;
8260 val
* var331
/* : String */;
8261 char* var332
/* : NativeString */;
8262 long var333
/* : Int */;
8263 val
* var334
/* : FlatString */;
8264 val
* var335
/* : Array[Object] */;
8265 long var336
/* : Int */;
8266 val
* var337
/* : NativeArray[Object] */;
8267 val
* var338
/* : String */;
8271 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8272 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8273 if (unlikely(var3
== NULL
)) {
8274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8283 { /* Inline kernel#Object#== (var1,var_mtype) on <var1:MType> */
8284 var_other
= var_mtype
;
8286 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:MType> */
8287 var8
= var1
== var_other
;
8303 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8304 var12
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8305 if (unlikely(var12
== NULL
)) {
8306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8311 RET_LABEL11
:(void)0;
8315 var13
= ((val
* (*)(val
* self
))(var10
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var10
) /* ctype on <var10:MType>*/;
8322 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
8327 var18
= ((short int (*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var13
, var14
) /* == on <var13:String>*/;
8332 var19
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8339 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
8344 var25
= ((short int (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var19
, var21
) /* == on <var19:String>*/;
8355 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8356 var28
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8357 if (unlikely(var28
== NULL
)) {
8358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8363 RET_LABEL27
:(void)0;
8367 var29
= ((val
* (*)(val
* self
))(var26
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var26
) /* ctype on <var26:MType>*/;
8374 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
8379 var35
= ((short int (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var31
) /* == on <var29:String>*/;
8385 var38
= "((struct instance_";
8387 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
8392 var41
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
8399 var46
= standard___standard__NativeString___to_s_with_length(var44
, var45
);
8406 var49
= ")->value; /* autounbox from ";
8408 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
8413 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8414 var54
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8415 if (unlikely(var54
== NULL
)) {
8416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8421 RET_LABEL53
:(void)0;
8429 var59
= standard___standard__NativeString___to_s_with_length(var57
, var58
);
8438 var64
= standard___standard__NativeString___to_s_with_length(var62
, var63
);
8442 var65
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8443 { /* var65 = array_instance Array[Object] */
8445 var67
= NEW_standard__NativeArray(var66
, &type_standard__NativeArray__standard__Object
);
8446 ((struct instance_standard__NativeArray
*)var67
)->values
[0] = (val
*) var37
;
8447 ((struct instance_standard__NativeArray
*)var67
)->values
[1] = (val
*) var41
;
8448 ((struct instance_standard__NativeArray
*)var67
)->values
[2] = (val
*) var43
;
8449 ((struct instance_standard__NativeArray
*)var67
)->values
[3] = (val
*) var_value
;
8450 ((struct instance_standard__NativeArray
*)var67
)->values
[4] = (val
*) var48
;
8451 ((struct instance_standard__NativeArray
*)var67
)->values
[5] = (val
*) var52
;
8452 ((struct instance_standard__NativeArray
*)var67
)->values
[6] = (val
*) var56
;
8453 ((struct instance_standard__NativeArray
*)var67
)->values
[7] = (val
*) var_mtype
;
8454 ((struct instance_standard__NativeArray
*)var67
)->values
[8] = (val
*) var61
;
8456 ((void (*)(val
* self
, val
* p0
, long p1
))(var65
->class->vft
[COLOR_standard__array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
8460 var68
= ((val
* (*)(val
* self
))(var65
->class->vft
[COLOR_standard__string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
8463 var69
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var68
, var_mtype
);
8469 var70
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8476 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
8481 var76
= ((short int (*)(val
* self
, val
* p0
))(var70
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var70
, var72
) /* == on <var70:String>*/;
8485 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8486 var79
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8487 if (unlikely(var79
== NULL
)) {
8488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8489 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8493 RET_LABEL78
:(void)0;
8496 /* <var77:MType> isa MClassType */
8497 cltype
= type_nit__MClassType
.color
;
8498 idtype
= type_nit__MClassType
.id
;
8499 if(cltype
>= var77
->type
->table_size
) {
8502 var80
= var77
->type
->type_table
[cltype
] == idtype
;
8504 if (unlikely(!var80
)) {
8505 var_class_name
= var77
== NULL ?
"null" : var77
->type
->name
;
8506 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
8507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 998);
8510 var_valtype
= var77
;
8511 /* <var_mtype:MType> isa MClassType */
8512 cltype84
= type_nit__MClassType
.color
;
8513 idtype85
= type_nit__MClassType
.id
;
8514 if(cltype84
>= var_mtype
->type
->table_size
) {
8517 var83
= var_mtype
->type
->type_table
[cltype84
] == idtype85
;
8522 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
8523 var89
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
8524 if (unlikely(var89
== NULL
)) {
8525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8530 RET_LABEL88
:(void)0;
8534 { /* Inline model#MClass#kind (var87) on <var87:MClass> */
8535 var92
= var87
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var87:MClass> */
8536 if (unlikely(var92
== NULL
)) {
8537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
8538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
8542 RET_LABEL91
:(void)0;
8546 var93
= nit__model___standard__Object___extern_kind(self
);
8549 { /* Inline kernel#Object#== (var90,var93) on <var90:MClassKind> */
8552 { /* Inline kernel#Object#is_same_instance (var90,var_other) on <var90:MClassKind> */
8553 var98
= var90
== var_other
;
8556 RET_LABEL97
:(void)0;
8561 RET_LABEL95
:(void)0;
8571 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
8572 var102
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
8573 if (unlikely(var102
== NULL
)) {
8574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
8579 RET_LABEL101
:(void)0;
8583 { /* Inline model#MClass#name (var100) on <var100:MClass> */
8584 var105
= var100
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var100:MClass> */
8585 if (unlikely(var105
== NULL
)) {
8586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
8587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
8591 RET_LABEL104
:(void)0;
8595 var107
= varonce106
;
8597 var108
= "NativeString";
8599 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
8601 varonce106
= var107
;
8604 { /* Inline kernel#Object#!= (var103,var107) on <var103:String> */
8605 var_other113
= var107
;
8607 var114
= ((short int (*)(val
* self
, val
* p0
))(var103
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var103
, var_other113
) /* == on <var103:String>*/;
8612 RET_LABEL112
:(void)0;
8621 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8622 var118
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8623 if (unlikely(var118
== NULL
)) {
8624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8629 RET_LABEL117
:(void)0;
8633 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var116) on <var116:AbstractCompiler(SeparateCompiler)> */
8634 var121
= var116
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var116:AbstractCompiler(SeparateCompiler)> */
8635 if (unlikely(var121
== NULL
)) {
8636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
8641 RET_LABEL120
:(void)0;
8645 var122
= nit__model___MModule___pointer_type(var119
);
8647 var_valtype
= var122
;
8651 var123
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_mtype
);
8655 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8656 var127
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8657 if (unlikely(var127
== NULL
)) {
8658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8659 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8663 RET_LABEL126
:(void)0;
8667 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var125) on <var125:AbstractCompiler(SeparateCompiler)> */
8668 var130
= var125
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var125:AbstractCompiler(SeparateCompiler)> */
8670 RET_LABEL129
:(void)0;
8674 if (var128
== NULL
) {
8675 var132
= 0; /* is null */
8677 var132
= 1; /* arg is null and recv is not */
8680 { /* Inline kernel#Object#!= (var128,var131) on <var128:nullable RapidTypeAnalysis> */
8681 var_other113
= var131
;
8683 var135
= ((short int (*)(val
* self
, val
* p0
))(var128
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var128
, var_other113
) /* == on <var128:nullable RapidTypeAnalysis(RapidTypeAnalysis)>*/;
8688 RET_LABEL134
:(void)0;
8695 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
8696 var140
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
8697 if (unlikely(var140
== NULL
)) {
8698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
8699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
8703 RET_LABEL139
:(void)0;
8707 { /* Inline separate_compiler#SeparateCompiler#runtime_type_analysis (var138) on <var138:AbstractCompiler(SeparateCompiler)> */
8708 var143
= var138
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___runtime_type_analysis
].val
; /* _runtime_type_analysis on <var138:AbstractCompiler(SeparateCompiler)> */
8710 RET_LABEL142
:(void)0;
8713 if (var141
== NULL
) {
8714 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1003);
8718 { /* Inline rapid_type_analysis#RapidTypeAnalysis#live_types (var141) on <var141:nullable RapidTypeAnalysis> */
8719 if (unlikely(var141
== NULL
)) {
8720 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8721 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
8724 var146
= var141
->attrs
[COLOR_nit__rapid_type_analysis__RapidTypeAnalysis___live_types
].val
; /* _live_types on <var141:nullable RapidTypeAnalysis> */
8725 if (unlikely(var146
== NULL
)) {
8726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_types");
8727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__rapid_type_analysis
, 53);
8731 RET_LABEL145
:(void)0;
8735 var147
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var144
, var_valtype
);
8744 var150
= varonce149
;
8746 var151
= "/*no autobox from ";
8748 var153
= standard___standard__NativeString___to_s_with_length(var151
, var152
);
8750 varonce149
= var150
;
8753 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8754 var156
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8755 if (unlikely(var156
== NULL
)) {
8756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8761 RET_LABEL155
:(void)0;
8765 var158
= varonce157
;
8769 var161
= standard___standard__NativeString___to_s_with_length(var159
, var160
);
8771 varonce157
= var158
;
8774 var163
= varonce162
;
8778 var166
= standard___standard__NativeString___to_s_with_length(var164
, var165
);
8780 varonce162
= var163
;
8783 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8784 var169
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8785 if (unlikely(var169
== NULL
)) {
8786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8787 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8791 RET_LABEL168
:(void)0;
8795 var171
= varonce170
;
8797 var172
= " is not live! */";
8799 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
8801 varonce170
= var171
;
8803 var175
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8804 { /* var175 = array_instance Array[Object] */
8806 var177
= NEW_standard__NativeArray(var176
, &type_standard__NativeArray__standard__Object
);
8807 ((struct instance_standard__NativeArray
*)var177
)->values
[0] = (val
*) var150
;
8808 ((struct instance_standard__NativeArray
*)var177
)->values
[1] = (val
*) var154
;
8809 ((struct instance_standard__NativeArray
*)var177
)->values
[2] = (val
*) var158
;
8810 ((struct instance_standard__NativeArray
*)var177
)->values
[3] = (val
*) var_mtype
;
8811 ((struct instance_standard__NativeArray
*)var177
)->values
[4] = (val
*) var163
;
8812 ((struct instance_standard__NativeArray
*)var177
)->values
[5] = (val
*) var167
;
8813 ((struct instance_standard__NativeArray
*)var177
)->values
[6] = (val
*) var171
;
8815 ((void (*)(val
* self
, val
* p0
, long p1
))(var175
->class->vft
[COLOR_standard__array__Array__with_native
]))(var175
, var177
, var176
) /* with_native on <var175:Array[Object]>*/;
8819 var178
= ((val
* (*)(val
* self
))(var175
->class->vft
[COLOR_standard__string__Object__to_s
]))(var175
) /* to_s on <var175:Array[Object]>*/;
8822 nit___nit__AbstractCompilerVisitor___add(self
, var178
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8825 var180
= varonce179
;
8827 var181
= "PRINT_ERROR(\"Dead code executed!\\n\"); show_backtrace(1);";
8829 var183
= standard___standard__NativeString___to_s_with_length(var181
, var182
);
8831 varonce179
= var180
;
8834 nit___nit__AbstractCompilerVisitor___add(self
, var180
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8841 var185
= varonce184
;
8845 var188
= standard___standard__NativeString___to_s_with_length(var186
, var187
);
8847 varonce184
= var185
;
8850 var189
= ((val
* (*)(val
* self
))(var_valtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
8852 var190
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8853 { /* var190 = array_instance Array[Object] */
8855 var192
= NEW_standard__NativeArray(var191
, &type_standard__NativeArray__standard__Object
);
8856 ((struct instance_standard__NativeArray
*)var192
)->values
[0] = (val
*) var185
;
8857 ((struct instance_standard__NativeArray
*)var192
)->values
[1] = (val
*) var189
;
8859 ((void (*)(val
* self
, val
* p0
, long p1
))(var190
->class->vft
[COLOR_standard__array__Array__with_native
]))(var190
, var192
, var191
) /* with_native on <var190:Array[Object]>*/;
8863 var193
= ((val
* (*)(val
* self
))(var190
->class->vft
[COLOR_standard__string__Object__to_s
]))(var190
) /* to_s on <var190:Array[Object]>*/;
8866 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var193
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
8869 var195
= varonce194
;
8873 var198
= standard___standard__NativeString___to_s_with_length(var196
, var197
);
8875 varonce194
= var195
;
8878 var199
= ((val
* (*)(val
* self
))(var_valtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_valtype
) /* c_name on <var_valtype:MClassType>*/;
8881 var201
= varonce200
;
8885 var204
= standard___standard__NativeString___to_s_with_length(var202
, var203
);
8887 varonce200
= var201
;
8890 var206
= varonce205
;
8892 var207
= "); /* autobox from ";
8894 var209
= standard___standard__NativeString___to_s_with_length(var207
, var208
);
8896 varonce205
= var206
;
8899 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8900 var212
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8901 if (unlikely(var212
== NULL
)) {
8902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8907 RET_LABEL211
:(void)0;
8911 var214
= varonce213
;
8915 var217
= standard___standard__NativeString___to_s_with_length(var215
, var216
);
8917 varonce213
= var214
;
8920 var219
= varonce218
;
8924 var222
= standard___standard__NativeString___to_s_with_length(var220
, var221
);
8926 varonce218
= var219
;
8928 var223
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8929 { /* var223 = array_instance Array[Object] */
8931 var225
= NEW_standard__NativeArray(var224
, &type_standard__NativeArray__standard__Object
);
8932 ((struct instance_standard__NativeArray
*)var225
)->values
[0] = (val
*) var_res
;
8933 ((struct instance_standard__NativeArray
*)var225
)->values
[1] = (val
*) var195
;
8934 ((struct instance_standard__NativeArray
*)var225
)->values
[2] = (val
*) var199
;
8935 ((struct instance_standard__NativeArray
*)var225
)->values
[3] = (val
*) var201
;
8936 ((struct instance_standard__NativeArray
*)var225
)->values
[4] = (val
*) var_value
;
8937 ((struct instance_standard__NativeArray
*)var225
)->values
[5] = (val
*) var206
;
8938 ((struct instance_standard__NativeArray
*)var225
)->values
[6] = (val
*) var210
;
8939 ((struct instance_standard__NativeArray
*)var225
)->values
[7] = (val
*) var214
;
8940 ((struct instance_standard__NativeArray
*)var225
)->values
[8] = (val
*) var_mtype
;
8941 ((struct instance_standard__NativeArray
*)var225
)->values
[9] = (val
*) var219
;
8943 ((void (*)(val
* self
, val
* p0
, long p1
))(var223
->class->vft
[COLOR_standard__array__Array__with_native
]))(var223
, var225
, var224
) /* with_native on <var223:Array[Object]>*/;
8947 var226
= ((val
* (*)(val
* self
))(var223
->class->vft
[COLOR_standard__string__Object__to_s
]))(var223
) /* to_s on <var223:Array[Object]>*/;
8950 nit___nit__AbstractCompilerVisitor___add(self
, var226
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
8956 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
8957 var232
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
8958 if (unlikely(var232
== NULL
)) {
8959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
8964 RET_LABEL231
:(void)0;
8968 var233
= ((val
* (*)(val
* self
))(var230
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var230
) /* ctype on <var230:MType>*/;
8971 var235
= varonce234
;
8975 var238
= standard___standard__NativeString___to_s_with_length(var236
, var237
);
8977 varonce234
= var235
;
8980 var239
= ((short int (*)(val
* self
, val
* p0
))(var233
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var233
, var235
) /* == on <var233:String>*/;
8985 var241
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8988 var243
= varonce242
;
8992 var246
= standard___standard__NativeString___to_s_with_length(var244
, var245
);
8994 varonce242
= var243
;
8997 var247
= ((short int (*)(val
* self
, val
* p0
))(var241
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var241
, var243
) /* == on <var241:String>*/;
9008 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9009 var252
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9010 if (unlikely(var252
== NULL
)) {
9011 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9012 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9016 RET_LABEL251
:(void)0;
9020 var253
= ((val
* (*)(val
* self
))(var250
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var250
) /* ctype on <var250:MType>*/;
9023 var255
= varonce254
;
9027 var258
= standard___standard__NativeString___to_s_with_length(var256
, var257
);
9029 varonce254
= var255
;
9032 var259
= ((short int (*)(val
* self
, val
* p0
))(var253
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var253
, var255
) /* == on <var253:String>*/;
9037 var261
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9040 var263
= varonce262
;
9044 var266
= standard___standard__NativeString___to_s_with_length(var264
, var265
);
9046 varonce262
= var263
;
9049 var267
= ((short int (*)(val
* self
, val
* p0
))(var261
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var261
, var263
) /* == on <var261:String>*/;
9062 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9063 var272
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9064 if (unlikely(var272
== NULL
)) {
9065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9066 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9070 RET_LABEL271
:(void)0;
9074 var273
= ((val
* (*)(val
* self
))(var270
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var270
) /* ctype on <var270:MType>*/;
9077 var275
= varonce274
;
9081 var278
= standard___standard__NativeString___to_s_with_length(var276
, var277
);
9083 varonce274
= var275
;
9086 var279
= ((short int (*)(val
* self
, val
* p0
))(var273
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var273
, var275
) /* == on <var273:String>*/;
9091 var281
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9094 var283
= varonce282
;
9098 var286
= standard___standard__NativeString___to_s_with_length(var284
, var285
);
9100 varonce282
= var283
;
9103 var287
= ((short int (*)(val
* self
, val
* p0
))(var281
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var281
, var283
) /* == on <var281:String>*/;
9116 var288
= nit___nit__AbstractCompilerVisitor___new_var(self
, var_mtype
);
9118 var_res289
= var288
;
9120 var291
= varonce290
;
9124 var294
= standard___standard__NativeString___to_s_with_length(var292
, var293
);
9126 varonce290
= var291
;
9129 var296
= varonce295
;
9131 var297
= " left unintialized (cannot convert ";
9133 var299
= standard___standard__NativeString___to_s_with_length(var297
, var298
);
9135 varonce295
= var296
;
9138 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9139 var302
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9140 if (unlikely(var302
== NULL
)) {
9141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9146 RET_LABEL301
:(void)0;
9150 var304
= varonce303
;
9154 var307
= standard___standard__NativeString___to_s_with_length(var305
, var306
);
9156 varonce303
= var304
;
9159 var309
= varonce308
;
9163 var312
= standard___standard__NativeString___to_s_with_length(var310
, var311
);
9165 varonce308
= var309
;
9167 var313
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9168 { /* var313 = array_instance Array[Object] */
9170 var315
= NEW_standard__NativeArray(var314
, &type_standard__NativeArray__standard__Object
);
9171 ((struct instance_standard__NativeArray
*)var315
)->values
[0] = (val
*) var291
;
9172 ((struct instance_standard__NativeArray
*)var315
)->values
[1] = (val
*) var_res289
;
9173 ((struct instance_standard__NativeArray
*)var315
)->values
[2] = (val
*) var296
;
9174 ((struct instance_standard__NativeArray
*)var315
)->values
[3] = (val
*) var300
;
9175 ((struct instance_standard__NativeArray
*)var315
)->values
[4] = (val
*) var304
;
9176 ((struct instance_standard__NativeArray
*)var315
)->values
[5] = (val
*) var_mtype
;
9177 ((struct instance_standard__NativeArray
*)var315
)->values
[6] = (val
*) var309
;
9179 ((void (*)(val
* self
, val
* p0
, long p1
))(var313
->class->vft
[COLOR_standard__array__Array__with_native
]))(var313
, var315
, var314
) /* with_native on <var313:Array[Object]>*/;
9183 var316
= ((val
* (*)(val
* self
))(var313
->class->vft
[COLOR_standard__string__Object__to_s
]))(var313
) /* to_s on <var313:Array[Object]>*/;
9186 nit___nit__AbstractCompilerVisitor___add(self
, var316
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9189 var318
= varonce317
;
9191 var319
= "PRINT_ERROR(\"Cast error: Cannot cast %s to %s.\\n\", \"";
9193 var321
= standard___standard__NativeString___to_s_with_length(var319
, var320
);
9195 varonce317
= var318
;
9198 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9199 var324
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9200 if (unlikely(var324
== NULL
)) {
9201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9206 RET_LABEL323
:(void)0;
9210 var326
= varonce325
;
9214 var329
= standard___standard__NativeString___to_s_with_length(var327
, var328
);
9216 varonce325
= var326
;
9219 var331
= varonce330
;
9221 var332
= "\"); show_backtrace(1);";
9223 var334
= standard___standard__NativeString___to_s_with_length(var332
, var333
);
9225 varonce330
= var331
;
9227 var335
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9228 { /* var335 = array_instance Array[Object] */
9230 var337
= NEW_standard__NativeArray(var336
, &type_standard__NativeArray__standard__Object
);
9231 ((struct instance_standard__NativeArray
*)var337
)->values
[0] = (val
*) var318
;
9232 ((struct instance_standard__NativeArray
*)var337
)->values
[1] = (val
*) var322
;
9233 ((struct instance_standard__NativeArray
*)var337
)->values
[2] = (val
*) var326
;
9234 ((struct instance_standard__NativeArray
*)var337
)->values
[3] = (val
*) var_mtype
;
9235 ((struct instance_standard__NativeArray
*)var337
)->values
[4] = (val
*) var331
;
9237 ((void (*)(val
* self
, val
* p0
, long p1
))(var335
->class->vft
[COLOR_standard__array__Array__with_native
]))(var335
, var337
, var336
) /* with_native on <var335:Array[Object]>*/;
9241 var338
= ((val
* (*)(val
* self
))(var335
->class->vft
[COLOR_standard__string__Object__to_s
]))(var335
) /* to_s on <var335:Array[Object]>*/;
9244 nit___nit__AbstractCompilerVisitor___add(self
, var338
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
9256 /* method separate_compiler#SeparateCompilerVisitor#unbox_extern for (self: SeparateCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
9257 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__unbox_extern(val
* self
, val
* p0
, val
* p1
) {
9258 val
* var
/* : RuntimeVariable */;
9259 val
* var_value
/* var value: RuntimeVariable */;
9260 val
* var_mtype
/* var mtype: MType */;
9261 short int var1
/* : Bool */;
9262 short int var2
/* : Bool */;
9263 short int var3
/* : Bool */;
9266 short int var_
/* var : Bool */;
9267 val
* var4
/* : MClass */;
9268 val
* var6
/* : MClass */;
9269 val
* var7
/* : MClassKind */;
9270 val
* var9
/* : MClassKind */;
9271 val
* var10
/* : MClassKind */;
9272 short int var11
/* : Bool */;
9273 val
* var_other
/* var other: nullable Object */;
9274 short int var13
/* : Bool */;
9275 short int var15
/* : Bool */;
9276 short int var_16
/* var : Bool */;
9277 val
* var17
/* : MClass */;
9278 val
* var19
/* : MClass */;
9279 val
* var20
/* : String */;
9280 val
* var22
/* : String */;
9281 static val
* varonce
;
9282 val
* var23
/* : String */;
9283 char* var24
/* : NativeString */;
9284 long var25
/* : Int */;
9285 val
* var26
/* : FlatString */;
9286 short int var27
/* : Bool */;
9287 val
* var_other29
/* var other: nullable Object */;
9288 short int var30
/* : Bool */;
9289 short int var31
/* : Bool */;
9290 val
* var32
/* : AbstractCompiler */;
9291 val
* var34
/* : AbstractCompiler */;
9292 val
* var35
/* : MModule */;
9293 val
* var37
/* : MModule */;
9294 val
* var38
/* : MClassType */;
9295 val
* var_pointer_type
/* var pointer_type: MClassType */;
9296 val
* var39
/* : RuntimeVariable */;
9297 val
* var_res
/* var res: RuntimeVariable */;
9298 static val
* varonce40
;
9299 val
* var41
/* : String */;
9300 char* var42
/* : NativeString */;
9301 long var43
/* : Int */;
9302 val
* var44
/* : FlatString */;
9303 val
* var45
/* : String */;
9304 static val
* varonce46
;
9305 val
* var47
/* : String */;
9306 char* var48
/* : NativeString */;
9307 long var49
/* : Int */;
9308 val
* var50
/* : FlatString */;
9309 static val
* varonce51
;
9310 val
* var52
/* : String */;
9311 char* var53
/* : NativeString */;
9312 long var54
/* : Int */;
9313 val
* var55
/* : FlatString */;
9314 val
* var56
/* : MType */;
9315 val
* var58
/* : MType */;
9316 static val
* varonce59
;
9317 val
* var60
/* : String */;
9318 char* var61
/* : NativeString */;
9319 long var62
/* : Int */;
9320 val
* var63
/* : FlatString */;
9321 val
* var64
/* : Array[Object] */;
9322 long var65
/* : Int */;
9323 val
* var66
/* : NativeArray[Object] */;
9324 val
* var67
/* : String */;
9327 /* <var_mtype:MType> isa MClassType */
9328 cltype
= type_nit__MClassType
.color
;
9329 idtype
= type_nit__MClassType
.id
;
9330 if(cltype
>= var_mtype
->type
->table_size
) {
9333 var3
= var_mtype
->type
->type_table
[cltype
] == idtype
;
9338 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
9339 var6
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
9340 if (unlikely(var6
== NULL
)) {
9341 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9342 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9350 { /* Inline model#MClass#kind (var4) on <var4:MClass> */
9351 var9
= var4
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var4:MClass> */
9352 if (unlikely(var9
== NULL
)) {
9353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
9354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
9362 var10
= nit__model___standard__Object___extern_kind(self
);
9365 { /* Inline kernel#Object#== (var7,var10) on <var7:MClassKind> */
9368 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:MClassKind> */
9369 var15
= var7
== var_other
;
9372 RET_LABEL14
:(void)0;
9377 RET_LABEL12
:(void)0;
9387 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MType(MClassType)> */
9388 var19
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MType(MClassType)> */
9389 if (unlikely(var19
== NULL
)) {
9390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9391 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9395 RET_LABEL18
:(void)0;
9399 { /* Inline model#MClass#name (var17) on <var17:MClass> */
9400 var22
= var17
->attrs
[COLOR_nit__model__MClass___name
].val
; /* _name on <var17:MClass> */
9401 if (unlikely(var22
== NULL
)) {
9402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
9403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 348);
9407 RET_LABEL21
:(void)0;
9413 var24
= "NativeString";
9415 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
9420 { /* Inline kernel#Object#!= (var20,var23) on <var20:String> */
9421 var_other29
= var23
;
9423 var30
= ((short int (*)(val
* self
, val
* p0
))(var20
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var20
, var_other29
) /* == on <var20:String>*/;
9428 RET_LABEL28
:(void)0;
9437 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
9438 var34
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
9439 if (unlikely(var34
== NULL
)) {
9440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
9441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
9445 RET_LABEL33
:(void)0;
9449 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var32) on <var32:AbstractCompiler(SeparateCompiler)> */
9450 var37
= var32
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var32:AbstractCompiler(SeparateCompiler)> */
9451 if (unlikely(var37
== NULL
)) {
9452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
9457 RET_LABEL36
:(void)0;
9461 var38
= nit__model___MModule___pointer_type(var35
);
9463 var_pointer_type
= var38
;
9465 var39
= nit___nit__AbstractCompilerVisitor___new_var_extern(self
, var_mtype
);
9471 var42
= " = ((struct instance_";
9473 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
9478 var45
= ((val
* (*)(val
* self
))(var_pointer_type
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_pointer_type
) /* c_name on <var_pointer_type:MClassType>*/;
9485 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
9492 var53
= ")->value; /* unboxing ";
9494 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
9499 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
9500 var58
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
9501 if (unlikely(var58
== NULL
)) {
9502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
9503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
9507 RET_LABEL57
:(void)0;
9515 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
9519 var64
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9520 { /* var64 = array_instance Array[Object] */
9522 var66
= NEW_standard__NativeArray(var65
, &type_standard__NativeArray__standard__Object
);
9523 ((struct instance_standard__NativeArray
*)var66
)->values
[0] = (val
*) var_res
;
9524 ((struct instance_standard__NativeArray
*)var66
)->values
[1] = (val
*) var41
;
9525 ((struct instance_standard__NativeArray
*)var66
)->values
[2] = (val
*) var45
;
9526 ((struct instance_standard__NativeArray
*)var66
)->values
[3] = (val
*) var47
;
9527 ((struct instance_standard__NativeArray
*)var66
)->values
[4] = (val
*) var_value
;
9528 ((struct instance_standard__NativeArray
*)var66
)->values
[5] = (val
*) var52
;
9529 ((struct instance_standard__NativeArray
*)var66
)->values
[6] = (val
*) var56
;
9530 ((struct instance_standard__NativeArray
*)var66
)->values
[7] = (val
*) var60
;
9532 ((void (*)(val
* self
, val
* p0
, long p1
))(var64
->class->vft
[COLOR_standard__array__Array__with_native
]))(var64
, var66
, var65
) /* with_native on <var64:Array[Object]>*/;
9536 var67
= ((val
* (*)(val
* self
))(var64
->class->vft
[COLOR_standard__string__Object__to_s
]))(var64
) /* to_s on <var64:Array[Object]>*/;
9539 nit___nit__AbstractCompilerVisitor___add(self
, var67
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/