1 #include "nit__separate_compiler.sep.0.h"
2 /* method separate_compiler#SeparateCompilerVisitor#type_test for (self: SeparateCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
3 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4 val
* var
/* : RuntimeVariable */;
5 val
* var_value
/* var value: RuntimeVariable */;
6 val
* var_mtype
/* var mtype: MType */;
7 val
* var_tag
/* var tag: String */;
9 val
* var1
/* : String */;
10 char* var2
/* : NativeString */;
11 long var3
/* : Int */;
12 val
* var4
/* : FlatString */;
13 val
* var5
/* : String */;
15 val
* var7
/* : String */;
16 char* var8
/* : NativeString */;
17 long var9
/* : Int */;
18 val
* var10
/* : FlatString */;
19 static val
* varonce11
;
20 val
* var12
/* : String */;
21 char* var13
/* : NativeString */;
22 long var14
/* : Int */;
23 val
* var15
/* : FlatString */;
24 val
* var16
/* : Array[Object] */;
25 long var17
/* : Int */;
26 val
* var18
/* : NativeArray[Object] */;
27 val
* var19
/* : String */;
28 val
* var20
/* : AbstractCompiler */;
29 val
* var22
/* : AbstractCompiler */;
30 val
* var_compiler
/* var compiler: SeparateCompiler */;
31 val
* var23
/* : nullable StaticFrame */;
32 val
* var25
/* : nullable StaticFrame */;
33 val
* var26
/* : Array[RuntimeVariable] */;
34 val
* var28
/* : Array[RuntimeVariable] */;
35 val
* var29
/* : nullable Object */;
36 val
* var_recv
/* var recv: RuntimeVariable */;
37 val
* var30
/* : String */;
38 val
* var_recv_type_info
/* var recv_type_info: String */;
39 val
* var31
/* : MClassType */;
40 val
* var32
/* : RuntimeVariable */;
41 val
* var_res
/* var res: RuntimeVariable */;
42 static val
* varonce33
;
43 val
* var34
/* : String */;
44 char* var35
/* : NativeString */;
45 long var36
/* : Int */;
46 val
* var37
/* : FlatString */;
47 val
* var38
/* : String */;
48 val
* var_cltype
/* var cltype: String */;
49 static val
* varonce39
;
50 val
* var40
/* : String */;
51 char* var41
/* : NativeString */;
52 long var42
/* : Int */;
53 val
* var43
/* : FlatString */;
54 static val
* varonce44
;
55 val
* var45
/* : String */;
56 char* var46
/* : NativeString */;
57 long var47
/* : Int */;
58 val
* var48
/* : FlatString */;
59 val
* var49
/* : Array[Object] */;
60 long var50
/* : Int */;
61 val
* var51
/* : NativeArray[Object] */;
62 val
* var52
/* : String */;
63 static val
* varonce53
;
64 val
* var54
/* : String */;
65 char* var55
/* : NativeString */;
66 long var56
/* : Int */;
67 val
* var57
/* : FlatString */;
68 val
* var58
/* : String */;
69 val
* var_idtype
/* var idtype: String */;
70 static val
* varonce59
;
71 val
* var60
/* : String */;
72 char* var61
/* : NativeString */;
73 long var62
/* : Int */;
74 val
* var63
/* : FlatString */;
75 static val
* varonce64
;
76 val
* var65
/* : String */;
77 char* var66
/* : NativeString */;
78 long var67
/* : Int */;
79 val
* var68
/* : FlatString */;
80 val
* var69
/* : Array[Object] */;
81 long var70
/* : Int */;
82 val
* var71
/* : NativeArray[Object] */;
83 val
* var72
/* : String */;
84 short int var73
/* : Bool */;
85 short int var_maybe_null
/* var maybe_null: Bool */;
86 static val
* varonce74
;
87 val
* var75
/* : String */;
88 char* var76
/* : NativeString */;
89 long var77
/* : Int */;
90 val
* var78
/* : FlatString */;
91 val
* var_accept_null
/* var accept_null: String */;
92 val
* var_ntype
/* var ntype: MType */;
93 short int var79
/* : Bool */;
96 val
* var80
/* : MType */;
97 val
* var82
/* : MType */;
98 static val
* varonce83
;
99 val
* var84
/* : String */;
100 char* var85
/* : NativeString */;
101 long var86
/* : Int */;
102 val
* var87
/* : FlatString */;
103 val
* var88
/* : MType */;
104 val
* var90
/* : MType */;
105 val
* var91
/* : nullable StaticFrame */;
106 val
* var93
/* : nullable StaticFrame */;
107 val
* var94
/* : MPropDef */;
108 val
* var96
/* : MPropDef */;
109 val
* var97
/* : MClassDef */;
110 val
* var99
/* : MClassDef */;
111 val
* var100
/* : MModule */;
112 val
* var102
/* : MModule */;
113 val
* var103
/* : nullable StaticFrame */;
114 val
* var105
/* : nullable StaticFrame */;
115 val
* var106
/* : MPropDef */;
116 val
* var108
/* : MPropDef */;
117 val
* var109
/* : MClassDef */;
118 val
* var111
/* : MClassDef */;
119 val
* var112
/* : MClassType */;
120 val
* var114
/* : MClassType */;
121 short int var115
/* : Bool */;
122 static val
* varonce116
;
123 val
* var117
/* : String */;
124 char* var118
/* : NativeString */;
125 long var119
/* : Int */;
126 val
* var120
/* : FlatString */;
127 val
* var121
/* : String */;
128 static val
* varonce122
;
129 val
* var123
/* : String */;
130 char* var124
/* : NativeString */;
131 long var125
/* : Int */;
132 val
* var126
/* : FlatString */;
133 static val
* varonce127
;
134 val
* var128
/* : String */;
135 char* var129
/* : NativeString */;
136 long var130
/* : Int */;
137 val
* var131
/* : FlatString */;
138 val
* var132
/* : Array[Object] */;
139 long var133
/* : Int */;
140 val
* var134
/* : NativeArray[Object] */;
141 val
* var135
/* : String */;
142 val
* var136
/* : ModelBuilder */;
143 val
* var138
/* : ModelBuilder */;
144 val
* var139
/* : ToolContext */;
145 val
* var141
/* : ToolContext */;
146 val
* var142
/* : OptionBool */;
147 val
* var144
/* : OptionBool */;
148 val
* var145
/* : nullable Object */;
149 val
* var147
/* : nullable Object */;
150 short int var148
/* : Bool */;
151 val
* var149
/* : AbstractCompiler */;
152 val
* var151
/* : AbstractCompiler */;
153 val
* var152
/* : HashMap[String, Int] */;
154 val
* var154
/* : HashMap[String, Int] */;
155 val
* var_
/* var : HashMap[String, Int] */;
156 val
* var_155
/* var : String */;
157 val
* var156
/* : nullable Object */;
158 long var157
/* : Int */;
159 long var158
/* : Int */;
160 short int var160
/* : Bool */;
163 const char* var_class_name
;
164 long var163
/* : Int */;
165 long var164
/* : Int */;
166 val
* var165
/* : nullable Object */;
167 static val
* varonce166
;
168 val
* var167
/* : String */;
169 char* var168
/* : NativeString */;
170 long var169
/* : Int */;
171 val
* var170
/* : FlatString */;
172 static val
* varonce171
;
173 val
* var172
/* : String */;
174 char* var173
/* : NativeString */;
175 long var174
/* : Int */;
176 val
* var175
/* : FlatString */;
177 val
* var176
/* : Array[Object] */;
178 long var177
/* : Int */;
179 val
* var178
/* : NativeArray[Object] */;
180 val
* var179
/* : String */;
181 short int var180
/* : Bool */;
182 static val
* varonce181
;
183 val
* var182
/* : String */;
184 char* var183
/* : NativeString */;
185 long var184
/* : Int */;
186 val
* var185
/* : FlatString */;
187 val
* var186
/* : String */;
188 val
* var_type_struct
/* var type_struct: String */;
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
/* : nullable StaticFrame */;
204 val
* var203
/* : nullable StaticFrame */;
205 val
* var204
/* : MPropDef */;
206 val
* var206
/* : MPropDef */;
207 val
* var207
/* : MClassDef */;
208 val
* var209
/* : MClassDef */;
209 val
* var210
/* : String */;
210 static val
* varonce211
;
211 val
* var212
/* : String */;
212 char* var213
/* : NativeString */;
213 long var214
/* : Int */;
214 val
* var215
/* : FlatString */;
215 static val
* varonce216
;
216 val
* var217
/* : String */;
217 char* var218
/* : NativeString */;
218 long var219
/* : Int */;
219 val
* var220
/* : FlatString */;
220 val
* var221
/* : String */;
221 static val
* varonce222
;
222 val
* var223
/* : String */;
223 char* var224
/* : NativeString */;
224 long var225
/* : Int */;
225 val
* var226
/* : FlatString */;
226 val
* var227
/* : Array[Object] */;
227 long var228
/* : Int */;
228 val
* var229
/* : NativeArray[Object] */;
229 val
* var230
/* : String */;
230 val
* var231
/* : ModelBuilder */;
231 val
* var233
/* : ModelBuilder */;
232 val
* var234
/* : ToolContext */;
233 val
* var236
/* : ToolContext */;
234 val
* var237
/* : OptionBool */;
235 val
* var239
/* : OptionBool */;
236 val
* var240
/* : nullable Object */;
237 val
* var242
/* : nullable Object */;
238 short int var243
/* : Bool */;
239 val
* var244
/* : AbstractCompiler */;
240 val
* var246
/* : AbstractCompiler */;
241 val
* var247
/* : HashMap[String, Int] */;
242 val
* var249
/* : HashMap[String, Int] */;
243 val
* var_250
/* var : HashMap[String, Int] */;
244 val
* var_251
/* var : String */;
245 val
* var252
/* : nullable Object */;
246 long var253
/* : Int */;
247 long var254
/* : Int */;
248 short int var256
/* : Bool */;
251 const char* var_class_name259
;
252 long var260
/* : Int */;
253 long var261
/* : Int */;
254 val
* var262
/* : nullable Object */;
255 static val
* varonce263
;
256 val
* var264
/* : String */;
257 char* var265
/* : NativeString */;
258 long var266
/* : Int */;
259 val
* var267
/* : FlatString */;
260 static val
* varonce268
;
261 val
* var269
/* : String */;
262 char* var270
/* : NativeString */;
263 long var271
/* : Int */;
264 val
* var272
/* : FlatString */;
265 val
* var273
/* : Array[Object] */;
266 long var274
/* : Int */;
267 val
* var275
/* : NativeArray[Object] */;
268 val
* var276
/* : String */;
269 static val
* varonce277
;
270 val
* var278
/* : String */;
271 char* var279
/* : NativeString */;
272 long var280
/* : Int */;
273 val
* var281
/* : FlatString */;
274 static val
* varonce282
;
275 val
* var283
/* : String */;
276 char* var284
/* : NativeString */;
277 long var285
/* : Int */;
278 val
* var286
/* : FlatString */;
279 val
* var287
/* : Array[Object] */;
280 long var288
/* : Int */;
281 val
* var289
/* : NativeArray[Object] */;
282 val
* var290
/* : String */;
283 static val
* varonce291
;
284 val
* var292
/* : String */;
285 char* var293
/* : NativeString */;
286 long var294
/* : Int */;
287 val
* var295
/* : FlatString */;
288 static val
* varonce296
;
289 val
* var297
/* : String */;
290 char* var298
/* : NativeString */;
291 long var299
/* : Int */;
292 val
* var300
/* : FlatString */;
293 val
* var301
/* : Array[Object] */;
294 long var302
/* : Int */;
295 val
* var303
/* : NativeArray[Object] */;
296 val
* var304
/* : String */;
297 short int var305
/* : Bool */;
298 short int var_306
/* var : Bool */;
299 static val
* varonce307
;
300 val
* var308
/* : String */;
301 char* var309
/* : NativeString */;
302 long var310
/* : Int */;
303 val
* var311
/* : FlatString */;
304 short int var312
/* : Bool */;
305 static val
* varonce313
;
306 val
* var314
/* : String */;
307 char* var315
/* : NativeString */;
308 long var316
/* : Int */;
309 val
* var317
/* : FlatString */;
310 val
* var318
/* : String */;
311 val
* var_is_nullable
/* var is_nullable: String */;
312 static val
* varonce319
;
313 val
* var320
/* : String */;
314 char* var321
/* : NativeString */;
315 long var322
/* : Int */;
316 val
* var323
/* : FlatString */;
317 static val
* varonce324
;
318 val
* var325
/* : String */;
319 char* var326
/* : NativeString */;
320 long var327
/* : Int */;
321 val
* var328
/* : FlatString */;
322 val
* var329
/* : Array[Object] */;
323 long var330
/* : Int */;
324 val
* var331
/* : NativeArray[Object] */;
325 val
* var332
/* : String */;
326 static val
* varonce333
;
327 val
* var334
/* : String */;
328 char* var335
/* : NativeString */;
329 long var336
/* : Int */;
330 val
* var337
/* : FlatString */;
331 static val
* varonce338
;
332 val
* var339
/* : String */;
333 char* var340
/* : NativeString */;
334 long var341
/* : Int */;
335 val
* var342
/* : FlatString */;
336 val
* var343
/* : Array[Object] */;
337 long var344
/* : Int */;
338 val
* var345
/* : NativeArray[Object] */;
339 val
* var346
/* : String */;
340 val
* var347
/* : String */;
341 short int var348
/* : Bool */;
344 val
* var351
/* : Set[MType] */;
345 val
* var353
/* : Set[MType] */;
346 static val
* varonce354
;
347 val
* var355
/* : String */;
348 char* var356
/* : NativeString */;
349 long var357
/* : Int */;
350 val
* var358
/* : FlatString */;
351 val
* var359
/* : String */;
352 val
* var360
/* : Array[Object] */;
353 long var361
/* : Int */;
354 val
* var362
/* : NativeArray[Object] */;
355 val
* var363
/* : String */;
356 static val
* varonce364
;
357 val
* var365
/* : String */;
358 char* var366
/* : NativeString */;
359 long var367
/* : Int */;
360 val
* var368
/* : FlatString */;
361 val
* var369
/* : String */;
362 static val
* varonce370
;
363 val
* var371
/* : String */;
364 char* var372
/* : NativeString */;
365 long var373
/* : Int */;
366 val
* var374
/* : FlatString */;
367 val
* var375
/* : Array[Object] */;
368 long var376
/* : Int */;
369 val
* var377
/* : NativeArray[Object] */;
370 val
* var378
/* : String */;
371 static val
* varonce379
;
372 val
* var380
/* : String */;
373 char* var381
/* : NativeString */;
374 long var382
/* : Int */;
375 val
* var383
/* : FlatString */;
376 val
* var384
/* : String */;
377 static val
* varonce385
;
378 val
* var386
/* : String */;
379 char* var387
/* : NativeString */;
380 long var388
/* : Int */;
381 val
* var389
/* : FlatString */;
382 val
* var390
/* : Array[Object] */;
383 long var391
/* : Int */;
384 val
* var392
/* : NativeArray[Object] */;
385 val
* var393
/* : String */;
386 static val
* varonce394
;
387 val
* var395
/* : String */;
388 char* var396
/* : NativeString */;
389 long var397
/* : Int */;
390 val
* var398
/* : FlatString */;
391 val
* var399
/* : String */;
392 static val
* varonce400
;
393 val
* var401
/* : String */;
394 char* var402
/* : NativeString */;
395 long var403
/* : Int */;
396 val
* var404
/* : FlatString */;
397 val
* var405
/* : Array[Object] */;
398 long var406
/* : Int */;
399 val
* var407
/* : NativeArray[Object] */;
400 val
* var408
/* : String */;
401 val
* var409
/* : ModelBuilder */;
402 val
* var411
/* : ModelBuilder */;
403 val
* var412
/* : ToolContext */;
404 val
* var414
/* : ToolContext */;
405 val
* var415
/* : OptionBool */;
406 val
* var417
/* : OptionBool */;
407 val
* var418
/* : nullable Object */;
408 val
* var420
/* : nullable Object */;
409 short int var421
/* : Bool */;
410 val
* var422
/* : AbstractCompiler */;
411 val
* var424
/* : AbstractCompiler */;
412 val
* var425
/* : HashMap[String, Int] */;
413 val
* var427
/* : HashMap[String, Int] */;
414 val
* var_428
/* var : HashMap[String, Int] */;
415 val
* var_429
/* var : String */;
416 val
* var430
/* : nullable Object */;
417 long var431
/* : Int */;
418 long var432
/* : Int */;
419 short int var434
/* : Bool */;
422 const char* var_class_name437
;
423 long var438
/* : Int */;
424 long var439
/* : Int */;
425 val
* var440
/* : nullable Object */;
426 static val
* varonce441
;
427 val
* var442
/* : String */;
428 char* var443
/* : NativeString */;
429 long var444
/* : Int */;
430 val
* var445
/* : FlatString */;
431 static val
* varonce446
;
432 val
* var447
/* : String */;
433 char* var448
/* : NativeString */;
434 long var449
/* : Int */;
435 val
* var450
/* : FlatString */;
436 val
* var451
/* : Array[Object] */;
437 long var452
/* : Int */;
438 val
* var453
/* : NativeArray[Object] */;
439 val
* var454
/* : String */;
440 static val
* varonce455
;
441 val
* var456
/* : String */;
442 char* var457
/* : NativeString */;
443 long var458
/* : Int */;
444 val
* var459
/* : FlatString */;
445 static val
* varonce460
;
446 val
* var461
/* : String */;
447 char* var462
/* : NativeString */;
448 long var463
/* : Int */;
449 val
* var464
/* : FlatString */;
450 val
* var465
/* : String */;
451 static val
* varonce466
;
452 val
* var467
/* : String */;
453 char* var468
/* : NativeString */;
454 long var469
/* : Int */;
455 val
* var470
/* : FlatString */;
456 val
* var471
/* : Array[Object] */;
457 long var472
/* : Int */;
458 val
* var473
/* : NativeArray[Object] */;
459 val
* var474
/* : String */;
460 static val
* varonce475
;
461 val
* var476
/* : String */;
462 char* var477
/* : NativeString */;
463 long var478
/* : Int */;
464 val
* var479
/* : FlatString */;
465 static val
* varonce480
;
466 val
* var481
/* : String */;
467 char* var482
/* : NativeString */;
468 long var483
/* : Int */;
469 val
* var484
/* : FlatString */;
470 val
* var485
/* : Array[Object] */;
471 long var486
/* : Int */;
472 val
* var487
/* : NativeArray[Object] */;
473 val
* var488
/* : String */;
474 static val
* varonce489
;
475 val
* var490
/* : String */;
476 char* var491
/* : NativeString */;
477 long var492
/* : Int */;
478 val
* var493
/* : FlatString */;
479 static val
* varonce494
;
480 val
* var495
/* : String */;
481 char* var496
/* : NativeString */;
482 long var497
/* : Int */;
483 val
* var498
/* : FlatString */;
484 val
* var499
/* : Array[Object] */;
485 long var500
/* : Int */;
486 val
* var501
/* : NativeArray[Object] */;
487 val
* var502
/* : String */;
488 static val
* varonce503
;
489 val
* var504
/* : String */;
490 char* var505
/* : NativeString */;
491 long var506
/* : Int */;
492 val
* var507
/* : FlatString */;
493 val
* var508
/* : String */;
494 val
* var_value_type_info
/* var value_type_info: String */;
495 static val
* varonce509
;
496 val
* var510
/* : String */;
497 char* var511
/* : NativeString */;
498 long var512
/* : Int */;
499 val
* var513
/* : FlatString */;
500 static val
* varonce514
;
501 val
* var515
/* : String */;
502 char* var516
/* : NativeString */;
503 long var517
/* : Int */;
504 val
* var518
/* : FlatString */;
505 static val
* varonce519
;
506 val
* var520
/* : String */;
507 char* var521
/* : NativeString */;
508 long var522
/* : Int */;
509 val
* var523
/* : FlatString */;
510 val
* var524
/* : Array[Object] */;
511 long var525
/* : Int */;
512 val
* var526
/* : NativeArray[Object] */;
513 val
* var527
/* : String */;
514 static val
* varonce528
;
515 val
* var529
/* : String */;
516 char* var530
/* : NativeString */;
517 long var531
/* : Int */;
518 val
* var532
/* : FlatString */;
519 val
* var533
/* : Array[Object] */;
520 long var534
/* : Int */;
521 val
* var535
/* : NativeArray[Object] */;
522 val
* var536
/* : String */;
523 static val
* varonce537
;
524 val
* var538
/* : String */;
525 char* var539
/* : NativeString */;
526 long var540
/* : Int */;
527 val
* var541
/* : FlatString */;
528 static val
* varonce542
;
529 val
* var543
/* : String */;
530 char* var544
/* : NativeString */;
531 long var545
/* : Int */;
532 val
* var546
/* : FlatString */;
533 static val
* varonce547
;
534 val
* var548
/* : String */;
535 char* var549
/* : NativeString */;
536 long var550
/* : Int */;
537 val
* var551
/* : FlatString */;
538 static val
* varonce552
;
539 val
* var553
/* : String */;
540 char* var554
/* : NativeString */;
541 long var555
/* : Int */;
542 val
* var556
/* : FlatString */;
543 static val
* varonce557
;
544 val
* var558
/* : String */;
545 char* var559
/* : NativeString */;
546 long var560
/* : Int */;
547 val
* var561
/* : FlatString */;
548 val
* var562
/* : Array[Object] */;
549 long var563
/* : Int */;
550 val
* var564
/* : NativeArray[Object] */;
551 val
* var565
/* : String */;
552 static val
* varonce566
;
553 val
* var567
/* : String */;
554 char* var568
/* : NativeString */;
555 long var569
/* : Int */;
556 val
* var570
/* : FlatString */;
557 static val
* varonce571
;
558 val
* var572
/* : String */;
559 char* var573
/* : NativeString */;
560 long var574
/* : Int */;
561 val
* var575
/* : FlatString */;
570 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
575 var5
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
582 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
591 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
595 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
596 { /* var16 = array_instance Array[Object] */
598 var18
= NEW_standard__NativeArray(var17
, &type_standard__NativeArray__standard__Object
);
599 ((struct instance_standard__NativeArray
*)var18
)->values
[0] = (val
*) var1
;
600 ((struct instance_standard__NativeArray
*)var18
)->values
[1] = (val
*) var5
;
601 ((struct instance_standard__NativeArray
*)var18
)->values
[2] = (val
*) var7
;
602 ((struct instance_standard__NativeArray
*)var18
)->values
[3] = (val
*) var_mtype
;
603 ((struct instance_standard__NativeArray
*)var18
)->values
[4] = (val
*) var12
;
605 ((void (*)(val
* self
, val
* p0
, long p1
))(var16
->class->vft
[COLOR_standard__array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
609 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
612 nit___nit__AbstractCompilerVisitor___add(self
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
615 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
616 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
617 if (unlikely(var22
== NULL
)) {
618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
619 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
626 var_compiler
= var20
;
628 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
629 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
635 PRINT_ERROR("Runtime error: %s", "Receiver is null");
636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1473);
639 { /* Inline abstract_compiler#StaticFrame#arguments (var23) on <var23:nullable StaticFrame> */
640 if (unlikely(var23
== NULL
)) {
641 PRINT_ERROR("Runtime error: %s", "Receiver is null");
642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
645 var28
= var23
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var23:nullable StaticFrame> */
646 if (unlikely(var28
== NULL
)) {
647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
648 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
656 var29
= standard___standard__SequenceRead___Collection__first(var26
);
660 var30
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_recv
);
662 var_recv_type_info
= var30
;
664 var31
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
667 var32
= nit___nit__AbstractCompilerVisitor___new_var(self
, var31
);
675 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
680 var38
= nit___nit__AbstractCompilerVisitor___get_name(self
, var34
);
688 var43
= standard___standard__NativeString___to_s_with_length(var41
, var42
);
697 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
701 var49
= NEW_standard__Array(&type_standard__Array__standard__Object
);
702 { /* var49 = array_instance Array[Object] */
704 var51
= NEW_standard__NativeArray(var50
, &type_standard__NativeArray__standard__Object
);
705 ((struct instance_standard__NativeArray
*)var51
)->values
[0] = (val
*) var40
;
706 ((struct instance_standard__NativeArray
*)var51
)->values
[1] = (val
*) var_cltype
;
707 ((struct instance_standard__NativeArray
*)var51
)->values
[2] = (val
*) var45
;
709 ((void (*)(val
* self
, val
* p0
, long p1
))(var49
->class->vft
[COLOR_standard__array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
713 var52
= ((val
* (*)(val
* self
))(var49
->class->vft
[COLOR_standard__string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
716 nit___nit__AbstractCompilerVisitor___add_decl(self
, var52
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
723 var57
= standard___standard__NativeString___to_s_with_length(var55
, var56
);
728 var58
= nit___nit__AbstractCompilerVisitor___get_name(self
, var54
);
736 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
745 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
749 var69
= NEW_standard__Array(&type_standard__Array__standard__Object
);
750 { /* var69 = array_instance Array[Object] */
752 var71
= NEW_standard__NativeArray(var70
, &type_standard__NativeArray__standard__Object
);
753 ((struct instance_standard__NativeArray
*)var71
)->values
[0] = (val
*) var60
;
754 ((struct instance_standard__NativeArray
*)var71
)->values
[1] = (val
*) var_idtype
;
755 ((struct instance_standard__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
757 ((void (*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
761 var72
= ((val
* (*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
764 nit___nit__AbstractCompilerVisitor___add_decl(self
, var72
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
767 var73
= nit___nit__SeparateCompilerVisitor___maybe_null(self
, var_value
);
769 var_maybe_null
= var73
;
775 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
779 var_accept_null
= var75
;
780 var_ntype
= var_mtype
;
781 /* <var_ntype:MType> isa MNullableType */
782 cltype
= type_nit__MNullableType
.color
;
783 idtype
= type_nit__MNullableType
.id
;
784 if(cltype
>= var_ntype
->type
->table_size
) {
787 var79
= var_ntype
->type
->type_table
[cltype
] == idtype
;
791 { /* Inline model#MNullableType#mtype (var_ntype) on <var_ntype:MType(MNullableType)> */
792 var82
= var_ntype
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_ntype:MType(MNullableType)> */
793 if (unlikely(var82
== NULL
)) {
794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
795 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
808 var87
= standard___standard__NativeString___to_s_with_length(var85
, var86
);
812 var_accept_null
= var84
;
816 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
817 var90
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
818 if (unlikely(var90
== NULL
)) {
819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
828 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
829 var93
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
835 PRINT_ERROR("Runtime error: %s", "Receiver is null");
836 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1491);
839 { /* Inline abstract_compiler#StaticFrame#mpropdef (var91) on <var91:nullable StaticFrame> */
840 if (unlikely(var91
== NULL
)) {
841 PRINT_ERROR("Runtime error: %s", "Receiver is null");
842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
845 var96
= var91
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var91:nullable StaticFrame> */
846 if (unlikely(var96
== NULL
)) {
847 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
856 { /* Inline model#MPropDef#mclassdef (var94) on <var94:MPropDef> */
857 var99
= var94
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var94:MPropDef> */
858 if (unlikely(var99
== NULL
)) {
859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
868 { /* Inline model#MClassDef#mmodule (var97) on <var97:MClassDef> */
869 var102
= var97
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var97:MClassDef> */
870 if (unlikely(var102
== NULL
)) {
871 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
872 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
876 RET_LABEL101
:(void)0;
880 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
881 var105
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
883 RET_LABEL104
:(void)0;
886 if (var103
== NULL
) {
887 PRINT_ERROR("Runtime error: %s", "Receiver is null");
888 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1491);
891 { /* Inline abstract_compiler#StaticFrame#mpropdef (var103) on <var103:nullable StaticFrame> */
892 if (unlikely(var103
== NULL
)) {
893 PRINT_ERROR("Runtime error: %s", "Receiver is null");
894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
897 var108
= var103
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var103:nullable StaticFrame> */
898 if (unlikely(var108
== NULL
)) {
899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
900 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
904 RET_LABEL107
:(void)0;
908 { /* Inline model#MPropDef#mclassdef (var106) on <var106:MPropDef> */
909 var111
= var106
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var106:MPropDef> */
910 if (unlikely(var111
== NULL
)) {
911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
916 RET_LABEL110
:(void)0;
920 { /* Inline model#MClassDef#bound_mtype (var109) on <var109:MClassDef> */
921 var114
= var109
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var109:MClassDef> */
922 if (unlikely(var114
== NULL
)) {
923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
928 RET_LABEL113
:(void)0;
932 var115
= nit___nit__MType___is_subtype(var88
, var100
, var112
, var_mtype
);
938 var118
= " = 1; /* easy ";
940 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
945 var121
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
952 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
961 var131
= standard___standard__NativeString___to_s_with_length(var129
, var130
);
965 var132
= NEW_standard__Array(&type_standard__Array__standard__Object
);
966 { /* var132 = array_instance Array[Object] */
968 var134
= NEW_standard__NativeArray(var133
, &type_standard__NativeArray__standard__Object
);
969 ((struct instance_standard__NativeArray
*)var134
)->values
[0] = (val
*) var_res
;
970 ((struct instance_standard__NativeArray
*)var134
)->values
[1] = (val
*) var117
;
971 ((struct instance_standard__NativeArray
*)var134
)->values
[2] = (val
*) var121
;
972 ((struct instance_standard__NativeArray
*)var134
)->values
[3] = (val
*) var123
;
973 ((struct instance_standard__NativeArray
*)var134
)->values
[4] = (val
*) var_mtype
;
974 ((struct instance_standard__NativeArray
*)var134
)->values
[5] = (val
*) var128
;
976 ((void (*)(val
* self
, val
* p0
, long p1
))(var132
->class->vft
[COLOR_standard__array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
980 var135
= ((val
* (*)(val
* self
))(var132
->class->vft
[COLOR_standard__string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
983 nit___nit__AbstractCompilerVisitor___add(self
, var135
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
986 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
987 var138
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
988 if (unlikely(var138
== NULL
)) {
989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
994 RET_LABEL137
:(void)0;
998 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var136) on <var136:ModelBuilder> */
999 var141
= var136
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var136:ModelBuilder> */
1000 if (unlikely(var141
== NULL
)) {
1001 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1006 RET_LABEL140
:(void)0;
1010 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var139) on <var139:ToolContext> */
1011 var144
= var139
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var139:ToolContext> */
1012 if (unlikely(var144
== NULL
)) {
1013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
1018 RET_LABEL143
:(void)0;
1022 { /* Inline opts#Option#value (var142) on <var142:OptionBool> */
1023 var147
= var142
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var142:OptionBool> */
1025 RET_LABEL146
:(void)0;
1028 var148
= ((struct instance_standard__Bool
*)var145
)->value
; /* autounbox from nullable Object to Bool */;
1031 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1032 var151
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1033 if (unlikely(var151
== NULL
)) {
1034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1039 RET_LABEL150
:(void)0;
1043 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (var149) on <var149:AbstractCompiler(SeparateCompiler)> */
1044 var154
= var149
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_skipped
].val
; /* _count_type_test_skipped on <var149:AbstractCompiler(SeparateCompiler)> */
1045 if (unlikely(var154
== NULL
)) {
1046 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
1047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 966);
1051 RET_LABEL153
:(void)0;
1057 var156
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_
, var_155
);
1061 { /* Inline kernel#Int#+ (var156,var157) on <var156:nullable Object(Int)> */
1062 /* Covariant cast for argument 0 (i) <var157:Int> isa OTHER */
1063 /* <var157:Int> isa OTHER */
1064 var160
= 1; /* easy <var157:Int> isa OTHER*/
1065 if (unlikely(!var160
)) {
1066 var_class_name
= type_standard__Int
.name
;
1067 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1068 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
1071 var163
= ((struct instance_standard__Int
*)var156
)->value
; /* autounbox from nullable Object to Int */;
1072 var164
= var163
+ var157
;
1075 RET_LABEL159
:(void)0;
1079 var165
= BOX_standard__Int(var158
); /* autobox from Int to nullable Object */
1080 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_
, var_155
, var165
); /* Direct call hash_collection#HashMap#[]= on <var_:HashMap[String, Int]>*/
1083 var167
= varonce166
;
1085 var168
= "count_type_test_skipped_";
1087 var170
= standard___standard__NativeString___to_s_with_length(var168
, var169
);
1089 varonce166
= var167
;
1092 var172
= varonce171
;
1096 var175
= standard___standard__NativeString___to_s_with_length(var173
, var174
);
1098 varonce171
= var172
;
1100 var176
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1101 { /* var176 = array_instance Array[Object] */
1103 var178
= NEW_standard__NativeArray(var177
, &type_standard__NativeArray__standard__Object
);
1104 ((struct instance_standard__NativeArray
*)var178
)->values
[0] = (val
*) var167
;
1105 ((struct instance_standard__NativeArray
*)var178
)->values
[1] = (val
*) var_tag
;
1106 ((struct instance_standard__NativeArray
*)var178
)->values
[2] = (val
*) var172
;
1108 ((void (*)(val
* self
, val
* p0
, long p1
))(var176
->class->vft
[COLOR_standard__array__Array__with_native
]))(var176
, var178
, var177
) /* with_native on <var176:Array[Object]>*/;
1112 var179
= ((val
* (*)(val
* self
))(var176
->class->vft
[COLOR_standard__string__Object__to_s
]))(var176
) /* to_s on <var176:Array[Object]>*/;
1115 nit___nit__AbstractCompilerVisitor___add(self
, var179
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1124 var180
= ((short int (*)(val
* self
))(var_ntype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_ntype
) /* need_anchor on <var_ntype:MType>*/;
1128 var182
= varonce181
;
1130 var183
= "type_struct";
1132 var185
= standard___standard__NativeString___to_s_with_length(var183
, var184
);
1134 varonce181
= var182
;
1137 var186
= nit___nit__AbstractCompilerVisitor___get_name(self
, var182
);
1139 var_type_struct
= var186
;
1141 var188
= varonce187
;
1143 var189
= "const struct type* ";
1145 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
1147 varonce187
= var188
;
1150 var193
= varonce192
;
1154 var196
= standard___standard__NativeString___to_s_with_length(var194
, var195
);
1156 varonce192
= var193
;
1158 var197
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1159 { /* var197 = array_instance Array[Object] */
1161 var199
= NEW_standard__NativeArray(var198
, &type_standard__NativeArray__standard__Object
);
1162 ((struct instance_standard__NativeArray
*)var199
)->values
[0] = (val
*) var188
;
1163 ((struct instance_standard__NativeArray
*)var199
)->values
[1] = (val
*) var_type_struct
;
1164 ((struct instance_standard__NativeArray
*)var199
)->values
[2] = (val
*) var193
;
1166 ((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]>*/;
1170 var200
= ((val
* (*)(val
* self
))(var197
->class->vft
[COLOR_standard__string__Object__to_s
]))(var197
) /* to_s on <var197:Array[Object]>*/;
1173 nit___nit__AbstractCompilerVisitor___add_decl(self
, var200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
1176 nit___nit__SeparateCompilerVisitor___hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
1179 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
1180 var203
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
1182 RET_LABEL202
:(void)0;
1185 if (var201
== NULL
) {
1186 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1187 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1506);
1190 { /* Inline abstract_compiler#StaticFrame#mpropdef (var201) on <var201:nullable StaticFrame> */
1191 if (unlikely(var201
== NULL
)) {
1192 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
1196 var206
= var201
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var201:nullable StaticFrame> */
1197 if (unlikely(var206
== NULL
)) {
1198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
1199 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
1203 RET_LABEL205
:(void)0;
1207 { /* Inline model#MPropDef#mclassdef (var204) on <var204:MPropDef> */
1208 var209
= var204
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var204:MPropDef> */
1209 if (unlikely(var209
== NULL
)) {
1210 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1211 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
1215 RET_LABEL208
:(void)0;
1219 nit___nit__SeparateCompilerVisitor___link_unresolved_type(self
, var207
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
1222 var210
= nit__separate_compiler___MEntity___const_color(var_mtype
);
1225 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var210
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
1228 var212
= varonce211
;
1232 var215
= standard___standard__NativeString___to_s_with_length(var213
, var214
);
1234 varonce211
= var212
;
1237 var217
= varonce216
;
1239 var218
= "->resolution_table->types[";
1241 var220
= standard___standard__NativeString___to_s_with_length(var218
, var219
);
1243 varonce216
= var217
;
1246 var221
= nit__separate_compiler___MEntity___const_color(var_mtype
);
1249 var223
= varonce222
;
1253 var226
= standard___standard__NativeString___to_s_with_length(var224
, var225
);
1255 varonce222
= var223
;
1257 var227
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1258 { /* var227 = array_instance Array[Object] */
1260 var229
= NEW_standard__NativeArray(var228
, &type_standard__NativeArray__standard__Object
);
1261 ((struct instance_standard__NativeArray
*)var229
)->values
[0] = (val
*) var_type_struct
;
1262 ((struct instance_standard__NativeArray
*)var229
)->values
[1] = (val
*) var212
;
1263 ((struct instance_standard__NativeArray
*)var229
)->values
[2] = (val
*) var_recv_type_info
;
1264 ((struct instance_standard__NativeArray
*)var229
)->values
[3] = (val
*) var217
;
1265 ((struct instance_standard__NativeArray
*)var229
)->values
[4] = (val
*) var221
;
1266 ((struct instance_standard__NativeArray
*)var229
)->values
[5] = (val
*) var223
;
1268 ((void (*)(val
* self
, val
* p0
, long p1
))(var227
->class->vft
[COLOR_standard__array__Array__with_native
]))(var227
, var229
, var228
) /* with_native on <var227:Array[Object]>*/;
1272 var230
= ((val
* (*)(val
* self
))(var227
->class->vft
[COLOR_standard__string__Object__to_s
]))(var227
) /* to_s on <var227:Array[Object]>*/;
1275 nit___nit__AbstractCompilerVisitor___add(self
, var230
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1278 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
1279 var233
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
1280 if (unlikely(var233
== NULL
)) {
1281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1282 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1286 RET_LABEL232
:(void)0;
1290 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var231) on <var231:ModelBuilder> */
1291 var236
= var231
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var231:ModelBuilder> */
1292 if (unlikely(var236
== NULL
)) {
1293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1298 RET_LABEL235
:(void)0;
1302 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var234) on <var234:ToolContext> */
1303 var239
= var234
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var234:ToolContext> */
1304 if (unlikely(var239
== NULL
)) {
1305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
1310 RET_LABEL238
:(void)0;
1314 { /* Inline opts#Option#value (var237) on <var237:OptionBool> */
1315 var242
= var237
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var237:OptionBool> */
1317 RET_LABEL241
:(void)0;
1320 var243
= ((struct instance_standard__Bool
*)var240
)->value
; /* autounbox from nullable Object to Bool */;
1323 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1324 var246
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1325 if (unlikely(var246
== NULL
)) {
1326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1327 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1331 RET_LABEL245
:(void)0;
1335 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (var244) on <var244:AbstractCompiler(SeparateCompiler)> */
1336 var249
= var244
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_unresolved
].val
; /* _count_type_test_unresolved on <var244:AbstractCompiler(SeparateCompiler)> */
1337 if (unlikely(var249
== NULL
)) {
1338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
1339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 965);
1343 RET_LABEL248
:(void)0;
1349 var252
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_250
, var_251
);
1353 { /* Inline kernel#Int#+ (var252,var253) on <var252:nullable Object(Int)> */
1354 /* Covariant cast for argument 0 (i) <var253:Int> isa OTHER */
1355 /* <var253:Int> isa OTHER */
1356 var256
= 1; /* easy <var253:Int> isa OTHER*/
1357 if (unlikely(!var256
)) {
1358 var_class_name259
= type_standard__Int
.name
;
1359 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name259
);
1360 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
1363 var260
= ((struct instance_standard__Int
*)var252
)->value
; /* autounbox from nullable Object to Int */;
1364 var261
= var260
+ var253
;
1367 RET_LABEL255
:(void)0;
1371 var262
= BOX_standard__Int(var254
); /* autobox from Int to nullable Object */
1372 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_250
, var_251
, var262
); /* Direct call hash_collection#HashMap#[]= on <var_250:HashMap[String, Int]>*/
1375 var264
= varonce263
;
1377 var265
= "count_type_test_unresolved_";
1379 var267
= standard___standard__NativeString___to_s_with_length(var265
, var266
);
1381 varonce263
= var264
;
1384 var269
= varonce268
;
1388 var272
= standard___standard__NativeString___to_s_with_length(var270
, var271
);
1390 varonce268
= var269
;
1392 var273
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1393 { /* var273 = array_instance Array[Object] */
1395 var275
= NEW_standard__NativeArray(var274
, &type_standard__NativeArray__standard__Object
);
1396 ((struct instance_standard__NativeArray
*)var275
)->values
[0] = (val
*) var264
;
1397 ((struct instance_standard__NativeArray
*)var275
)->values
[1] = (val
*) var_tag
;
1398 ((struct instance_standard__NativeArray
*)var275
)->values
[2] = (val
*) var269
;
1400 ((void (*)(val
* self
, val
* p0
, long p1
))(var273
->class->vft
[COLOR_standard__array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
1404 var276
= ((val
* (*)(val
* self
))(var273
->class->vft
[COLOR_standard__string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
1407 nit___nit__AbstractCompilerVisitor___add(self
, var276
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1412 nit___nit__SeparateCompilerVisitor___hardening_cast_type(self
, var_type_struct
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
1415 var278
= varonce277
;
1419 var281
= standard___standard__NativeString___to_s_with_length(var279
, var280
);
1421 varonce277
= var278
;
1424 var283
= varonce282
;
1426 var284
= "->color;";
1428 var286
= standard___standard__NativeString___to_s_with_length(var284
, var285
);
1430 varonce282
= var283
;
1432 var287
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1433 { /* var287 = array_instance Array[Object] */
1435 var289
= NEW_standard__NativeArray(var288
, &type_standard__NativeArray__standard__Object
);
1436 ((struct instance_standard__NativeArray
*)var289
)->values
[0] = (val
*) var_cltype
;
1437 ((struct instance_standard__NativeArray
*)var289
)->values
[1] = (val
*) var278
;
1438 ((struct instance_standard__NativeArray
*)var289
)->values
[2] = (val
*) var_type_struct
;
1439 ((struct instance_standard__NativeArray
*)var289
)->values
[3] = (val
*) var283
;
1441 ((void (*)(val
* self
, val
* p0
, long p1
))(var287
->class->vft
[COLOR_standard__array__Array__with_native
]))(var287
, var289
, var288
) /* with_native on <var287:Array[Object]>*/;
1445 var290
= ((val
* (*)(val
* self
))(var287
->class->vft
[COLOR_standard__string__Object__to_s
]))(var287
) /* to_s on <var287:Array[Object]>*/;
1448 nit___nit__AbstractCompilerVisitor___add(self
, var290
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1451 var292
= varonce291
;
1455 var295
= standard___standard__NativeString___to_s_with_length(var293
, var294
);
1457 varonce291
= var292
;
1460 var297
= varonce296
;
1464 var300
= standard___standard__NativeString___to_s_with_length(var298
, var299
);
1466 varonce296
= var297
;
1468 var301
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1469 { /* var301 = array_instance Array[Object] */
1471 var303
= NEW_standard__NativeArray(var302
, &type_standard__NativeArray__standard__Object
);
1472 ((struct instance_standard__NativeArray
*)var303
)->values
[0] = (val
*) var_idtype
;
1473 ((struct instance_standard__NativeArray
*)var303
)->values
[1] = (val
*) var292
;
1474 ((struct instance_standard__NativeArray
*)var303
)->values
[2] = (val
*) var_type_struct
;
1475 ((struct instance_standard__NativeArray
*)var303
)->values
[3] = (val
*) var297
;
1477 ((void (*)(val
* self
, val
* p0
, long p1
))(var301
->class->vft
[COLOR_standard__array__Array__with_native
]))(var301
, var303
, var302
) /* with_native on <var301:Array[Object]>*/;
1481 var304
= ((val
* (*)(val
* self
))(var301
->class->vft
[COLOR_standard__string__Object__to_s
]))(var301
) /* to_s on <var301:Array[Object]>*/;
1484 nit___nit__AbstractCompilerVisitor___add(self
, var304
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1486 var_306
= var_maybe_null
;
1487 if (var_maybe_null
){
1489 var308
= varonce307
;
1493 var311
= standard___standard__NativeString___to_s_with_length(var309
, var310
);
1495 varonce307
= var308
;
1498 var312
= ((short int (*)(val
* self
, val
* p0
))(var_accept_null
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_accept_null
, var308
) /* == on <var_accept_null:String>*/;
1506 var314
= varonce313
;
1508 var315
= "is_nullable";
1510 var317
= standard___standard__NativeString___to_s_with_length(var315
, var316
);
1512 varonce313
= var314
;
1515 var318
= nit___nit__AbstractCompilerVisitor___get_name(self
, var314
);
1517 var_is_nullable
= var318
;
1519 var320
= varonce319
;
1521 var321
= "short int ";
1523 var323
= standard___standard__NativeString___to_s_with_length(var321
, var322
);
1525 varonce319
= var320
;
1528 var325
= varonce324
;
1532 var328
= standard___standard__NativeString___to_s_with_length(var326
, var327
);
1534 varonce324
= var325
;
1536 var329
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1537 { /* var329 = array_instance Array[Object] */
1539 var331
= NEW_standard__NativeArray(var330
, &type_standard__NativeArray__standard__Object
);
1540 ((struct instance_standard__NativeArray
*)var331
)->values
[0] = (val
*) var320
;
1541 ((struct instance_standard__NativeArray
*)var331
)->values
[1] = (val
*) var_is_nullable
;
1542 ((struct instance_standard__NativeArray
*)var331
)->values
[2] = (val
*) var325
;
1544 ((void (*)(val
* self
, val
* p0
, long p1
))(var329
->class->vft
[COLOR_standard__array__Array__with_native
]))(var329
, var331
, var330
) /* with_native on <var329:Array[Object]>*/;
1548 var332
= ((val
* (*)(val
* self
))(var329
->class->vft
[COLOR_standard__string__Object__to_s
]))(var329
) /* to_s on <var329:Array[Object]>*/;
1551 nit___nit__AbstractCompilerVisitor___add_decl(self
, var332
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
1554 var334
= varonce333
;
1558 var337
= standard___standard__NativeString___to_s_with_length(var335
, var336
);
1560 varonce333
= var334
;
1563 var339
= varonce338
;
1565 var340
= "->is_nullable;";
1567 var342
= standard___standard__NativeString___to_s_with_length(var340
, var341
);
1569 varonce338
= var339
;
1571 var343
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1572 { /* var343 = array_instance Array[Object] */
1574 var345
= NEW_standard__NativeArray(var344
, &type_standard__NativeArray__standard__Object
);
1575 ((struct instance_standard__NativeArray
*)var345
)->values
[0] = (val
*) var_is_nullable
;
1576 ((struct instance_standard__NativeArray
*)var345
)->values
[1] = (val
*) var334
;
1577 ((struct instance_standard__NativeArray
*)var345
)->values
[2] = (val
*) var_type_struct
;
1578 ((struct instance_standard__NativeArray
*)var345
)->values
[3] = (val
*) var339
;
1580 ((void (*)(val
* self
, val
* p0
, long p1
))(var343
->class->vft
[COLOR_standard__array__Array__with_native
]))(var343
, var345
, var344
) /* with_native on <var343:Array[Object]>*/;
1584 var346
= ((val
* (*)(val
* self
))(var343
->class->vft
[COLOR_standard__string__Object__to_s
]))(var343
) /* to_s on <var343:Array[Object]>*/;
1587 nit___nit__AbstractCompilerVisitor___add(self
, var346
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1590 var347
= standard___standard__String___Object__to_s(var_is_nullable
);
1592 var_accept_null
= var347
;
1596 /* <var_ntype:MType> isa MClassType */
1597 cltype349
= type_nit__MClassType
.color
;
1598 idtype350
= type_nit__MClassType
.id
;
1599 if(cltype349
>= var_ntype
->type
->table_size
) {
1602 var348
= var_ntype
->type
->type_table
[cltype349
] == idtype350
;
1606 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
1607 var353
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
1608 if (unlikely(var353
== NULL
)) {
1609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
1610 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 121);
1614 RET_LABEL352
:(void)0;
1618 ((void (*)(val
* self
, val
* p0
))(var351
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var351
, var_mtype
) /* add on <var351:Set[MType]>*/;
1621 var355
= varonce354
;
1625 var358
= standard___standard__NativeString___to_s_with_length(var356
, var357
);
1627 varonce354
= var355
;
1630 var359
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
1632 var360
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1633 { /* var360 = array_instance Array[Object] */
1635 var362
= NEW_standard__NativeArray(var361
, &type_standard__NativeArray__standard__Object
);
1636 ((struct instance_standard__NativeArray
*)var362
)->values
[0] = (val
*) var355
;
1637 ((struct instance_standard__NativeArray
*)var362
)->values
[1] = (val
*) var359
;
1639 ((void (*)(val
* self
, val
* p0
, long p1
))(var360
->class->vft
[COLOR_standard__array__Array__with_native
]))(var360
, var362
, var361
) /* with_native on <var360:Array[Object]>*/;
1643 var363
= ((val
* (*)(val
* self
))(var360
->class->vft
[COLOR_standard__string__Object__to_s
]))(var360
) /* to_s on <var360:Array[Object]>*/;
1646 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var363
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
1649 var365
= varonce364
;
1653 var368
= standard___standard__NativeString___to_s_with_length(var366
, var367
);
1655 varonce364
= var365
;
1658 var369
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
1661 var371
= varonce370
;
1665 var374
= standard___standard__NativeString___to_s_with_length(var372
, var373
);
1667 varonce370
= var371
;
1669 var375
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1670 { /* var375 = array_instance Array[Object] */
1672 var377
= NEW_standard__NativeArray(var376
, &type_standard__NativeArray__standard__Object
);
1673 ((struct instance_standard__NativeArray
*)var377
)->values
[0] = (val
*) var365
;
1674 ((struct instance_standard__NativeArray
*)var377
)->values
[1] = (val
*) var369
;
1675 ((struct instance_standard__NativeArray
*)var377
)->values
[2] = (val
*) var371
;
1677 ((void (*)(val
* self
, val
* p0
, long p1
))(var375
->class->vft
[COLOR_standard__array__Array__with_native
]))(var375
, var377
, var376
) /* with_native on <var375:Array[Object]>*/;
1681 var378
= ((val
* (*)(val
* self
))(var375
->class->vft
[COLOR_standard__string__Object__to_s
]))(var375
) /* to_s on <var375:Array[Object]>*/;
1684 nit___nit__SeparateCompilerVisitor___hardening_cast_type(self
, var378
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_cast_type on <self:SeparateCompilerVisitor>*/
1687 var380
= varonce379
;
1689 var381
= " = type_";
1691 var383
= standard___standard__NativeString___to_s_with_length(var381
, var382
);
1693 varonce379
= var380
;
1696 var384
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
1699 var386
= varonce385
;
1703 var389
= standard___standard__NativeString___to_s_with_length(var387
, var388
);
1705 varonce385
= var386
;
1707 var390
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1708 { /* var390 = array_instance Array[Object] */
1710 var392
= NEW_standard__NativeArray(var391
, &type_standard__NativeArray__standard__Object
);
1711 ((struct instance_standard__NativeArray
*)var392
)->values
[0] = (val
*) var_cltype
;
1712 ((struct instance_standard__NativeArray
*)var392
)->values
[1] = (val
*) var380
;
1713 ((struct instance_standard__NativeArray
*)var392
)->values
[2] = (val
*) var384
;
1714 ((struct instance_standard__NativeArray
*)var392
)->values
[3] = (val
*) var386
;
1716 ((void (*)(val
* self
, val
* p0
, long p1
))(var390
->class->vft
[COLOR_standard__array__Array__with_native
]))(var390
, var392
, var391
) /* with_native on <var390:Array[Object]>*/;
1720 var393
= ((val
* (*)(val
* self
))(var390
->class->vft
[COLOR_standard__string__Object__to_s
]))(var390
) /* to_s on <var390:Array[Object]>*/;
1723 nit___nit__AbstractCompilerVisitor___add(self
, var393
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1726 var395
= varonce394
;
1728 var396
= " = type_";
1730 var398
= standard___standard__NativeString___to_s_with_length(var396
, var397
);
1732 varonce394
= var395
;
1735 var399
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype
) /* c_name on <var_mtype:MType>*/;
1738 var401
= varonce400
;
1742 var404
= standard___standard__NativeString___to_s_with_length(var402
, var403
);
1744 varonce400
= var401
;
1746 var405
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1747 { /* var405 = array_instance Array[Object] */
1749 var407
= NEW_standard__NativeArray(var406
, &type_standard__NativeArray__standard__Object
);
1750 ((struct instance_standard__NativeArray
*)var407
)->values
[0] = (val
*) var_idtype
;
1751 ((struct instance_standard__NativeArray
*)var407
)->values
[1] = (val
*) var395
;
1752 ((struct instance_standard__NativeArray
*)var407
)->values
[2] = (val
*) var399
;
1753 ((struct instance_standard__NativeArray
*)var407
)->values
[3] = (val
*) var401
;
1755 ((void (*)(val
* self
, val
* p0
, long p1
))(var405
->class->vft
[COLOR_standard__array__Array__with_native
]))(var405
, var407
, var406
) /* with_native on <var405:Array[Object]>*/;
1759 var408
= ((val
* (*)(val
* self
))(var405
->class->vft
[COLOR_standard__string__Object__to_s
]))(var405
) /* to_s on <var405:Array[Object]>*/;
1762 nit___nit__AbstractCompilerVisitor___add(self
, var408
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1765 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var_compiler) on <var_compiler:SeparateCompiler> */
1766 var411
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var_compiler:SeparateCompiler> */
1767 if (unlikely(var411
== NULL
)) {
1768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1769 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
1773 RET_LABEL410
:(void)0;
1777 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var409) on <var409:ModelBuilder> */
1778 var414
= var409
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var409:ModelBuilder> */
1779 if (unlikely(var414
== NULL
)) {
1780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1785 RET_LABEL413
:(void)0;
1789 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var412) on <var412:ToolContext> */
1790 var417
= var412
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <var412:ToolContext> */
1791 if (unlikely(var417
== NULL
)) {
1792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
1793 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
1797 RET_LABEL416
:(void)0;
1801 { /* Inline opts#Option#value (var415) on <var415:OptionBool> */
1802 var420
= var415
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var415:OptionBool> */
1804 RET_LABEL419
:(void)0;
1807 var421
= ((struct instance_standard__Bool
*)var418
)->value
; /* autounbox from nullable Object to Bool */;
1810 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
1811 var424
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
1812 if (unlikely(var424
== NULL
)) {
1813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1814 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
1818 RET_LABEL423
:(void)0;
1822 { /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (var422) on <var422:AbstractCompiler(SeparateCompiler)> */
1823 var427
= var422
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___count_type_test_resolved
].val
; /* _count_type_test_resolved on <var422:AbstractCompiler(SeparateCompiler)> */
1824 if (unlikely(var427
== NULL
)) {
1825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
1826 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 964);
1830 RET_LABEL426
:(void)0;
1836 var430
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var_428
, var_429
);
1840 { /* Inline kernel#Int#+ (var430,var431) on <var430:nullable Object(Int)> */
1841 /* Covariant cast for argument 0 (i) <var431:Int> isa OTHER */
1842 /* <var431:Int> isa OTHER */
1843 var434
= 1; /* easy <var431:Int> isa OTHER*/
1844 if (unlikely(!var434
)) {
1845 var_class_name437
= type_standard__Int
.name
;
1846 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name437
);
1847 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
1850 var438
= ((struct instance_standard__Int
*)var430
)->value
; /* autounbox from nullable Object to Int */;
1851 var439
= var438
+ var431
;
1854 RET_LABEL433
:(void)0;
1858 var440
= BOX_standard__Int(var432
); /* autobox from Int to nullable Object */
1859 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var_428
, var_429
, var440
); /* Direct call hash_collection#HashMap#[]= on <var_428:HashMap[String, Int]>*/
1862 var442
= varonce441
;
1864 var443
= "count_type_test_resolved_";
1866 var445
= standard___standard__NativeString___to_s_with_length(var443
, var444
);
1868 varonce441
= var442
;
1871 var447
= varonce446
;
1875 var450
= standard___standard__NativeString___to_s_with_length(var448
, var449
);
1877 varonce446
= var447
;
1879 var451
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1880 { /* var451 = array_instance Array[Object] */
1882 var453
= NEW_standard__NativeArray(var452
, &type_standard__NativeArray__standard__Object
);
1883 ((struct instance_standard__NativeArray
*)var453
)->values
[0] = (val
*) var442
;
1884 ((struct instance_standard__NativeArray
*)var453
)->values
[1] = (val
*) var_tag
;
1885 ((struct instance_standard__NativeArray
*)var453
)->values
[2] = (val
*) var447
;
1887 ((void (*)(val
* self
, val
* p0
, long p1
))(var451
->class->vft
[COLOR_standard__array__Array__with_native
]))(var451
, var453
, var452
) /* with_native on <var451:Array[Object]>*/;
1891 var454
= ((val
* (*)(val
* self
))(var451
->class->vft
[COLOR_standard__string__Object__to_s
]))(var451
) /* to_s on <var451:Array[Object]>*/;
1894 nit___nit__AbstractCompilerVisitor___add(self
, var454
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1900 var456
= varonce455
;
1902 var457
= "PRINT_ERROR(\"NOT YET IMPLEMENTED: type_test(%s, ";
1904 var459
= standard___standard__NativeString___to_s_with_length(var457
, var458
);
1906 varonce455
= var456
;
1909 var461
= varonce460
;
1911 var462
= ").\\n\", \"";
1913 var464
= standard___standard__NativeString___to_s_with_length(var462
, var463
);
1915 varonce460
= var461
;
1918 var465
= nit___nit__RuntimeVariable___standard__string__Object__inspect(var_value
);
1921 var467
= varonce466
;
1923 var468
= "\"); show_backtrace(1);";
1925 var470
= standard___standard__NativeString___to_s_with_length(var468
, var469
);
1927 varonce466
= var467
;
1929 var471
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1930 { /* var471 = array_instance Array[Object] */
1932 var473
= NEW_standard__NativeArray(var472
, &type_standard__NativeArray__standard__Object
);
1933 ((struct instance_standard__NativeArray
*)var473
)->values
[0] = (val
*) var456
;
1934 ((struct instance_standard__NativeArray
*)var473
)->values
[1] = (val
*) var_mtype
;
1935 ((struct instance_standard__NativeArray
*)var473
)->values
[2] = (val
*) var461
;
1936 ((struct instance_standard__NativeArray
*)var473
)->values
[3] = (val
*) var465
;
1937 ((struct instance_standard__NativeArray
*)var473
)->values
[4] = (val
*) var467
;
1939 ((void (*)(val
* self
, val
* p0
, long p1
))(var471
->class->vft
[COLOR_standard__array__Array__with_native
]))(var471
, var473
, var472
) /* with_native on <var471:Array[Object]>*/;
1943 var474
= ((val
* (*)(val
* self
))(var471
->class->vft
[COLOR_standard__string__Object__to_s
]))(var471
) /* to_s on <var471:Array[Object]>*/;
1946 nit___nit__AbstractCompilerVisitor___add(self
, var474
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1950 if (var_maybe_null
){
1952 var476
= varonce475
;
1956 var479
= standard___standard__NativeString___to_s_with_length(var477
, var478
);
1958 varonce475
= var476
;
1961 var481
= varonce480
;
1963 var482
= " == NULL) {";
1965 var484
= standard___standard__NativeString___to_s_with_length(var482
, var483
);
1967 varonce480
= var481
;
1969 var485
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1970 { /* var485 = array_instance Array[Object] */
1972 var487
= NEW_standard__NativeArray(var486
, &type_standard__NativeArray__standard__Object
);
1973 ((struct instance_standard__NativeArray
*)var487
)->values
[0] = (val
*) var476
;
1974 ((struct instance_standard__NativeArray
*)var487
)->values
[1] = (val
*) var_value
;
1975 ((struct instance_standard__NativeArray
*)var487
)->values
[2] = (val
*) var481
;
1977 ((void (*)(val
* self
, val
* p0
, long p1
))(var485
->class->vft
[COLOR_standard__array__Array__with_native
]))(var485
, var487
, var486
) /* with_native on <var485:Array[Object]>*/;
1981 var488
= ((val
* (*)(val
* self
))(var485
->class->vft
[COLOR_standard__string__Object__to_s
]))(var485
) /* to_s on <var485:Array[Object]>*/;
1984 nit___nit__AbstractCompilerVisitor___add(self
, var488
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
1987 var490
= varonce489
;
1991 var493
= standard___standard__NativeString___to_s_with_length(var491
, var492
);
1993 varonce489
= var490
;
1996 var495
= varonce494
;
2000 var498
= standard___standard__NativeString___to_s_with_length(var496
, var497
);
2002 varonce494
= var495
;
2004 var499
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2005 { /* var499 = array_instance Array[Object] */
2007 var501
= NEW_standard__NativeArray(var500
, &type_standard__NativeArray__standard__Object
);
2008 ((struct instance_standard__NativeArray
*)var501
)->values
[0] = (val
*) var_res
;
2009 ((struct instance_standard__NativeArray
*)var501
)->values
[1] = (val
*) var490
;
2010 ((struct instance_standard__NativeArray
*)var501
)->values
[2] = (val
*) var_accept_null
;
2011 ((struct instance_standard__NativeArray
*)var501
)->values
[3] = (val
*) var495
;
2013 ((void (*)(val
* self
, val
* p0
, long p1
))(var499
->class->vft
[COLOR_standard__array__Array__with_native
]))(var499
, var501
, var500
) /* with_native on <var499:Array[Object]>*/;
2017 var502
= ((val
* (*)(val
* self
))(var499
->class->vft
[COLOR_standard__string__Object__to_s
]))(var499
) /* to_s on <var499:Array[Object]>*/;
2020 nit___nit__AbstractCompilerVisitor___add(self
, var502
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2023 var504
= varonce503
;
2025 var505
= "} else {";
2027 var507
= standard___standard__NativeString___to_s_with_length(var505
, var506
);
2029 varonce503
= var504
;
2032 nit___nit__AbstractCompilerVisitor___add(self
, var504
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2037 var508
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_value
);
2039 var_value_type_info
= var508
;
2041 var510
= varonce509
;
2045 var513
= standard___standard__NativeString___to_s_with_length(var511
, var512
);
2047 varonce509
= var510
;
2050 var515
= varonce514
;
2054 var518
= standard___standard__NativeString___to_s_with_length(var516
, var517
);
2056 varonce514
= var515
;
2059 var520
= varonce519
;
2061 var521
= "->table_size) {";
2063 var523
= standard___standard__NativeString___to_s_with_length(var521
, var522
);
2065 varonce519
= var520
;
2067 var524
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2068 { /* var524 = array_instance Array[Object] */
2070 var526
= NEW_standard__NativeArray(var525
, &type_standard__NativeArray__standard__Object
);
2071 ((struct instance_standard__NativeArray
*)var526
)->values
[0] = (val
*) var510
;
2072 ((struct instance_standard__NativeArray
*)var526
)->values
[1] = (val
*) var_cltype
;
2073 ((struct instance_standard__NativeArray
*)var526
)->values
[2] = (val
*) var515
;
2074 ((struct instance_standard__NativeArray
*)var526
)->values
[3] = (val
*) var_value_type_info
;
2075 ((struct instance_standard__NativeArray
*)var526
)->values
[4] = (val
*) var520
;
2077 ((void (*)(val
* self
, val
* p0
, long p1
))(var524
->class->vft
[COLOR_standard__array__Array__with_native
]))(var524
, var526
, var525
) /* with_native on <var524:Array[Object]>*/;
2081 var527
= ((val
* (*)(val
* self
))(var524
->class->vft
[COLOR_standard__string__Object__to_s
]))(var524
) /* to_s on <var524:Array[Object]>*/;
2084 nit___nit__AbstractCompilerVisitor___add(self
, var527
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2087 var529
= varonce528
;
2091 var532
= standard___standard__NativeString___to_s_with_length(var530
, var531
);
2093 varonce528
= var529
;
2095 var533
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2096 { /* var533 = array_instance Array[Object] */
2098 var535
= NEW_standard__NativeArray(var534
, &type_standard__NativeArray__standard__Object
);
2099 ((struct instance_standard__NativeArray
*)var535
)->values
[0] = (val
*) var_res
;
2100 ((struct instance_standard__NativeArray
*)var535
)->values
[1] = (val
*) var529
;
2102 ((void (*)(val
* self
, val
* p0
, long p1
))(var533
->class->vft
[COLOR_standard__array__Array__with_native
]))(var533
, var535
, var534
) /* with_native on <var533:Array[Object]>*/;
2106 var536
= ((val
* (*)(val
* self
))(var533
->class->vft
[COLOR_standard__string__Object__to_s
]))(var533
) /* to_s on <var533:Array[Object]>*/;
2109 nit___nit__AbstractCompilerVisitor___add(self
, var536
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2112 var538
= varonce537
;
2114 var539
= "} else {";
2116 var541
= standard___standard__NativeString___to_s_with_length(var539
, var540
);
2118 varonce537
= var538
;
2121 nit___nit__AbstractCompilerVisitor___add(self
, var538
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2124 var543
= varonce542
;
2128 var546
= standard___standard__NativeString___to_s_with_length(var544
, var545
);
2130 varonce542
= var543
;
2133 var548
= varonce547
;
2135 var549
= "->type_table[";
2137 var551
= standard___standard__NativeString___to_s_with_length(var549
, var550
);
2139 varonce547
= var548
;
2142 var553
= varonce552
;
2146 var556
= standard___standard__NativeString___to_s_with_length(var554
, var555
);
2148 varonce552
= var553
;
2151 var558
= varonce557
;
2155 var561
= standard___standard__NativeString___to_s_with_length(var559
, var560
);
2157 varonce557
= var558
;
2159 var562
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2160 { /* var562 = array_instance Array[Object] */
2162 var564
= NEW_standard__NativeArray(var563
, &type_standard__NativeArray__standard__Object
);
2163 ((struct instance_standard__NativeArray
*)var564
)->values
[0] = (val
*) var_res
;
2164 ((struct instance_standard__NativeArray
*)var564
)->values
[1] = (val
*) var543
;
2165 ((struct instance_standard__NativeArray
*)var564
)->values
[2] = (val
*) var_value_type_info
;
2166 ((struct instance_standard__NativeArray
*)var564
)->values
[3] = (val
*) var548
;
2167 ((struct instance_standard__NativeArray
*)var564
)->values
[4] = (val
*) var_cltype
;
2168 ((struct instance_standard__NativeArray
*)var564
)->values
[5] = (val
*) var553
;
2169 ((struct instance_standard__NativeArray
*)var564
)->values
[6] = (val
*) var_idtype
;
2170 ((struct instance_standard__NativeArray
*)var564
)->values
[7] = (val
*) var558
;
2172 ((void (*)(val
* self
, val
* p0
, long p1
))(var562
->class->vft
[COLOR_standard__array__Array__with_native
]))(var562
, var564
, var563
) /* with_native on <var562:Array[Object]>*/;
2176 var565
= ((val
* (*)(val
* self
))(var562
->class->vft
[COLOR_standard__string__Object__to_s
]))(var562
) /* to_s on <var562:Array[Object]>*/;
2179 nit___nit__AbstractCompilerVisitor___add(self
, var565
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2182 var567
= varonce566
;
2186 var570
= standard___standard__NativeString___to_s_with_length(var568
, var569
);
2188 varonce566
= var567
;
2191 nit___nit__AbstractCompilerVisitor___add(self
, var567
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2193 if (var_maybe_null
){
2195 var572
= varonce571
;
2199 var575
= standard___standard__NativeString___to_s_with_length(var573
, var574
);
2201 varonce571
= var572
;
2204 nit___nit__AbstractCompilerVisitor___add(self
, var572
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2213 /* method separate_compiler#SeparateCompilerVisitor#is_same_type_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
2214 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
2215 val
* var
/* : RuntimeVariable */;
2216 val
* var_value1
/* var value1: RuntimeVariable */;
2217 val
* var_value2
/* var value2: RuntimeVariable */;
2218 val
* var1
/* : MClassType */;
2219 val
* var2
/* : RuntimeVariable */;
2220 val
* var_res
/* var res: RuntimeVariable */;
2221 short int var3
/* : Bool */;
2222 val
* var4
/* : MType */;
2223 val
* var6
/* : MType */;
2224 val
* var7
/* : String */;
2225 static val
* varonce
;
2226 val
* var8
/* : String */;
2227 char* var9
/* : NativeString */;
2228 long var10
/* : Int */;
2229 val
* var11
/* : FlatString */;
2230 short int var12
/* : Bool */;
2231 val
* var_other
/* var other: nullable Object */;
2232 short int var14
/* : Bool */;
2233 short int var15
/* : Bool */;
2234 short int var_
/* var : Bool */;
2235 val
* var16
/* : MType */;
2236 val
* var18
/* : MType */;
2237 val
* var19
/* : String */;
2238 static val
* varonce20
;
2239 val
* var21
/* : String */;
2240 char* var22
/* : NativeString */;
2241 long var23
/* : Int */;
2242 val
* var24
/* : FlatString */;
2243 short int var25
/* : Bool */;
2244 val
* var_tmp
/* var tmp: RuntimeVariable */;
2245 val
* var26
/* : MType */;
2246 val
* var28
/* : MType */;
2247 val
* var29
/* : String */;
2248 static val
* varonce30
;
2249 val
* var31
/* : String */;
2250 char* var32
/* : NativeString */;
2251 long var33
/* : Int */;
2252 val
* var34
/* : FlatString */;
2253 short int var35
/* : Bool */;
2254 short int var37
/* : Bool */;
2255 short int var38
/* : Bool */;
2256 val
* var39
/* : MType */;
2257 val
* var41
/* : MType */;
2258 val
* var42
/* : MType */;
2259 val
* var44
/* : MType */;
2260 short int var45
/* : Bool */;
2261 val
* var_other47
/* var other: nullable Object */;
2262 short int var48
/* : Bool */;
2263 short int var50
/* : Bool */;
2264 static val
* varonce51
;
2265 val
* var52
/* : String */;
2266 char* var53
/* : NativeString */;
2267 long var54
/* : Int */;
2268 val
* var55
/* : FlatString */;
2269 val
* var56
/* : MType */;
2270 val
* var58
/* : MType */;
2271 static val
* varonce59
;
2272 val
* var60
/* : String */;
2273 char* var61
/* : NativeString */;
2274 long var62
/* : Int */;
2275 val
* var63
/* : FlatString */;
2276 val
* var64
/* : MType */;
2277 val
* var66
/* : MType */;
2278 static val
* varonce67
;
2279 val
* var68
/* : String */;
2280 char* var69
/* : NativeString */;
2281 long var70
/* : Int */;
2282 val
* var71
/* : FlatString */;
2283 val
* var72
/* : Array[Object] */;
2284 long var73
/* : Int */;
2285 val
* var74
/* : NativeArray[Object] */;
2286 val
* var75
/* : String */;
2287 val
* var76
/* : MType */;
2288 val
* var78
/* : MType */;
2289 val
* var79
/* : String */;
2290 static val
* varonce80
;
2291 val
* var81
/* : String */;
2292 char* var82
/* : NativeString */;
2293 long var83
/* : Int */;
2294 val
* var84
/* : FlatString */;
2295 short int var85
/* : Bool */;
2296 short int var87
/* : Bool */;
2297 short int var88
/* : Bool */;
2298 static val
* varonce89
;
2299 val
* var90
/* : String */;
2300 char* var91
/* : NativeString */;
2301 long var92
/* : Int */;
2302 val
* var93
/* : FlatString */;
2303 val
* var94
/* : MType */;
2304 val
* var96
/* : MType */;
2305 static val
* varonce97
;
2306 val
* var98
/* : String */;
2307 char* var99
/* : NativeString */;
2308 long var100
/* : Int */;
2309 val
* var101
/* : FlatString */;
2310 val
* var102
/* : MType */;
2311 val
* var104
/* : MType */;
2312 static val
* varonce105
;
2313 val
* var106
/* : String */;
2314 char* var107
/* : NativeString */;
2315 long var108
/* : Int */;
2316 val
* var109
/* : FlatString */;
2317 val
* var110
/* : Array[Object] */;
2318 long var111
/* : Int */;
2319 val
* var112
/* : NativeArray[Object] */;
2320 val
* var113
/* : String */;
2321 val
* var114
/* : MType */;
2322 val
* var116
/* : MType */;
2323 short int var117
/* : Bool */;
2326 const char* var_class_name
;
2327 val
* var_mtype1
/* var mtype1: MClassType */;
2328 static val
* varonce118
;
2329 val
* var119
/* : String */;
2330 char* var120
/* : NativeString */;
2331 long var121
/* : Int */;
2332 val
* var122
/* : FlatString */;
2333 val
* var123
/* : String */;
2334 val
* var124
/* : Array[Object] */;
2335 long var125
/* : Int */;
2336 val
* var126
/* : NativeArray[Object] */;
2337 val
* var127
/* : String */;
2338 static val
* varonce128
;
2339 val
* var129
/* : String */;
2340 char* var130
/* : NativeString */;
2341 long var131
/* : Int */;
2342 val
* var132
/* : FlatString */;
2343 static val
* varonce133
;
2344 val
* var134
/* : String */;
2345 char* var135
/* : NativeString */;
2346 long var136
/* : Int */;
2347 val
* var137
/* : FlatString */;
2348 static val
* varonce138
;
2349 val
* var139
/* : String */;
2350 char* var140
/* : NativeString */;
2351 long var141
/* : Int */;
2352 val
* var142
/* : FlatString */;
2353 val
* var143
/* : String */;
2354 static val
* varonce144
;
2355 val
* var145
/* : String */;
2356 char* var146
/* : NativeString */;
2357 long var147
/* : Int */;
2358 val
* var148
/* : FlatString */;
2359 val
* var149
/* : Array[Object] */;
2360 long var150
/* : Int */;
2361 val
* var151
/* : NativeArray[Object] */;
2362 val
* var152
/* : String */;
2363 static val
* varonce153
;
2364 val
* var154
/* : String */;
2365 char* var155
/* : NativeString */;
2366 long var156
/* : Int */;
2367 val
* var157
/* : FlatString */;
2368 static val
* varonce158
;
2369 val
* var159
/* : String */;
2370 char* var160
/* : NativeString */;
2371 long var161
/* : Int */;
2372 val
* var162
/* : FlatString */;
2373 static val
* varonce163
;
2374 val
* var164
/* : String */;
2375 char* var165
/* : NativeString */;
2376 long var166
/* : Int */;
2377 val
* var167
/* : FlatString */;
2378 static val
* varonce168
;
2379 val
* var169
/* : String */;
2380 char* var170
/* : NativeString */;
2381 long var171
/* : Int */;
2382 val
* var172
/* : FlatString */;
2383 static val
* varonce173
;
2384 val
* var174
/* : String */;
2385 char* var175
/* : NativeString */;
2386 long var176
/* : Int */;
2387 val
* var177
/* : FlatString */;
2388 static val
* varonce178
;
2389 val
* var179
/* : String */;
2390 char* var180
/* : NativeString */;
2391 long var181
/* : Int */;
2392 val
* var182
/* : FlatString */;
2393 static val
* varonce183
;
2394 val
* var184
/* : String */;
2395 char* var185
/* : NativeString */;
2396 long var186
/* : Int */;
2397 val
* var187
/* : FlatString */;
2398 val
* var188
/* : Array[Object] */;
2399 long var189
/* : Int */;
2400 val
* var190
/* : NativeArray[Object] */;
2401 val
* var191
/* : String */;
2405 var1
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
2408 var2
= nit___nit__AbstractCompilerVisitor___new_var(self
, var1
);
2412 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
2413 var6
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
2414 if (unlikely(var6
== NULL
)) {
2415 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2424 var7
= ((val
* (*)(val
* self
))(var4
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
2431 var11
= standard___standard__NativeString___to_s_with_length(var9
, var10
);
2436 { /* Inline kernel#Object#!= (var7,var8) on <var7:String> */
2439 var14
= ((short int (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var7
, var_other
) /* == on <var7:String>*/;
2444 RET_LABEL13
:(void)0;
2450 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2451 var18
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2452 if (unlikely(var18
== NULL
)) {
2453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2458 RET_LABEL17
:(void)0;
2462 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var16
) /* ctype on <var16:MType>*/;
2469 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
2474 var25
= ((short int (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var19
, var21
) /* == on <var19:String>*/;
2481 var_tmp
= var_value1
;
2482 var_value1
= var_value2
;
2483 var_value2
= var_tmp
;
2487 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2488 var28
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2489 if (unlikely(var28
== NULL
)) {
2490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2495 RET_LABEL27
:(void)0;
2499 var29
= ((val
* (*)(val
* self
))(var26
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var26
) /* ctype on <var26:MType>*/;
2506 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
2511 { /* Inline kernel#Object#!= (var29,var31) on <var29:String> */
2514 var37
= ((short int (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var_other
) /* == on <var29:String>*/;
2519 RET_LABEL36
:(void)0;
2524 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
2525 var41
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
2526 if (unlikely(var41
== NULL
)) {
2527 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2528 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2532 RET_LABEL40
:(void)0;
2536 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2537 var44
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2538 if (unlikely(var44
== NULL
)) {
2539 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2544 RET_LABEL43
:(void)0;
2548 { /* Inline kernel#Object#== (var39,var42) on <var39:MType> */
2549 var_other47
= var42
;
2551 { /* Inline kernel#Object#is_same_instance (var39,var_other47) on <var39:MType> */
2552 var50
= var39
== var_other47
;
2555 RET_LABEL49
:(void)0;
2560 RET_LABEL46
:(void)0;
2567 var53
= " = 1; /* is_same_type_test: compatible types ";
2569 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
2574 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2575 var58
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2576 if (unlikely(var58
== NULL
)) {
2577 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2578 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2582 RET_LABEL57
:(void)0;
2590 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
2595 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
2596 var66
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
2597 if (unlikely(var66
== NULL
)) {
2598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2599 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2603 RET_LABEL65
:(void)0;
2611 var71
= standard___standard__NativeString___to_s_with_length(var69
, var70
);
2615 var72
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2616 { /* var72 = array_instance Array[Object] */
2618 var74
= NEW_standard__NativeArray(var73
, &type_standard__NativeArray__standard__Object
);
2619 ((struct instance_standard__NativeArray
*)var74
)->values
[0] = (val
*) var_res
;
2620 ((struct instance_standard__NativeArray
*)var74
)->values
[1] = (val
*) var52
;
2621 ((struct instance_standard__NativeArray
*)var74
)->values
[2] = (val
*) var56
;
2622 ((struct instance_standard__NativeArray
*)var74
)->values
[3] = (val
*) var60
;
2623 ((struct instance_standard__NativeArray
*)var74
)->values
[4] = (val
*) var64
;
2624 ((struct instance_standard__NativeArray
*)var74
)->values
[5] = (val
*) var68
;
2626 ((void (*)(val
* self
, val
* p0
, long p1
))(var72
->class->vft
[COLOR_standard__array__Array__with_native
]))(var72
, var74
, var73
) /* with_native on <var72:Array[Object]>*/;
2630 var75
= ((val
* (*)(val
* self
))(var72
->class->vft
[COLOR_standard__string__Object__to_s
]))(var72
) /* to_s on <var72:Array[Object]>*/;
2633 nit___nit__AbstractCompilerVisitor___add(self
, var75
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2637 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
2638 var78
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
2639 if (unlikely(var78
== NULL
)) {
2640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2641 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2645 RET_LABEL77
:(void)0;
2649 var79
= ((val
* (*)(val
* self
))(var76
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var76
) /* ctype on <var76:MType>*/;
2656 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
2661 { /* Inline kernel#Object#!= (var79,var81) on <var79:String> */
2664 var87
= ((short int (*)(val
* self
, val
* p0
))(var79
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var79
, var_other
) /* == on <var79:String>*/;
2669 RET_LABEL86
:(void)0;
2676 var91
= " = 0; /* is_same_type_test: incompatible types ";
2678 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
2683 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2684 var96
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2685 if (unlikely(var96
== NULL
)) {
2686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2691 RET_LABEL95
:(void)0;
2699 var101
= standard___standard__NativeString___to_s_with_length(var99
, var100
);
2704 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
2705 var104
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
2706 if (unlikely(var104
== NULL
)) {
2707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2712 RET_LABEL103
:(void)0;
2716 var106
= varonce105
;
2720 var109
= standard___standard__NativeString___to_s_with_length(var107
, var108
);
2722 varonce105
= var106
;
2724 var110
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2725 { /* var110 = array_instance Array[Object] */
2727 var112
= NEW_standard__NativeArray(var111
, &type_standard__NativeArray__standard__Object
);
2728 ((struct instance_standard__NativeArray
*)var112
)->values
[0] = (val
*) var_res
;
2729 ((struct instance_standard__NativeArray
*)var112
)->values
[1] = (val
*) var90
;
2730 ((struct instance_standard__NativeArray
*)var112
)->values
[2] = (val
*) var94
;
2731 ((struct instance_standard__NativeArray
*)var112
)->values
[3] = (val
*) var98
;
2732 ((struct instance_standard__NativeArray
*)var112
)->values
[4] = (val
*) var102
;
2733 ((struct instance_standard__NativeArray
*)var112
)->values
[5] = (val
*) var106
;
2735 ((void (*)(val
* self
, val
* p0
, long p1
))(var110
->class->vft
[COLOR_standard__array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
2739 var113
= ((val
* (*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
2742 nit___nit__AbstractCompilerVisitor___add(self
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2746 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
2747 var116
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
2748 if (unlikely(var116
== NULL
)) {
2749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
2754 RET_LABEL115
:(void)0;
2757 /* <var114:MType> isa MClassType */
2758 cltype
= type_nit__MClassType
.color
;
2759 idtype
= type_nit__MClassType
.id
;
2760 if(cltype
>= var114
->type
->table_size
) {
2763 var117
= var114
->type
->type_table
[cltype
] == idtype
;
2765 if (unlikely(!var117
)) {
2766 var_class_name
= var114
== NULL ?
"null" : var114
->type
->name
;
2767 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
2768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1570);
2771 var_mtype1
= var114
;
2773 var119
= varonce118
;
2777 var122
= standard___standard__NativeString___to_s_with_length(var120
, var121
);
2779 varonce118
= var119
;
2782 var123
= ((val
* (*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
2784 var124
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2785 { /* var124 = array_instance Array[Object] */
2787 var126
= NEW_standard__NativeArray(var125
, &type_standard__NativeArray__standard__Object
);
2788 ((struct instance_standard__NativeArray
*)var126
)->values
[0] = (val
*) var119
;
2789 ((struct instance_standard__NativeArray
*)var126
)->values
[1] = (val
*) var123
;
2791 ((void (*)(val
* self
, val
* p0
, long p1
))(var124
->class->vft
[COLOR_standard__array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[Object]>*/;
2795 var127
= ((val
* (*)(val
* self
))(var124
->class->vft
[COLOR_standard__string__Object__to_s
]))(var124
) /* to_s on <var124:Array[Object]>*/;
2798 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var127
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
2801 var129
= varonce128
;
2805 var132
= standard___standard__NativeString___to_s_with_length(var130
, var131
);
2807 varonce128
= var129
;
2810 var134
= varonce133
;
2812 var135
= " != NULL) && (";
2814 var137
= standard___standard__NativeString___to_s_with_length(var135
, var136
);
2816 varonce133
= var134
;
2819 var139
= varonce138
;
2821 var140
= "->class == &class_";
2823 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
2825 varonce138
= var139
;
2828 var143
= ((val
* (*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
2831 var145
= varonce144
;
2833 var146
= "); /* is_same_type_test */";
2835 var148
= standard___standard__NativeString___to_s_with_length(var146
, var147
);
2837 varonce144
= var145
;
2839 var149
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2840 { /* var149 = array_instance Array[Object] */
2842 var151
= NEW_standard__NativeArray(var150
, &type_standard__NativeArray__standard__Object
);
2843 ((struct instance_standard__NativeArray
*)var151
)->values
[0] = (val
*) var_res
;
2844 ((struct instance_standard__NativeArray
*)var151
)->values
[1] = (val
*) var129
;
2845 ((struct instance_standard__NativeArray
*)var151
)->values
[2] = (val
*) var_value2
;
2846 ((struct instance_standard__NativeArray
*)var151
)->values
[3] = (val
*) var134
;
2847 ((struct instance_standard__NativeArray
*)var151
)->values
[4] = (val
*) var_value2
;
2848 ((struct instance_standard__NativeArray
*)var151
)->values
[5] = (val
*) var139
;
2849 ((struct instance_standard__NativeArray
*)var151
)->values
[6] = (val
*) var143
;
2850 ((struct instance_standard__NativeArray
*)var151
)->values
[7] = (val
*) var145
;
2852 ((void (*)(val
* self
, val
* p0
, long p1
))(var149
->class->vft
[COLOR_standard__array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
2856 var152
= ((val
* (*)(val
* self
))(var149
->class->vft
[COLOR_standard__string__Object__to_s
]))(var149
) /* to_s on <var149:Array[Object]>*/;
2859 nit___nit__AbstractCompilerVisitor___add(self
, var152
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2865 var154
= varonce153
;
2869 var157
= standard___standard__NativeString___to_s_with_length(var155
, var156
);
2871 varonce153
= var154
;
2874 var159
= varonce158
;
2878 var162
= standard___standard__NativeString___to_s_with_length(var160
, var161
);
2880 varonce158
= var159
;
2883 var164
= varonce163
;
2887 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
2889 varonce163
= var164
;
2892 var169
= varonce168
;
2894 var170
= " != NULL && ";
2896 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
2898 varonce168
= var169
;
2901 var174
= varonce173
;
2903 var175
= " != NULL && ";
2905 var177
= standard___standard__NativeString___to_s_with_length(var175
, var176
);
2907 varonce173
= var174
;
2910 var179
= varonce178
;
2912 var180
= "->class == ";
2914 var182
= standard___standard__NativeString___to_s_with_length(var180
, var181
);
2916 varonce178
= var179
;
2919 var184
= varonce183
;
2921 var185
= "->class); /* is_same_type_test */";
2923 var187
= standard___standard__NativeString___to_s_with_length(var185
, var186
);
2925 varonce183
= var184
;
2927 var188
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2928 { /* var188 = array_instance Array[Object] */
2930 var190
= NEW_standard__NativeArray(var189
, &type_standard__NativeArray__standard__Object
);
2931 ((struct instance_standard__NativeArray
*)var190
)->values
[0] = (val
*) var_res
;
2932 ((struct instance_standard__NativeArray
*)var190
)->values
[1] = (val
*) var154
;
2933 ((struct instance_standard__NativeArray
*)var190
)->values
[2] = (val
*) var_value1
;
2934 ((struct instance_standard__NativeArray
*)var190
)->values
[3] = (val
*) var159
;
2935 ((struct instance_standard__NativeArray
*)var190
)->values
[4] = (val
*) var_value2
;
2936 ((struct instance_standard__NativeArray
*)var190
)->values
[5] = (val
*) var164
;
2937 ((struct instance_standard__NativeArray
*)var190
)->values
[6] = (val
*) var_value1
;
2938 ((struct instance_standard__NativeArray
*)var190
)->values
[7] = (val
*) var169
;
2939 ((struct instance_standard__NativeArray
*)var190
)->values
[8] = (val
*) var_value2
;
2940 ((struct instance_standard__NativeArray
*)var190
)->values
[9] = (val
*) var174
;
2941 ((struct instance_standard__NativeArray
*)var190
)->values
[10] = (val
*) var_value1
;
2942 ((struct instance_standard__NativeArray
*)var190
)->values
[11] = (val
*) var179
;
2943 ((struct instance_standard__NativeArray
*)var190
)->values
[12] = (val
*) var_value2
;
2944 ((struct instance_standard__NativeArray
*)var190
)->values
[13] = (val
*) var184
;
2946 ((void (*)(val
* self
, val
* p0
, long p1
))(var188
->class->vft
[COLOR_standard__array__Array__with_native
]))(var188
, var190
, var189
) /* with_native on <var188:Array[Object]>*/;
2950 var191
= ((val
* (*)(val
* self
))(var188
->class->vft
[COLOR_standard__string__Object__to_s
]))(var188
) /* to_s on <var188:Array[Object]>*/;
2953 nit___nit__AbstractCompilerVisitor___add(self
, var191
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
2961 /* method separate_compiler#SeparateCompilerVisitor#class_name_string for (self: SeparateCompilerVisitor, RuntimeVariable): String */
2962 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
2963 val
* var
/* : String */;
2964 val
* var_value
/* var value: RuntimeVariable */;
2965 static val
* varonce
;
2966 val
* var1
/* : String */;
2967 char* var2
/* : NativeString */;
2968 long var3
/* : Int */;
2969 val
* var4
/* : FlatString */;
2970 val
* var5
/* : String */;
2971 val
* var_res
/* var res: String */;
2972 static val
* varonce6
;
2973 val
* var7
/* : String */;
2974 char* var8
/* : NativeString */;
2975 long var9
/* : Int */;
2976 val
* var10
/* : FlatString */;
2977 static val
* varonce11
;
2978 val
* var12
/* : String */;
2979 char* var13
/* : NativeString */;
2980 long var14
/* : Int */;
2981 val
* var15
/* : FlatString */;
2982 val
* var16
/* : Array[Object] */;
2983 long var17
/* : Int */;
2984 val
* var18
/* : NativeArray[Object] */;
2985 val
* var19
/* : String */;
2986 val
* var20
/* : MType */;
2987 val
* var22
/* : MType */;
2988 val
* var23
/* : String */;
2989 static val
* varonce24
;
2990 val
* var25
/* : String */;
2991 char* var26
/* : NativeString */;
2992 long var27
/* : Int */;
2993 val
* var28
/* : FlatString */;
2994 short int var29
/* : Bool */;
2995 static val
* varonce30
;
2996 val
* var31
/* : String */;
2997 char* var32
/* : NativeString */;
2998 long var33
/* : Int */;
2999 val
* var34
/* : FlatString */;
3000 static val
* varonce35
;
3001 val
* var36
/* : String */;
3002 char* var37
/* : NativeString */;
3003 long var38
/* : Int */;
3004 val
* var39
/* : FlatString */;
3005 static val
* varonce40
;
3006 val
* var41
/* : String */;
3007 char* var42
/* : NativeString */;
3008 long var43
/* : Int */;
3009 val
* var44
/* : FlatString */;
3010 val
* var45
/* : Array[Object] */;
3011 long var46
/* : Int */;
3012 val
* var47
/* : NativeArray[Object] */;
3013 val
* var48
/* : String */;
3014 short int var49
/* : Bool */;
3015 short int var50
/* : Bool */;
3016 val
* var51
/* : MType */;
3017 val
* var53
/* : MType */;
3018 short int var54
/* : Bool */;
3021 short int var_
/* var : Bool */;
3022 val
* var55
/* : MType */;
3023 val
* var57
/* : MType */;
3024 short int var58
/* : Bool */;
3027 const char* var_class_name
;
3028 val
* var61
/* : MClass */;
3029 val
* var63
/* : MClass */;
3030 val
* var64
/* : MClassKind */;
3031 val
* var66
/* : MClassKind */;
3032 val
* var67
/* : MClassKind */;
3033 short int var68
/* : Bool */;
3034 val
* var_other
/* var other: nullable Object */;
3035 short int var70
/* : Bool */;
3036 short int var72
/* : Bool */;
3037 short int var_73
/* var : Bool */;
3038 val
* var74
/* : MType */;
3039 val
* var76
/* : MType */;
3040 short int var77
/* : Bool */;
3043 const char* var_class_name80
;
3044 val
* var81
/* : String */;
3045 static val
* varonce82
;
3046 val
* var83
/* : String */;
3047 char* var84
/* : NativeString */;
3048 long var85
/* : Int */;
3049 val
* var86
/* : FlatString */;
3050 short int var87
/* : Bool */;
3051 val
* var_other89
/* var other: nullable Object */;
3052 short int var90
/* : Bool */;
3053 short int var91
/* : Bool */;
3054 static val
* varonce92
;
3055 val
* var93
/* : String */;
3056 char* var94
/* : NativeString */;
3057 long var95
/* : Int */;
3058 val
* var96
/* : FlatString */;
3059 val
* var97
/* : MType */;
3060 val
* var99
/* : MType */;
3061 short int var100
/* : Bool */;
3064 const char* var_class_name103
;
3065 val
* var104
/* : MClass */;
3066 val
* var106
/* : MClass */;
3067 static val
* varonce107
;
3068 val
* var108
/* : String */;
3069 char* var109
/* : NativeString */;
3070 long var110
/* : Int */;
3071 val
* var111
/* : FlatString */;
3072 val
* var112
/* : Array[Object] */;
3073 long var113
/* : Int */;
3074 val
* var114
/* : NativeArray[Object] */;
3075 val
* var115
/* : String */;
3076 static val
* varonce116
;
3077 val
* var117
/* : String */;
3078 char* var118
/* : NativeString */;
3079 long var119
/* : Int */;
3080 val
* var120
/* : FlatString */;
3081 val
* var121
/* : MType */;
3082 val
* var123
/* : MType */;
3083 val
* var124
/* : String */;
3084 val
* var125
/* : Array[Object] */;
3085 long var126
/* : Int */;
3086 val
* var127
/* : NativeArray[Object] */;
3087 val
* var128
/* : String */;
3088 static val
* varonce129
;
3089 val
* var130
/* : String */;
3090 char* var131
/* : NativeString */;
3091 long var132
/* : Int */;
3092 val
* var133
/* : FlatString */;
3093 val
* var134
/* : MType */;
3094 val
* var136
/* : MType */;
3095 val
* var137
/* : String */;
3096 static val
* varonce138
;
3097 val
* var139
/* : String */;
3098 char* var140
/* : NativeString */;
3099 long var141
/* : Int */;
3100 val
* var142
/* : FlatString */;
3101 val
* var143
/* : Array[Object] */;
3102 long var144
/* : Int */;
3103 val
* var145
/* : NativeArray[Object] */;
3104 val
* var146
/* : String */;
3109 var2
= "var_class_name";
3111 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
3116 var5
= nit___nit__AbstractCompilerVisitor___get_name(self
, var1
);
3122 var8
= "const char* ";
3124 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
3133 var15
= standard___standard__NativeString___to_s_with_length(var13
, var14
);
3137 var16
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3138 { /* var16 = array_instance Array[Object] */
3140 var18
= NEW_standard__NativeArray(var17
, &type_standard__NativeArray__standard__Object
);
3141 ((struct instance_standard__NativeArray
*)var18
)->values
[0] = (val
*) var7
;
3142 ((struct instance_standard__NativeArray
*)var18
)->values
[1] = (val
*) var_res
;
3143 ((struct instance_standard__NativeArray
*)var18
)->values
[2] = (val
*) var12
;
3145 ((void (*)(val
* self
, val
* p0
, long p1
))(var16
->class->vft
[COLOR_standard__array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
3149 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
3152 nit___nit__AbstractCompilerVisitor___add_decl(self
, var19
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <self:SeparateCompilerVisitor>*/
3155 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3156 var22
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3157 if (unlikely(var22
== NULL
)) {
3158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3159 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3163 RET_LABEL21
:(void)0;
3167 var23
= ((val
* (*)(val
* self
))(var20
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var20
) /* ctype on <var20:MType>*/;
3174 var28
= standard___standard__NativeString___to_s_with_length(var26
, var27
);
3179 var29
= ((short int (*)(val
* self
, val
* p0
))(var23
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var23
, var25
) /* == on <var23:String>*/;
3187 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
3194 var37
= " == NULL ? \"null\" : ";
3196 var39
= standard___standard__NativeString___to_s_with_length(var37
, var38
);
3203 var42
= "->type->name;";
3205 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
3209 var45
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3210 { /* var45 = array_instance Array[Object] */
3212 var47
= NEW_standard__NativeArray(var46
, &type_standard__NativeArray__standard__Object
);
3213 ((struct instance_standard__NativeArray
*)var47
)->values
[0] = (val
*) var_res
;
3214 ((struct instance_standard__NativeArray
*)var47
)->values
[1] = (val
*) var31
;
3215 ((struct instance_standard__NativeArray
*)var47
)->values
[2] = (val
*) var_value
;
3216 ((struct instance_standard__NativeArray
*)var47
)->values
[3] = (val
*) var36
;
3217 ((struct instance_standard__NativeArray
*)var47
)->values
[4] = (val
*) var_value
;
3218 ((struct instance_standard__NativeArray
*)var47
)->values
[5] = (val
*) var41
;
3220 ((void (*)(val
* self
, val
* p0
, long p1
))(var45
->class->vft
[COLOR_standard__array__Array__with_native
]))(var45
, var47
, var46
) /* with_native on <var45:Array[Object]>*/;
3224 var48
= ((val
* (*)(val
* self
))(var45
->class->vft
[COLOR_standard__string__Object__to_s
]))(var45
) /* to_s on <var45:Array[Object]>*/;
3227 nit___nit__AbstractCompilerVisitor___add(self
, var48
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3231 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3232 var53
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3233 if (unlikely(var53
== NULL
)) {
3234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3235 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3239 RET_LABEL52
:(void)0;
3242 /* <var51:MType> isa MClassType */
3243 cltype
= type_nit__MClassType
.color
;
3244 idtype
= type_nit__MClassType
.id
;
3245 if(cltype
>= var51
->type
->table_size
) {
3248 var54
= var51
->type
->type_table
[cltype
] == idtype
;
3253 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3254 var57
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3255 if (unlikely(var57
== NULL
)) {
3256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3261 RET_LABEL56
:(void)0;
3264 /* <var55:MType> isa MClassType */
3265 cltype59
= type_nit__MClassType
.color
;
3266 idtype60
= type_nit__MClassType
.id
;
3267 if(cltype59
>= var55
->type
->table_size
) {
3270 var58
= var55
->type
->type_table
[cltype59
] == idtype60
;
3272 if (unlikely(!var58
)) {
3273 var_class_name
= var55
== NULL ?
"null" : var55
->type
->name
;
3274 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
3275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1586);
3279 { /* Inline model#MClassType#mclass (var55) on <var55:MType(MClassType)> */
3280 var63
= var55
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var55:MType(MClassType)> */
3281 if (unlikely(var63
== NULL
)) {
3282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3283 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3287 RET_LABEL62
:(void)0;
3291 { /* Inline model#MClass#kind (var61) on <var61:MClass> */
3292 var66
= var61
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var61:MClass> */
3293 if (unlikely(var66
== NULL
)) {
3294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
3295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
3299 RET_LABEL65
:(void)0;
3303 var67
= nit__model___standard__Object___extern_kind(self
);
3306 { /* Inline kernel#Object#== (var64,var67) on <var64:MClassKind> */
3309 { /* Inline kernel#Object#is_same_instance (var64,var_other) on <var64:MClassKind> */
3310 var72
= var64
== var_other
;
3313 RET_LABEL71
:(void)0;
3318 RET_LABEL69
:(void)0;
3328 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3329 var76
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3330 if (unlikely(var76
== NULL
)) {
3331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3336 RET_LABEL75
:(void)0;
3339 /* <var74:MType> isa MClassType */
3340 cltype78
= type_nit__MClassType
.color
;
3341 idtype79
= type_nit__MClassType
.id
;
3342 if(cltype78
>= var74
->type
->table_size
) {
3345 var77
= var74
->type
->type_table
[cltype78
] == idtype79
;
3347 if (unlikely(!var77
)) {
3348 var_class_name80
= var74
== NULL ?
"null" : var74
->type
->name
;
3349 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name80
);
3350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1587);
3354 var81
= nit___nit__MType___nit__model_base__MEntity__name(var74
);
3359 var84
= "NativeString";
3361 var86
= standard___standard__NativeString___to_s_with_length(var84
, var85
);
3366 { /* Inline kernel#Object#!= (var81,var83) on <var81:String> */
3367 var_other89
= var83
;
3369 var90
= ((short int (*)(val
* self
, val
* p0
))(var81
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var81
, var_other89
) /* == on <var81:String>*/;
3374 RET_LABEL88
:(void)0;
3387 var96
= standard___standard__NativeString___to_s_with_length(var94
, var95
);
3392 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3393 var99
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3394 if (unlikely(var99
== NULL
)) {
3395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3396 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3400 RET_LABEL98
:(void)0;
3403 /* <var97:MType> isa MClassType */
3404 cltype101
= type_nit__MClassType
.color
;
3405 idtype102
= type_nit__MClassType
.id
;
3406 if(cltype101
>= var97
->type
->table_size
) {
3409 var100
= var97
->type
->type_table
[cltype101
] == idtype102
;
3411 if (unlikely(!var100
)) {
3412 var_class_name103
= var97
== NULL ?
"null" : var97
->type
->name
;
3413 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name103
);
3414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1588);
3418 { /* Inline model#MClassType#mclass (var97) on <var97:MType(MClassType)> */
3419 var106
= var97
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var97:MType(MClassType)> */
3420 if (unlikely(var106
== NULL
)) {
3421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
3422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
3426 RET_LABEL105
:(void)0;
3430 var108
= varonce107
;
3434 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
3436 varonce107
= var108
;
3438 var112
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3439 { /* var112 = array_instance Array[Object] */
3441 var114
= NEW_standard__NativeArray(var113
, &type_standard__NativeArray__standard__Object
);
3442 ((struct instance_standard__NativeArray
*)var114
)->values
[0] = (val
*) var_res
;
3443 ((struct instance_standard__NativeArray
*)var114
)->values
[1] = (val
*) var93
;
3444 ((struct instance_standard__NativeArray
*)var114
)->values
[2] = (val
*) var104
;
3445 ((struct instance_standard__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
3447 ((void (*)(val
* self
, val
* p0
, long p1
))(var112
->class->vft
[COLOR_standard__array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
3451 var115
= ((val
* (*)(val
* self
))(var112
->class->vft
[COLOR_standard__string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
3454 nit___nit__AbstractCompilerVisitor___add(self
, var115
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3458 var117
= varonce116
;
3462 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
3464 varonce116
= var117
;
3467 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3468 var123
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3469 if (unlikely(var123
== NULL
)) {
3470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3471 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3475 RET_LABEL122
:(void)0;
3479 var124
= ((val
* (*)(val
* self
))(var121
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var121
) /* c_name on <var121:MType>*/;
3481 var125
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3482 { /* var125 = array_instance Array[Object] */
3484 var127
= NEW_standard__NativeArray(var126
, &type_standard__NativeArray__standard__Object
);
3485 ((struct instance_standard__NativeArray
*)var127
)->values
[0] = (val
*) var117
;
3486 ((struct instance_standard__NativeArray
*)var127
)->values
[1] = (val
*) var124
;
3488 ((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]>*/;
3492 var128
= ((val
* (*)(val
* self
))(var125
->class->vft
[COLOR_standard__string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
3495 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var128
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
3498 var130
= varonce129
;
3500 var131
= " = type_";
3502 var133
= standard___standard__NativeString___to_s_with_length(var131
, var132
);
3504 varonce129
= var130
;
3507 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value) on <var_value:RuntimeVariable> */
3508 var136
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value:RuntimeVariable> */
3509 if (unlikely(var136
== NULL
)) {
3510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3511 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
3515 RET_LABEL135
:(void)0;
3519 var137
= ((val
* (*)(val
* self
))(var134
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var134
) /* c_name on <var134:MType>*/;
3522 var139
= varonce138
;
3526 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
3528 varonce138
= var139
;
3530 var143
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3531 { /* var143 = array_instance Array[Object] */
3533 var145
= NEW_standard__NativeArray(var144
, &type_standard__NativeArray__standard__Object
);
3534 ((struct instance_standard__NativeArray
*)var145
)->values
[0] = (val
*) var_res
;
3535 ((struct instance_standard__NativeArray
*)var145
)->values
[1] = (val
*) var130
;
3536 ((struct instance_standard__NativeArray
*)var145
)->values
[2] = (val
*) var137
;
3537 ((struct instance_standard__NativeArray
*)var145
)->values
[3] = (val
*) var139
;
3539 ((void (*)(val
* self
, val
* p0
, long p1
))(var143
->class->vft
[COLOR_standard__array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
3543 var146
= ((val
* (*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
3546 nit___nit__AbstractCompilerVisitor___add(self
, var146
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
3555 /* method separate_compiler#SeparateCompilerVisitor#equal_test for (self: SeparateCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
3556 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
3557 val
* var
/* : RuntimeVariable */;
3558 val
* var_value1
/* var value1: RuntimeVariable */;
3559 val
* var_value2
/* var value2: RuntimeVariable */;
3560 val
* var1
/* : MClassType */;
3561 val
* var2
/* : RuntimeVariable */;
3562 val
* var_res
/* var res: RuntimeVariable */;
3563 short int var3
/* : Bool */;
3564 val
* var4
/* : MType */;
3565 val
* var6
/* : MType */;
3566 val
* var7
/* : String */;
3567 static val
* varonce
;
3568 val
* var8
/* : String */;
3569 char* var9
/* : NativeString */;
3570 long var10
/* : Int */;
3571 val
* var11
/* : FlatString */;
3572 short int var12
/* : Bool */;
3573 val
* var_other
/* var other: nullable Object */;
3574 short int var14
/* : Bool */;
3575 short int var15
/* : Bool */;
3576 short int var_
/* var : Bool */;
3577 val
* var16
/* : MType */;
3578 val
* var18
/* : MType */;
3579 val
* var19
/* : String */;
3580 static val
* varonce20
;
3581 val
* var21
/* : String */;
3582 char* var22
/* : NativeString */;
3583 long var23
/* : Int */;
3584 val
* var24
/* : FlatString */;
3585 short int var25
/* : Bool */;
3586 val
* var_tmp
/* var tmp: RuntimeVariable */;
3587 val
* var26
/* : MType */;
3588 val
* var28
/* : MType */;
3589 val
* var29
/* : String */;
3590 static val
* varonce30
;
3591 val
* var31
/* : String */;
3592 char* var32
/* : NativeString */;
3593 long var33
/* : Int */;
3594 val
* var34
/* : FlatString */;
3595 short int var35
/* : Bool */;
3596 short int var37
/* : Bool */;
3597 short int var38
/* : Bool */;
3598 val
* var39
/* : MType */;
3599 val
* var41
/* : MType */;
3600 val
* var42
/* : MType */;
3601 val
* var44
/* : MType */;
3602 short int var45
/* : Bool */;
3603 val
* var_other47
/* var other: nullable Object */;
3604 short int var48
/* : Bool */;
3605 short int var50
/* : Bool */;
3606 static val
* varonce51
;
3607 val
* var52
/* : String */;
3608 char* var53
/* : NativeString */;
3609 long var54
/* : Int */;
3610 val
* var55
/* : FlatString */;
3611 static val
* varonce56
;
3612 val
* var57
/* : String */;
3613 char* var58
/* : NativeString */;
3614 long var59
/* : Int */;
3615 val
* var60
/* : FlatString */;
3616 static val
* varonce61
;
3617 val
* var62
/* : String */;
3618 char* var63
/* : NativeString */;
3619 long var64
/* : Int */;
3620 val
* var65
/* : FlatString */;
3621 val
* var66
/* : Array[Object] */;
3622 long var67
/* : Int */;
3623 val
* var68
/* : NativeArray[Object] */;
3624 val
* var69
/* : String */;
3625 val
* var70
/* : MType */;
3626 val
* var72
/* : MType */;
3627 val
* var73
/* : String */;
3628 static val
* varonce74
;
3629 val
* var75
/* : String */;
3630 char* var76
/* : NativeString */;
3631 long var77
/* : Int */;
3632 val
* var78
/* : FlatString */;
3633 short int var79
/* : Bool */;
3634 short int var81
/* : Bool */;
3635 short int var82
/* : Bool */;
3636 static val
* varonce83
;
3637 val
* var84
/* : String */;
3638 char* var85
/* : NativeString */;
3639 long var86
/* : Int */;
3640 val
* var87
/* : FlatString */;
3641 val
* var88
/* : MType */;
3642 val
* var90
/* : MType */;
3643 static val
* varonce91
;
3644 val
* var92
/* : String */;
3645 char* var93
/* : NativeString */;
3646 long var94
/* : Int */;
3647 val
* var95
/* : FlatString */;
3648 val
* var96
/* : MType */;
3649 val
* var98
/* : MType */;
3650 static val
* varonce99
;
3651 val
* var100
/* : String */;
3652 char* var101
/* : NativeString */;
3653 long var102
/* : Int */;
3654 val
* var103
/* : FlatString */;
3655 val
* var104
/* : Array[Object] */;
3656 long var105
/* : Int */;
3657 val
* var106
/* : NativeArray[Object] */;
3658 val
* var107
/* : String */;
3659 val
* var108
/* : MType */;
3660 val
* var110
/* : MType */;
3661 short int var111
/* : Bool */;
3664 const char* var_class_name
;
3665 val
* var_mtype1
/* var mtype1: MClassType */;
3666 static val
* varonce112
;
3667 val
* var113
/* : String */;
3668 char* var114
/* : NativeString */;
3669 long var115
/* : Int */;
3670 val
* var116
/* : FlatString */;
3671 val
* var117
/* : String */;
3672 val
* var118
/* : Array[Object] */;
3673 long var119
/* : Int */;
3674 val
* var120
/* : NativeArray[Object] */;
3675 val
* var121
/* : String */;
3676 static val
* varonce122
;
3677 val
* var123
/* : String */;
3678 char* var124
/* : NativeString */;
3679 long var125
/* : Int */;
3680 val
* var126
/* : FlatString */;
3681 static val
* varonce127
;
3682 val
* var128
/* : String */;
3683 char* var129
/* : NativeString */;
3684 long var130
/* : Int */;
3685 val
* var131
/* : FlatString */;
3686 static val
* varonce132
;
3687 val
* var133
/* : String */;
3688 char* var134
/* : NativeString */;
3689 long var135
/* : Int */;
3690 val
* var136
/* : FlatString */;
3691 val
* var137
/* : String */;
3692 static val
* varonce138
;
3693 val
* var139
/* : String */;
3694 char* var140
/* : NativeString */;
3695 long var141
/* : Int */;
3696 val
* var142
/* : FlatString */;
3697 val
* var143
/* : Array[Object] */;
3698 long var144
/* : Int */;
3699 val
* var145
/* : NativeArray[Object] */;
3700 val
* var146
/* : String */;
3701 static val
* varonce147
;
3702 val
* var148
/* : String */;
3703 char* var149
/* : NativeString */;
3704 long var150
/* : Int */;
3705 val
* var151
/* : FlatString */;
3706 static val
* varonce152
;
3707 val
* var153
/* : String */;
3708 char* var154
/* : NativeString */;
3709 long var155
/* : Int */;
3710 val
* var156
/* : FlatString */;
3711 val
* var157
/* : Array[Object] */;
3712 long var158
/* : Int */;
3713 val
* var159
/* : NativeArray[Object] */;
3714 val
* var160
/* : String */;
3715 static val
* varonce161
;
3716 val
* var162
/* : String */;
3717 char* var163
/* : NativeString */;
3718 long var164
/* : Int */;
3719 val
* var165
/* : FlatString */;
3720 val
* var166
/* : MType */;
3721 val
* var168
/* : MType */;
3722 val
* var169
/* : RuntimeVariable */;
3723 static val
* varonce170
;
3724 val
* var171
/* : String */;
3725 char* var172
/* : NativeString */;
3726 long var173
/* : Int */;
3727 val
* var174
/* : FlatString */;
3728 static val
* varonce175
;
3729 val
* var176
/* : String */;
3730 char* var177
/* : NativeString */;
3731 long var178
/* : Int */;
3732 val
* var179
/* : FlatString */;
3733 val
* var180
/* : Array[Object] */;
3734 long var181
/* : Int */;
3735 val
* var182
/* : NativeArray[Object] */;
3736 val
* var183
/* : String */;
3737 static val
* varonce184
;
3738 val
* var185
/* : String */;
3739 char* var186
/* : NativeString */;
3740 long var187
/* : Int */;
3741 val
* var188
/* : FlatString */;
3742 short int var189
/* : Bool */;
3743 short int var_maybe_null
/* var maybe_null: Bool */;
3744 val
* var190
/* : Array[String] */;
3745 val
* var_test
/* var test: Array[String] */;
3746 val
* var191
/* : MType */;
3747 val
* var193
/* : MType */;
3748 val
* var_t1
/* var t1: MType */;
3749 short int var194
/* : Bool */;
3752 static val
* varonce197
;
3753 val
* var198
/* : String */;
3754 char* var199
/* : NativeString */;
3755 long var200
/* : Int */;
3756 val
* var201
/* : FlatString */;
3757 val
* var202
/* : Array[Object] */;
3758 long var203
/* : Int */;
3759 val
* var204
/* : NativeArray[Object] */;
3760 val
* var205
/* : String */;
3761 val
* var206
/* : MType */;
3762 val
* var208
/* : MType */;
3763 short int var209
/* : Bool */;
3764 val
* var210
/* : MType */;
3765 val
* var212
/* : MType */;
3766 val
* var_t2
/* var t2: MType */;
3767 short int var213
/* : Bool */;
3770 static val
* varonce216
;
3771 val
* var217
/* : String */;
3772 char* var218
/* : NativeString */;
3773 long var219
/* : Int */;
3774 val
* var220
/* : FlatString */;
3775 val
* var221
/* : Array[Object] */;
3776 long var222
/* : Int */;
3777 val
* var223
/* : NativeArray[Object] */;
3778 val
* var224
/* : String */;
3779 val
* var225
/* : MType */;
3780 val
* var227
/* : MType */;
3781 short int var228
/* : Bool */;
3782 short int var229
/* : Bool */;
3783 short int var_incompatible
/* var incompatible: Bool */;
3784 val
* var230
/* : String */;
3785 static val
* varonce231
;
3786 val
* var232
/* : String */;
3787 char* var233
/* : NativeString */;
3788 long var234
/* : Int */;
3789 val
* var235
/* : FlatString */;
3790 short int var236
/* : Bool */;
3791 short int var238
/* : Bool */;
3792 short int var239
/* : Bool */;
3793 val
* var_primitive
/* var primitive: nullable Object */;
3794 short int var240
/* : Bool */;
3795 short int var242
/* : Bool */;
3796 short int var244
/* : Bool */;
3797 val
* var245
/* : String */;
3798 static val
* varonce246
;
3799 val
* var247
/* : String */;
3800 char* var248
/* : NativeString */;
3801 long var249
/* : Int */;
3802 val
* var250
/* : FlatString */;
3803 short int var251
/* : Bool */;
3804 short int var253
/* : Bool */;
3805 short int var254
/* : Bool */;
3806 short int var255
/* : Bool */;
3807 short int var256
/* : Bool */;
3808 static val
* varonce257
;
3809 val
* var258
/* : String */;
3810 char* var259
/* : NativeString */;
3811 long var260
/* : Int */;
3812 val
* var261
/* : FlatString */;
3813 static val
* varonce262
;
3814 val
* var263
/* : String */;
3815 char* var264
/* : NativeString */;
3816 long var265
/* : Int */;
3817 val
* var266
/* : FlatString */;
3818 val
* var267
/* : Array[Object] */;
3819 long var268
/* : Int */;
3820 val
* var269
/* : NativeArray[Object] */;
3821 val
* var270
/* : String */;
3822 short int var271
/* : Bool */;
3823 val
* var272
/* : String */;
3824 static val
* varonce273
;
3825 val
* var274
/* : String */;
3826 char* var275
/* : NativeString */;
3827 long var276
/* : Int */;
3828 val
* var277
/* : FlatString */;
3829 short int var278
/* : Bool */;
3830 short int var280
/* : Bool */;
3831 short int var281
/* : Bool */;
3832 short int var282
/* : Bool */;
3833 static val
* varonce283
;
3834 val
* var284
/* : String */;
3835 char* var285
/* : NativeString */;
3836 long var286
/* : Int */;
3837 val
* var287
/* : FlatString */;
3838 static val
* varonce288
;
3839 val
* var289
/* : String */;
3840 char* var290
/* : NativeString */;
3841 long var291
/* : Int */;
3842 val
* var292
/* : FlatString */;
3843 val
* var293
/* : Array[Object] */;
3844 long var294
/* : Int */;
3845 val
* var295
/* : NativeArray[Object] */;
3846 val
* var296
/* : String */;
3847 short int var297
/* : Bool */;
3848 val
* var298
/* : null */;
3849 static val
* varonce299
;
3850 val
* var300
/* : String */;
3851 char* var301
/* : NativeString */;
3852 long var302
/* : Int */;
3853 val
* var303
/* : FlatString */;
3854 static val
* varonce304
;
3855 val
* var305
/* : String */;
3856 char* var306
/* : NativeString */;
3857 long var307
/* : Int */;
3858 val
* var308
/* : FlatString */;
3859 static val
* varonce309
;
3860 val
* var310
/* : String */;
3861 char* var311
/* : NativeString */;
3862 long var312
/* : Int */;
3863 val
* var313
/* : FlatString */;
3864 static val
* varonce314
;
3865 val
* var315
/* : String */;
3866 char* var316
/* : NativeString */;
3867 long var317
/* : Int */;
3868 val
* var318
/* : FlatString */;
3869 static val
* varonce319
;
3870 val
* var320
/* : String */;
3871 char* var321
/* : NativeString */;
3872 long var322
/* : Int */;
3873 val
* var323
/* : FlatString */;
3874 val
* var324
/* : Array[Object] */;
3875 long var325
/* : Int */;
3876 val
* var326
/* : NativeArray[Object] */;
3877 val
* var327
/* : String */;
3878 static val
* varonce328
;
3879 val
* var329
/* : String */;
3880 char* var330
/* : NativeString */;
3881 long var331
/* : Int */;
3882 val
* var332
/* : FlatString */;
3883 static val
* varonce333
;
3884 val
* var334
/* : String */;
3885 char* var335
/* : NativeString */;
3886 long var336
/* : Int */;
3887 val
* var337
/* : FlatString */;
3888 static val
* varonce338
;
3889 val
* var339
/* : String */;
3890 char* var340
/* : NativeString */;
3891 long var341
/* : Int */;
3892 val
* var342
/* : FlatString */;
3893 val
* var343
/* : Array[Object] */;
3894 long var344
/* : Int */;
3895 val
* var345
/* : NativeArray[Object] */;
3896 val
* var346
/* : String */;
3897 val
* var347
/* : null */;
3898 short int var348
/* : Bool */;
3899 short int var349
/* : Bool */;
3900 short int var351
/* : Bool */;
3901 short int var352
/* : Bool */;
3902 static val
* varonce353
;
3903 val
* var354
/* : String */;
3904 char* var355
/* : NativeString */;
3905 long var356
/* : Int */;
3906 val
* var357
/* : FlatString */;
3907 val
* var358
/* : String */;
3908 static val
* varonce359
;
3909 val
* var360
/* : String */;
3910 char* var361
/* : NativeString */;
3911 long var362
/* : Int */;
3912 val
* var363
/* : FlatString */;
3913 static val
* varonce364
;
3914 val
* var365
/* : String */;
3915 char* var366
/* : NativeString */;
3916 long var367
/* : Int */;
3917 val
* var368
/* : FlatString */;
3918 val
* var369
/* : String */;
3919 static val
* varonce370
;
3920 val
* var371
/* : String */;
3921 char* var372
/* : NativeString */;
3922 long var373
/* : Int */;
3923 val
* var374
/* : FlatString */;
3924 static val
* varonce375
;
3925 val
* var376
/* : String */;
3926 char* var377
/* : NativeString */;
3927 long var378
/* : Int */;
3928 val
* var379
/* : FlatString */;
3929 val
* var380
/* : Array[Object] */;
3930 long var381
/* : Int */;
3931 val
* var382
/* : NativeArray[Object] */;
3932 val
* var383
/* : String */;
3933 short int var384
/* : Bool */;
3934 short int var385
/* : Bool */;
3935 short int var_386
/* var : Bool */;
3936 short int var387
/* : Bool */;
3937 static val
* varonce388
;
3938 val
* var389
/* : String */;
3939 char* var390
/* : NativeString */;
3940 long var391
/* : Int */;
3941 val
* var392
/* : FlatString */;
3942 static val
* varonce393
;
3943 val
* var394
/* : String */;
3944 char* var395
/* : NativeString */;
3945 long var396
/* : Int */;
3946 val
* var397
/* : FlatString */;
3947 val
* var398
/* : Array[Object] */;
3948 long var399
/* : Int */;
3949 val
* var400
/* : NativeArray[Object] */;
3950 val
* var401
/* : String */;
3951 val
* var402
/* : Array[String] */;
3952 val
* var_s
/* var s: Array[String] */;
3953 val
* var403
/* : AbstractCompiler */;
3954 val
* var405
/* : AbstractCompiler */;
3955 val
* var406
/* : HashMap[MClass, Int] */;
3956 val
* var408
/* : HashMap[MClass, Int] */;
3957 val
* var_409
/* var : HashMap[MClass, Int] */;
3958 val
* var410
/* : HashMapIterator[nullable Object, nullable Object] */;
3959 val
* var_411
/* var : HashMapIterator[MClass, Int] */;
3960 short int var412
/* : Bool */;
3961 val
* var413
/* : nullable Object */;
3962 val
* var_t
/* var t: MClass */;
3963 val
* var414
/* : nullable Object */;
3964 long var415
/* : Int */;
3965 long var_v
/* var v: Int */;
3966 static val
* varonce416
;
3967 val
* var417
/* : String */;
3968 char* var418
/* : NativeString */;
3969 long var419
/* : Int */;
3970 val
* var420
/* : FlatString */;
3971 static val
* varonce421
;
3972 val
* var422
/* : String */;
3973 char* var423
/* : NativeString */;
3974 long var424
/* : Int */;
3975 val
* var425
/* : FlatString */;
3976 static val
* varonce426
;
3977 val
* var427
/* : String */;
3978 char* var428
/* : NativeString */;
3979 long var429
/* : Int */;
3980 val
* var430
/* : FlatString */;
3981 val
* var431
/* : String */;
3982 static val
* varonce432
;
3983 val
* var433
/* : String */;
3984 char* var434
/* : NativeString */;
3985 long var435
/* : Int */;
3986 val
* var436
/* : FlatString */;
3987 static val
* varonce437
;
3988 val
* var438
/* : String */;
3989 char* var439
/* : NativeString */;
3990 long var440
/* : Int */;
3991 val
* var441
/* : FlatString */;
3992 val
* var442
/* : String */;
3993 static val
* varonce443
;
3994 val
* var444
/* : String */;
3995 char* var445
/* : NativeString */;
3996 long var446
/* : Int */;
3997 val
* var447
/* : FlatString */;
3998 static val
* varonce448
;
3999 val
* var449
/* : String */;
4000 char* var450
/* : NativeString */;
4001 long var451
/* : Int */;
4002 val
* var452
/* : FlatString */;
4003 val
* var453
/* : Array[Object] */;
4004 long var454
/* : Int */;
4005 val
* var455
/* : NativeArray[Object] */;
4006 val
* var456
/* : Object */;
4007 val
* var457
/* : String */;
4008 static val
* varonce459
;
4009 val
* var460
/* : String */;
4010 char* var461
/* : NativeString */;
4011 long var462
/* : Int */;
4012 val
* var463
/* : FlatString */;
4013 static val
* varonce464
;
4014 val
* var465
/* : String */;
4015 char* var466
/* : NativeString */;
4016 long var467
/* : Int */;
4017 val
* var468
/* : FlatString */;
4018 val
* var469
/* : String */;
4019 static val
* varonce470
;
4020 val
* var471
/* : String */;
4021 char* var472
/* : NativeString */;
4022 long var473
/* : Int */;
4023 val
* var474
/* : FlatString */;
4024 val
* var475
/* : Array[Object] */;
4025 long var476
/* : Int */;
4026 val
* var477
/* : NativeArray[Object] */;
4027 val
* var478
/* : String */;
4028 static val
* varonce479
;
4029 val
* var480
/* : String */;
4030 char* var481
/* : NativeString */;
4031 long var482
/* : Int */;
4032 val
* var483
/* : FlatString */;
4033 static val
* varonce484
;
4034 val
* var485
/* : String */;
4035 char* var486
/* : NativeString */;
4036 long var487
/* : Int */;
4037 val
* var488
/* : FlatString */;
4038 static val
* varonce489
;
4039 val
* var490
/* : String */;
4040 char* var491
/* : NativeString */;
4041 long var492
/* : Int */;
4042 val
* var493
/* : FlatString */;
4043 val
* var494
/* : Array[Object] */;
4044 long var495
/* : Int */;
4045 val
* var496
/* : NativeArray[Object] */;
4046 val
* var497
/* : String */;
4047 static val
* varonce498
;
4048 val
* var499
/* : String */;
4049 char* var500
/* : NativeString */;
4050 long var501
/* : Int */;
4051 val
* var502
/* : FlatString */;
4052 static val
* varonce503
;
4053 val
* var504
/* : String */;
4054 char* var505
/* : NativeString */;
4055 long var506
/* : Int */;
4056 val
* var507
/* : FlatString */;
4057 static val
* varonce508
;
4058 val
* var509
/* : String */;
4059 char* var510
/* : NativeString */;
4060 long var511
/* : Int */;
4061 val
* var512
/* : FlatString */;
4062 static val
* varonce513
;
4063 val
* var514
/* : String */;
4064 char* var515
/* : NativeString */;
4065 long var516
/* : Int */;
4066 val
* var517
/* : FlatString */;
4067 val
* var518
/* : String */;
4068 static val
* varonce519
;
4069 val
* var520
/* : String */;
4070 char* var521
/* : NativeString */;
4071 long var522
/* : Int */;
4072 val
* var523
/* : FlatString */;
4073 val
* var524
/* : Array[Object] */;
4074 long var525
/* : Int */;
4075 val
* var526
/* : NativeArray[Object] */;
4076 val
* var527
/* : String */;
4080 var1
= nit___nit__AbstractCompilerVisitor___bool_type(self
);
4083 var2
= nit___nit__AbstractCompilerVisitor___new_var(self
, var1
);
4087 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
4088 var6
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
4089 if (unlikely(var6
== NULL
)) {
4090 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4099 var7
= ((val
* (*)(val
* self
))(var4
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var4
) /* ctype on <var4:MType>*/;
4106 var11
= standard___standard__NativeString___to_s_with_length(var9
, var10
);
4111 { /* Inline kernel#Object#!= (var7,var8) on <var7:String> */
4114 var14
= ((short int (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var7
, var_other
) /* == on <var7:String>*/;
4119 RET_LABEL13
:(void)0;
4125 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4126 var18
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4127 if (unlikely(var18
== NULL
)) {
4128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4129 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4133 RET_LABEL17
:(void)0;
4137 var19
= ((val
* (*)(val
* self
))(var16
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var16
) /* ctype on <var16:MType>*/;
4144 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
4149 var25
= ((short int (*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var19
, var21
) /* == on <var19:String>*/;
4156 var_tmp
= var_value1
;
4157 var_value1
= var_value2
;
4158 var_value2
= var_tmp
;
4162 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4163 var28
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4164 if (unlikely(var28
== NULL
)) {
4165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4170 RET_LABEL27
:(void)0;
4174 var29
= ((val
* (*)(val
* self
))(var26
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var26
) /* ctype on <var26:MType>*/;
4181 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
4186 { /* Inline kernel#Object#!= (var29,var31) on <var29:String> */
4189 var37
= ((short int (*)(val
* self
, val
* p0
))(var29
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var29
, var_other
) /* == on <var29:String>*/;
4194 RET_LABEL36
:(void)0;
4199 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
4200 var41
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
4201 if (unlikely(var41
== NULL
)) {
4202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4207 RET_LABEL40
:(void)0;
4211 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4212 var44
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4213 if (unlikely(var44
== NULL
)) {
4214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4219 RET_LABEL43
:(void)0;
4223 { /* Inline kernel#Object#== (var39,var42) on <var39:MType> */
4224 var_other47
= var42
;
4226 { /* Inline kernel#Object#is_same_instance (var39,var_other47) on <var39:MType> */
4227 var50
= var39
== var_other47
;
4230 RET_LABEL49
:(void)0;
4235 RET_LABEL46
:(void)0;
4244 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
4253 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
4262 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
4266 var66
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4267 { /* var66 = array_instance Array[Object] */
4269 var68
= NEW_standard__NativeArray(var67
, &type_standard__NativeArray__standard__Object
);
4270 ((struct instance_standard__NativeArray
*)var68
)->values
[0] = (val
*) var_res
;
4271 ((struct instance_standard__NativeArray
*)var68
)->values
[1] = (val
*) var52
;
4272 ((struct instance_standard__NativeArray
*)var68
)->values
[2] = (val
*) var_value1
;
4273 ((struct instance_standard__NativeArray
*)var68
)->values
[3] = (val
*) var57
;
4274 ((struct instance_standard__NativeArray
*)var68
)->values
[4] = (val
*) var_value2
;
4275 ((struct instance_standard__NativeArray
*)var68
)->values
[5] = (val
*) var62
;
4277 ((void (*)(val
* self
, val
* p0
, long p1
))(var66
->class->vft
[COLOR_standard__array__Array__with_native
]))(var66
, var68
, var67
) /* with_native on <var66:Array[Object]>*/;
4281 var69
= ((val
* (*)(val
* self
))(var66
->class->vft
[COLOR_standard__string__Object__to_s
]))(var66
) /* to_s on <var66:Array[Object]>*/;
4284 nit___nit__AbstractCompilerVisitor___add(self
, var69
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4288 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
4289 var72
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
4290 if (unlikely(var72
== NULL
)) {
4291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4296 RET_LABEL71
:(void)0;
4300 var73
= ((val
* (*)(val
* self
))(var70
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var70
) /* ctype on <var70:MType>*/;
4307 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
4312 { /* Inline kernel#Object#!= (var73,var75) on <var73:String> */
4315 var81
= ((short int (*)(val
* self
, val
* p0
))(var73
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var73
, var_other
) /* == on <var73:String>*/;
4320 RET_LABEL80
:(void)0;
4327 var85
= " = 0; /* incompatible types ";
4329 var87
= standard___standard__NativeString___to_s_with_length(var85
, var86
);
4334 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4335 var90
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4336 if (unlikely(var90
== NULL
)) {
4337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4338 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4342 RET_LABEL89
:(void)0;
4350 var95
= standard___standard__NativeString___to_s_with_length(var93
, var94
);
4355 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value2) on <var_value2:RuntimeVariable> */
4356 var98
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value2:RuntimeVariable> */
4357 if (unlikely(var98
== NULL
)) {
4358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4363 RET_LABEL97
:(void)0;
4371 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
4375 var104
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4376 { /* var104 = array_instance Array[Object] */
4378 var106
= NEW_standard__NativeArray(var105
, &type_standard__NativeArray__standard__Object
);
4379 ((struct instance_standard__NativeArray
*)var106
)->values
[0] = (val
*) var_res
;
4380 ((struct instance_standard__NativeArray
*)var106
)->values
[1] = (val
*) var84
;
4381 ((struct instance_standard__NativeArray
*)var106
)->values
[2] = (val
*) var88
;
4382 ((struct instance_standard__NativeArray
*)var106
)->values
[3] = (val
*) var92
;
4383 ((struct instance_standard__NativeArray
*)var106
)->values
[4] = (val
*) var96
;
4384 ((struct instance_standard__NativeArray
*)var106
)->values
[5] = (val
*) var100
;
4386 ((void (*)(val
* self
, val
* p0
, long p1
))(var104
->class->vft
[COLOR_standard__array__Array__with_native
]))(var104
, var106
, var105
) /* with_native on <var104:Array[Object]>*/;
4390 var107
= ((val
* (*)(val
* self
))(var104
->class->vft
[COLOR_standard__string__Object__to_s
]))(var104
) /* to_s on <var104:Array[Object]>*/;
4393 nit___nit__AbstractCompilerVisitor___add(self
, var107
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4397 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4398 var110
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4399 if (unlikely(var110
== NULL
)) {
4400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4401 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4405 RET_LABEL109
:(void)0;
4408 /* <var108:MType> isa MClassType */
4409 cltype
= type_nit__MClassType
.color
;
4410 idtype
= type_nit__MClassType
.id
;
4411 if(cltype
>= var108
->type
->table_size
) {
4414 var111
= var108
->type
->type_table
[cltype
] == idtype
;
4416 if (unlikely(!var111
)) {
4417 var_class_name
= var108
== NULL ?
"null" : var108
->type
->name
;
4418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MClassType", var_class_name
);
4419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1610);
4422 var_mtype1
= var108
;
4424 var113
= varonce112
;
4428 var116
= standard___standard__NativeString___to_s_with_length(var114
, var115
);
4430 varonce112
= var113
;
4433 var117
= ((val
* (*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
4435 var118
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4436 { /* var118 = array_instance Array[Object] */
4438 var120
= NEW_standard__NativeArray(var119
, &type_standard__NativeArray__standard__Object
);
4439 ((struct instance_standard__NativeArray
*)var120
)->values
[0] = (val
*) var113
;
4440 ((struct instance_standard__NativeArray
*)var120
)->values
[1] = (val
*) var117
;
4442 ((void (*)(val
* self
, val
* p0
, long p1
))(var118
->class->vft
[COLOR_standard__array__Array__with_native
]))(var118
, var120
, var119
) /* with_native on <var118:Array[Object]>*/;
4446 var121
= ((val
* (*)(val
* self
))(var118
->class->vft
[COLOR_standard__string__Object__to_s
]))(var118
) /* to_s on <var118:Array[Object]>*/;
4449 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var121
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
4452 var123
= varonce122
;
4456 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
4458 varonce122
= var123
;
4461 var128
= varonce127
;
4463 var129
= " != NULL) && (";
4465 var131
= standard___standard__NativeString___to_s_with_length(var129
, var130
);
4467 varonce127
= var128
;
4470 var133
= varonce132
;
4472 var134
= "->class == &class_";
4474 var136
= standard___standard__NativeString___to_s_with_length(var134
, var135
);
4476 varonce132
= var133
;
4479 var137
= ((val
* (*)(val
* self
))(var_mtype1
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_mtype1
) /* c_name on <var_mtype1:MClassType>*/;
4482 var139
= varonce138
;
4486 var142
= standard___standard__NativeString___to_s_with_length(var140
, var141
);
4488 varonce138
= var139
;
4490 var143
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4491 { /* var143 = array_instance Array[Object] */
4493 var145
= NEW_standard__NativeArray(var144
, &type_standard__NativeArray__standard__Object
);
4494 ((struct instance_standard__NativeArray
*)var145
)->values
[0] = (val
*) var_res
;
4495 ((struct instance_standard__NativeArray
*)var145
)->values
[1] = (val
*) var123
;
4496 ((struct instance_standard__NativeArray
*)var145
)->values
[2] = (val
*) var_value2
;
4497 ((struct instance_standard__NativeArray
*)var145
)->values
[3] = (val
*) var128
;
4498 ((struct instance_standard__NativeArray
*)var145
)->values
[4] = (val
*) var_value2
;
4499 ((struct instance_standard__NativeArray
*)var145
)->values
[5] = (val
*) var133
;
4500 ((struct instance_standard__NativeArray
*)var145
)->values
[6] = (val
*) var137
;
4501 ((struct instance_standard__NativeArray
*)var145
)->values
[7] = (val
*) var139
;
4503 ((void (*)(val
* self
, val
* p0
, long p1
))(var143
->class->vft
[COLOR_standard__array__Array__with_native
]))(var143
, var145
, var144
) /* with_native on <var143:Array[Object]>*/;
4507 var146
= ((val
* (*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__Object__to_s
]))(var143
) /* to_s on <var143:Array[Object]>*/;
4510 nit___nit__AbstractCompilerVisitor___add(self
, var146
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4513 var148
= varonce147
;
4517 var151
= standard___standard__NativeString___to_s_with_length(var149
, var150
);
4519 varonce147
= var148
;
4522 var153
= varonce152
;
4526 var156
= standard___standard__NativeString___to_s_with_length(var154
, var155
);
4528 varonce152
= var153
;
4530 var157
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4531 { /* var157 = array_instance Array[Object] */
4533 var159
= NEW_standard__NativeArray(var158
, &type_standard__NativeArray__standard__Object
);
4534 ((struct instance_standard__NativeArray
*)var159
)->values
[0] = (val
*) var148
;
4535 ((struct instance_standard__NativeArray
*)var159
)->values
[1] = (val
*) var_res
;
4536 ((struct instance_standard__NativeArray
*)var159
)->values
[2] = (val
*) var153
;
4538 ((void (*)(val
* self
, val
* p0
, long p1
))(var157
->class->vft
[COLOR_standard__array__Array__with_native
]))(var157
, var159
, var158
) /* with_native on <var157:Array[Object]>*/;
4542 var160
= ((val
* (*)(val
* self
))(var157
->class->vft
[COLOR_standard__string__Object__to_s
]))(var157
) /* to_s on <var157:Array[Object]>*/;
4545 nit___nit__AbstractCompilerVisitor___add(self
, var160
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4548 var162
= varonce161
;
4552 var165
= standard___standard__NativeString___to_s_with_length(var163
, var164
);
4554 varonce161
= var162
;
4557 { /* Inline abstract_compiler#RuntimeVariable#mtype (var_value1) on <var_value1:RuntimeVariable> */
4558 var168
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var_value1:RuntimeVariable> */
4559 if (unlikely(var168
== NULL
)) {
4560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4561 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
4565 RET_LABEL167
:(void)0;
4569 var169
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var_value2
, var166
);
4572 var171
= varonce170
;
4576 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
4578 varonce170
= var171
;
4581 var176
= varonce175
;
4585 var179
= standard___standard__NativeString___to_s_with_length(var177
, var178
);
4587 varonce175
= var176
;
4589 var180
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4590 { /* var180 = array_instance Array[Object] */
4592 var182
= NEW_standard__NativeArray(var181
, &type_standard__NativeArray__standard__Object
);
4593 ((struct instance_standard__NativeArray
*)var182
)->values
[0] = (val
*) var_res
;
4594 ((struct instance_standard__NativeArray
*)var182
)->values
[1] = (val
*) var162
;
4595 ((struct instance_standard__NativeArray
*)var182
)->values
[2] = (val
*) var169
;
4596 ((struct instance_standard__NativeArray
*)var182
)->values
[3] = (val
*) var171
;
4597 ((struct instance_standard__NativeArray
*)var182
)->values
[4] = (val
*) var_value1
;
4598 ((struct instance_standard__NativeArray
*)var182
)->values
[5] = (val
*) var176
;
4600 ((void (*)(val
* self
, val
* p0
, long p1
))(var180
->class->vft
[COLOR_standard__array__Array__with_native
]))(var180
, var182
, var181
) /* with_native on <var180:Array[Object]>*/;
4604 var183
= ((val
* (*)(val
* self
))(var180
->class->vft
[COLOR_standard__string__Object__to_s
]))(var180
) /* to_s on <var180:Array[Object]>*/;
4607 nit___nit__AbstractCompilerVisitor___add(self
, var183
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4610 var185
= varonce184
;
4614 var188
= standard___standard__NativeString___to_s_with_length(var186
, var187
);
4616 varonce184
= var185
;
4619 nit___nit__AbstractCompilerVisitor___add(self
, var185
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
4628 var_maybe_null
= var189
;
4629 var190
= NEW_standard__Array(&type_standard__Array__standard__String
);
4631 standard___standard__Array___standard__kernel__Object__init(var190
); /* Direct call array#Array#init on <var190:Array[String]>*/
4635 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value1) on <var_value1:RuntimeVariable> */
4636 var193
= var_value1
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value1:RuntimeVariable> */
4637 if (unlikely(var193
== NULL
)) {
4638 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
4639 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
4643 RET_LABEL192
:(void)0;
4647 /* <var_t1:MType> isa MNullableType */
4648 cltype195
= type_nit__MNullableType
.color
;
4649 idtype196
= type_nit__MNullableType
.id
;
4650 if(cltype195
>= var_t1
->type
->table_size
) {
4653 var194
= var_t1
->type
->type_table
[cltype195
] == idtype196
;
4657 var198
= varonce197
;
4659 var199
= " != NULL";
4661 var201
= standard___standard__NativeString___to_s_with_length(var199
, var200
);
4663 varonce197
= var198
;
4665 var202
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4666 { /* var202 = array_instance Array[Object] */
4668 var204
= NEW_standard__NativeArray(var203
, &type_standard__NativeArray__standard__Object
);
4669 ((struct instance_standard__NativeArray
*)var204
)->values
[0] = (val
*) var_value1
;
4670 ((struct instance_standard__NativeArray
*)var204
)->values
[1] = (val
*) var198
;
4672 ((void (*)(val
* self
, val
* p0
, long p1
))(var202
->class->vft
[COLOR_standard__array__Array__with_native
]))(var202
, var204
, var203
) /* with_native on <var202:Array[Object]>*/;
4676 var205
= ((val
* (*)(val
* self
))(var202
->class->vft
[COLOR_standard__string__Object__to_s
]))(var202
) /* to_s on <var202:Array[Object]>*/;
4679 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var205
); /* Direct call array#Array#add on <var_test:Array[String]>*/
4682 { /* Inline model#MNullableType#mtype (var_t1) on <var_t1:MType(MNullableType)> */
4683 var208
= var_t1
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_t1:MType(MNullableType)> */
4684 if (unlikely(var208
== NULL
)) {
4685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
4690 RET_LABEL207
:(void)0;
4696 var_maybe_null
= var209
;
4699 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value2) on <var_value2:RuntimeVariable> */
4700 var212
= var_value2
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value2:RuntimeVariable> */
4701 if (unlikely(var212
== NULL
)) {
4702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
4703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
4707 RET_LABEL211
:(void)0;
4711 /* <var_t2:MType> isa MNullableType */
4712 cltype214
= type_nit__MNullableType
.color
;
4713 idtype215
= type_nit__MNullableType
.id
;
4714 if(cltype214
>= var_t2
->type
->table_size
) {
4717 var213
= var_t2
->type
->type_table
[cltype214
] == idtype215
;
4721 var217
= varonce216
;
4723 var218
= " != NULL";
4725 var220
= standard___standard__NativeString___to_s_with_length(var218
, var219
);
4727 varonce216
= var217
;
4729 var221
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4730 { /* var221 = array_instance Array[Object] */
4732 var223
= NEW_standard__NativeArray(var222
, &type_standard__NativeArray__standard__Object
);
4733 ((struct instance_standard__NativeArray
*)var223
)->values
[0] = (val
*) var_value2
;
4734 ((struct instance_standard__NativeArray
*)var223
)->values
[1] = (val
*) var217
;
4736 ((void (*)(val
* self
, val
* p0
, long p1
))(var221
->class->vft
[COLOR_standard__array__Array__with_native
]))(var221
, var223
, var222
) /* with_native on <var221:Array[Object]>*/;
4740 var224
= ((val
* (*)(val
* self
))(var221
->class->vft
[COLOR_standard__string__Object__to_s
]))(var221
) /* to_s on <var221:Array[Object]>*/;
4743 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var224
); /* Direct call array#Array#add on <var_test:Array[String]>*/
4746 { /* Inline model#MNullableType#mtype (var_t2) on <var_t2:MType(MNullableType)> */
4747 var227
= var_t2
->attrs
[COLOR_nit__model__MNullableType___mtype
].val
; /* _mtype on <var_t2:MType(MNullableType)> */
4748 if (unlikely(var227
== NULL
)) {
4749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
4750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1506);
4754 RET_LABEL226
:(void)0;
4760 var_maybe_null
= var228
;
4763 var_incompatible
= var229
;
4765 var230
= ((val
* (*)(val
* self
))(var_t1
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_t1
) /* ctype on <var_t1:MType>*/;
4768 var232
= varonce231
;
4772 var235
= standard___standard__NativeString___to_s_with_length(var233
, var234
);
4774 varonce231
= var232
;
4777 { /* Inline kernel#Object#!= (var230,var232) on <var230:String> */
4780 var238
= ((short int (*)(val
* self
, val
* p0
))(var230
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var230
, var_other
) /* == on <var230:String>*/;
4785 RET_LABEL237
:(void)0;
4789 var_primitive
= var_t1
;
4791 { /* Inline kernel#Object#== (var_t1,var_t2) on <var_t1:MType> */
4792 var_other47
= var_t2
;
4794 { /* Inline kernel#Object#is_same_instance (var_t1,var_other47) on <var_t1:MType> */
4795 var244
= var_t1
== var_other47
;
4798 RET_LABEL243
:(void)0;
4803 RET_LABEL241
:(void)0;
4809 var245
= ((val
* (*)(val
* self
))(var_t2
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
4812 var247
= varonce246
;
4816 var250
= standard___standard__NativeString___to_s_with_length(var248
, var249
);
4818 varonce246
= var247
;
4821 { /* Inline kernel#Object#!= (var245,var247) on <var245:String> */
4824 var253
= ((short int (*)(val
* self
, val
* p0
))(var245
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var245
, var_other
) /* == on <var245:String>*/;
4829 RET_LABEL252
:(void)0;
4834 var_incompatible
= var255
;
4837 var256
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value2
);
4841 var258
= varonce257
;
4843 var259
= "->class == ";
4845 var261
= standard___standard__NativeString___to_s_with_length(var259
, var260
);
4847 varonce257
= var258
;
4850 var263
= varonce262
;
4854 var266
= standard___standard__NativeString___to_s_with_length(var264
, var265
);
4856 varonce262
= var263
;
4858 var267
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4859 { /* var267 = array_instance Array[Object] */
4861 var269
= NEW_standard__NativeArray(var268
, &type_standard__NativeArray__standard__Object
);
4862 ((struct instance_standard__NativeArray
*)var269
)->values
[0] = (val
*) var_value1
;
4863 ((struct instance_standard__NativeArray
*)var269
)->values
[1] = (val
*) var258
;
4864 ((struct instance_standard__NativeArray
*)var269
)->values
[2] = (val
*) var_value2
;
4865 ((struct instance_standard__NativeArray
*)var269
)->values
[3] = (val
*) var263
;
4867 ((void (*)(val
* self
, val
* p0
, long p1
))(var267
->class->vft
[COLOR_standard__array__Array__with_native
]))(var267
, var269
, var268
) /* with_native on <var267:Array[Object]>*/;
4871 var270
= ((val
* (*)(val
* self
))(var267
->class->vft
[COLOR_standard__string__Object__to_s
]))(var267
) /* to_s on <var267:Array[Object]>*/;
4874 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var270
); /* Direct call array#Array#add on <var_test:Array[String]>*/
4878 var_incompatible
= var271
;
4884 var272
= ((val
* (*)(val
* self
))(var_t2
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_t2
) /* ctype on <var_t2:MType>*/;
4887 var274
= varonce273
;
4891 var277
= standard___standard__NativeString___to_s_with_length(var275
, var276
);
4893 varonce273
= var274
;
4896 { /* Inline kernel#Object#!= (var272,var274) on <var272:String> */
4899 var280
= ((short int (*)(val
* self
, val
* p0
))(var272
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var272
, var_other
) /* == on <var272:String>*/;
4904 RET_LABEL279
:(void)0;
4908 var_primitive
= var_t2
;
4910 var282
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value1
);
4914 var284
= varonce283
;
4916 var285
= "->class == ";
4918 var287
= standard___standard__NativeString___to_s_with_length(var285
, var286
);
4920 varonce283
= var284
;
4923 var289
= varonce288
;
4927 var292
= standard___standard__NativeString___to_s_with_length(var290
, var291
);
4929 varonce288
= var289
;
4931 var293
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4932 { /* var293 = array_instance Array[Object] */
4934 var295
= NEW_standard__NativeArray(var294
, &type_standard__NativeArray__standard__Object
);
4935 ((struct instance_standard__NativeArray
*)var295
)->values
[0] = (val
*) var_value1
;
4936 ((struct instance_standard__NativeArray
*)var295
)->values
[1] = (val
*) var284
;
4937 ((struct instance_standard__NativeArray
*)var295
)->values
[2] = (val
*) var_value2
;
4938 ((struct instance_standard__NativeArray
*)var295
)->values
[3] = (val
*) var289
;
4940 ((void (*)(val
* self
, val
* p0
, long p1
))(var293
->class->vft
[COLOR_standard__array__Array__with_native
]))(var293
, var295
, var294
) /* with_native on <var293:Array[Object]>*/;
4944 var296
= ((val
* (*)(val
* self
))(var293
->class->vft
[COLOR_standard__string__Object__to_s
]))(var293
) /* to_s on <var293:Array[Object]>*/;
4947 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var296
); /* Direct call array#Array#add on <var_test:Array[String]>*/
4951 var_incompatible
= var297
;
4955 var_primitive
= var298
;
4958 if (var_incompatible
){
4959 if (var_maybe_null
){
4961 var300
= varonce299
;
4965 var303
= standard___standard__NativeString___to_s_with_length(var301
, var302
);
4967 varonce299
= var300
;
4970 var305
= varonce304
;
4974 var308
= standard___standard__NativeString___to_s_with_length(var306
, var307
);
4976 varonce304
= var305
;
4979 var310
= varonce309
;
4981 var311
= "; /* incompatible types ";
4983 var313
= standard___standard__NativeString___to_s_with_length(var311
, var312
);
4985 varonce309
= var310
;
4988 var315
= varonce314
;
4992 var318
= standard___standard__NativeString___to_s_with_length(var316
, var317
);
4994 varonce314
= var315
;
4997 var320
= varonce319
;
4999 var321
= "; but may be NULL*/";
5001 var323
= standard___standard__NativeString___to_s_with_length(var321
, var322
);
5003 varonce319
= var320
;
5005 var324
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5006 { /* var324 = array_instance Array[Object] */
5008 var326
= NEW_standard__NativeArray(var325
, &type_standard__NativeArray__standard__Object
);
5009 ((struct instance_standard__NativeArray
*)var326
)->values
[0] = (val
*) var_res
;
5010 ((struct instance_standard__NativeArray
*)var326
)->values
[1] = (val
*) var300
;
5011 ((struct instance_standard__NativeArray
*)var326
)->values
[2] = (val
*) var_value1
;
5012 ((struct instance_standard__NativeArray
*)var326
)->values
[3] = (val
*) var305
;
5013 ((struct instance_standard__NativeArray
*)var326
)->values
[4] = (val
*) var_value2
;
5014 ((struct instance_standard__NativeArray
*)var326
)->values
[5] = (val
*) var310
;
5015 ((struct instance_standard__NativeArray
*)var326
)->values
[6] = (val
*) var_t1
;
5016 ((struct instance_standard__NativeArray
*)var326
)->values
[7] = (val
*) var315
;
5017 ((struct instance_standard__NativeArray
*)var326
)->values
[8] = (val
*) var_t2
;
5018 ((struct instance_standard__NativeArray
*)var326
)->values
[9] = (val
*) var320
;
5020 ((void (*)(val
* self
, val
* p0
, long p1
))(var324
->class->vft
[COLOR_standard__array__Array__with_native
]))(var324
, var326
, var325
) /* with_native on <var324:Array[Object]>*/;
5024 var327
= ((val
* (*)(val
* self
))(var324
->class->vft
[COLOR_standard__string__Object__to_s
]))(var324
) /* to_s on <var324:Array[Object]>*/;
5027 nit___nit__AbstractCompilerVisitor___add(self
, var327
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5033 var329
= varonce328
;
5035 var330
= " = 0; /* incompatible types ";
5037 var332
= standard___standard__NativeString___to_s_with_length(var330
, var331
);
5039 varonce328
= var329
;
5042 var334
= varonce333
;
5046 var337
= standard___standard__NativeString___to_s_with_length(var335
, var336
);
5048 varonce333
= var334
;
5051 var339
= varonce338
;
5053 var340
= "; cannot be NULL */";
5055 var342
= standard___standard__NativeString___to_s_with_length(var340
, var341
);
5057 varonce338
= var339
;
5059 var343
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5060 { /* var343 = array_instance Array[Object] */
5062 var345
= NEW_standard__NativeArray(var344
, &type_standard__NativeArray__standard__Object
);
5063 ((struct instance_standard__NativeArray
*)var345
)->values
[0] = (val
*) var_res
;
5064 ((struct instance_standard__NativeArray
*)var345
)->values
[1] = (val
*) var329
;
5065 ((struct instance_standard__NativeArray
*)var345
)->values
[2] = (val
*) var_t1
;
5066 ((struct instance_standard__NativeArray
*)var345
)->values
[3] = (val
*) var334
;
5067 ((struct instance_standard__NativeArray
*)var345
)->values
[4] = (val
*) var_t2
;
5068 ((struct instance_standard__NativeArray
*)var345
)->values
[5] = (val
*) var339
;
5070 ((void (*)(val
* self
, val
* p0
, long p1
))(var343
->class->vft
[COLOR_standard__array__Array__with_native
]))(var343
, var345
, var344
) /* with_native on <var343:Array[Object]>*/;
5074 var346
= ((val
* (*)(val
* self
))(var343
->class->vft
[COLOR_standard__string__Object__to_s
]))(var343
) /* to_s on <var343:Array[Object]>*/;
5077 nit___nit__AbstractCompilerVisitor___add(self
, var346
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5085 if (var_primitive
== NULL
) {
5086 var348
= 0; /* is null */
5088 var348
= 1; /* arg is null and recv is not */
5091 { /* Inline kernel#Object#!= (var_primitive,var347) on <var_primitive:nullable Object(nullable MType)> */
5094 var351
= ((short int (*)(val
* self
, val
* p0
))(var_primitive
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_primitive
, var_other
) /* == on <var_primitive:nullable MType(MType)>*/;
5099 RET_LABEL350
:(void)0;
5105 var354
= varonce353
;
5107 var355
= "((struct instance_";
5109 var357
= standard___standard__NativeString___to_s_with_length(var355
, var356
);
5111 varonce353
= var354
;
5114 var358
= ((val
* (*)(val
* self
))(var_primitive
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
5117 var360
= varonce359
;
5121 var363
= standard___standard__NativeString___to_s_with_length(var361
, var362
);
5123 varonce359
= var360
;
5126 var365
= varonce364
;
5128 var366
= ")->value == ((struct instance_";
5130 var368
= standard___standard__NativeString___to_s_with_length(var366
, var367
);
5132 varonce364
= var365
;
5135 var369
= ((val
* (*)(val
* self
))(var_primitive
->class->vft
[COLOR_nit__model_base__MEntity__c_name
]))(var_primitive
) /* c_name on <var_primitive:nullable Object(MType)>*/;
5138 var371
= varonce370
;
5142 var374
= standard___standard__NativeString___to_s_with_length(var372
, var373
);
5144 varonce370
= var371
;
5147 var376
= varonce375
;
5149 var377
= ")->value";
5151 var379
= standard___standard__NativeString___to_s_with_length(var377
, var378
);
5153 varonce375
= var376
;
5155 var380
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5156 { /* var380 = array_instance Array[Object] */
5158 var382
= NEW_standard__NativeArray(var381
, &type_standard__NativeArray__standard__Object
);
5159 ((struct instance_standard__NativeArray
*)var382
)->values
[0] = (val
*) var354
;
5160 ((struct instance_standard__NativeArray
*)var382
)->values
[1] = (val
*) var358
;
5161 ((struct instance_standard__NativeArray
*)var382
)->values
[2] = (val
*) var360
;
5162 ((struct instance_standard__NativeArray
*)var382
)->values
[3] = (val
*) var_value1
;
5163 ((struct instance_standard__NativeArray
*)var382
)->values
[4] = (val
*) var365
;
5164 ((struct instance_standard__NativeArray
*)var382
)->values
[5] = (val
*) var369
;
5165 ((struct instance_standard__NativeArray
*)var382
)->values
[6] = (val
*) var371
;
5166 ((struct instance_standard__NativeArray
*)var382
)->values
[7] = (val
*) var_value2
;
5167 ((struct instance_standard__NativeArray
*)var382
)->values
[8] = (val
*) var376
;
5169 ((void (*)(val
* self
, val
* p0
, long p1
))(var380
->class->vft
[COLOR_standard__array__Array__with_native
]))(var380
, var382
, var381
) /* with_native on <var380:Array[Object]>*/;
5173 var383
= ((val
* (*)(val
* self
))(var380
->class->vft
[COLOR_standard__string__Object__to_s
]))(var380
) /* to_s on <var380:Array[Object]>*/;
5176 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var383
); /* Direct call array#Array#add on <var_test:Array[String]>*/
5180 var385
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value1
);
5185 var387
= nit___nit__SeparateCompilerVisitor___can_be_primitive(self
, var_value2
);
5193 var389
= varonce388
;
5195 var390
= "->class == ";
5197 var392
= standard___standard__NativeString___to_s_with_length(var390
, var391
);
5199 varonce388
= var389
;
5202 var394
= varonce393
;
5206 var397
= standard___standard__NativeString___to_s_with_length(var395
, var396
);
5208 varonce393
= var394
;
5210 var398
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5211 { /* var398 = array_instance Array[Object] */
5213 var400
= NEW_standard__NativeArray(var399
, &type_standard__NativeArray__standard__Object
);
5214 ((struct instance_standard__NativeArray
*)var400
)->values
[0] = (val
*) var_value1
;
5215 ((struct instance_standard__NativeArray
*)var400
)->values
[1] = (val
*) var389
;
5216 ((struct instance_standard__NativeArray
*)var400
)->values
[2] = (val
*) var_value2
;
5217 ((struct instance_standard__NativeArray
*)var400
)->values
[3] = (val
*) var394
;
5219 ((void (*)(val
* self
, val
* p0
, long p1
))(var398
->class->vft
[COLOR_standard__array__Array__with_native
]))(var398
, var400
, var399
) /* with_native on <var398:Array[Object]>*/;
5223 var401
= ((val
* (*)(val
* self
))(var398
->class->vft
[COLOR_standard__string__Object__to_s
]))(var398
) /* to_s on <var398:Array[Object]>*/;
5226 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var401
); /* Direct call array#Array#add on <var_test:Array[String]>*/
5228 var402
= NEW_standard__Array(&type_standard__Array__standard__String
);
5230 standard___standard__Array___standard__kernel__Object__init(var402
); /* Direct call array#Array#init on <var402:Array[String]>*/
5234 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
5235 var405
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
5236 if (unlikely(var405
== NULL
)) {
5237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
5242 RET_LABEL404
:(void)0;
5246 { /* Inline separate_compiler#SeparateCompiler#box_kinds (var403) on <var403:AbstractCompiler(SeparateCompiler)> */
5247 var408
= var403
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___box_kinds
].val
; /* _box_kinds on <var403:AbstractCompiler(SeparateCompiler)> */
5248 if (unlikely(var408
== NULL
)) {
5249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _box_kinds");
5250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 233);
5254 RET_LABEL407
:(void)0;
5259 var410
= standard___standard__HashMap___standard__abstract_collection__MapRead__iterator(var_409
);
5264 var412
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__is_ok(var_411
);
5268 var413
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__key(var_411
);
5272 var414
= standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__item(var_411
);
5274 var415
= ((struct instance_standard__Int
*)var414
)->value
; /* autounbox from nullable Object to Int */;
5277 var417
= varonce416
;
5281 var420
= standard___standard__NativeString___to_s_with_length(var418
, var419
);
5283 varonce416
= var417
;
5286 var422
= varonce421
;
5288 var423
= "->class->box_kind == ";
5290 var425
= standard___standard__NativeString___to_s_with_length(var423
, var424
);
5292 varonce421
= var422
;
5295 var427
= varonce426
;
5297 var428
= " && ((struct instance_";
5299 var430
= standard___standard__NativeString___to_s_with_length(var428
, var429
);
5301 varonce426
= var427
;
5304 var431
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t
);
5307 var433
= varonce432
;
5311 var436
= standard___standard__NativeString___to_s_with_length(var434
, var435
);
5313 varonce432
= var433
;
5316 var438
= varonce437
;
5318 var439
= ")->value == ((struct instance_";
5320 var441
= standard___standard__NativeString___to_s_with_length(var439
, var440
);
5322 varonce437
= var438
;
5325 var442
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_t
);
5328 var444
= varonce443
;
5332 var447
= standard___standard__NativeString___to_s_with_length(var445
, var446
);
5334 varonce443
= var444
;
5337 var449
= varonce448
;
5339 var450
= ")->value)";
5341 var452
= standard___standard__NativeString___to_s_with_length(var450
, var451
);
5343 varonce448
= var449
;
5345 var453
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5346 { /* var453 = array_instance Array[Object] */
5348 var455
= NEW_standard__NativeArray(var454
, &type_standard__NativeArray__standard__Object
);
5349 ((struct instance_standard__NativeArray
*)var455
)->values
[0] = (val
*) var417
;
5350 ((struct instance_standard__NativeArray
*)var455
)->values
[1] = (val
*) var_value1
;
5351 ((struct instance_standard__NativeArray
*)var455
)->values
[2] = (val
*) var422
;
5352 var456
= BOX_standard__Int(var_v
); /* autobox from Int to Object */
5353 ((struct instance_standard__NativeArray
*)var455
)->values
[3] = (val
*) var456
;
5354 ((struct instance_standard__NativeArray
*)var455
)->values
[4] = (val
*) var427
;
5355 ((struct instance_standard__NativeArray
*)var455
)->values
[5] = (val
*) var431
;
5356 ((struct instance_standard__NativeArray
*)var455
)->values
[6] = (val
*) var433
;
5357 ((struct instance_standard__NativeArray
*)var455
)->values
[7] = (val
*) var_value1
;
5358 ((struct instance_standard__NativeArray
*)var455
)->values
[8] = (val
*) var438
;
5359 ((struct instance_standard__NativeArray
*)var455
)->values
[9] = (val
*) var442
;
5360 ((struct instance_standard__NativeArray
*)var455
)->values
[10] = (val
*) var444
;
5361 ((struct instance_standard__NativeArray
*)var455
)->values
[11] = (val
*) var_value2
;
5362 ((struct instance_standard__NativeArray
*)var455
)->values
[12] = (val
*) var449
;
5364 ((void (*)(val
* self
, val
* p0
, long p1
))(var453
->class->vft
[COLOR_standard__array__Array__with_native
]))(var453
, var455
, var454
) /* with_native on <var453:Array[Object]>*/;
5368 var457
= ((val
* (*)(val
* self
))(var453
->class->vft
[COLOR_standard__string__Object__to_s
]))(var453
) /* to_s on <var453:Array[Object]>*/;
5371 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_s
, var457
); /* Direct call array#Array#add on <var_s:Array[String]>*/
5374 standard___standard__HashMapIterator___standard__abstract_collection__MapIterator__next(var_411
); /* Direct call hash_collection#HashMapIterator#next on <var_411:HashMapIterator[MClass, Int]>*/
5380 BREAK_label
: (void)0;
5382 { /* Inline abstract_collection#MapIterator#finish (var_411) on <var_411:HashMapIterator[MClass, Int]> */
5383 RET_LABEL458
:(void)0;
5387 var460
= varonce459
;
5391 var463
= standard___standard__NativeString___to_s_with_length(var461
, var462
);
5393 varonce459
= var460
;
5396 var465
= varonce464
;
5400 var468
= standard___standard__NativeString___to_s_with_length(var466
, var467
);
5402 varonce464
= var465
;
5405 var469
= standard__string___Collection___join(var_s
, var465
);
5408 var471
= varonce470
;
5412 var474
= standard___standard__NativeString___to_s_with_length(var472
, var473
);
5414 varonce470
= var471
;
5416 var475
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5417 { /* var475 = array_instance Array[Object] */
5419 var477
= NEW_standard__NativeArray(var476
, &type_standard__NativeArray__standard__Object
);
5420 ((struct instance_standard__NativeArray
*)var477
)->values
[0] = (val
*) var460
;
5421 ((struct instance_standard__NativeArray
*)var477
)->values
[1] = (val
*) var469
;
5422 ((struct instance_standard__NativeArray
*)var477
)->values
[2] = (val
*) var471
;
5424 ((void (*)(val
* self
, val
* p0
, long p1
))(var475
->class->vft
[COLOR_standard__array__Array__with_native
]))(var475
, var477
, var476
) /* with_native on <var475:Array[Object]>*/;
5428 var478
= ((val
* (*)(val
* self
))(var475
->class->vft
[COLOR_standard__string__Object__to_s
]))(var475
) /* to_s on <var475:Array[Object]>*/;
5431 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_test
, var478
); /* Direct call array#Array#add on <var_test:Array[String]>*/
5435 var480
= varonce479
;
5439 var483
= standard___standard__NativeString___to_s_with_length(var481
, var482
);
5441 varonce479
= var480
;
5444 var485
= varonce484
;
5448 var488
= standard___standard__NativeString___to_s_with_length(var486
, var487
);
5450 varonce484
= var485
;
5453 var490
= varonce489
;
5457 var493
= standard___standard__NativeString___to_s_with_length(var491
, var492
);
5459 varonce489
= var490
;
5461 var494
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5462 { /* var494 = array_instance Array[Object] */
5464 var496
= NEW_standard__NativeArray(var495
, &type_standard__NativeArray__standard__Object
);
5465 ((struct instance_standard__NativeArray
*)var496
)->values
[0] = (val
*) var_res
;
5466 ((struct instance_standard__NativeArray
*)var496
)->values
[1] = (val
*) var480
;
5467 ((struct instance_standard__NativeArray
*)var496
)->values
[2] = (val
*) var_value1
;
5468 ((struct instance_standard__NativeArray
*)var496
)->values
[3] = (val
*) var485
;
5469 ((struct instance_standard__NativeArray
*)var496
)->values
[4] = (val
*) var_value2
;
5470 ((struct instance_standard__NativeArray
*)var496
)->values
[5] = (val
*) var490
;
5472 ((void (*)(val
* self
, val
* p0
, long p1
))(var494
->class->vft
[COLOR_standard__array__Array__with_native
]))(var494
, var496
, var495
) /* with_native on <var494:Array[Object]>*/;
5476 var497
= ((val
* (*)(val
* self
))(var494
->class->vft
[COLOR_standard__string__Object__to_s
]))(var494
) /* to_s on <var494:Array[Object]>*/;
5479 nit___nit__AbstractCompilerVisitor___add(self
, var497
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5486 var499
= varonce498
;
5490 var502
= standard___standard__NativeString___to_s_with_length(var500
, var501
);
5492 varonce498
= var499
;
5495 var504
= varonce503
;
5499 var507
= standard___standard__NativeString___to_s_with_length(var505
, var506
);
5501 varonce503
= var504
;
5504 var509
= varonce508
;
5508 var512
= standard___standard__NativeString___to_s_with_length(var510
, var511
);
5510 varonce508
= var509
;
5513 var514
= varonce513
;
5517 var517
= standard___standard__NativeString___to_s_with_length(var515
, var516
);
5519 varonce513
= var514
;
5522 var518
= standard__string___Collection___join(var_test
, var514
);
5525 var520
= varonce519
;
5529 var523
= standard___standard__NativeString___to_s_with_length(var521
, var522
);
5531 varonce519
= var520
;
5533 var524
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5534 { /* var524 = array_instance Array[Object] */
5536 var526
= NEW_standard__NativeArray(var525
, &type_standard__NativeArray__standard__Object
);
5537 ((struct instance_standard__NativeArray
*)var526
)->values
[0] = (val
*) var_res
;
5538 ((struct instance_standard__NativeArray
*)var526
)->values
[1] = (val
*) var499
;
5539 ((struct instance_standard__NativeArray
*)var526
)->values
[2] = (val
*) var_value1
;
5540 ((struct instance_standard__NativeArray
*)var526
)->values
[3] = (val
*) var504
;
5541 ((struct instance_standard__NativeArray
*)var526
)->values
[4] = (val
*) var_value2
;
5542 ((struct instance_standard__NativeArray
*)var526
)->values
[5] = (val
*) var509
;
5543 ((struct instance_standard__NativeArray
*)var526
)->values
[6] = (val
*) var518
;
5544 ((struct instance_standard__NativeArray
*)var526
)->values
[7] = (val
*) var520
;
5546 ((void (*)(val
* self
, val
* p0
, long p1
))(var524
->class->vft
[COLOR_standard__array__Array__with_native
]))(var524
, var526
, var525
) /* with_native on <var524:Array[Object]>*/;
5550 var527
= ((val
* (*)(val
* self
))(var524
->class->vft
[COLOR_standard__string__Object__to_s
]))(var524
) /* to_s on <var524:Array[Object]>*/;
5553 nit___nit__AbstractCompilerVisitor___add(self
, var527
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5560 /* method separate_compiler#SeparateCompilerVisitor#can_be_primitive for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
5561 short int nit___nit__SeparateCompilerVisitor___can_be_primitive(val
* self
, val
* p0
) {
5562 short int var
/* : Bool */;
5563 val
* var_value
/* var value: RuntimeVariable */;
5564 val
* var1
/* : MType */;
5565 val
* var3
/* : MType */;
5566 val
* var4
/* : MType */;
5567 val
* var_t
/* var t: MType */;
5568 short int var5
/* : Bool */;
5571 short int var6
/* : Bool */;
5572 short int var7
/* : Bool */;
5573 val
* var8
/* : MClass */;
5574 val
* var10
/* : MClass */;
5575 val
* var11
/* : MClassKind */;
5576 val
* var13
/* : MClassKind */;
5577 val
* var_k
/* var k: MClassKind */;
5578 short int var14
/* : Bool */;
5579 val
* var15
/* : MClassKind */;
5580 short int var16
/* : Bool */;
5581 val
* var_other
/* var other: nullable Object */;
5582 short int var18
/* : Bool */;
5583 short int var20
/* : Bool */;
5584 short int var_
/* var : Bool */;
5585 val
* var21
/* : String */;
5586 static val
* varonce
;
5587 val
* var22
/* : String */;
5588 char* var23
/* : NativeString */;
5589 long var24
/* : Int */;
5590 val
* var25
/* : FlatString */;
5591 short int var26
/* : Bool */;
5592 val
* var_other28
/* var other: nullable Object */;
5593 short int var29
/* : Bool */;
5594 short int var30
/* : Bool */;
5597 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
5598 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
5599 if (unlikely(var3
== NULL
)) {
5600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
5601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
5609 var4
= ((val
* (*)(val
* self
))(var1
->class->vft
[COLOR_nit__model__MType__as_notnullable
]))(var1
) /* as_notnullable on <var1:MType>*/;
5612 /* <var_t:MType> isa MClassType */
5613 cltype
= type_nit__MClassType
.color
;
5614 idtype
= type_nit__MClassType
.id
;
5615 if(cltype
>= var_t
->type
->table_size
) {
5618 var5
= var_t
->type
->type_table
[cltype
] == idtype
;
5628 { /* Inline model#MClassType#mclass (var_t) on <var_t:MType(MClassType)> */
5629 var10
= var_t
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_t:MType(MClassType)> */
5630 if (unlikely(var10
== NULL
)) {
5631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
5632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
5640 { /* Inline model#MClass#kind (var8) on <var8:MClass> */
5641 var13
= var8
->attrs
[COLOR_nit__model__MClass___kind
].val
; /* _kind on <var8:MClass> */
5642 if (unlikely(var13
== NULL
)) {
5643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
5644 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 399);
5648 RET_LABEL12
:(void)0;
5653 var15
= nit__model___standard__Object___interface_kind(self
);
5656 { /* Inline kernel#Object#== (var_k,var15) on <var_k:MClassKind> */
5659 { /* Inline kernel#Object#is_same_instance (var_k,var_other) on <var_k:MClassKind> */
5660 var20
= var_k
== var_other
;
5663 RET_LABEL19
:(void)0;
5668 RET_LABEL17
:(void)0;
5676 var21
= nit__abstract_compiler___MClassType___MType__ctype(var_t
);
5683 var25
= standard___standard__NativeString___to_s_with_length(var23
, var24
);
5688 { /* Inline kernel#Object#!= (var21,var22) on <var21:String> */
5689 var_other28
= var22
;
5691 var29
= ((short int (*)(val
* self
, val
* p0
))(var21
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var21
, var_other28
) /* == on <var21:String>*/;
5696 RET_LABEL27
:(void)0;
5706 /* method separate_compiler#SeparateCompilerVisitor#maybe_null for (self: SeparateCompilerVisitor, RuntimeVariable): Bool */
5707 short int nit___nit__SeparateCompilerVisitor___maybe_null(val
* self
, val
* p0
) {
5708 short int var
/* : Bool */;
5709 val
* var_value
/* var value: RuntimeVariable */;
5710 val
* var1
/* : MType */;
5711 val
* var3
/* : MType */;
5712 val
* var_t
/* var t: MType */;
5713 short int var4
/* : Bool */;
5714 short int var5
/* : Bool */;
5717 short int var_
/* var : Bool */;
5718 short int var6
/* : Bool */;
5723 { /* Inline abstract_compiler#RuntimeVariable#mcasttype (var_value) on <var_value:RuntimeVariable> */
5724 var3
= var_value
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mcasttype
].val
; /* _mcasttype on <var_value:RuntimeVariable> */
5725 if (unlikely(var3
== NULL
)) {
5726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mcasttype");
5727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1683);
5735 /* <var_t:MType> isa MNullableType */
5736 cltype
= type_nit__MNullableType
.color
;
5737 idtype
= type_nit__MNullableType
.id
;
5738 if(cltype
>= var_t
->type
->table_size
) {
5741 var5
= var_t
->type
->type_table
[cltype
] == idtype
;
5747 /* <var_t:MType> isa MNullType */
5748 cltype7
= type_nit__MNullType
.color
;
5749 idtype8
= type_nit__MNullType
.id
;
5750 if(cltype7
>= var_t
->type
->table_size
) {
5753 var6
= var_t
->type
->type_table
[cltype7
] == idtype8
;
5762 /* method separate_compiler#SeparateCompilerVisitor#array_instance for (self: SeparateCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
5763 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
5764 val
* var
/* : RuntimeVariable */;
5765 val
* var_array
/* var array: Array[RuntimeVariable] */;
5766 val
* var_elttype
/* var elttype: MType */;
5767 static val
* varonce
;
5768 val
* var1
/* : String */;
5769 char* var2
/* : NativeString */;
5770 long var3
/* : Int */;
5771 val
* var4
/* : FlatString */;
5772 val
* var5
/* : MClass */;
5773 val
* var_nclass
/* var nclass: MClass */;
5774 static val
* varonce6
;
5775 val
* var7
/* : String */;
5776 char* var8
/* : NativeString */;
5777 long var9
/* : Int */;
5778 val
* var10
/* : FlatString */;
5779 val
* var11
/* : MClass */;
5780 val
* var_arrayclass
/* var arrayclass: MClass */;
5781 val
* var12
/* : Array[MType] */;
5782 long var13
/* : Int */;
5783 val
* var_
/* var : Array[MType] */;
5784 val
* var14
/* : MClassType */;
5785 val
* var_arraytype
/* var arraytype: MClassType */;
5786 val
* var15
/* : RuntimeVariable */;
5787 val
* var_res
/* var res: RuntimeVariable */;
5788 static val
* varonce16
;
5789 val
* var17
/* : String */;
5790 char* var18
/* : NativeString */;
5791 long var19
/* : Int */;
5792 val
* var20
/* : FlatString */;
5793 static val
* varonce21
;
5794 val
* var22
/* : String */;
5795 char* var23
/* : NativeString */;
5796 long var24
/* : Int */;
5797 val
* var25
/* : FlatString */;
5798 static val
* varonce26
;
5799 val
* var27
/* : String */;
5800 char* var28
/* : NativeString */;
5801 long var29
/* : Int */;
5802 val
* var30
/* : FlatString */;
5803 val
* var31
/* : Array[Object] */;
5804 long var32
/* : Int */;
5805 val
* var33
/* : NativeArray[Object] */;
5806 val
* var34
/* : String */;
5807 long var35
/* : Int */;
5808 long var37
/* : Int */;
5809 val
* var38
/* : RuntimeVariable */;
5810 val
* var_length
/* var length: RuntimeVariable */;
5811 val
* var39
/* : RuntimeVariable */;
5812 val
* var_nat
/* var nat: RuntimeVariable */;
5813 long var40
/* : Int */;
5814 long var_i
/* var i: Int */;
5815 long var41
/* : Int */;
5816 long var43
/* : Int */;
5817 long var_44
/* var : Int */;
5818 short int var45
/* : Bool */;
5819 short int var47
/* : Bool */;
5822 const char* var_class_name
;
5823 short int var48
/* : Bool */;
5824 val
* var49
/* : nullable Object */;
5825 val
* var50
/* : MClassType */;
5826 val
* var51
/* : RuntimeVariable */;
5827 val
* var_r
/* var r: RuntimeVariable */;
5828 static val
* varonce52
;
5829 val
* var53
/* : String */;
5830 char* var54
/* : NativeString */;
5831 long var55
/* : Int */;
5832 val
* var56
/* : FlatString */;
5833 val
* var57
/* : String */;
5834 static val
* varonce58
;
5835 val
* var59
/* : String */;
5836 char* var60
/* : NativeString */;
5837 long var61
/* : Int */;
5838 val
* var62
/* : FlatString */;
5839 static val
* varonce63
;
5840 val
* var64
/* : String */;
5841 char* var65
/* : NativeString */;
5842 long var66
/* : Int */;
5843 val
* var67
/* : FlatString */;
5844 static val
* varonce68
;
5845 val
* var69
/* : String */;
5846 char* var70
/* : NativeString */;
5847 long var71
/* : Int */;
5848 val
* var72
/* : FlatString */;
5849 static val
* varonce73
;
5850 val
* var74
/* : String */;
5851 char* var75
/* : NativeString */;
5852 long var76
/* : Int */;
5853 val
* var77
/* : FlatString */;
5854 val
* var78
/* : Array[Object] */;
5855 long var79
/* : Int */;
5856 val
* var80
/* : NativeArray[Object] */;
5857 val
* var81
/* : Object */;
5858 val
* var82
/* : String */;
5859 long var83
/* : Int */;
5860 long var84
/* : Int */;
5861 static val
* varonce85
;
5862 val
* var86
/* : String */;
5863 char* var87
/* : NativeString */;
5864 long var88
/* : Int */;
5865 val
* var89
/* : FlatString */;
5866 val
* var90
/* : MClassDef */;
5867 val
* var92
/* : MClassDef */;
5868 val
* var93
/* : MClassType */;
5869 val
* var95
/* : MClassType */;
5870 val
* var96
/* : MMethod */;
5871 val
* var97
/* : Array[RuntimeVariable] */;
5872 long var98
/* : Int */;
5873 val
* var_99
/* var : Array[RuntimeVariable] */;
5874 val
* var100
/* : nullable RuntimeVariable */;
5875 static val
* varonce101
;
5876 val
* var102
/* : String */;
5877 char* var103
/* : NativeString */;
5878 long var104
/* : Int */;
5879 val
* var105
/* : FlatString */;
5885 var2
= "NativeArray";
5887 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
5892 var5
= nit___nit__AbstractCompilerVisitor___get_class(self
, var1
);
5900 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
5905 var11
= nit___nit__AbstractCompilerVisitor___get_class(self
, var7
);
5907 var_arrayclass
= var11
;
5908 var12
= NEW_standard__Array(&type_standard__Array__nit__MType
);
5911 standard___standard__Array___with_capacity(var12
, var13
); /* Direct call array#Array#with_capacity on <var12:Array[MType]>*/
5915 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_elttype
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
5918 var14
= nit___nit__MClass___get_mtype(var_arrayclass
, var_
);
5920 var_arraytype
= var14
;
5922 var15
= ((val
* (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__init_instance
]))(self
, var_arraytype
) /* init_instance on <self:SeparateCompilerVisitor>*/;
5930 var20
= standard___standard__NativeString___to_s_with_length(var18
, var19
);
5937 var23
= " = array_instance Array[";
5939 var25
= standard___standard__NativeString___to_s_with_length(var23
, var24
);
5948 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
5952 var31
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5953 { /* var31 = array_instance Array[Object] */
5955 var33
= NEW_standard__NativeArray(var32
, &type_standard__NativeArray__standard__Object
);
5956 ((struct instance_standard__NativeArray
*)var33
)->values
[0] = (val
*) var17
;
5957 ((struct instance_standard__NativeArray
*)var33
)->values
[1] = (val
*) var_res
;
5958 ((struct instance_standard__NativeArray
*)var33
)->values
[2] = (val
*) var22
;
5959 ((struct instance_standard__NativeArray
*)var33
)->values
[3] = (val
*) var_elttype
;
5960 ((struct instance_standard__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
5962 ((void (*)(val
* self
, val
* p0
, long p1
))(var31
->class->vft
[COLOR_standard__array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
5966 var34
= ((val
* (*)(val
* self
))(var31
->class->vft
[COLOR_standard__string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
5969 nit___nit__AbstractCompilerVisitor___add(self
, var34
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
5972 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[RuntimeVariable]> */
5973 var37
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[RuntimeVariable]> */
5975 RET_LABEL36
:(void)0;
5979 var38
= nit___nit__AbstractCompilerVisitor___int_instance(self
, var35
);
5983 var39
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(self
, var_elttype
, var_length
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
5989 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[RuntimeVariable]> */
5990 var43
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[RuntimeVariable]> */
5992 RET_LABEL42
:(void)0;
5998 { /* Inline kernel#Int#< (var_i,var_44) on <var_i:Int> */
5999 /* Covariant cast for argument 0 (i) <var_44:Int> isa OTHER */
6000 /* <var_44:Int> isa OTHER */
6001 var47
= 1; /* easy <var_44:Int> isa OTHER*/
6002 if (unlikely(!var47
)) {
6003 var_class_name
= type_standard__Int
.name
;
6004 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6005 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
6008 var48
= var_i
< var_44
;
6011 RET_LABEL46
:(void)0;
6016 var49
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
6019 var50
= nit___nit__AbstractCompilerVisitor___object_type(self
);
6022 var51
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__autobox(self
, var49
, var50
);
6028 var54
= "((struct instance_";
6030 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
6035 var57
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_nclass
);
6042 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
6049 var65
= ")->values[";
6051 var67
= standard___standard__NativeString___to_s_with_length(var65
, var66
);
6058 var70
= "] = (val*) ";
6060 var72
= standard___standard__NativeString___to_s_with_length(var70
, var71
);
6069 var77
= standard___standard__NativeString___to_s_with_length(var75
, var76
);
6073 var78
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6074 { /* var78 = array_instance Array[Object] */
6076 var80
= NEW_standard__NativeArray(var79
, &type_standard__NativeArray__standard__Object
);
6077 ((struct instance_standard__NativeArray
*)var80
)->values
[0] = (val
*) var53
;
6078 ((struct instance_standard__NativeArray
*)var80
)->values
[1] = (val
*) var57
;
6079 ((struct instance_standard__NativeArray
*)var80
)->values
[2] = (val
*) var59
;
6080 ((struct instance_standard__NativeArray
*)var80
)->values
[3] = (val
*) var_nat
;
6081 ((struct instance_standard__NativeArray
*)var80
)->values
[4] = (val
*) var64
;
6082 var81
= BOX_standard__Int(var_i
); /* autobox from Int to Object */
6083 ((struct instance_standard__NativeArray
*)var80
)->values
[5] = (val
*) var81
;
6084 ((struct instance_standard__NativeArray
*)var80
)->values
[6] = (val
*) var69
;
6085 ((struct instance_standard__NativeArray
*)var80
)->values
[7] = (val
*) var_r
;
6086 ((struct instance_standard__NativeArray
*)var80
)->values
[8] = (val
*) var74
;
6088 ((void (*)(val
* self
, val
* p0
, long p1
))(var78
->class->vft
[COLOR_standard__array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
6092 var82
= ((val
* (*)(val
* self
))(var78
->class->vft
[COLOR_standard__string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
6095 nit___nit__AbstractCompilerVisitor___add(self
, var82
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6099 var84
= standard___standard__Int___Discrete__successor(var_i
, var83
);
6106 BREAK_label
: (void)0;
6110 var87
= "with_native";
6112 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
6117 { /* Inline model#MClass#intro (var_arrayclass) on <var_arrayclass:MClass> */
6118 var92
= var_arrayclass
->attrs
[COLOR_nit__model__MClass___intro
].val
; /* _intro on <var_arrayclass:MClass> */
6119 if (unlikely(var92
== NULL
)) {
6120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
6121 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 423);
6125 RET_LABEL91
:(void)0;
6129 { /* Inline model#MClassDef#bound_mtype (var90) on <var90:MClassDef> */
6130 var95
= var90
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var90:MClassDef> */
6131 if (unlikely(var95
== NULL
)) {
6132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
6133 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
6137 RET_LABEL94
:(void)0;
6141 var96
= nit___nit__AbstractCompilerVisitor___get_property(self
, var86
, var93
);
6143 var97
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
6146 standard___standard__Array___with_capacity(var97
, var98
); /* Direct call array#Array#with_capacity on <var97:Array[RuntimeVariable]>*/
6150 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_99
, var_res
); /* Direct call array#AbstractArray#push on <var_99:Array[RuntimeVariable]>*/
6153 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_99
, var_nat
); /* Direct call array#AbstractArray#push on <var_99:Array[RuntimeVariable]>*/
6156 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_99
, var_length
); /* Direct call array#AbstractArray#push on <var_99:Array[RuntimeVariable]>*/
6159 var100
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(self
, var96
, var_99
);
6162 var102
= varonce101
;
6166 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
6168 varonce101
= var102
;
6171 nit___nit__AbstractCompilerVisitor___add(self
, var102
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
6178 /* method separate_compiler#SeparateCompilerVisitor#native_array_instance for (self: SeparateCompilerVisitor, MType, RuntimeVariable): RuntimeVariable */
6179 val
* nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance(val
* self
, val
* p0
, val
* p1
) {
6180 val
* var
/* : RuntimeVariable */;
6181 val
* var_elttype
/* var elttype: MType */;
6182 val
* var_length
/* var length: RuntimeVariable */;
6183 static val
* varonce
;
6184 val
* var1
/* : String */;
6185 char* var2
/* : NativeString */;
6186 long var3
/* : Int */;
6187 val
* var4
/* : FlatString */;
6188 val
* var5
/* : MClass */;
6189 val
* var6
/* : Array[MType] */;
6190 long var7
/* : Int */;
6191 val
* var_
/* var : Array[MType] */;
6192 val
* var8
/* : MClassType */;
6193 val
* var_mtype
/* var mtype: MClassType */;
6194 static val
* varonce9
;
6195 val
* var10
/* : String */;
6196 char* var11
/* : NativeString */;
6197 long var12
/* : Int */;
6198 val
* var13
/* : FlatString */;
6199 val
* var14
/* : MClass */;
6200 val
* var16
/* : MClass */;
6201 val
* var17
/* : String */;
6202 val
* var18
/* : Array[Object] */;
6203 long var19
/* : Int */;
6204 val
* var20
/* : NativeArray[Object] */;
6205 val
* var21
/* : String */;
6206 short int var22
/* : Bool */;
6209 val
* var23
/* : AbstractCompiler */;
6210 val
* var25
/* : AbstractCompiler */;
6211 val
* var_compiler
/* var compiler: SeparateCompiler */;
6212 short int var26
/* : Bool */;
6213 short int var28
/* : Bool */;
6214 val
* var29
/* : nullable StaticFrame */;
6215 val
* var31
/* : nullable StaticFrame */;
6216 val
* var32
/* : MPropDef */;
6217 val
* var34
/* : MPropDef */;
6218 val
* var35
/* : MClassDef */;
6219 val
* var37
/* : MClassDef */;
6220 val
* var38
/* : nullable StaticFrame */;
6221 val
* var40
/* : nullable StaticFrame */;
6222 val
* var41
/* : Array[RuntimeVariable] */;
6223 val
* var43
/* : Array[RuntimeVariable] */;
6224 val
* var44
/* : nullable Object */;
6225 val
* var_recv
/* var recv: RuntimeVariable */;
6226 val
* var45
/* : String */;
6227 val
* var_recv_type_info
/* var recv_type_info: String */;
6228 val
* var46
/* : String */;
6229 static val
* varonce47
;
6230 val
* var48
/* : String */;
6231 char* var49
/* : NativeString */;
6232 long var50
/* : Int */;
6233 val
* var51
/* : FlatString */;
6234 val
* var52
/* : MClass */;
6235 val
* var54
/* : MClass */;
6236 val
* var55
/* : String */;
6237 static val
* varonce56
;
6238 val
* var57
/* : String */;
6239 char* var58
/* : NativeString */;
6240 long var59
/* : Int */;
6241 val
* var60
/* : FlatString */;
6242 static val
* varonce61
;
6243 val
* var62
/* : String */;
6244 char* var63
/* : NativeString */;
6245 long var64
/* : Int */;
6246 val
* var65
/* : FlatString */;
6247 static val
* varonce66
;
6248 val
* var67
/* : String */;
6249 char* var68
/* : NativeString */;
6250 long var69
/* : Int */;
6251 val
* var70
/* : FlatString */;
6252 val
* var71
/* : String */;
6253 static val
* varonce72
;
6254 val
* var73
/* : String */;
6255 char* var74
/* : NativeString */;
6256 long var75
/* : Int */;
6257 val
* var76
/* : FlatString */;
6258 val
* var77
/* : Array[Object] */;
6259 long var78
/* : Int */;
6260 val
* var79
/* : NativeArray[Object] */;
6261 val
* var80
/* : String */;
6262 val
* var81
/* : RuntimeVariable */;
6263 val
* var82
/* : Set[MType] */;
6264 val
* var84
/* : Set[MType] */;
6265 static val
* varonce85
;
6266 val
* var86
/* : String */;
6267 char* var87
/* : NativeString */;
6268 long var88
/* : Int */;
6269 val
* var89
/* : FlatString */;
6270 val
* var90
/* : String */;
6271 val
* var91
/* : Array[Object] */;
6272 long var92
/* : Int */;
6273 val
* var93
/* : NativeArray[Object] */;
6274 val
* var94
/* : String */;
6275 static val
* varonce95
;
6276 val
* var96
/* : String */;
6277 char* var97
/* : NativeString */;
6278 long var98
/* : Int */;
6279 val
* var99
/* : FlatString */;
6280 val
* var100
/* : MClass */;
6281 val
* var102
/* : MClass */;
6282 val
* var103
/* : String */;
6283 static val
* varonce104
;
6284 val
* var105
/* : String */;
6285 char* var106
/* : NativeString */;
6286 long var107
/* : Int */;
6287 val
* var108
/* : FlatString */;
6288 static val
* varonce109
;
6289 val
* var110
/* : String */;
6290 char* var111
/* : NativeString */;
6291 long var112
/* : Int */;
6292 val
* var113
/* : FlatString */;
6293 val
* var114
/* : String */;
6294 static val
* varonce115
;
6295 val
* var116
/* : String */;
6296 char* var117
/* : NativeString */;
6297 long var118
/* : Int */;
6298 val
* var119
/* : FlatString */;
6299 val
* var120
/* : Array[Object] */;
6300 long var121
/* : Int */;
6301 val
* var122
/* : NativeArray[Object] */;
6302 val
* var123
/* : String */;
6303 val
* var124
/* : RuntimeVariable */;
6309 var2
= "NativeArray";
6311 var4
= standard___standard__NativeString___to_s_with_length(var2
, var3
);
6316 var5
= nit___nit__AbstractCompilerVisitor___get_class(self
, var1
);
6318 var6
= NEW_standard__Array(&type_standard__Array__nit__MType
);
6321 standard___standard__Array___with_capacity(var6
, var7
); /* Direct call array#Array#with_capacity on <var6:Array[MType]>*/
6325 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_elttype
); /* Direct call array#AbstractArray#push on <var_:Array[MType]>*/
6328 var8
= nit___nit__MClass___get_mtype(var5
, var_
);
6336 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
6341 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType> */
6342 var16
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType> */
6343 if (unlikely(var16
== NULL
)) {
6344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6345 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6349 RET_LABEL15
:(void)0;
6353 var17
= nit___nit__MClass___nit__model_base__MEntity__c_name(var14
);
6355 var18
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6356 { /* var18 = array_instance Array[Object] */
6358 var20
= NEW_standard__NativeArray(var19
, &type_standard__NativeArray__standard__Object
);
6359 ((struct instance_standard__NativeArray
*)var20
)->values
[0] = (val
*) var10
;
6360 ((struct instance_standard__NativeArray
*)var20
)->values
[1] = (val
*) var17
;
6362 ((void (*)(val
* self
, val
* p0
, long p1
))(var18
->class->vft
[COLOR_standard__array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
6366 var21
= ((val
* (*)(val
* self
))(var18
->class->vft
[COLOR_standard__string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
6369 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var21
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6371 /* <var_mtype:MClassType> isa MGenericType */
6372 cltype
= type_nit__MGenericType
.color
;
6373 idtype
= type_nit__MGenericType
.id
;
6374 if(cltype
>= var_mtype
->type
->table_size
) {
6377 var22
= var_mtype
->type
->type_table
[cltype
] == idtype
;
6379 if (unlikely(!var22
)) {
6380 PRINT_ERROR("Runtime error: %s", "Assert failed");
6381 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1722);
6385 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
6386 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
6387 if (unlikely(var25
== NULL
)) {
6388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6389 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
6393 RET_LABEL24
:(void)0;
6396 var_compiler
= var23
;
6398 { /* Inline model#MGenericType#need_anchor (var_mtype) on <var_mtype:MClassType(MGenericType)> */
6399 var28
= var_mtype
->attrs
[COLOR_nit__model__MGenericType___need_anchor
].s
; /* _need_anchor on <var_mtype:MClassType(MGenericType)> */
6401 RET_LABEL27
:(void)0;
6406 nit___nit__SeparateCompilerVisitor___hardening_live_open_type(self
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#hardening_live_open_type on <self:SeparateCompilerVisitor>*/
6409 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
6410 var31
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
6412 RET_LABEL30
:(void)0;
6415 if (var29
== NULL
) {
6416 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1726);
6420 { /* Inline abstract_compiler#StaticFrame#mpropdef (var29) on <var29:nullable StaticFrame> */
6421 if (unlikely(var29
== NULL
)) {
6422 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
6426 var34
= var29
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var29:nullable StaticFrame> */
6427 if (unlikely(var34
== NULL
)) {
6428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
6429 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
6433 RET_LABEL33
:(void)0;
6437 { /* Inline model#MPropDef#mclassdef (var32) on <var32:MPropDef> */
6438 var37
= var32
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var32:MPropDef> */
6439 if (unlikely(var37
== NULL
)) {
6440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
6441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
6445 RET_LABEL36
:(void)0;
6449 nit___nit__SeparateCompilerVisitor___link_unresolved_type(self
, var35
, var_mtype
); /* Direct call separate_compiler#SeparateCompilerVisitor#link_unresolved_type on <self:SeparateCompilerVisitor>*/
6452 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
6453 var40
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
6455 RET_LABEL39
:(void)0;
6458 if (var38
== NULL
) {
6459 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1727);
6463 { /* Inline abstract_compiler#StaticFrame#arguments (var38) on <var38:nullable StaticFrame> */
6464 if (unlikely(var38
== NULL
)) {
6465 PRINT_ERROR("Runtime error: %s", "Receiver is null");
6466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
6469 var43
= var38
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___arguments
].val
; /* _arguments on <var38:nullable StaticFrame> */
6470 if (unlikely(var43
== NULL
)) {
6471 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _arguments");
6472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1731);
6476 RET_LABEL42
:(void)0;
6480 var44
= standard___standard__SequenceRead___Collection__first(var41
);
6484 var45
= nit___nit__SeparateCompilerVisitor___type_info(self
, var_recv
);
6486 var_recv_type_info
= var45
;
6488 var46
= nit__separate_compiler___MEntity___const_color(var_mtype
);
6491 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var46
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6498 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
6503 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
6504 var54
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
6505 if (unlikely(var54
== NULL
)) {
6506 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6507 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6511 RET_LABEL53
:(void)0;
6515 var55
= nit___nit__MClass___nit__model_base__MEntity__c_name(var52
);
6522 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
6531 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
6538 var68
= "->resolution_table->types[";
6540 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
6545 var71
= nit__separate_compiler___MEntity___const_color(var_mtype
);
6552 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
6556 var77
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6557 { /* var77 = array_instance Array[Object] */
6559 var79
= NEW_standard__NativeArray(var78
, &type_standard__NativeArray__standard__Object
);
6560 ((struct instance_standard__NativeArray
*)var79
)->values
[0] = (val
*) var48
;
6561 ((struct instance_standard__NativeArray
*)var79
)->values
[1] = (val
*) var55
;
6562 ((struct instance_standard__NativeArray
*)var79
)->values
[2] = (val
*) var57
;
6563 ((struct instance_standard__NativeArray
*)var79
)->values
[3] = (val
*) var_length
;
6564 ((struct instance_standard__NativeArray
*)var79
)->values
[4] = (val
*) var62
;
6565 ((struct instance_standard__NativeArray
*)var79
)->values
[5] = (val
*) var_recv_type_info
;
6566 ((struct instance_standard__NativeArray
*)var79
)->values
[6] = (val
*) var67
;
6567 ((struct instance_standard__NativeArray
*)var79
)->values
[7] = (val
*) var71
;
6568 ((struct instance_standard__NativeArray
*)var79
)->values
[8] = (val
*) var73
;
6570 ((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]>*/;
6574 var80
= ((val
* (*)(val
* self
))(var77
->class->vft
[COLOR_standard__string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
6577 var81
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var80
, var_mtype
);
6584 { /* Inline separate_compiler#SeparateCompiler#undead_types (var_compiler) on <var_compiler:SeparateCompiler> */
6585 var84
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___undead_types
].val
; /* _undead_types on <var_compiler:SeparateCompiler> */
6586 if (unlikely(var84
== NULL
)) {
6587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _undead_types");
6588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 121);
6592 RET_LABEL83
:(void)0;
6596 ((void (*)(val
* self
, val
* p0
))(var82
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var82
, var_mtype
) /* add on <var82:Set[MType]>*/;
6603 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
6608 var90
= nit___nit__MGenericType___nit__model_base__MEntity__c_name(var_mtype
);
6610 var91
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6611 { /* var91 = array_instance Array[Object] */
6613 var93
= NEW_standard__NativeArray(var92
, &type_standard__NativeArray__standard__Object
);
6614 ((struct instance_standard__NativeArray
*)var93
)->values
[0] = (val
*) var86
;
6615 ((struct instance_standard__NativeArray
*)var93
)->values
[1] = (val
*) var90
;
6617 ((void (*)(val
* self
, val
* p0
, long p1
))(var91
->class->vft
[COLOR_standard__array__Array__with_native
]))(var91
, var93
, var92
) /* with_native on <var91:Array[Object]>*/;
6621 var94
= ((val
* (*)(val
* self
))(var91
->class->vft
[COLOR_standard__string__Object__to_s
]))(var91
) /* to_s on <var91:Array[Object]>*/;
6624 nit___nit__AbstractCompilerVisitor___require_declaration(self
, var94
); /* Direct call abstract_compiler#AbstractCompilerVisitor#require_declaration on <self:SeparateCompilerVisitor>*/
6631 var99
= standard___standard__NativeString___to_s_with_length(var97
, var98
);
6636 { /* Inline model#MClassType#mclass (var_mtype) on <var_mtype:MClassType(MGenericType)> */
6637 var102
= var_mtype
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_mtype:MClassType(MGenericType)> */
6638 if (unlikely(var102
== NULL
)) {
6639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
6640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
6644 RET_LABEL101
:(void)0;
6648 var103
= nit___nit__MClass___nit__model_base__MEntity__c_name(var100
);
6651 var105
= varonce104
;
6655 var108
= standard___standard__NativeString___to_s_with_length(var106
, var107
);
6657 varonce104
= var105
;
6660 var110
= varonce109
;
6662 var111
= ", &type_";
6664 var113
= standard___standard__NativeString___to_s_with_length(var111
, var112
);
6666 varonce109
= var110
;
6669 var114
= nit___nit__MGenericType___nit__model_base__MEntity__c_name(var_mtype
);
6672 var116
= varonce115
;
6676 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
6678 varonce115
= var116
;
6680 var120
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6681 { /* var120 = array_instance Array[Object] */
6683 var122
= NEW_standard__NativeArray(var121
, &type_standard__NativeArray__standard__Object
);
6684 ((struct instance_standard__NativeArray
*)var122
)->values
[0] = (val
*) var96
;
6685 ((struct instance_standard__NativeArray
*)var122
)->values
[1] = (val
*) var103
;
6686 ((struct instance_standard__NativeArray
*)var122
)->values
[2] = (val
*) var105
;
6687 ((struct instance_standard__NativeArray
*)var122
)->values
[3] = (val
*) var_length
;
6688 ((struct instance_standard__NativeArray
*)var122
)->values
[4] = (val
*) var110
;
6689 ((struct instance_standard__NativeArray
*)var122
)->values
[5] = (val
*) var114
;
6690 ((struct instance_standard__NativeArray
*)var122
)->values
[6] = (val
*) var116
;
6692 ((void (*)(val
* self
, val
* p0
, long p1
))(var120
->class->vft
[COLOR_standard__array__Array__with_native
]))(var120
, var122
, var121
) /* with_native on <var120:Array[Object]>*/;
6696 var123
= ((val
* (*)(val
* self
))(var120
->class->vft
[COLOR_standard__string__Object__to_s
]))(var120
) /* to_s on <var120:Array[Object]>*/;
6699 var124
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var123
, var_mtype
);
6706 /* method separate_compiler#SeparateCompilerVisitor#native_array_def for (self: SeparateCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
6707 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6708 val
* var_pname
/* var pname: String */;
6709 val
* var_ret_type
/* var ret_type: nullable MType */;
6710 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
6711 val
* var
/* : nullable Object */;
6712 val
* var1
/* : MType */;
6713 val
* var3
/* : MType */;
6714 val
* var_elttype
/* var elttype: MType */;
6715 static val
* varonce
;
6716 val
* var4
/* : String */;
6717 char* var5
/* : NativeString */;
6718 long var6
/* : Int */;
6719 val
* var7
/* : FlatString */;
6720 val
* var8
/* : MClass */;
6721 val
* var_nclass
/* var nclass: MClass */;
6722 static val
* varonce9
;
6723 val
* var10
/* : String */;
6724 char* var11
/* : NativeString */;
6725 long var12
/* : Int */;
6726 val
* var13
/* : FlatString */;
6727 val
* var14
/* : String */;
6728 static val
* varonce15
;
6729 val
* var16
/* : String */;
6730 char* var17
/* : NativeString */;
6731 long var18
/* : Int */;
6732 val
* var19
/* : FlatString */;
6733 long var20
/* : Int */;
6734 val
* var21
/* : nullable Object */;
6735 static val
* varonce22
;
6736 val
* var23
/* : String */;
6737 char* var24
/* : NativeString */;
6738 long var25
/* : Int */;
6739 val
* var26
/* : FlatString */;
6740 val
* var27
/* : Array[Object] */;
6741 long var28
/* : Int */;
6742 val
* var29
/* : NativeArray[Object] */;
6743 val
* var30
/* : String */;
6744 val
* var_recv
/* var recv: String */;
6745 static val
* varonce31
;
6746 val
* var32
/* : String */;
6747 char* var33
/* : NativeString */;
6748 long var34
/* : Int */;
6749 val
* var35
/* : FlatString */;
6750 short int var36
/* : Bool */;
6751 static val
* varonce37
;
6752 val
* var38
/* : String */;
6753 char* var39
/* : NativeString */;
6754 long var40
/* : Int */;
6755 val
* var41
/* : FlatString */;
6756 long var42
/* : Int */;
6757 val
* var43
/* : nullable Object */;
6758 static val
* varonce44
;
6759 val
* var45
/* : String */;
6760 char* var46
/* : NativeString */;
6761 long var47
/* : Int */;
6762 val
* var48
/* : FlatString */;
6763 val
* var49
/* : Array[Object] */;
6764 long var50
/* : Int */;
6765 val
* var51
/* : NativeArray[Object] */;
6766 val
* var52
/* : String */;
6767 val
* var53
/* : RuntimeVariable */;
6768 static val
* varonce54
;
6769 val
* var55
/* : String */;
6770 char* var56
/* : NativeString */;
6771 long var57
/* : Int */;
6772 val
* var58
/* : FlatString */;
6773 short int var59
/* : Bool */;
6774 static val
* varonce60
;
6775 val
* var61
/* : String */;
6776 char* var62
/* : NativeString */;
6777 long var63
/* : Int */;
6778 val
* var64
/* : FlatString */;
6779 long var65
/* : Int */;
6780 val
* var66
/* : nullable Object */;
6781 static val
* varonce67
;
6782 val
* var68
/* : String */;
6783 char* var69
/* : NativeString */;
6784 long var70
/* : Int */;
6785 val
* var71
/* : FlatString */;
6786 long var72
/* : Int */;
6787 val
* var73
/* : nullable Object */;
6788 static val
* varonce74
;
6789 val
* var75
/* : String */;
6790 char* var76
/* : NativeString */;
6791 long var77
/* : Int */;
6792 val
* var78
/* : FlatString */;
6793 val
* var79
/* : Array[Object] */;
6794 long var80
/* : Int */;
6795 val
* var81
/* : NativeArray[Object] */;
6796 val
* var82
/* : String */;
6797 static val
* varonce83
;
6798 val
* var84
/* : String */;
6799 char* var85
/* : NativeString */;
6800 long var86
/* : Int */;
6801 val
* var87
/* : FlatString */;
6802 short int var88
/* : Bool */;
6803 static val
* varonce89
;
6804 val
* var90
/* : String */;
6805 char* var91
/* : NativeString */;
6806 long var92
/* : Int */;
6807 val
* var93
/* : FlatString */;
6808 val
* var94
/* : String */;
6809 static val
* varonce95
;
6810 val
* var96
/* : String */;
6811 char* var97
/* : NativeString */;
6812 long var98
/* : Int */;
6813 val
* var99
/* : FlatString */;
6814 long var100
/* : Int */;
6815 val
* var101
/* : nullable Object */;
6816 static val
* varonce102
;
6817 val
* var103
/* : String */;
6818 char* var104
/* : NativeString */;
6819 long var105
/* : Int */;
6820 val
* var106
/* : FlatString */;
6821 val
* var107
/* : Array[Object] */;
6822 long var108
/* : Int */;
6823 val
* var109
/* : NativeArray[Object] */;
6824 val
* var110
/* : String */;
6825 val
* var111
/* : RuntimeVariable */;
6826 static val
* varonce112
;
6827 val
* var113
/* : String */;
6828 char* var114
/* : NativeString */;
6829 long var115
/* : Int */;
6830 val
* var116
/* : FlatString */;
6831 short int var117
/* : Bool */;
6832 static val
* varonce118
;
6833 val
* var119
/* : String */;
6834 char* var120
/* : NativeString */;
6835 long var121
/* : Int */;
6836 val
* var122
/* : FlatString */;
6837 val
* var123
/* : String */;
6838 static val
* varonce124
;
6839 val
* var125
/* : String */;
6840 char* var126
/* : NativeString */;
6841 long var127
/* : Int */;
6842 val
* var128
/* : FlatString */;
6843 long var129
/* : Int */;
6844 val
* var130
/* : nullable Object */;
6845 static val
* varonce131
;
6846 val
* var132
/* : String */;
6847 char* var133
/* : NativeString */;
6848 long var134
/* : Int */;
6849 val
* var135
/* : FlatString */;
6850 val
* var136
/* : Array[Object] */;
6851 long var137
/* : Int */;
6852 val
* var138
/* : NativeArray[Object] */;
6853 val
* var139
/* : String */;
6854 val
* var_recv1
/* var recv1: String */;
6855 static val
* varonce140
;
6856 val
* var141
/* : String */;
6857 char* var142
/* : NativeString */;
6858 long var143
/* : Int */;
6859 val
* var144
/* : FlatString */;
6860 static val
* varonce145
;
6861 val
* var146
/* : String */;
6862 char* var147
/* : NativeString */;
6863 long var148
/* : Int */;
6864 val
* var149
/* : FlatString */;
6865 static val
* varonce150
;
6866 val
* var151
/* : String */;
6867 char* var152
/* : NativeString */;
6868 long var153
/* : Int */;
6869 val
* var154
/* : FlatString */;
6870 long var155
/* : Int */;
6871 val
* var156
/* : nullable Object */;
6872 static val
* varonce157
;
6873 val
* var158
/* : String */;
6874 char* var159
/* : NativeString */;
6875 long var160
/* : Int */;
6876 val
* var161
/* : FlatString */;
6877 val
* var162
/* : String */;
6878 static val
* varonce163
;
6879 val
* var164
/* : String */;
6880 char* var165
/* : NativeString */;
6881 long var166
/* : Int */;
6882 val
* var167
/* : FlatString */;
6883 val
* var168
/* : Array[Object] */;
6884 long var169
/* : Int */;
6885 val
* var170
/* : NativeArray[Object] */;
6886 val
* var171
/* : String */;
6891 var
= standard___standard__SequenceRead___Collection__first(var_arguments
);
6894 { /* Inline abstract_compiler#RuntimeVariable#mtype (var) on <var:nullable Object(RuntimeVariable)> */
6895 var3
= var
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var:nullable Object(RuntimeVariable)> */
6896 if (unlikely(var3
== NULL
)) {
6897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
6898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1680);
6909 var5
= "NativeArray";
6911 var7
= standard___standard__NativeString___to_s_with_length(var5
, var6
);
6916 var8
= nit___nit__AbstractCompilerVisitor___get_class(self
, var4
);
6922 var11
= "((struct instance_";
6924 var13
= standard___standard__NativeString___to_s_with_length(var11
, var12
);
6929 var14
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_nclass
);
6936 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
6942 var21
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var20
);
6947 var24
= ")->values";
6949 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
6953 var27
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6954 { /* var27 = array_instance Array[Object] */
6956 var29
= NEW_standard__NativeArray(var28
, &type_standard__NativeArray__standard__Object
);
6957 ((struct instance_standard__NativeArray
*)var29
)->values
[0] = (val
*) var10
;
6958 ((struct instance_standard__NativeArray
*)var29
)->values
[1] = (val
*) var14
;
6959 ((struct instance_standard__NativeArray
*)var29
)->values
[2] = (val
*) var16
;
6960 ((struct instance_standard__NativeArray
*)var29
)->values
[3] = (val
*) var21
;
6961 ((struct instance_standard__NativeArray
*)var29
)->values
[4] = (val
*) var23
;
6963 ((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]>*/;
6967 var30
= ((val
* (*)(val
* self
))(var27
->class->vft
[COLOR_standard__string__Object__to_s
]))(var27
) /* to_s on <var27:Array[Object]>*/;
6975 var35
= standard___standard__NativeString___to_s_with_length(var33
, var34
);
6980 var36
= ((short int (*)(val
* self
, val
* p0
))(var_pname
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pname
, var32
) /* == on <var_pname:String>*/;
6988 var41
= standard___standard__NativeString___to_s_with_length(var39
, var40
);
6994 var43
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var42
);
7001 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
7005 var49
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7006 { /* var49 = array_instance Array[Object] */
7008 var51
= NEW_standard__NativeArray(var50
, &type_standard__NativeArray__standard__Object
);
7009 ((struct instance_standard__NativeArray
*)var51
)->values
[0] = (val
*) var_recv
;
7010 ((struct instance_standard__NativeArray
*)var51
)->values
[1] = (val
*) var38
;
7011 ((struct instance_standard__NativeArray
*)var51
)->values
[2] = (val
*) var43
;
7012 ((struct instance_standard__NativeArray
*)var51
)->values
[3] = (val
*) var45
;
7014 ((void (*)(val
* self
, val
* p0
, long p1
))(var49
->class->vft
[COLOR_standard__array__Array__with_native
]))(var49
, var51
, var50
) /* with_native on <var49:Array[Object]>*/;
7018 var52
= ((val
* (*)(val
* self
))(var49
->class->vft
[COLOR_standard__string__Object__to_s
]))(var49
) /* to_s on <var49:Array[Object]>*/;
7020 if (unlikely(var_ret_type
== NULL
)) {
7021 PRINT_ERROR("Runtime error: %s", "Cast failed");
7022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1743);
7026 var53
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var52
, var_ret_type
);
7029 nit___nit__AbstractCompilerVisitor___ret(self
, var53
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:SeparateCompilerVisitor>*/
7038 var58
= standard___standard__NativeString___to_s_with_length(var56
, var57
);
7043 var59
= ((short int (*)(val
* self
, val
* p0
))(var_pname
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pname
, var55
) /* == on <var_pname:String>*/;
7051 var64
= standard___standard__NativeString___to_s_with_length(var62
, var63
);
7057 var66
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var65
);
7064 var71
= standard___standard__NativeString___to_s_with_length(var69
, var70
);
7070 var73
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var72
);
7077 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
7081 var79
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7082 { /* var79 = array_instance Array[Object] */
7084 var81
= NEW_standard__NativeArray(var80
, &type_standard__NativeArray__standard__Object
);
7085 ((struct instance_standard__NativeArray
*)var81
)->values
[0] = (val
*) var_recv
;
7086 ((struct instance_standard__NativeArray
*)var81
)->values
[1] = (val
*) var61
;
7087 ((struct instance_standard__NativeArray
*)var81
)->values
[2] = (val
*) var66
;
7088 ((struct instance_standard__NativeArray
*)var81
)->values
[3] = (val
*) var68
;
7089 ((struct instance_standard__NativeArray
*)var81
)->values
[4] = (val
*) var73
;
7090 ((struct instance_standard__NativeArray
*)var81
)->values
[5] = (val
*) var75
;
7092 ((void (*)(val
* self
, val
* p0
, long p1
))(var79
->class->vft
[COLOR_standard__array__Array__with_native
]))(var79
, var81
, var80
) /* with_native on <var79:Array[Object]>*/;
7096 var82
= ((val
* (*)(val
* self
))(var79
->class->vft
[COLOR_standard__string__Object__to_s
]))(var79
) /* to_s on <var79:Array[Object]>*/;
7099 nit___nit__AbstractCompilerVisitor___add(self
, var82
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7108 var87
= standard___standard__NativeString___to_s_with_length(var85
, var86
);
7113 var88
= ((short int (*)(val
* self
, val
* p0
))(var_pname
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pname
, var84
) /* == on <var_pname:String>*/;
7119 var91
= "((struct instance_";
7121 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
7126 var94
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_nclass
);
7133 var99
= standard___standard__NativeString___to_s_with_length(var97
, var98
);
7139 var101
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var100
);
7142 var103
= varonce102
;
7144 var104
= ")->length";
7146 var106
= standard___standard__NativeString___to_s_with_length(var104
, var105
);
7148 varonce102
= var103
;
7150 var107
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7151 { /* var107 = array_instance Array[Object] */
7153 var109
= NEW_standard__NativeArray(var108
, &type_standard__NativeArray__standard__Object
);
7154 ((struct instance_standard__NativeArray
*)var109
)->values
[0] = (val
*) var90
;
7155 ((struct instance_standard__NativeArray
*)var109
)->values
[1] = (val
*) var94
;
7156 ((struct instance_standard__NativeArray
*)var109
)->values
[2] = (val
*) var96
;
7157 ((struct instance_standard__NativeArray
*)var109
)->values
[3] = (val
*) var101
;
7158 ((struct instance_standard__NativeArray
*)var109
)->values
[4] = (val
*) var103
;
7160 ((void (*)(val
* self
, val
* p0
, long p1
))(var107
->class->vft
[COLOR_standard__array__Array__with_native
]))(var107
, var109
, var108
) /* with_native on <var107:Array[Object]>*/;
7164 var110
= ((val
* (*)(val
* self
))(var107
->class->vft
[COLOR_standard__string__Object__to_s
]))(var107
) /* to_s on <var107:Array[Object]>*/;
7166 if (unlikely(var_ret_type
== NULL
)) {
7167 PRINT_ERROR("Runtime error: %s", "Cast failed");
7168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1749);
7172 var111
= nit___nit__AbstractCompilerVisitor___new_expr(self
, var110
, var_ret_type
);
7175 nit___nit__AbstractCompilerVisitor___ret(self
, var111
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:SeparateCompilerVisitor>*/
7180 var113
= varonce112
;
7184 var116
= standard___standard__NativeString___to_s_with_length(var114
, var115
);
7186 varonce112
= var113
;
7189 var117
= ((short int (*)(val
* self
, val
* p0
))(var_pname
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pname
, var113
) /* == on <var_pname:String>*/;
7193 var119
= varonce118
;
7195 var120
= "((struct instance_";
7197 var122
= standard___standard__NativeString___to_s_with_length(var120
, var121
);
7199 varonce118
= var119
;
7202 var123
= nit___nit__MClass___nit__model_base__MEntity__c_name(var_nclass
);
7205 var125
= varonce124
;
7209 var128
= standard___standard__NativeString___to_s_with_length(var126
, var127
);
7211 varonce124
= var125
;
7215 var130
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var129
);
7218 var132
= varonce131
;
7220 var133
= ")->values";
7222 var135
= standard___standard__NativeString___to_s_with_length(var133
, var134
);
7224 varonce131
= var132
;
7226 var136
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7227 { /* var136 = array_instance Array[Object] */
7229 var138
= NEW_standard__NativeArray(var137
, &type_standard__NativeArray__standard__Object
);
7230 ((struct instance_standard__NativeArray
*)var138
)->values
[0] = (val
*) var119
;
7231 ((struct instance_standard__NativeArray
*)var138
)->values
[1] = (val
*) var123
;
7232 ((struct instance_standard__NativeArray
*)var138
)->values
[2] = (val
*) var125
;
7233 ((struct instance_standard__NativeArray
*)var138
)->values
[3] = (val
*) var130
;
7234 ((struct instance_standard__NativeArray
*)var138
)->values
[4] = (val
*) var132
;
7236 ((void (*)(val
* self
, val
* p0
, long p1
))(var136
->class->vft
[COLOR_standard__array__Array__with_native
]))(var136
, var138
, var137
) /* with_native on <var136:Array[Object]>*/;
7240 var139
= ((val
* (*)(val
* self
))(var136
->class->vft
[COLOR_standard__string__Object__to_s
]))(var136
) /* to_s on <var136:Array[Object]>*/;
7244 var141
= varonce140
;
7246 var142
= "memmove(";
7248 var144
= standard___standard__NativeString___to_s_with_length(var142
, var143
);
7250 varonce140
= var141
;
7253 var146
= varonce145
;
7257 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
7259 varonce145
= var146
;
7262 var151
= varonce150
;
7266 var154
= standard___standard__NativeString___to_s_with_length(var152
, var153
);
7268 varonce150
= var151
;
7272 var156
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var155
);
7275 var158
= varonce157
;
7277 var159
= "*sizeof(";
7279 var161
= standard___standard__NativeString___to_s_with_length(var159
, var160
);
7281 varonce157
= var158
;
7284 var162
= ((val
* (*)(val
* self
))(var_elttype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_elttype
) /* ctype on <var_elttype:MType>*/;
7287 var164
= varonce163
;
7291 var167
= standard___standard__NativeString___to_s_with_length(var165
, var166
);
7293 varonce163
= var164
;
7295 var168
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7296 { /* var168 = array_instance Array[Object] */
7298 var170
= NEW_standard__NativeArray(var169
, &type_standard__NativeArray__standard__Object
);
7299 ((struct instance_standard__NativeArray
*)var170
)->values
[0] = (val
*) var141
;
7300 ((struct instance_standard__NativeArray
*)var170
)->values
[1] = (val
*) var_recv1
;
7301 ((struct instance_standard__NativeArray
*)var170
)->values
[2] = (val
*) var146
;
7302 ((struct instance_standard__NativeArray
*)var170
)->values
[3] = (val
*) var_recv
;
7303 ((struct instance_standard__NativeArray
*)var170
)->values
[4] = (val
*) var151
;
7304 ((struct instance_standard__NativeArray
*)var170
)->values
[5] = (val
*) var156
;
7305 ((struct instance_standard__NativeArray
*)var170
)->values
[6] = (val
*) var158
;
7306 ((struct instance_standard__NativeArray
*)var170
)->values
[7] = (val
*) var162
;
7307 ((struct instance_standard__NativeArray
*)var170
)->values
[8] = (val
*) var164
;
7309 ((void (*)(val
* self
, val
* p0
, long p1
))(var168
->class->vft
[COLOR_standard__array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
7313 var171
= ((val
* (*)(val
* self
))(var168
->class->vft
[COLOR_standard__string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
7316 nit___nit__AbstractCompilerVisitor___add(self
, var171
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <self:SeparateCompilerVisitor>*/
7326 /* method separate_compiler#SeparateCompilerVisitor#calloc_array for (self: SeparateCompilerVisitor, MType, Array[RuntimeVariable]) */
7327 void nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
7328 val
* var_ret_type
/* var ret_type: MType */;
7329 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
7330 static val
* varonce
;
7331 val
* var
/* : String */;
7332 char* var1
/* : NativeString */;
7333 long var2
/* : Int */;
7334 val
* var3
/* : FlatString */;
7335 val
* var4
/* : MClass */;
7336 val
* var_mclass
/* var mclass: MClass */;
7337 val
* var5
/* : Array[MParameterType] */;
7338 val
* var7
/* : Array[MParameterType] */;
7339 val
* var8
/* : nullable Object */;
7340 val
* var_ft
/* var ft: MParameterType */;
7341 long var9
/* : Int */;
7342 val
* var10
/* : nullable Object */;
7343 val
* var11
/* : RuntimeVariable */;
7344 val
* var_res
/* var res: RuntimeVariable */;
7350 var1
= "ArrayCapable";
7352 var3
= standard___standard__NativeString___to_s_with_length(var1
, var2
);
7357 var4
= nit___nit__AbstractCompilerVisitor___get_class(self
, var
);
7361 { /* Inline model#MClass#mparameters (var_mclass) on <var_mclass:MClass> */
7362 var7
= var_mclass
->attrs
[COLOR_nit__model__MClass___mparameters
].val
; /* _mparameters on <var_mclass:MClass> */
7363 if (unlikely(var7
== NULL
)) {
7364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
7365 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 368);
7373 var8
= standard___standard__SequenceRead___Collection__first(var5
);
7378 var10
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var9
);
7381 var11
= ((val
* (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__native_array_instance
]))(self
, var_ft
, var10
) /* native_array_instance on <self:SeparateCompilerVisitor>*/;
7385 nit___nit__AbstractCompilerVisitor___ret(self
, var_res
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <self:SeparateCompilerVisitor>*/
7389 /* method separate_compiler#SeparateCompilerVisitor#link_unresolved_type for (self: SeparateCompilerVisitor, MClassDef, MType) */
7390 void nit___nit__SeparateCompilerVisitor___link_unresolved_type(val
* self
, val
* p0
, val
* p1
) {
7391 val
* var_mclassdef
/* var mclassdef: MClassDef */;
7392 val
* var_mtype
/* var mtype: MType */;
7393 short int var
/* : Bool */;
7394 val
* var1
/* : AbstractCompiler */;
7395 val
* var3
/* : AbstractCompiler */;
7396 val
* var_compiler
/* var compiler: SeparateCompiler */;
7397 val
* var4
/* : Map[MClassDef, Set[MType]] */;
7398 val
* var6
/* : Map[MClassDef, Set[MType]] */;
7399 val
* var7
/* : nullable StaticFrame */;
7400 val
* var9
/* : nullable StaticFrame */;
7401 val
* var10
/* : MPropDef */;
7402 val
* var12
/* : MPropDef */;
7403 val
* var13
/* : MClassDef */;
7404 val
* var15
/* : MClassDef */;
7405 short int var16
/* : Bool */;
7406 short int var17
/* : Bool */;
7407 val
* var18
/* : Map[MClassDef, Set[MType]] */;
7408 val
* var20
/* : Map[MClassDef, Set[MType]] */;
7409 val
* var21
/* : nullable StaticFrame */;
7410 val
* var23
/* : nullable StaticFrame */;
7411 val
* var24
/* : MPropDef */;
7412 val
* var26
/* : MPropDef */;
7413 val
* var27
/* : MClassDef */;
7414 val
* var29
/* : MClassDef */;
7415 val
* var30
/* : HashSet[MType] */;
7416 val
* var31
/* : Map[MClassDef, Set[MType]] */;
7417 val
* var33
/* : Map[MClassDef, Set[MType]] */;
7418 val
* var34
/* : nullable StaticFrame */;
7419 val
* var36
/* : nullable StaticFrame */;
7420 val
* var37
/* : MPropDef */;
7421 val
* var39
/* : MPropDef */;
7422 val
* var40
/* : MClassDef */;
7423 val
* var42
/* : MClassDef */;
7424 val
* var43
/* : nullable Object */;
7428 var
= ((short int (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7430 if (unlikely(!var
)) {
7431 PRINT_ERROR("Runtime error: %s", "Assert failed");
7432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1767);
7436 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:SeparateCompilerVisitor> */
7437 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <self:SeparateCompilerVisitor> */
7438 if (unlikely(var3
== NULL
)) {
7439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7440 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1059);
7447 var_compiler
= var1
;
7449 { /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (var_compiler) on <var_compiler:SeparateCompiler> */
7450 var6
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <var_compiler:SeparateCompiler> */
7451 if (unlikely(var6
== NULL
)) {
7452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
7453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 122);
7461 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7462 var9
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7468 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7469 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1769);
7472 { /* Inline abstract_compiler#StaticFrame#mpropdef (var7) on <var7:nullable StaticFrame> */
7473 if (unlikely(var7
== NULL
)) {
7474 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7478 var12
= var7
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var7:nullable StaticFrame> */
7479 if (unlikely(var12
== NULL
)) {
7480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7481 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7485 RET_LABEL11
:(void)0;
7489 { /* Inline model#MPropDef#mclassdef (var10) on <var10:MPropDef> */
7490 var15
= var10
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var10:MPropDef> */
7491 if (unlikely(var15
== NULL
)) {
7492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7493 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7497 RET_LABEL14
:(void)0;
7501 var16
= standard___standard__MapRead___has_key(var4
, var13
);
7506 { /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (var_compiler) on <var_compiler:SeparateCompiler> */
7507 var20
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <var_compiler:SeparateCompiler> */
7508 if (unlikely(var20
== NULL
)) {
7509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
7510 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 122);
7514 RET_LABEL19
:(void)0;
7518 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7519 var23
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7521 RET_LABEL22
:(void)0;
7524 if (var21
== NULL
) {
7525 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1770);
7529 { /* Inline abstract_compiler#StaticFrame#mpropdef (var21) on <var21:nullable StaticFrame> */
7530 if (unlikely(var21
== NULL
)) {
7531 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7532 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7535 var26
= var21
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var21:nullable StaticFrame> */
7536 if (unlikely(var26
== NULL
)) {
7537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7542 RET_LABEL25
:(void)0;
7546 { /* Inline model#MPropDef#mclassdef (var24) on <var24:MPropDef> */
7547 var29
= var24
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var24:MPropDef> */
7548 if (unlikely(var29
== NULL
)) {
7549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7554 RET_LABEL28
:(void)0;
7557 var30
= NEW_standard__HashSet(&type_standard__HashSet__nit__MType
);
7559 standard___standard__HashSet___standard__kernel__Object__init(var30
); /* Direct call hash_collection#HashSet#init on <var30:HashSet[MType]>*/
7562 ((void (*)(val
* self
, val
* p0
, val
* p1
))(var18
->class->vft
[COLOR_standard__abstract_collection__Map___91d_93d_61d
]))(var18
, var27
, var30
) /* []= on <var18:Map[MClassDef, Set[MType]]>*/;
7567 { /* Inline separate_compiler#SeparateCompiler#live_unresolved_types (var_compiler) on <var_compiler:SeparateCompiler> */
7568 var33
= var_compiler
->attrs
[COLOR_nit__separate_compiler__SeparateCompiler___live_unresolved_types
].val
; /* _live_unresolved_types on <var_compiler:SeparateCompiler> */
7569 if (unlikely(var33
== NULL
)) {
7570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _live_unresolved_types");
7571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 122);
7575 RET_LABEL32
:(void)0;
7579 { /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:SeparateCompilerVisitor> */
7580 var36
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___frame
].val
; /* _frame on <self:SeparateCompilerVisitor> */
7582 RET_LABEL35
:(void)0;
7585 if (var34
== NULL
) {
7586 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7587 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1772);
7590 { /* Inline abstract_compiler#StaticFrame#mpropdef (var34) on <var34:nullable StaticFrame> */
7591 if (unlikely(var34
== NULL
)) {
7592 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7596 var39
= var34
->attrs
[COLOR_nit__abstract_compiler__StaticFrame___mpropdef
].val
; /* _mpropdef on <var34:nullable StaticFrame> */
7597 if (unlikely(var39
== NULL
)) {
7598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
7599 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1724);
7603 RET_LABEL38
:(void)0;
7607 { /* Inline model#MPropDef#mclassdef (var37) on <var37:MPropDef> */
7608 var42
= var37
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var37:MPropDef> */
7609 if (unlikely(var42
== NULL
)) {
7610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7615 RET_LABEL41
:(void)0;
7619 var43
= ((val
* (*)(val
* self
, val
* p0
))(var31
->class->vft
[COLOR_standard__abstract_collection__MapRead___91d_93d
]))(var31
, var40
) /* [] on <var31:Map[MClassDef, Set[MType]]>*/;
7622 ((void (*)(val
* self
, val
* p0
))(var43
->class->vft
[COLOR_standard__abstract_collection__SimpleCollection__add
]))(var43
, var_mtype
) /* add on <var43:nullable Object(Set[MType])>*/;
7626 /* method separate_compiler#MMethodDef#separate_runtime_function for (self: MMethodDef): SeparateRuntimeFunction */
7627 val
* nit__separate_compiler___MMethodDef___separate_runtime_function(val
* self
) {
7628 val
* var
/* : SeparateRuntimeFunction */;
7629 val
* var1
/* : nullable SeparateRuntimeFunction */;
7630 val
* var3
/* : nullable SeparateRuntimeFunction */;
7631 val
* var_res
/* var res: nullable SeparateRuntimeFunction */;
7632 val
* var4
/* : null */;
7633 short int var5
/* : Bool */;
7634 short int var6
/* : Bool */;
7635 val
* var_other
/* var other: nullable Object */;
7636 short int var8
/* : Bool */;
7637 short int var10
/* : Bool */;
7638 val
* var11
/* : MClassDef */;
7639 val
* var13
/* : MClassDef */;
7640 val
* var14
/* : MClassType */;
7641 val
* var16
/* : MClassType */;
7642 val
* var_recv
/* var recv: MClassType */;
7643 val
* var17
/* : nullable MSignature */;
7644 val
* var19
/* : nullable MSignature */;
7645 val
* var20
/* : MClassDef */;
7646 val
* var22
/* : MClassDef */;
7647 val
* var23
/* : MModule */;
7648 val
* var25
/* : MModule */;
7649 short int var26
/* : Bool */;
7650 val
* var27
/* : MSignature */;
7651 val
* var_msignature
/* var msignature: MSignature */;
7652 val
* var28
/* : SeparateRuntimeFunction */;
7653 val
* var29
/* : String */;
7655 { /* Inline separate_compiler#MMethodDef#separate_runtime_function_cache (self) on <self:MMethodDef> */
7656 var3
= self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___separate_runtime_function_cache
].val
; /* _separate_runtime_function_cache on <self:MMethodDef> */
7663 if (var_res
== NULL
) {
7664 var5
= 1; /* is null */
7666 var5
= 0; /* arg is null but recv is not */
7669 { /* Inline kernel#Object#== (var_res,var4) on <var_res:nullable SeparateRuntimeFunction> */
7672 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
7673 var10
= var_res
== var_other
;
7687 { /* Inline model#MPropDef#mclassdef (self) on <self:MMethodDef> */
7688 var13
= self
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MMethodDef> */
7689 if (unlikely(var13
== NULL
)) {
7690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7691 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7695 RET_LABEL12
:(void)0;
7699 { /* Inline model#MClassDef#bound_mtype (var11) on <var11:MClassDef> */
7700 var16
= var11
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var11:MClassDef> */
7701 if (unlikely(var16
== NULL
)) {
7702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7707 RET_LABEL15
:(void)0;
7712 { /* Inline model#MMethodDef#msignature (self) on <self:MMethodDef> */
7713 var19
= self
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <self:MMethodDef> */
7715 RET_LABEL18
:(void)0;
7719 { /* Inline model#MPropDef#mclassdef (self) on <self:MMethodDef> */
7720 var22
= self
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <self:MMethodDef> */
7721 if (unlikely(var22
== NULL
)) {
7722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7727 RET_LABEL21
:(void)0;
7731 { /* Inline model#MClassDef#mmodule (var20) on <var20:MClassDef> */
7732 var25
= var20
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var20:MClassDef> */
7733 if (unlikely(var25
== NULL
)) {
7734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
7735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
7739 RET_LABEL24
:(void)0;
7743 if (var17
== NULL
) {
7744 PRINT_ERROR("Runtime error: %s", "Receiver is null");
7745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1783);
7748 var27
= nit___nit__MSignature___MType__resolve_for(var17
, var_recv
, var_recv
, var23
, var26
);
7750 var_msignature
= var27
;
7751 var28
= NEW_nit__SeparateRuntimeFunction(&type_nit__SeparateRuntimeFunction
);
7753 var29
= nit___nit__MPropDef___nit__model_base__MEntity__c_name(self
);
7756 ((void (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d
]))(var28
, self
) /* mmethoddef= on <var28:SeparateRuntimeFunction>*/;
7759 ((void (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__called_recv_61d
]))(var28
, var_recv
) /* called_recv= on <var28:SeparateRuntimeFunction>*/;
7762 ((void (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__called_signature_61d
]))(var28
, var_msignature
) /* called_signature= on <var28:SeparateRuntimeFunction>*/;
7765 ((void (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__build_c_name_61d
]))(var28
, var29
) /* build_c_name= on <var28:SeparateRuntimeFunction>*/;
7768 ((void (*)(val
* self
))(var28
->class->vft
[COLOR_standard__kernel__Object__init
]))(var28
) /* init on <var28:SeparateRuntimeFunction>*/;
7772 { /* Inline separate_compiler#MMethodDef#separate_runtime_function_cache= (self,var_res) on <self:MMethodDef> */
7773 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___separate_runtime_function_cache
].val
= var_res
; /* _separate_runtime_function_cache on <self:MMethodDef> */
7774 RET_LABEL30
:(void)0;
7784 /* method separate_compiler#MMethodDef#separate_runtime_function_cache for (self: MMethodDef): nullable SeparateRuntimeFunction */
7785 val
* nit__separate_compiler___MMethodDef___separate_runtime_function_cache(val
* self
) {
7786 val
* var
/* : nullable SeparateRuntimeFunction */;
7787 val
* var1
/* : nullable SeparateRuntimeFunction */;
7788 var1
= self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___separate_runtime_function_cache
].val
; /* _separate_runtime_function_cache on <self:MMethodDef> */
7793 /* method separate_compiler#MMethodDef#separate_runtime_function_cache= for (self: MMethodDef, nullable SeparateRuntimeFunction) */
7794 void nit__separate_compiler___MMethodDef___separate_runtime_function_cache_61d(val
* self
, val
* p0
) {
7795 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___separate_runtime_function_cache
].val
= p0
; /* _separate_runtime_function_cache on <self:MMethodDef> */
7798 /* method separate_compiler#MMethodDef#virtual_runtime_function for (self: MMethodDef): SeparateRuntimeFunction */
7799 val
* nit__separate_compiler___MMethodDef___virtual_runtime_function(val
* self
) {
7800 val
* var
/* : SeparateRuntimeFunction */;
7801 val
* var1
/* : nullable SeparateRuntimeFunction */;
7802 val
* var3
/* : nullable SeparateRuntimeFunction */;
7803 val
* var_res
/* var res: nullable SeparateRuntimeFunction */;
7804 val
* var4
/* : null */;
7805 short int var5
/* : Bool */;
7806 short int var6
/* : Bool */;
7807 val
* var_other
/* var other: nullable Object */;
7808 short int var8
/* : Bool */;
7809 short int var10
/* : Bool */;
7810 val
* var11
/* : MProperty */;
7811 val
* var13
/* : MProperty */;
7812 val
* var14
/* : MPropDef */;
7813 val
* var16
/* : MPropDef */;
7814 val
* var17
/* : MClassDef */;
7815 val
* var19
/* : MClassDef */;
7816 val
* var_intromclassdef
/* var intromclassdef: MClassDef */;
7817 val
* var20
/* : MClassType */;
7818 val
* var22
/* : MClassType */;
7819 val
* var_recv
/* var recv: MClassType */;
7820 val
* var23
/* : SeparateRuntimeFunction */;
7821 val
* var24
/* : MType */;
7822 val
* var26
/* : MType */;
7823 short int var27
/* : Bool */;
7824 short int var29
/* : Bool */;
7825 short int var31
/* : Bool */;
7826 val
* var33
/* : MProperty */;
7827 val
* var35
/* : MProperty */;
7828 val
* var36
/* : MPropDef */;
7829 val
* var38
/* : MPropDef */;
7830 val
* var39
/* : nullable MSignature */;
7831 val
* var41
/* : nullable MSignature */;
7832 val
* var42
/* : MModule */;
7833 val
* var44
/* : MModule */;
7834 short int var45
/* : Bool */;
7835 val
* var46
/* : MSignature */;
7836 val
* var_msignature
/* var msignature: MSignature */;
7837 short int var47
/* : Bool */;
7838 val
* var48
/* : String */;
7839 val
* var49
/* : MType */;
7840 val
* var51
/* : MType */;
7841 val
* var52
/* : String */;
7842 short int var53
/* : Bool */;
7843 short int var_
/* var : Bool */;
7844 val
* var54
/* : MSignature */;
7845 val
* var56
/* : MSignature */;
7846 short int var57
/* : Bool */;
7847 val
* var59
/* : SeparateRuntimeFunction */;
7848 static val
* varonce
;
7849 val
* var60
/* : String */;
7850 char* var61
/* : NativeString */;
7851 long var62
/* : Int */;
7852 val
* var63
/* : FlatString */;
7853 val
* var64
/* : String */;
7854 val
* var65
/* : Array[Object] */;
7855 long var66
/* : Int */;
7856 val
* var67
/* : NativeArray[Object] */;
7857 val
* var68
/* : String */;
7858 short int var70
/* : Bool */;
7860 { /* Inline separate_compiler#MMethodDef#virtual_runtime_function_cache (self) on <self:MMethodDef> */
7861 var3
= self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
7868 if (var_res
== NULL
) {
7869 var5
= 1; /* is null */
7871 var5
= 0; /* arg is null but recv is not */
7874 { /* Inline kernel#Object#== (var_res,var4) on <var_res:nullable SeparateRuntimeFunction> */
7877 { /* Inline kernel#Object#is_same_instance (var_res,var_other) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
7878 var10
= var_res
== var_other
;
7892 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
7893 var13
= self
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
7894 if (unlikely(var13
== NULL
)) {
7895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7896 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
7900 RET_LABEL12
:(void)0;
7904 { /* Inline model#MProperty#intro (var11) on <var11:MProperty(MMethod)> */
7905 var16
= var11
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var11:MProperty(MMethod)> */
7906 if (unlikely(var16
== NULL
)) {
7907 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
7908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
7912 RET_LABEL15
:(void)0;
7916 { /* Inline model#MPropDef#mclassdef (var14) on <var14:MPropDef(MMethodDef)> */
7917 var19
= var14
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var14:MPropDef(MMethodDef)> */
7918 if (unlikely(var19
== NULL
)) {
7919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
7920 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
7924 RET_LABEL18
:(void)0;
7927 var_intromclassdef
= var17
;
7929 { /* Inline model#MClassDef#bound_mtype (var_intromclassdef) on <var_intromclassdef:MClassDef> */
7930 var22
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var_intromclassdef:MClassDef> */
7931 if (unlikely(var22
== NULL
)) {
7932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
7933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 495);
7937 RET_LABEL21
:(void)0;
7942 var23
= nit__separate_compiler___MMethodDef___separate_runtime_function(self
);
7946 { /* Inline separate_compiler#SeparateRuntimeFunction#called_recv (var_res) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
7947 var26
= var_res
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
; /* _called_recv on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
7948 if (unlikely(var26
== NULL
)) {
7949 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_recv");
7950 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1845);
7954 RET_LABEL25
:(void)0;
7958 { /* Inline kernel#Object#== (var24,var_recv) on <var24:MType> */
7959 var_other
= var_recv
;
7961 { /* Inline kernel#Object#is_same_instance (var24,var_other) on <var24:MType> */
7962 var31
= var24
== var_other
;
7965 RET_LABEL30
:(void)0;
7970 RET_LABEL28
:(void)0;
7975 { /* Inline separate_compiler#MMethodDef#virtual_runtime_function_cache= (self,var_res) on <self:MMethodDef> */
7976 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
= var_res
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
7977 RET_LABEL32
:(void)0;
7985 { /* Inline model#MPropDef#mproperty (self) on <self:MMethodDef> */
7986 var35
= self
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <self:MMethodDef> */
7987 if (unlikely(var35
== NULL
)) {
7988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
7989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2013);
7993 RET_LABEL34
:(void)0;
7997 { /* Inline model#MProperty#intro (var33) on <var33:MProperty(MMethod)> */
7998 var38
= var33
->attrs
[COLOR_nit__model__MProperty___intro
].val
; /* _intro on <var33:MProperty(MMethod)> */
7999 if (unlikely(var38
== NULL
)) {
8000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
8001 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1773);
8005 RET_LABEL37
:(void)0;
8009 { /* Inline model#MMethodDef#msignature (var36) on <var36:MPropDef(MMethodDef)> */
8010 var41
= var36
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var36:MPropDef(MMethodDef)> */
8012 RET_LABEL40
:(void)0;
8016 { /* Inline model#MClassDef#mmodule (var_intromclassdef) on <var_intromclassdef:MClassDef> */
8017 var44
= var_intromclassdef
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var_intromclassdef:MClassDef> */
8018 if (unlikely(var44
== NULL
)) {
8019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
8020 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
8024 RET_LABEL43
:(void)0;
8028 if (var39
== NULL
) {
8029 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8030 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1808);
8033 var46
= nit___nit__MSignature___MType__resolve_for(var39
, var_recv
, var_recv
, var42
, var45
);
8035 var_msignature
= var46
;
8037 var48
= nit__abstract_compiler___MClassType___MType__ctype(var_recv
);
8040 { /* Inline separate_compiler#SeparateRuntimeFunction#called_recv (var_res) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8041 var51
= var_res
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
; /* _called_recv on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8042 if (unlikely(var51
== NULL
)) {
8043 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_recv");
8044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1845);
8048 RET_LABEL50
:(void)0;
8052 var52
= ((val
* (*)(val
* self
))(var49
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var49
) /* ctype on <var49:MType>*/;
8055 var53
= ((short int (*)(val
* self
, val
* p0
))(var48
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var48
, var52
) /* == on <var48:String>*/;
8060 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (var_res) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8061 var56
= var_res
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8062 if (unlikely(var56
== NULL
)) {
8063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
8064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
8068 RET_LABEL55
:(void)0;
8072 var57
= nit__separate_compiler___MSignature___c_equiv(var_msignature
, var54
);
8080 { /* Inline separate_compiler#MMethodDef#virtual_runtime_function_cache= (self,var_res) on <self:MMethodDef> */
8081 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
= var_res
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
8082 RET_LABEL58
:(void)0;
8089 var59
= NEW_nit__SeparateRuntimeFunction(&type_nit__SeparateRuntimeFunction
);
8095 var63
= standard___standard__NativeString___to_s_with_length(var61
, var62
);
8100 var64
= nit___nit__MPropDef___nit__model_base__MEntity__c_name(self
);
8102 var65
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8103 { /* var65 = array_instance Array[Object] */
8105 var67
= NEW_standard__NativeArray(var66
, &type_standard__NativeArray__standard__Object
);
8106 ((struct instance_standard__NativeArray
*)var67
)->values
[0] = (val
*) var60
;
8107 ((struct instance_standard__NativeArray
*)var67
)->values
[1] = (val
*) var64
;
8109 ((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]>*/;
8113 var68
= ((val
* (*)(val
* self
))(var65
->class->vft
[COLOR_standard__string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
8116 ((void (*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction__mmethoddef_61d
]))(var59
, self
) /* mmethoddef= on <var59:SeparateRuntimeFunction>*/;
8119 ((void (*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__called_recv_61d
]))(var59
, var_recv
) /* called_recv= on <var59:SeparateRuntimeFunction>*/;
8122 ((void (*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__called_signature_61d
]))(var59
, var_msignature
) /* called_signature= on <var59:SeparateRuntimeFunction>*/;
8125 ((void (*)(val
* self
, val
* p0
))(var59
->class->vft
[COLOR_nit__separate_compiler__SeparateRuntimeFunction__build_c_name_61d
]))(var59
, var68
) /* build_c_name= on <var59:SeparateRuntimeFunction>*/;
8128 ((void (*)(val
* self
))(var59
->class->vft
[COLOR_standard__kernel__Object__init
]))(var59
) /* init on <var59:SeparateRuntimeFunction>*/;
8132 { /* Inline separate_compiler#MMethodDef#virtual_runtime_function_cache= (self,var_res) on <self:MMethodDef> */
8133 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
= var_res
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
8134 RET_LABEL69
:(void)0;
8139 { /* Inline separate_compiler#SeparateRuntimeFunction#is_thunk= (var_res,var70) on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8140 var_res
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___is_thunk
].s
= var70
; /* _is_thunk on <var_res:nullable SeparateRuntimeFunction(SeparateRuntimeFunction)> */
8141 RET_LABEL71
:(void)0;
8151 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache for (self: MMethodDef): nullable SeparateRuntimeFunction */
8152 val
* nit__separate_compiler___MMethodDef___virtual_runtime_function_cache(val
* self
) {
8153 val
* var
/* : nullable SeparateRuntimeFunction */;
8154 val
* var1
/* : nullable SeparateRuntimeFunction */;
8155 var1
= self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
8160 /* method separate_compiler#MMethodDef#virtual_runtime_function_cache= for (self: MMethodDef, nullable SeparateRuntimeFunction) */
8161 void nit__separate_compiler___MMethodDef___virtual_runtime_function_cache_61d(val
* self
, val
* p0
) {
8162 self
->attrs
[COLOR_nit__separate_compiler__MMethodDef___virtual_runtime_function_cache
].val
= p0
; /* _virtual_runtime_function_cache on <self:MMethodDef> */
8165 /* method separate_compiler#MSignature#c_equiv for (self: MSignature, MSignature): Bool */
8166 short int nit__separate_compiler___MSignature___c_equiv(val
* self
, val
* p0
) {
8167 short int var
/* : Bool */;
8168 val
* var_other
/* var other: MSignature */;
8169 short int var1
/* : Bool */;
8170 val
* var_other3
/* var other: nullable Object */;
8171 short int var4
/* : Bool */;
8172 short int var6
/* : Bool */;
8173 short int var7
/* : Bool */;
8174 long var8
/* : Int */;
8175 long var9
/* : Int */;
8176 short int var10
/* : Bool */;
8177 short int var12
/* : Bool */;
8178 short int var13
/* : Bool */;
8179 short int var14
/* : Bool */;
8180 long var15
/* : Int */;
8181 long var_i
/* var i: Int */;
8182 long var16
/* : Int */;
8183 long var_
/* var : Int */;
8184 short int var17
/* : Bool */;
8185 short int var19
/* : Bool */;
8188 const char* var_class_name
;
8189 short int var20
/* : Bool */;
8190 val
* var21
/* : Array[MParameter] */;
8191 val
* var23
/* : Array[MParameter] */;
8192 val
* var24
/* : nullable Object */;
8193 val
* var25
/* : MType */;
8194 val
* var27
/* : MType */;
8195 val
* var28
/* : String */;
8196 val
* var29
/* : Array[MParameter] */;
8197 val
* var31
/* : Array[MParameter] */;
8198 val
* var32
/* : nullable Object */;
8199 val
* var33
/* : MType */;
8200 val
* var35
/* : MType */;
8201 val
* var36
/* : String */;
8202 short int var37
/* : Bool */;
8203 val
* var_other39
/* var other: nullable Object */;
8204 short int var40
/* : Bool */;
8205 short int var41
/* : Bool */;
8206 short int var42
/* : Bool */;
8207 long var43
/* : Int */;
8208 long var44
/* : Int */;
8209 val
* var45
/* : nullable MType */;
8210 val
* var47
/* : nullable MType */;
8211 val
* var48
/* : nullable MType */;
8212 val
* var50
/* : nullable MType */;
8213 short int var51
/* : Bool */;
8214 short int var52
/* : Bool */;
8215 short int var54
/* : Bool */;
8216 short int var55
/* : Bool */;
8217 short int var56
/* : Bool */;
8218 val
* var57
/* : nullable MType */;
8219 val
* var59
/* : nullable MType */;
8220 val
* var60
/* : null */;
8221 short int var61
/* : Bool */;
8222 short int var62
/* : Bool */;
8223 short int var64
/* : Bool */;
8224 short int var66
/* : Bool */;
8225 short int var_67
/* var : Bool */;
8226 val
* var68
/* : nullable MType */;
8227 val
* var70
/* : nullable MType */;
8228 val
* var71
/* : null */;
8229 short int var72
/* : Bool */;
8230 short int var73
/* : Bool */;
8231 short int var75
/* : Bool */;
8232 short int var77
/* : Bool */;
8233 short int var78
/* : Bool */;
8234 val
* var79
/* : nullable MType */;
8235 val
* var81
/* : nullable MType */;
8236 val
* var82
/* : String */;
8237 val
* var83
/* : nullable MType */;
8238 val
* var85
/* : nullable MType */;
8239 val
* var86
/* : String */;
8240 short int var87
/* : Bool */;
8241 short int var89
/* : Bool */;
8242 short int var90
/* : Bool */;
8243 short int var91
/* : Bool */;
8244 short int var92
/* : Bool */;
8247 { /* Inline kernel#Object#== (self,var_other) on <self:MSignature> */
8248 var_other3
= var_other
;
8250 { /* Inline kernel#Object#is_same_instance (self,var_other3) on <self:MSignature> */
8251 var6
= self
== var_other3
;
8269 var8
= nit___nit__MSignature___arity(self
);
8272 var9
= nit___nit__MSignature___arity(var_other
);
8275 { /* Inline kernel#Int#!= (var8,var9) on <var8:Int> */
8276 var12
= var8
== var9
;
8280 RET_LABEL11
:(void)0;
8292 var16
= nit___nit__MSignature___arity(self
);
8297 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
8298 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
8299 /* <var_:Int> isa OTHER */
8300 var19
= 1; /* easy <var_:Int> isa OTHER*/
8301 if (unlikely(!var19
)) {
8302 var_class_name
= type_standard__Int
.name
;
8303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8304 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
8307 var20
= var_i
< var_
;
8310 RET_LABEL18
:(void)0;
8315 { /* Inline model#MSignature#mparameters (self) on <self:MSignature> */
8316 var23
= self
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <self:MSignature> */
8317 if (unlikely(var23
== NULL
)) {
8318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8319 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
8323 RET_LABEL22
:(void)0;
8327 var24
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var21
, var_i
);
8330 { /* Inline model#MParameter#mtype (var24) on <var24:nullable Object(MParameter)> */
8331 var27
= var24
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var24:nullable Object(MParameter)> */
8332 if (unlikely(var27
== NULL
)) {
8333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
8338 RET_LABEL26
:(void)0;
8342 var28
= ((val
* (*)(val
* self
))(var25
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var25
) /* ctype on <var25:MType>*/;
8345 { /* Inline model#MSignature#mparameters (var_other) on <var_other:MSignature> */
8346 var31
= var_other
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var_other:MSignature> */
8347 if (unlikely(var31
== NULL
)) {
8348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
8353 RET_LABEL30
:(void)0;
8357 var32
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var29
, var_i
);
8360 { /* Inline model#MParameter#mtype (var32) on <var32:nullable Object(MParameter)> */
8361 var35
= var32
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var32:nullable Object(MParameter)> */
8362 if (unlikely(var35
== NULL
)) {
8363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
8368 RET_LABEL34
:(void)0;
8372 var36
= ((val
* (*)(val
* self
))(var33
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var33
) /* ctype on <var33:MType>*/;
8375 { /* Inline kernel#Object#!= (var28,var36) on <var28:String> */
8376 var_other39
= var36
;
8378 var40
= ((short int (*)(val
* self
, val
* p0
))(var28
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var28
, var_other39
) /* == on <var28:String>*/;
8383 RET_LABEL38
:(void)0;
8394 var44
= standard___standard__Int___Discrete__successor(var_i
, var43
);
8401 BREAK_label
: (void)0;
8403 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
8404 var47
= self
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
8406 RET_LABEL46
:(void)0;
8410 { /* Inline model#MSignature#return_mtype (var_other) on <var_other:MSignature> */
8411 var50
= var_other
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_other:MSignature> */
8413 RET_LABEL49
:(void)0;
8416 if (var45
== NULL
) {
8417 var51
= (var48
!= NULL
);
8419 { /* Inline kernel#Object#!= (var45,var48) on <var45:nullable MType> */
8420 var_other39
= var48
;
8422 var54
= ((short int (*)(val
* self
, val
* p0
))(var45
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var45
, var_other39
) /* == on <var45:nullable MType(MType)>*/;
8427 RET_LABEL53
:(void)0;
8433 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
8434 var59
= self
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
8436 RET_LABEL58
:(void)0;
8440 if (var57
== NULL
) {
8441 var61
= 1; /* is null */
8443 var61
= 0; /* arg is null but recv is not */
8446 { /* Inline kernel#Object#== (var57,var60) on <var57:nullable MType> */
8449 { /* Inline kernel#Object#is_same_instance (var57,var_other3) on <var57:nullable MType(MType)> */
8450 var66
= var57
== var_other3
;
8453 RET_LABEL65
:(void)0;
8458 RET_LABEL63
:(void)0;
8467 { /* Inline model#MSignature#return_mtype (var_other) on <var_other:MSignature> */
8468 var70
= var_other
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_other:MSignature> */
8470 RET_LABEL69
:(void)0;
8474 if (var68
== NULL
) {
8475 var72
= 1; /* is null */
8477 var72
= 0; /* arg is null but recv is not */
8480 { /* Inline kernel#Object#== (var68,var71) on <var68:nullable MType> */
8483 { /* Inline kernel#Object#is_same_instance (var68,var_other3) on <var68:nullable MType(MType)> */
8484 var77
= var68
== var_other3
;
8487 RET_LABEL76
:(void)0;
8492 RET_LABEL74
:(void)0;
8505 { /* Inline model#MSignature#return_mtype (self) on <self:MSignature> */
8506 var81
= self
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <self:MSignature> */
8508 RET_LABEL80
:(void)0;
8511 if (var79
== NULL
) {
8512 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8513 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1835);
8516 var82
= ((val
* (*)(val
* self
))(var79
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var79
) /* ctype on <var79:nullable MType>*/;
8519 { /* Inline model#MSignature#return_mtype (var_other) on <var_other:MSignature> */
8520 var85
= var_other
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var_other:MSignature> */
8522 RET_LABEL84
:(void)0;
8525 if (var83
== NULL
) {
8526 PRINT_ERROR("Runtime error: %s", "Receiver is null");
8527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1835);
8530 var86
= ((val
* (*)(val
* self
))(var83
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var83
) /* ctype on <var83:nullable MType>*/;
8533 { /* Inline kernel#Object#!= (var82,var86) on <var82:String> */
8534 var_other39
= var86
;
8536 var89
= ((short int (*)(val
* self
, val
* p0
))(var82
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var82
, var_other39
) /* == on <var82:String>*/;
8541 RET_LABEL88
:(void)0;
8558 /* method separate_compiler#SeparateRuntimeFunction#called_recv for (self: SeparateRuntimeFunction): MType */
8559 val
* nit___nit__SeparateRuntimeFunction___called_recv(val
* self
) {
8560 val
* var
/* : MType */;
8561 val
* var1
/* : MType */;
8562 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
; /* _called_recv on <self:SeparateRuntimeFunction> */
8563 if (unlikely(var1
== NULL
)) {
8564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_recv");
8565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1845);
8572 /* method separate_compiler#SeparateRuntimeFunction#called_recv= for (self: SeparateRuntimeFunction, MType) */
8573 void nit___nit__SeparateRuntimeFunction___called_recv_61d(val
* self
, val
* p0
) {
8574 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
= p0
; /* _called_recv on <self:SeparateRuntimeFunction> */
8577 /* method separate_compiler#SeparateRuntimeFunction#called_signature for (self: SeparateRuntimeFunction): MSignature */
8578 val
* nit___nit__SeparateRuntimeFunction___called_signature(val
* self
) {
8579 val
* var
/* : MSignature */;
8580 val
* var1
/* : MSignature */;
8581 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
8582 if (unlikely(var1
== NULL
)) {
8583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
8584 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
8591 /* method separate_compiler#SeparateRuntimeFunction#called_signature= for (self: SeparateRuntimeFunction, MSignature) */
8592 void nit___nit__SeparateRuntimeFunction___called_signature_61d(val
* self
, val
* p0
) {
8593 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
= p0
; /* _called_signature on <self:SeparateRuntimeFunction> */
8596 /* method separate_compiler#SeparateRuntimeFunction#build_c_name for (self: SeparateRuntimeFunction): String */
8597 val
* nit___nit__SeparateRuntimeFunction___nit__abstract_compiler__AbstractRuntimeFunction__build_c_name(val
* self
) {
8598 val
* var
/* : String */;
8599 val
* var1
/* : String */;
8600 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___build_c_name
].val
; /* _build_c_name on <self:SeparateRuntimeFunction> */
8601 if (unlikely(var1
== NULL
)) {
8602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _build_c_name");
8603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1851);
8610 /* method separate_compiler#SeparateRuntimeFunction#build_c_name= for (self: SeparateRuntimeFunction, String) */
8611 void nit___nit__SeparateRuntimeFunction___build_c_name_61d(val
* self
, val
* p0
) {
8612 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___build_c_name
].val
= p0
; /* _build_c_name on <self:SeparateRuntimeFunction> */
8615 /* method separate_compiler#SeparateRuntimeFunction#is_thunk for (self: SeparateRuntimeFunction): Bool */
8616 short int nit___nit__SeparateRuntimeFunction___is_thunk(val
* self
) {
8617 short int var
/* : Bool */;
8618 short int var1
/* : Bool */;
8619 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___is_thunk
].s
; /* _is_thunk on <self:SeparateRuntimeFunction> */
8624 /* method separate_compiler#SeparateRuntimeFunction#is_thunk= for (self: SeparateRuntimeFunction, Bool) */
8625 void nit___nit__SeparateRuntimeFunction___is_thunk_61d(val
* self
, short int p0
) {
8626 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___is_thunk
].s
= p0
; /* _is_thunk on <self:SeparateRuntimeFunction> */
8629 /* method separate_compiler#SeparateRuntimeFunction#to_s for (self: SeparateRuntimeFunction): String */
8630 val
* nit___nit__SeparateRuntimeFunction___standard__string__Object__to_s(val
* self
) {
8631 val
* var
/* : String */;
8632 val
* var1
/* : MMethodDef */;
8633 val
* var3
/* : MMethodDef */;
8634 val
* var4
/* : String */;
8635 val
* var6
/* : String */;
8637 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:SeparateRuntimeFunction> */
8638 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:SeparateRuntimeFunction> */
8639 if (unlikely(var3
== NULL
)) {
8640 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
8641 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1644);
8649 { /* Inline model#MPropDef#to_s (var1) on <var1:MMethodDef> */
8650 var6
= var1
->attrs
[COLOR_nit__model__MPropDef___to_s
].val
; /* _to_s on <var1:MMethodDef> */
8651 if (unlikely(var6
== NULL
)) {
8652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _to_s");
8653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2104);
8665 /* method separate_compiler#SeparateRuntimeFunction#c_ret for (self: SeparateRuntimeFunction): String */
8666 val
* nit___nit__SeparateRuntimeFunction___c_ret(val
* self
) {
8667 val
* var
/* : String */;
8668 short int var1
/* : Bool */;
8669 val
* var2
/* : String */;
8670 val
* var3
/* : String */;
8671 val
* var5
/* : MSignature */;
8672 val
* var7
/* : MSignature */;
8673 val
* var8
/* : nullable MType */;
8674 val
* var10
/* : nullable MType */;
8675 val
* var_ret
/* var ret: nullable MType */;
8676 val
* var11
/* : null */;
8677 short int var12
/* : Bool */;
8678 short int var13
/* : Bool */;
8679 val
* var_other
/* var other: nullable Object */;
8680 short int var15
/* : Bool */;
8681 short int var16
/* : Bool */;
8682 val
* var17
/* : String */;
8683 static val
* varonce
;
8684 val
* var18
/* : String */;
8685 char* var19
/* : NativeString */;
8686 long var20
/* : Int */;
8687 val
* var21
/* : FlatString */;
8688 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_ret
].val
!= NULL
; /* _c_ret on <self:SeparateRuntimeFunction> */
8690 var2
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_ret
].val
; /* _c_ret on <self:SeparateRuntimeFunction> */
8691 if (unlikely(var2
== NULL
)) {
8692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_ret");
8693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1859);
8699 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
8700 var7
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
8701 if (unlikely(var7
== NULL
)) {
8702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
8703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
8711 { /* Inline model#MSignature#return_mtype (var5) on <var5:MSignature> */
8712 var10
= var5
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var5:MSignature> */
8719 if (var_ret
== NULL
) {
8720 var12
= 0; /* is null */
8722 var12
= 1; /* arg is null and recv is not */
8725 { /* Inline kernel#Object#!= (var_ret,var11) on <var_ret:nullable MType> */
8728 var15
= ((short int (*)(val
* self
, val
* p0
))(var_ret
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ret
, var_other
) /* == on <var_ret:nullable MType(MType)>*/;
8733 RET_LABEL14
:(void)0;
8739 var17
= ((val
* (*)(val
* self
))(var_ret
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_ret
) /* ctype on <var_ret:nullable MType(MType)>*/;
8749 var21
= standard___standard__NativeString___to_s_with_length(var19
, var20
);
8758 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_ret
].val
= var3
; /* _c_ret on <self:SeparateRuntimeFunction> */
8765 /* method separate_compiler#SeparateRuntimeFunction#c_sig for (self: SeparateRuntimeFunction): String */
8766 val
* nit___nit__SeparateRuntimeFunction___c_sig(val
* self
) {
8767 val
* var
/* : String */;
8768 short int var1
/* : Bool */;
8769 val
* var2
/* : String */;
8770 val
* var3
/* : String */;
8771 val
* var5
/* : FlatBuffer */;
8772 val
* var_sig
/* var sig: FlatBuffer */;
8773 static val
* varonce
;
8774 val
* var7
/* : String */;
8775 char* var8
/* : NativeString */;
8776 long var9
/* : Int */;
8777 val
* var10
/* : FlatString */;
8778 val
* var11
/* : MType */;
8779 val
* var13
/* : MType */;
8780 val
* var14
/* : String */;
8781 static val
* varonce15
;
8782 val
* var16
/* : String */;
8783 char* var17
/* : NativeString */;
8784 long var18
/* : Int */;
8785 val
* var19
/* : FlatString */;
8786 val
* var20
/* : Array[Object] */;
8787 long var21
/* : Int */;
8788 val
* var22
/* : NativeArray[Object] */;
8789 val
* var23
/* : String */;
8790 long var24
/* : Int */;
8791 long var_i
/* var i: Int */;
8792 val
* var25
/* : MSignature */;
8793 val
* var27
/* : MSignature */;
8794 long var28
/* : Int */;
8795 long var_
/* var : Int */;
8796 short int var29
/* : Bool */;
8797 short int var31
/* : Bool */;
8800 const char* var_class_name
;
8801 short int var32
/* : Bool */;
8802 val
* var33
/* : MSignature */;
8803 val
* var35
/* : MSignature */;
8804 val
* var36
/* : Array[MParameter] */;
8805 val
* var38
/* : Array[MParameter] */;
8806 val
* var39
/* : nullable Object */;
8807 val
* var40
/* : MType */;
8808 val
* var42
/* : MType */;
8809 val
* var_mtype
/* var mtype: MType */;
8810 val
* var43
/* : MSignature */;
8811 val
* var45
/* : MSignature */;
8812 long var46
/* : Int */;
8813 long var48
/* : Int */;
8814 short int var49
/* : Bool */;
8815 short int var51
/* : Bool */;
8816 val
* var52
/* : MMethodDef */;
8817 val
* var54
/* : MMethodDef */;
8818 val
* var55
/* : MClassDef */;
8819 val
* var57
/* : MClassDef */;
8820 val
* var58
/* : MModule */;
8821 val
* var60
/* : MModule */;
8822 static val
* varonce61
;
8823 val
* var62
/* : String */;
8824 char* var63
/* : NativeString */;
8825 long var64
/* : Int */;
8826 val
* var65
/* : FlatString */;
8827 val
* var66
/* : MClass */;
8828 val
* var67
/* : Array[MType] */;
8829 long var68
/* : Int */;
8830 val
* var_69
/* var : Array[MType] */;
8831 val
* var70
/* : MClassType */;
8832 static val
* varonce71
;
8833 val
* var72
/* : String */;
8834 char* var73
/* : NativeString */;
8835 long var74
/* : Int */;
8836 val
* var75
/* : FlatString */;
8837 val
* var76
/* : String */;
8838 static val
* varonce77
;
8839 val
* var78
/* : String */;
8840 char* var79
/* : NativeString */;
8841 long var80
/* : Int */;
8842 val
* var81
/* : FlatString */;
8843 val
* var82
/* : Array[Object] */;
8844 long var83
/* : Int */;
8845 val
* var84
/* : NativeArray[Object] */;
8846 val
* var85
/* : Object */;
8847 val
* var86
/* : String */;
8848 long var87
/* : Int */;
8849 long var88
/* : Int */;
8850 static val
* varonce89
;
8851 val
* var90
/* : String */;
8852 char* var91
/* : NativeString */;
8853 long var92
/* : Int */;
8854 val
* var93
/* : FlatString */;
8855 val
* var94
/* : String */;
8856 var1
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_sig
].val
!= NULL
; /* _c_sig on <self:SeparateRuntimeFunction> */
8858 var2
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_sig
].val
; /* _c_sig on <self:SeparateRuntimeFunction> */
8859 if (unlikely(var2
== NULL
)) {
8860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _c_sig");
8861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1869);
8866 var5
= NEW_standard__FlatBuffer(&type_standard__FlatBuffer
);
8868 { /* Inline string#FlatBuffer#init (var5) on <var5:FlatBuffer> */
8870 ((void (*)(val
* self
))(var5
->class->vft
[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init
]))(var5
) /* init on <var5:FlatBuffer>*/;
8881 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
8886 { /* Inline separate_compiler#SeparateRuntimeFunction#called_recv (self) on <self:SeparateRuntimeFunction> */
8887 var13
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_recv
].val
; /* _called_recv on <self:SeparateRuntimeFunction> */
8888 if (unlikely(var13
== NULL
)) {
8889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_recv");
8890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1845);
8894 RET_LABEL12
:(void)0;
8898 var14
= ((val
* (*)(val
* self
))(var11
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var11
) /* ctype on <var11:MType>*/;
8905 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
8909 var20
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8910 { /* var20 = array_instance Array[Object] */
8912 var22
= NEW_standard__NativeArray(var21
, &type_standard__NativeArray__standard__Object
);
8913 ((struct instance_standard__NativeArray
*)var22
)->values
[0] = (val
*) var7
;
8914 ((struct instance_standard__NativeArray
*)var22
)->values
[1] = (val
*) var14
;
8915 ((struct instance_standard__NativeArray
*)var22
)->values
[2] = (val
*) var16
;
8917 ((void (*)(val
* self
, val
* p0
, long p1
))(var20
->class->vft
[COLOR_standard__array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[Object]>*/;
8921 var23
= ((val
* (*)(val
* self
))(var20
->class->vft
[COLOR_standard__string__Object__to_s
]))(var20
) /* to_s on <var20:Array[Object]>*/;
8924 standard___standard__FlatBuffer___Buffer__append(var_sig
, var23
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
8929 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
8930 var27
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
8931 if (unlikely(var27
== NULL
)) {
8932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
8933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
8937 RET_LABEL26
:(void)0;
8941 var28
= nit___nit__MSignature___arity(var25
);
8946 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
8947 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
8948 /* <var_:Int> isa OTHER */
8949 var31
= 1; /* easy <var_:Int> isa OTHER*/
8950 if (unlikely(!var31
)) {
8951 var_class_name
= type_standard__Int
.name
;
8952 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8953 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
8956 var32
= var_i
< var_
;
8959 RET_LABEL30
:(void)0;
8964 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
8965 var35
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
8966 if (unlikely(var35
== NULL
)) {
8967 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
8968 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
8972 RET_LABEL34
:(void)0;
8976 { /* Inline model#MSignature#mparameters (var33) on <var33:MSignature> */
8977 var38
= var33
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var33:MSignature> */
8978 if (unlikely(var38
== NULL
)) {
8979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
8980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1592);
8984 RET_LABEL37
:(void)0;
8988 var39
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var36
, var_i
);
8991 { /* Inline model#MParameter#mtype (var39) on <var39:nullable Object(MParameter)> */
8992 var42
= var39
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var39:nullable Object(MParameter)> */
8993 if (unlikely(var42
== NULL
)) {
8994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
8995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1690);
8999 RET_LABEL41
:(void)0;
9004 { /* Inline separate_compiler#SeparateRuntimeFunction#called_signature (self) on <self:SeparateRuntimeFunction> */
9005 var45
= self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___called_signature
].val
; /* _called_signature on <self:SeparateRuntimeFunction> */
9006 if (unlikely(var45
== NULL
)) {
9007 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _called_signature");
9008 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 1848);
9012 RET_LABEL44
:(void)0;
9016 { /* Inline model#MSignature#vararg_rank (var43) on <var43:MSignature> */
9017 var48
= var43
->attrs
[COLOR_nit__model__MSignature___vararg_rank
].l
; /* _vararg_rank on <var43:MSignature> */
9019 RET_LABEL47
:(void)0;
9023 { /* Inline kernel#Int#== (var_i,var46) on <var_i:Int> */
9024 var51
= var_i
== var46
;
9027 RET_LABEL50
:(void)0;
9032 { /* Inline abstract_compiler#AbstractRuntimeFunction#mmethoddef (self) on <self:SeparateRuntimeFunction> */
9033 var54
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractRuntimeFunction___mmethoddef
].val
; /* _mmethoddef on <self:SeparateRuntimeFunction> */
9034 if (unlikely(var54
== NULL
)) {
9035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmethoddef");
9036 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1644);
9040 RET_LABEL53
:(void)0;
9044 { /* Inline model#MPropDef#mclassdef (var52) on <var52:MMethodDef> */
9045 var57
= var52
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var52:MMethodDef> */
9046 if (unlikely(var57
== NULL
)) {
9047 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
9048 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2010);
9052 RET_LABEL56
:(void)0;
9056 { /* Inline model#MClassDef#mmodule (var55) on <var55:MClassDef> */
9057 var60
= var55
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var55:MClassDef> */
9058 if (unlikely(var60
== NULL
)) {
9059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
9060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 489);
9064 RET_LABEL59
:(void)0;
9072 var65
= standard___standard__NativeString___to_s_with_length(var63
, var64
);
9077 var66
= nit__model___MModule___get_primitive_class(var58
, var62
);
9079 var67
= NEW_standard__Array(&type_standard__Array__nit__MType
);
9082 standard___standard__Array___with_capacity(var67
, var68
); /* Direct call array#Array#with_capacity on <var67:Array[MType]>*/
9086 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_69
, var_mtype
); /* Direct call array#AbstractArray#push on <var_69:Array[MType]>*/
9089 var70
= nit___nit__MClass___get_mtype(var66
, var_69
);
9099 var75
= standard___standard__NativeString___to_s_with_length(var73
, var74
);
9104 var76
= ((val
* (*)(val
* self
))(var_mtype
->class->vft
[COLOR_nit__abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9111 var81
= standard___standard__NativeString___to_s_with_length(var79
, var80
);
9115 var82
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9116 { /* var82 = array_instance Array[Object] */
9118 var84
= NEW_standard__NativeArray(var83
, &type_standard__NativeArray__standard__Object
);
9119 ((struct instance_standard__NativeArray
*)var84
)->values
[0] = (val
*) var72
;
9120 ((struct instance_standard__NativeArray
*)var84
)->values
[1] = (val
*) var76
;
9121 ((struct instance_standard__NativeArray
*)var84
)->values
[2] = (val
*) var78
;
9122 var85
= BOX_standard__Int(var_i
); /* autobox from Int to Object */
9123 ((struct instance_standard__NativeArray
*)var84
)->values
[3] = (val
*) var85
;
9125 ((void (*)(val
* self
, val
* p0
, long p1
))(var82
->class->vft
[COLOR_standard__array__Array__with_native
]))(var82
, var84
, var83
) /* with_native on <var82:Array[Object]>*/;
9129 var86
= ((val
* (*)(val
* self
))(var82
->class->vft
[COLOR_standard__string__Object__to_s
]))(var82
) /* to_s on <var82:Array[Object]>*/;
9132 standard___standard__FlatBuffer___Buffer__append(var_sig
, var86
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
9136 var88
= standard___standard__Int___Discrete__successor(var_i
, var87
);
9143 BREAK_label
: (void)0;
9149 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
9154 standard___standard__FlatBuffer___Buffer__append(var_sig
, var90
); /* Direct call string#FlatBuffer#append on <var_sig:FlatBuffer>*/
9157 var94
= standard___standard__FlatBuffer___Object__to_s(var_sig
);
9163 self
->attrs
[COLOR_nit__separate_compiler__SeparateRuntimeFunction___c_sig
].val
= var3
; /* _c_sig on <self:SeparateRuntimeFunction> */